:root{
  --bg:#f6f8fb; --card:#ffffff; --text:#111827; --muted:#6b7280; --border:#e5e7eb; --brand:#2456f3;
}
*{box-sizing:border-box}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);margin:0}
main{max-width:1100px;margin:24px auto;padding:0 16px}
h1,h3,h4{font-weight:700;margin:0 0 8px}
.hint{color:var(--muted);font-size:.92rem}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px;margin:14px 0;box-shadow:0 1px 0 rgba(0,0,0,.02)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
label{display:flex;flex-direction:column;gap:6px;font-size:.95rem;font-weight:500;}
input,select,button,textarea{font:inherit;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#fff}
input[readonly]{background:#f3f4f6;cursor:not-allowed;}
select{cursor:pointer}
button{cursor:pointer}
button.primary{background:var(--brand);color:#fff;border:none}
.pod{border:1px solid var(--border);border-radius:12px;padding:12px;background:#fff;margin:.75rem 0}
.hidden{display:none !important}
.narrative{background:#f7fbff;border:1px dashed #cfe0ff;border-radius:10px;padding:10px;color:#0b1f33;margin-top:12px}

/* Disclaimer Box Style Added */
.disclaimer-box {
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 10px;
  padding: 10px 14px;
  margin-top: 12px;
}

table{width:100%;border-collapse:collapse;border:1px solid var(--border);background:#fff;margin-top:12px;}
th,td{border-bottom:1px solid var(--border);padding:8px 10px;text-align:left;font-size:.92rem}
thead th{background:#f8fafc}
.pp-divider td{border-top:6px solid #c7d2fe !important}

.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
@media print{
  header,.card:not(.printable),.actions,.grid,.disclaimer-box{display:none !important}
  .printable{display:block !important;border:none;box-shadow:none}
}

/* v9.7.6 cues */
tbody tr.wk-start td { border-top: 2px solid var(--border); }
tbody tr.pp-start  td { border-top: 3px double #4f46e5; }
tbody tr.pp-end    td { border-bottom: 3px double #4f46e5; }
.date-chip { display:inline-block; margin-left:6px; padding:2px 6px; border-radius:999px;
  font-size:.75rem; line-height:1; border:1px solid #c7d2fe; background:#eef2ff; }
@media (prefers-color-scheme: dark){
  .date-chip { border-color:#6b72ff; background:#2b2f63; }
}
@media print {
  tbody tr.wk-start td { border-top: 2px solid #000; }
  tbody tr.pp-start td, tbody tr.pp-end td { border-color:#000; }
  .date-chip { border-color:#000; background:transparent; }
}
