/* AI for Public Health Registry prototype: styles */
*{box-sizing:border-box}
body{margin:0;background:#F4F6F8;color:#16202B;font-family:'Public Sans',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:15px;line-height:1.45}
a{color:#0E5A5A}a:hover{color:#0A4343}
h1,h2,h3{line-height:1.25}
.mono{font-family:'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace}
.muted{color:#4A5563}
.subtle{color:#5F6B7A}
.card{background:#FFFFFF;border:1px solid #DDE2E8;border-radius:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:8px;border:1px solid #C9D1DA;background:#FFFFFF;color:#16202B;font:inherit;font-size:14px;font-weight:600;line-height:1.2;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{background:#EEF2F5;color:#16202B}
.btn-primary{background:#0E5A5A;border-color:#0E5A5A;color:#FFFFFF}
.btn-primary:hover{background:#0A4343;color:#FFFFFF}
.btn-quiet{border-color:transparent;background:transparent}
.btn-on{background:#E3F0EF;border-color:#0E5A5A;color:#0B4A4A}
.btn-off{background:#F6E3E3;border-color:#8E2A2A;color:#7A1F1F}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.link-btn{display:inline-flex;align-items:center;min-height:44px;padding:0;border:0;background:none;color:#16202B;font:inherit;font-size:15px;font-weight:600;line-height:1.35;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:#AAB6C2;text-underline-offset:3px}
.link-btn:hover{color:#0E5A5A;text-decoration-color:#0E5A5A}
.nav-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:44px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:#2B3644;font:inherit;font-size:15px;font-weight:500;text-align:left;cursor:pointer}
.nav-btn:hover{background:#E9EEF2}
.nav-on{background:#E3F0EF;color:#0B4A4A;font-weight:700}
.chip{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.3}
.pri-high{background:#F8D7DA;color:#842029}
.pri-medium{background:#FFF3CD;color:#6B5000}
.pri-low{background:#E2E3E5;color:#383D41}
.tag-ghs{background:#E3F0EF;color:#0B4A4A}
.tag-non{background:#E6EBF4;color:#1F3864}
.st-open{background:#E1EEFB;color:#14467A}
.st-forecast{background:#EEE6F7;color:#4F2D7F}
.st-watch{background:#F1F1EE;color:#4A4A42}
.st-closed{background:#E2E3E5;color:#4A4F55}
.days-urgent{background:#F8D7DA;color:#842029}
.days-soon{background:#FFF3CD;color:#6B5000}
.days-normal{background:#EEF2F5;color:#3A4654}
.stage-new{background:#EEF2F5;color:#3A4654}
.stage-shortlisted{background:#E1EEFB;color:#14467A}
.stage-preparing{background:#E3F0EF;color:#0B4A4A}
.stage-submitted{background:#EEE6F7;color:#4F2D7F}
.stage-awarded{background:#DCEFE0;color:#1E5631}
.stage-notawarded{background:#F1F1EE;color:#4A4A42}
.stage-passed{background:#F6E3E3;color:#7A1F1F}
.chip-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid #C9D1DA;background:#FFFFFF;color:#2B3644;font:inherit;font-size:14px;cursor:pointer}
.chip-toggle.on{background:#E3F0EF;border-color:#0E5A5A;color:#0B4A4A;font-weight:600}
.chip-toggle[disabled]{cursor:default}
.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:#3A4654}
.input{min-height:44px;width:100%;padding:0 12px;border:1px solid #C9D1DA;border-radius:8px;background:#FFFFFF;color:#16202B;font:inherit;font-size:15px;font-weight:400}
.btn:focus-visible,.link-btn:focus-visible,.nav-btn:focus-visible,.chip-toggle:focus-visible,.input:focus-visible,input:focus-visible{outline:3px solid #6FB3AE;outline-offset:2px}
.pts-pos{color:#0B4A4A}
.pts-neg{color:#842029}
.bar-track{height:8px;border-radius:999px;background:#E6EAEE;overflow:hidden}
.bar-fill{height:8px;border-radius:999px;background:#0E5A5A}
.row-item{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:12px 16px;border-top:1px solid #E6EAEE}
.kanban-col{flex:1 1 220px;min-width:0;background:#EAEFF3;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px}
.h3{margin:0 0 6px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#3A4654}
.body-text{margin:0;font-size:15px;line-height:1.55}
.list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:15px;line-height:1.5}
.label-cap{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#5F6B7A}
.page-title{margin:0;font-size:28px;font-weight:700}
.page-lead{margin:6px 0 0;font-size:14px;max-width:780px}
.tile{flex:1 1 150px;min-width:0;padding:14px 16px}
.tile-value{font-size:30px;font-weight:500;margin-top:4px}
.stack{display:flex;flex-direction:column;gap:20px}
.wrap-row{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}
.check-row{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-top:1px solid #EEF2F5;cursor:pointer}
.check-row input,.checkbox{width:20px;height:20px;margin:2px 0 0;accent-color:#0E5A5A;flex:0 0 auto}
.login-wrap{min-height:100vh;display:flex;flex-wrap:wrap}
.login-brand{flex:1 1 380px;background:#14213D;color:#FFFFFF;padding:48px 40px;display:flex;flex-direction:column;justify-content:space-between;gap:40px}
.login-title{margin:0;font-size:40px;line-height:1.1;font-weight:700}
.login-lead{margin:0;font-size:17px;line-height:1.55;color:#DCE6F0}
.login-points{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:14px;font-size:15px;color:#E8EEF5}
.login-foot{font-size:12px;color:#C9D8E8}
.login-form-side{flex:1 1 420px;padding:48px 24px;display:flex;align-items:center;justify-content:center}
.side-nav{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;gap:4px}
.role-note{margin-top:12px;padding:12px;font-size:13px}
.pick-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex:0 0 auto}
/* Phone width: compact sign-in panel, navigation as a scrolling row, score beside the feedback buttons */
@media (max-width:720px){
  .login-brand{padding:28px 20px;gap:16px}
  .login-title{font-size:30px}
  .login-lead{font-size:15px}
  .login-points,.login-foot{display:none}
  .login-form-side{padding:20px 16px 40px}
  .side-nav{flex:1 1 100%;flex-direction:row;overflow-x:auto;gap:6px;padding-bottom:4px}
  .side-nav .nav-btn{width:auto;flex:0 0 auto;white-space:nowrap;border:1px solid #DDE2E8;background:#FFFFFF}
  .side-nav .nav-on{background:#E3F0EF;border-color:#0E5A5A}
  .side-nav .role-note{display:none}
  .pick-side{flex:1 1 100%;flex-direction:row-reverse;align-items:center;justify-content:space-between}
}


/* Pipeline Analyzer recommendation bands (Go/No-Go cutoffs). Dark text on light fills keeps 4.5:1 contrast. */
.band-strong{background:#DCEFE3;color:#1E5631}
.band-conditional{background:#FFF1C9;color:#5C4400}
.band-shape{background:#FDE3CF;color:#7A3A0A}
.band-nogo{background:#F6DADA;color:#842029}
.band-out{background:#E6EAEE;color:#3B4654}
.band-review{background:#E8E2F4;color:#4B2E83}
details>summary{min-height:44px;display:flex;align-items:center}

/* Pipeline views */
.seg{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;background:#EAEFF3;border-radius:10px;align-self:flex-start}
.seg-btn{min-height:40px;padding:0 16px;border:0;border-radius:8px;background:transparent;color:#2B3644;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.seg-btn.on{background:#FFFFFF;color:#0B4A4A;box-shadow:0 1px 2px rgba(22,32,43,.12)}
.seg-btn:focus-visible,.th-btn:focus-visible,.cal-ev:focus-visible{outline:2px solid #0E5A5A;outline-offset:2px}
.kanban-card[draggable="true"]{cursor:grab}
.kanban-card.dragging{opacity:.5}
.kanban-col.drop-ok{outline:2px dashed #1E7A4A;outline-offset:-2px}
.kanban-col.drop-override{outline:2px dashed #B7791F;outline-offset:-2px}
.kanban-col.drop-no{opacity:.55}
.kanban-col.drop-hover{background:#DCEFE3}
.kanban-col.drop-override.drop-hover{background:#FFF1C9}
.table-wrap{overflow-x:auto;border-top:1px solid #E6EAEE}
table.board{width:100%;border-collapse:collapse;font-size:14px}
table.board th{text-align:left;font-size:12px;color:#4A5563;font-weight:600;padding:8px 12px;border-bottom:1px solid #E6EAEE;white-space:nowrap;background:#F8FAFB}
table.board td{padding:10px 12px;border-bottom:1px solid #EEF2F5;vertical-align:top}
.th-btn{border:0;background:transparent;font:inherit;color:inherit;cursor:pointer;padding:0;min-height:32px}
.cal{display:flex;flex-direction:column;border:1px solid #E6EAEE;border-radius:10px;overflow:hidden}
.cal-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.cal-head div{font-size:12px;font-weight:600;color:#4A5563;padding:6px 8px;background:#F8FAFB;border-bottom:1px solid #E6EAEE}
.cal-day{min-height:96px;padding:6px;border-right:1px solid #EEF2F5;border-bottom:1px solid #EEF2F5;display:flex;flex-direction:column;gap:3px;min-width:0}
.cal-day.out{background:#F8FAFB;color:#8A94A1}
.cal-day.today .cal-num{background:#0E5A5A;color:#FFFFFF;border-radius:999px;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}
.cal-num{font-size:12px;font-weight:600}
.cal-ev{display:block;width:100%;text-align:left;border:0;font:inherit;font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;min-height:20px}
@media (max-width:720px){.cal-day{min-height:56px;padding:3px}.cal-ev{font-size:0;min-height:8px;padding:0;height:8px}.cal-head div{padding:4px}}
.cal-task{background:#FFFFFF;color:#3A4654;border:1px dashed #9AA5B1;border-radius:999px;padding:2px 8px}
