@font-face{font-family:"Barlow Condensed";font-weight:600;font-display:swap;src:url(../fonts/barlow-condensed-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:700;font-display:swap;src:url(../fonts/barlow-condensed-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-weight:400;font-display:swap;src:url(../fonts/source-sans-3-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-weight:400;font-style:italic;font-display:swap;src:url(../fonts/source-sans-3-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-weight:600;font-display:swap;src:url(../fonts/source-sans-3-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-weight:700;font-display:swap;src:url(../fonts/source-sans-3-latin-700-normal.woff2) format("woff2")}

:root{
  --ground:#F6F7F5; --surface:#FFFFFF; --surface-2:#F8F9F7; --sunk:#E9EDEA;
  --ink:#13201D; --ink-2:#43524D; --ink-3:#6B7B75; --rule:#D0D9D6; --rule-soft:#E4EAE8;
  --runway:#E0A21A;            /* runway-light amber: the one accent */
  --runway-ink:#7A5200;
  --np:#1B62BD; --pa:#1C7F48; --nursing:#8A5A00; --multi:#9B2C4E; --crna:#5B4BB0; --rnfa:#0F766E; --cnm:#A34A12; --cns:#2E7A86; --obs:#B8232B;
  --scarlet:#CC0033;  /* Rutgers Pantone 186 (common web equivalent) */
  --ok:#1C7F48; --ok-bg:#E3F3EA; --warn:#9A5B00; --warn-bg:#FBEFD6; --muted-bg:#ECEFEE; --crit:#B8232B;
  --focus:#1B62BD;
  --display:"Barlow Condensed","Arial Narrow","Roboto Condensed",system-ui,sans-serif;
  --body:"Source Sans 3","Segoe UI",system-ui,-apple-system,sans-serif;
  --shadow:0 1px 2px rgba(19,32,29,.06),0 6px 18px rgba(19,32,29,.06);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ground);color:var(--ink);font:15px/1.45 var(--body);-webkit-font-smoothing:antialiased}
body{border-top:4px solid var(--scarlet)}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;z-index:100;top:-60px;left:16px;background:var(--ink);color:var(--surface);padding:9px 14px;border-radius:0 0 8px 8px;font-weight:700}
.skip:focus{top:0}
.wrap{max-width:1240px;margin:0 auto;padding-inline:20px}

/* ---------- masthead ---------- */
.mast{padding-block:22px 20px;display:grid;gap:14px}
.eyebrow{margin:0;font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);font-weight:700}
.titlerow{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 16px}
h1{margin:0;font-family:var(--display);font-weight:700;font-size:clamp(38px,6.4vw,72px);line-height:.94;text-transform:uppercase;letter-spacing:-.005em;min-width:0;overflow-wrap:anywhere}
h1 .app{color:var(--runway-ink)}
.toprow{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 20px}
.ru{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--ink-2);text-decoration:none}
.ru:hover{color:var(--scarlet)}
.ru-mark{width:4px;height:16px;background:var(--scarlet);border-radius:1px;flex:none}
.headactions{display:grid;grid-template-columns:auto auto;gap:6px 8px;align-items:center;justify-items:start;margin-bottom:4px}
.hbtn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--ink-3);background:var(--surface);border-radius:6px;padding:7px 11px;font-size:13.5px;font-weight:700;color:var(--ink);text-decoration:none;cursor:pointer}
.hbtn:hover{border-color:var(--ink);background:var(--surface-2)}
.hbtn svg{width:15px;height:15px}
.reqcap{grid-column:1/-1;margin:0;font-size:12.5px;color:var(--ink-3);max-width:46ch}
.reqcap a{color:var(--ink-2);font-weight:600}
.iconbtn{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:var(--ink-3);font-size:13px;font-weight:600;padding:6px 4px;cursor:pointer;margin-bottom:4px}
.iconbtn:hover{color:var(--ink)}
.iconbtn svg{width:15px;height:15px}
.strip{height:4px;background:repeating-linear-gradient(90deg,var(--runway) 0 27px,transparent 27px 44px);border-radius:3px;opacity:.9}
.ledeRow{display:flex;flex-wrap:wrap;gap:6px 24px;align-items:baseline;justify-content:space-between}
.lede{margin:0;max-width:72ch;color:var(--ink-2);font-size:16px;flex:1 1 420px}
.updated{font-size:13px;color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap}
.updated::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ok);margin-right:7px;vertical-align:1px}
.btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--rule);background:var(--surface);border-radius:6px;padding:8px 12px;font-weight:600;font-size:14px;cursor:pointer;text-decoration:none;color:var(--ink)}
.btn:hover{border-color:var(--ink-3)}
.btn.primary{background:var(--ink);color:var(--ground);border-color:var(--ink)}
.btn svg{width:16px;height:16px;flex:none}

/* ---------- KPI strip ---------- */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.kpi{background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:13px 15px 14px;display:grid;gap:2px;text-align:left;cursor:pointer;box-shadow:var(--shadow);min-height:98px;align-content:start}
.kpi:hover{border-color:var(--ink-3)}
.kpi[aria-pressed="true"]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.kpi b{font-family:var(--display);font-weight:700;font-size:clamp(28px,3.2vw,38px);line-height:1;font-variant-numeric:tabular-nums}
.kpi span{font-size:13px;color:var(--ink-2);line-height:1.25}
.kpi small{font-size:12px;color:var(--ink-3)}
.kpi.hot b{color:var(--crit)}
.kpi.acc b{color:var(--runway-ink)}

/* ---------- sticky controls ---------- */
.bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--ground) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}
.bar .wrap{display:grid;gap:9px;padding-block:11px}
.row1{display:flex;flex-wrap:wrap;gap:10px;align-items:center;min-width:0}
.search{flex:1 1 240px;position:relative;min-width:0}
.search input{width:100%;background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:9px 12px 9px 34px;font-size:15px}
.search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--ink-3)}
.quickprof{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.filters{display:none;flex-wrap:wrap;gap:13px 18px;align-items:center;background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:14px 16px}
.filters.open{display:flex}
.filters .fgroup{width:100%}
.fgroup{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.flabel{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:700;margin-right:2px}
.chip{border:1px solid var(--rule);background:var(--surface);border-radius:999px;padding:5px 10px;font-size:13px;font-weight:600;color:var(--ink-2);cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.chip:hover{border-color:var(--ink-3)}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--ground)}
.chip .dot{width:8px;height:8px;border-radius:50%;background:var(--c,var(--ink-3))}
.prof-chip[aria-pressed="true"]::after{content:"✓";font-size:11px;font-weight:800;line-height:1}
.prof-chip[aria-pressed="true"] .dot{box-shadow:0 0 0 1px var(--surface)}
.sel{background:var(--surface);border:1px solid var(--rule);border-radius:999px;padding:5px 10px;font-size:13px;font-weight:600;color:var(--ink-2);max-width:220px}
.toggle{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--ink-2);cursor:pointer}
.toggle input{accent-color:var(--ink);width:16px;height:16px}
.linkbtn{border:0;background:none;padding:4px 2px;font-size:13px;font-weight:600;color:var(--ink-3);text-decoration:underline;cursor:pointer}
.summary{font-size:13px;color:var(--ink-3);font-variant-numeric:tabular-nums;margin:0 0 0 auto}
.more-filters{display:inline-flex}
.more-filters[aria-expanded="true"]{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.row2{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}
.viewtools{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}
.seg{display:inline-flex;background:var(--sunk);border-radius:8px;padding:3px;gap:2px}
.seg button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;border-radius:6px;padding:6px 11px;font-weight:600;font-size:13.5px;color:var(--ink-2);cursor:pointer}
.seg button svg{width:14px;height:14px}
.seg button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.12)}
.seg button+button{border-left:2px solid #CC0033;border-radius:0 6px 6px 0;margin-left:4px;padding-left:14px}
.switch{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:var(--ink);cursor:pointer;position:relative}
.switch input{position:absolute;opacity:0;width:36px;height:20px;margin:0;cursor:pointer}
.switch .track{width:36px;height:20px;border-radius:999px;background:var(--rule);position:relative;transition:background .15s;flex:none;pointer-events:none}
.switch .track::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s}
.switch input:checked + .track{background:var(--ok)}
.switch input:checked + .track::after{transform:translateX(16px)}
.switch input:focus-visible + .track{outline:2px solid var(--focus);outline-offset:2px}
.chip.all[aria-pressed="true"]{background:var(--surface);color:var(--ink);border-color:var(--ink)}
.near{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--ink-2)}
.near input{background:var(--surface);border:1px solid var(--rule);border-radius:999px;padding:5px 11px;font-size:13px;width:180px;max-width:100%}
.nearmsg{font-weight:600;color:var(--ink-3)}
.dlkey{color:var(--crit)}
.archive{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}

/* ---------- main ---------- */
main{padding-block:18px 60px}
.view{display:grid;gap:22px}
.month h2,.yr h2{margin:0 0 8px;font-family:var(--display);font-weight:700;font-size:24px;text-transform:uppercase;letter-spacing:.02em;display:flex;align-items:baseline;gap:10px}
.month h2 span,.yr h2 span{font-family:var(--body);font-size:13px;font-weight:600;color:var(--ink-3);letter-spacing:0;text-transform:none}
.list{display:grid;gap:8px}

.ev{display:grid;grid-template-columns:86px minmax(0,1fr) minmax(0,auto);gap:14px;align-items:start;background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:12px 14px;cursor:pointer;position:relative}
.ev:hover{border-color:var(--ink-3)}
.ev.expected{background:transparent;border-style:dashed}
.ev.past{opacity:.78}
.when{display:grid;gap:1px;padding-left:10px;border-left:4px solid var(--c,var(--ink-3))}
.when .d{font-family:var(--display);font-weight:700;font-size:22px;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}
.when .m{font-size:12px;color:var(--ink-3);font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.ev .body{display:grid;gap:4px;min-width:0}
.ev .title{font-weight:700;font-size:16px;line-height:1.25}
.ev .org{color:var(--ink-2);font-size:13.5px}
.meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:13px;color:var(--ink-2)}
.meta .loc::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--ink-3);margin-right:6px;vertical-align:2px}
.badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px}
.tag{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:3px;padding:2px 6px;border:1px solid var(--rule);color:var(--ink-2)}
.tag.p{border-color:transparent;background:color-mix(in srgb,var(--c) 14%,transparent);color:var(--c)}
.side{display:grid;gap:6px;justify-items:end;text-align:right;min-width:0}
.ev .title,.ev .org,.meta span{overflow-wrap:anywhere}
.pill{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;border-radius:4px;padding:3px 8px;max-width:100%;overflow-wrap:anywhere}
.pill.open{background:var(--ink);color:var(--ground)}
.pill.soon{border:1px solid var(--ink-2);color:var(--ink)}
.pill.urgent{background:var(--crit);color:#fff}
.pill.closed,.pill.none,.pill.tba{color:var(--ink-3);padding-inline:0;font-weight:600}
.vf{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;border-radius:4px;padding:2px 7px;white-space:nowrap}
.vf svg{width:12px;height:12px}
.vf.verified{background:var(--ok-bg);color:var(--ok)}
.vf.not_found{background:var(--warn-bg);color:var(--warn)}
.vf.unreachable,.vf.unchecked{background:var(--muted-bg);color:var(--ink-3)}
.vf.expected,.vf.rule{border:1px dashed var(--ink-3);color:var(--ink-3)}
.source-note{font-size:11px;line-height:1.3;font-weight:600;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}
.source-note.warn{color:var(--warn)}
.source-note.muted{color:var(--ink-3)}
.empty{padding:40px 16px;text-align:center;color:var(--ink-3);background:var(--surface);border:1px dashed var(--rule);border-radius:8px}
.more{justify-self:center}
.student-intro{border-top:3px solid var(--runway);padding:14px 18px;background:var(--surface);border-inline:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.student-intro h2{font-family:var(--display);font-size:25px;text-transform:uppercase;margin:0 0 5px}
.student-intro p{margin:0;max-width:75ch;color:var(--ink-2);font-size:14px;line-height:1.5}
.student-line{font-size:13px;line-height:1.45;color:var(--ink-2);margin:6px 0 0}
.student-line b{color:var(--ink)}
.student-due{font-size:12px;font-weight:700;color:var(--crit);white-space:nowrap}
.student-deadlines h2{font-family:var(--display);font-size:21px;text-transform:uppercase;margin:0 0 8px}
.student-deadline-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px}
.student-deadline-list button{display:flex;gap:12px;align-items:baseline;text-align:left;background:var(--surface);border:1px solid var(--rule);border-left:3px solid var(--crit);padding:10px 12px;cursor:pointer;color:var(--ink)}
.student-deadline-list button:hover{border-color:var(--ink-3)}
.student-deadline-list b{white-space:nowrap;color:var(--crit);font-family:var(--display);font-size:17px}
.student-deadline-list span{font-size:13px;line-height:1.4}
.student-count{font:600 13px var(--body);color:var(--ink-3)}
@media(max-width:640px){.geoquick:not(.open){display:none}}

/* ---------- calendar ---------- */
.calhead{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.calhead h2{margin:0;font-family:var(--display);font-weight:700;font-size:30px;text-transform:uppercase;min-width:200px}
.calwrap{overflow-x:auto}
.cal{display:grid;grid-template-columns:repeat(7,minmax(118px,1fr));border:1px solid var(--rule);border-radius:8px;overflow:hidden;background:var(--rule);gap:1px;min-width:840px}
.cal .dow{background:var(--surface-2);padding:6px 8px;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.cal .cell{background:var(--surface);min-height:108px;padding:6px;display:grid;align-content:start;gap:3px}
.cal .cell.out{background:var(--surface-2)}
.cal .cell.out .num{color:var(--ink-3)}
.cal .cell.today{box-shadow:inset 0 0 0 2px var(--runway)}
.cal .num{font-family:var(--display);font-weight:600;font-size:16px;font-variant-numeric:tabular-nums}
.cal .ce{display:block;border:0;text-align:left;width:100%;font-size:11.5px;line-height:1.25;font-weight:600;padding:2px 5px;border-radius:3px;background:color-mix(in srgb,var(--c) 15%,var(--surface));color:var(--ink);border-left:3px solid var(--c);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal .ce.dl{background:transparent;border-left-color:var(--crit);color:var(--crit)}
.cal .ce.op{background:transparent;border-left-color:var(--ok);color:var(--ok)}
.cal .ce.was{opacity:.75}
.cal .ce.x{background:transparent;border:1px dashed var(--c);border-left-width:3px}
.cal .ce.extra{display:none}
.cal .cell.expanded .ce.extra{display:block}
.cal .overflow{font-size:11px;color:var(--ink-3);font-weight:600;border:0;background:none;text-align:left;cursor:pointer;padding:0 5px}
.expectedrow{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;color:var(--ink-2)}
.legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--ink-2)}
.legend i{display:inline-block;width:12px;height:12px;border-radius:2px;margin-right:6px;vertical-align:-2px;background:var(--c)}

/* ---------- deadlines ---------- */
.dlrow{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:10px 14px;cursor:pointer}
.dlrow:hover{border-color:var(--ink-3)}
.count{font-family:var(--display);font-weight:700;font-size:28px;line-height:1;font-variant-numeric:tabular-nums}
.count small{display:block;font-family:var(--body);font-size:11.5px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em}
.count.u{color:var(--crit)}
.sec h2{margin:0 0 8px;font-family:var(--display);font-weight:700;font-size:22px;text-transform:uppercase}

/* ---------- directory ---------- */
.dir{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.srs{background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:12px 14px;display:grid;gap:6px;cursor:pointer;text-align:left}
.srs:hover{border-color:var(--ink-3)}
.srs .title{font-weight:700}
.hist{display:flex;flex-wrap:wrap;gap:4px}
.hist span{font-size:11.5px;font-weight:700;font-variant-numeric:tabular-nums;border-radius:3px;padding:1px 6px;background:var(--sunk);color:var(--ink-2)}
.hist span.fut{background:transparent;border:1px solid var(--rule)}
.hist span.x{background:transparent;border:1px dashed var(--rule);color:var(--ink-3)}
.alpha{display:flex;flex-wrap:wrap;gap:4px}
.alpha a{font-family:var(--display);font-weight:700;font-size:16px;text-decoration:none;padding:2px 7px;border-radius:4px;color:var(--ink-2)}
.alpha a:hover{background:var(--sunk)}

/* ---------- detail dialog ---------- */
dialog{border:0;padding:0;border-radius:12px;max-width:min(720px,calc(100vw - 32px));width:100%;background:var(--surface);color:var(--ink);box-shadow:0 20px 60px rgba(0,0,0,.35)}
dialog::backdrop{background:rgba(8,14,12,.55)}
.dlg{display:grid;gap:14px;padding:22px 22px 20px;max-height:min(86vh,900px);overflow:auto}
.dlg header{display:grid;gap:4px;padding-right:36px}
.dlg h3{margin:0;font-family:var(--display);font-weight:700;font-size:30px;line-height:1;text-transform:uppercase}
.dlg .x{position:absolute;right:12px;top:12px;border:0;background:var(--sunk);border-radius:50%;width:34px;height:34px;cursor:pointer;font-size:18px;line-height:1}
.kv{display:grid;grid-template-columns:140px minmax(0,1fr);gap:6px 14px;font-size:14px;margin:0}
.kv dt{color:var(--ink-3);font-weight:600}
.kv dd{margin:0}
.timeline{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.timeline li{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:10px;align-items:baseline;font-size:14px;padding:6px 0;border-top:1px solid var(--rule-soft)}
.timeline li.cur{font-weight:700}
.timeline li.gap .y{color:var(--ink-3)}
.timeline li.now .y{color:var(--runway-ink)}
.nodata{color:var(--ink-3);font-style:italic}
.older{margin-top:8px;font-size:14px}
.older summary{cursor:pointer;font-weight:600;color:var(--ink-2)}
.timeline .y{font-family:var(--display);font-weight:700;font-size:18px;font-variant-numeric:tabular-nums}
.quote{margin:0;border-left:3px solid var(--rule);padding:4px 0 4px 12px;color:var(--ink-2);font-size:13.5px;font-style:italic}
.dlg-actions{display:flex;flex-wrap:wrap;gap:8px}
.sessions{margin:0;padding-left:18px;font-size:13.5px;color:var(--ink-2);display:grid;gap:2px}
.fine{font-size:12.5px;color:var(--ink-3);margin:0}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--rule);padding-block:24px 44px;color:var(--ink-2);font-size:13.5px}
.foot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:20px 40px;align-items:start}
.foot p{margin:0 0 8px}
.foot a{color:var(--ink-2)}
.curator{border-left:3px solid var(--scarlet);padding-left:14px;display:grid;gap:2px}
.curator .who{font-weight:700;color:var(--ink);font-size:15px;margin:0}
.roles{list-style:none;margin:2px 0 8px;padding:0;display:grid;gap:2px;color:var(--ink-2)}
.method{display:grid;gap:0;min-width:0}
.states{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 12px;margin:2px 0 10px;align-items:baseline}
.states dt{margin:0}
.states dd{margin:0;color:var(--ink-2)}
.partners{display:flex;flex-wrap:wrap;gap:10px 18px;margin:4px 0 10px}
.partner{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:13px;color:var(--ink-2);text-decoration:none;border-bottom:1px solid transparent}
.partner:hover{color:var(--scarlet);border-bottom-color:var(--scarlet)}
.partner img{height:36px;width:auto;display:block}
.ev,.dlrow,.srs{transition:border-color .15s,box-shadow .15s}
.ev:hover,.dlrow:hover,.srs:hover{box-shadow:0 3px 14px rgba(19,32,29,.09)}
.ev:focus-visible,.dlrow:focus-visible,.srs:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--ground);padding:9px 14px;border-radius:8px;font-weight:600;font-size:14px;z-index:50}

@media (max-width:900px){
  .foot{grid-template-columns:1fr}
  .summary{margin-left:0;width:100%}
}
@media (max-width:640px){
  .wrap{padding-inline:16px}
  .mast{padding-block:14px 16px;gap:10px}
  .eyebrow{font-size:10px;letter-spacing:.07em}
  .ru{font-size:11.5px}
  h1{font-size:clamp(42px,12vw,56px);line-height:.88}
  h1 .runway-word{display:block}
  .headactions{margin:0;gap:6px}
  .hbtn{font-size:12px;padding:7px 9px}
  .reqcap{display:none}
  .lede{font-size:14.5px;line-height:1.36}
  .updated{font-size:12px}
  .kpis{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:4px;margin-right:-16px;padding-right:16px;scrollbar-width:thin}
  .kpi{flex:0 0 155px;min-height:84px;padding:10px 11px;scroll-snap-align:start}
  .kpi b{font-size:30px}
  .kpi span{font-size:12px}
  .bar{position:relative;top:auto;backdrop-filter:none}
  .bar .wrap{gap:8px}
  .tabs{flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:thin}
  .tabs button{white-space:nowrap;padding:7px 9px;font-size:13px}
  .quickprof{flex-wrap:nowrap;overflow-x:auto;margin-right:-16px;padding-right:16px;scrollbar-width:thin}
  .quickprof .chip{white-space:nowrap;flex:none}
  .quickprof .flabel{flex:none}
  .summary{font-size:12px}
  .ev{grid-template-columns:64px minmax(0,1fr)}
  .ev .side{grid-column:2;justify-items:start;text-align:left;display:flex;flex-wrap:wrap;gap:6px}
  .when .d{font-size:18px}
  .dlrow{grid-template-columns:64px minmax(0,1fr)}
  .dlrow .side{grid-column:2}
  .filters{padding:12px}
  .search{flex-basis:100%}
  .kv{grid-template-columns:1fr}
  .kv dt{margin-top:6px}
  .timeline li{grid-template-columns:1fr}
  .timeline li .vf{justify-self:start}
  .headactions{grid-template-columns:1fr 1fr}
  .states{grid-template-columns:1fr}
  .calhead h2{min-width:0;width:100%;order:-1}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{
  .bar,.mast-actions,.kpis,footer .noprint{display:none}
  body{background:#fff}
  .ev{break-inside:avoid;box-shadow:none}
}

/* Editorial direction: an academic index, with Rutgers scarlet as a quiet cue. */
:root{
  --ground:#F6F4F0;--surface:#FFFEFC;--surface-2:#F8F6F2;--sunk:#EEE9E3;
  --ink:#202329;--ink-2:#4C5358;--ink-3:#667075;--rule:#D5D1CB;--rule-soft:#E9E4DE;
  --runway:#CC0033;--runway-ink:#A00028;--obs:#B60030;
  --shadow:none;
}

[hidden]{display:none!important}
body{border-top:3px solid var(--scarlet)}
.mast{padding-block:18px 24px;gap:17px}
.toprow{border-bottom:1px solid var(--rule);padding-bottom:13px;align-items:baseline}
.toprow .eyebrow{color:var(--ink-2);font-size:11px;letter-spacing:.11em}
.ru{color:var(--ink-2);font-size:12px}
.ru-mark{height:12px;width:3px}
.titlerow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center}
h1{font:normal clamp(42px,5vw,64px)/1.02 Georgia,"Times New Roman",serif;letter-spacing:-.045em;text-transform:none;overflow-wrap:normal}
h1 .app{font-size:.55em;letter-spacing:.015em;font-weight:700;vertical-align:.13em;margin-right:.15em}
h1 .runway-word{font-style:italic;font-weight:400}
.headactions{display:flex;gap:8px;align-items:center;justify-content:end;margin:0}
.hbtn{border-color:var(--rule);background:transparent;border-radius:0;padding:9px 11px;font-weight:600;white-space:nowrap}
.reqcap{display:none}
.strip{height:1px;background:var(--scarlet);opacity:.85;border-radius:0}
.lede{font-size:15.5px;max-width:75ch}
.updated::before{background:var(--scarlet)}
.spotlight{display:grid;grid-template-columns:190px minmax(0,1fr) auto;gap:24px;align-items:center;background:var(--surface);border:1px solid var(--rule);border-left:4px solid var(--scarlet);padding:17px 20px}
.spotlabel{text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:700;color:var(--scarlet);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.spotlabel small{display:block;flex-basis:100%;font-size:11px;text-transform:none;letter-spacing:0;color:var(--ink-3);font-weight:500;padding-left:16px}
.spotdot{height:7px;width:7px;background:var(--scarlet);border-radius:50%}
.spotcontent{display:grid;gap:2px;min-width:0}
.spotcontent strong{font:normal 25px/1.15 Georgia,"Times New Roman",serif;letter-spacing:-.025em}
.spotcontent span{font-size:13px;color:var(--ink-2)}
.spotlink{border:0;border-bottom:1px solid var(--scarlet);background:transparent;color:var(--scarlet);font-size:13px;font-weight:700;padding:5px 0;white-space:nowrap;cursor:pointer}
.spotlink:hover{color:var(--ink);border-color:var(--ink)}
.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.kpi{box-shadow:none;border:0;border-right:1px solid var(--rule);border-radius:0;background:transparent;min-height:94px;padding:10px 16px;display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-content:start}
.kpi:first-child{padding-left:0}.kpi:last-child{border-right:0}
.kpi small{grid-column:1/-1;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-size:10px;margin-bottom:7px}
.kpi b{font:normal 31px/1 Georgia,"Times New Roman",serif;letter-spacing:-.04em;color:var(--ink)}
.kpi span{align-self:center;font-size:12px;color:var(--ink-2);line-height:1.25}
.kpi:hover{background:color-mix(in srgb,var(--scarlet) 3%,transparent);border-color:var(--rule)}
.kpi[aria-pressed="true"]{box-shadow:inset 0 -3px var(--scarlet);border-color:var(--rule)}
.kpi.hot b,.kpi.acc b{color:var(--scarlet)}
.tabs,.seg{border-radius:0;background:transparent;border-bottom:1px solid var(--rule)}
.tabs button,.seg button{border-radius:0}
.tabs button[aria-selected="true"],.seg button[aria-pressed="true"]{box-shadow:inset 0 -2px var(--scarlet);background:transparent}
.ev{border-radius:0;background:var(--surface);box-shadow:none}
.ev:hover{border-color:var(--scarlet)}
.when{border-left-width:2px}
.month h2,.yr h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;text-transform:none;letter-spacing:-.02em}
@media(max-width:900px){
  .titlerow{grid-template-columns:1fr;gap:16px}.headactions{justify-content:start}
  .kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi:nth-child(3){border-right:0}.kpi:nth-child(n+4){border-top:1px solid var(--rule)}
  .spotlight{grid-template-columns:145px minmax(0,1fr)}.spotlink{grid-column:2;justify-self:start}
}
@media(max-width:640px){
  .mast{gap:13px;padding-block:15px 18px}.toprow{gap:8px}.toprow .eyebrow{font-size:10px}
  h1{font-size:clamp(39px,10vw,53px);line-height:1.04}.runway-word{display:inline!important}
  .headactions{display:grid;grid-template-columns:1fr 1fr;width:100%}.hbtn{font-size:11px;white-space:normal;text-align:center;justify-content:center}
  .spotlight{grid-template-columns:1fr;gap:10px;padding:15px}.spotlabel small{display:inline;flex-basis:auto;padding-left:0}.spotcontent strong{font-size:23px}.spotlink{grid-column:1}
  .kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;overflow:visible}.kpi{min-height:82px;padding:9px 10px!important;flex:auto}.kpi:nth-child(3){border-right:1px solid var(--rule)}.kpi:nth-child(even){border-right:0}.kpi:nth-child(n+3){border-top:1px solid var(--rule)}
  .kpi small{font-size:9px}.kpi b{font-size:27px}.kpi span{font-size:11px}
}
/* KPIs as one compact briefing line. */
.kpis{display:flex;flex-wrap:wrap;align-items:center;gap:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.kpi,.kpi:first-child,.kpi:last-child{min-height:0;width:auto;display:inline-flex;align-items:baseline;gap:5px;padding:10px 13px;background:transparent;border:0;border-right:1px solid var(--rule);border-radius:0;box-shadow:none;flex:none}
.kpi:first-child{padding-left:0}.kpi:last-child{border-right:0}
.kpi b,.kpi.hot b,.kpi.acc b{font:700 15px/1 var(--body);color:var(--scarlet);letter-spacing:0}
.kpi span{font-size:12px;color:var(--ink-2);line-height:1.2}
.kpi[aria-pressed="true"]{box-shadow:inset 0 -2px var(--scarlet)}
.kpi:hover{background:transparent;text-decoration:underline;text-underline-offset:2px}
@media(max-width:640px){.kpis{display:flex;gap:0;margin:0;padding:4px 0}.kpis .kpi{padding:6px 10px!important;border:0!important;min-height:0;width:auto}.kpis .kpi:first-child{padding-left:0!important}.kpi b{font-size:13px}.kpi span{font-size:11px}}

/* Clinical ledger, with a compact week planner. */
:root:not([data-theme="dark"]){
  --ground:#F3F6F6;--surface:#FFFFFF;--surface-2:#F7F9F9;--sunk:#E9F0F1;
  --ink:#142A34;--ink-2:#45606B;--ink-3:#637983;--rule:#C8D6D9;--rule-soft:#E1EAEC;
  --runway:#BF0D3B;--runway-ink:#A50731;--obs:#BF0D3B;--scarlet:#CC0033;--caa:#955316;
}

body{border-top:4px solid #CC0033}
.mast{max-width:none;margin:0;padding:20px max(20px,calc((100vw - 1200px)/2)) 16px;background:#102F3B;color:#EDF5F5;gap:15px}
.toprow{border-color:#46616B;padding-bottom:10px;align-items:center}
.toprow .eyebrow,.ru{color:#C6D6DA}
.ru{font-weight:600}.ru:hover{color:#fff}.ru-mark{height:13px;width:4px;background:#CC0033}
.titlerow{gap:20px;align-items:center}
h1{font:700 clamp(38px,4.7vw,62px)/.99 "Source Sans 3","Segoe UI",sans-serif;letter-spacing:-.045em;text-transform:none}
h1 .app{font-size:.54em;letter-spacing:.04em;color:#FF7B96;vertical-align:.13em;margin-right:.1em}
h1 .runway-word{font-style:normal;font-weight:400}
.headactions{align-self:center}
.hbtn{border-color:#67818B;color:#EDF5F5;background:transparent;padding:8px 10px;font-size:12.5px}
.hbtn:hover{border-color:#fff;background:#204653;color:#fff}
.strip{height:1px;background:#66808A;opacity:1}
.lede{color:#DBE7E9;font-size:14.5px;max-width:78ch}.updated{color:#BDCDD1}.updated::before{background:#FF7895}
.kpis{border-color:#58727D;gap:0}
.kpi,.kpi:first-child,.kpi:last-child{border-color:#58727D;padding-block:8px}
.kpi b,.kpi.hot b,.kpi.acc b{color:#FF91A9}.kpi span{color:#D3E1E4}
.kpi[aria-pressed="true"]{box-shadow:inset 0 -2px #FF91A9}
.spotlight{display:block;background:#fff;color:#142A34;border:1px solid #8299A1;border-top:3px solid #CC0033;padding:0;min-width:0}
.week-head{display:flex;align-items:end;justify-content:space-between;gap:14px;padding:11px 15px;border-bottom:1px solid #D1DDE0}
.week-head>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px}
.week-kicker{font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:#546C76;font-weight:700}
.week-head strong{font-size:17px;line-height:1;color:#183541}.week-count{font-size:11px;color:#607782;font-weight:600}.week-swipe{display:none}
.week-banner{display:flex;align-items:center;gap:10px;width:100%;border:0;border-bottom:1px solid #E2D7DB;background:#FCF1F3;color:#5C162B;padding:8px 15px;text-align:left;cursor:pointer}
.week-banner:hover{background:#F9E6EA}.week-banner>span{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#A50731;border-right:1px solid #DBA8B4;padding-right:10px}
.week-banner strong{font-size:14px}.week-banner small{font-size:11px;color:#7E4655;margin-left:auto}
.week-scroll{overflow-x:auto;scrollbar-width:thin}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(135px,1fr));min-width:945px}
.week-day{display:grid;grid-template-rows:auto 1fr;min-height:102px;border-right:1px solid #D8E2E4;background:#fff}.week-day:last-child{border-right:0}.week-day.is-weekend{background:#F7F9F9}.week-day.is-today{box-shadow:inset 0 0 0 2px #A50731}
.week-date{display:flex;justify-content:space-between;align-items:baseline;padding:5px 8px;border-bottom:1px solid #E2EAEB;font-variant-numeric:tabular-nums}
.week-date span{font-size:10px;color:#586F78;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.week-date b{font-size:17px;color:#173541}
.week-events{display:grid;align-content:start;gap:4px;padding:5px}.week-event{display:block;width:100%;padding:4px 6px;border:0;border-left:2px solid #568198;background:#ECF3F5;text-align:left;cursor:pointer;color:#183541}
.week-event:hover{background:#DBE9ED}.week-event span{display:block;font-size:9px;line-height:1.1;text-transform:uppercase;letter-spacing:.06em;color:#496977;font-weight:700}.week-event strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;font-size:10.5px;line-height:1.15;overflow:hidden}
.week-more,.week-empty{font-size:10px;color:#6F858D;padding-left:3px}.week-empty{font-size:15px}
.bar{background:#EDF3F3;border-color:#B9CACF;backdrop-filter:none}.bar .wrap{gap:7px;padding-block:9px}
.tabs{border-color:#B6C8CD}.tabs button{font-size:13px}.tabs button[aria-selected="true"],.seg button[aria-pressed="true"]{box-shadow:inset 0 -2px #CC0033;color:#142A34}
.chip,.search input,.btn,.sel{border-radius:2px}.chip{padding:4px 9px}.chip[aria-pressed="true"]{background:#173946;border-color:#173946;color:#fff}
.month h2,.yr h2{font:600 22px/1.15 "Source Sans 3","Segoe UI",sans-serif;letter-spacing:-.025em;padding-bottom:7px;border-bottom:2px solid #2D5361;margin-bottom:0}
.month h2 span,.yr h2 span{font-size:12px;margin-left:auto;letter-spacing:.04em;text-transform:uppercase}
.list{gap:0;border:1px solid #C8D6D9;border-top:0}
.ev{border:0;border-bottom:1px solid #D9E3E5;border-radius:0;grid-template-columns:78px minmax(0,1fr) 156px;gap:17px;padding:11px 15px;background:#fff}
.ev:last-child{border-bottom:0}.ev:hover{border-color:#D9E3E5;background:#F5F9FA;box-shadow:inset 3px 0 #CC0033}
.when{border-left:0;border-right:1px solid #D6E1E3;padding-right:10px}.when .d{font:700 20px/1 "Source Sans 3","Segoe UI",sans-serif;color:#173946}.when .m{font-size:10.5px;letter-spacing:.06em}
.ev .body{gap:1px}.ev .title{font-size:15px;line-height:1.25}.ev .org{font-size:12px;color:#4B6570}.ev .meta{font-size:11.5px}.ev .badges{margin-top:4px}.tag{border-radius:2px;font-size:10px;padding:1px 5px}
.side{align-content:center}.pill,.vf{border-radius:2px;font-size:11px}.vf{padding:2px 5px}
.cal{border-radius:0}.cal .cell{min-height:125px}.cal .cell.today{box-shadow:inset 0 0 0 2px #CC0033}.cal .ce{border-radius:0}
.calhead h2{font:700 26px/1.1 "Source Sans 3","Segoe UI",sans-serif;letter-spacing:-.025em;text-transform:none}
.dlrow,.srs{border-radius:0}.dlrow{border-top:0}.dlrow:hover,.srs:hover{background:#F5F9FA;box-shadow:inset 3px 0 #CC0033}
footer{background:#E9F0F1;border-color:#B9CACF;padding-top:27px}.foot{display:grid;grid-template-columns:1fr;gap:24px}
.curator{display:grid;grid-template-columns:210px minmax(0,1fr);gap:0 26px;background:#fff;border:1px solid #BCCDD1;border-top:3px solid #CC0033;padding:18px 20px}
.curator>.flabel{grid-column:1/-1;margin-bottom:12px;color:#A50731}.curator .curated-line{grid-column:1;grid-row:2;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#637983;margin:0}
.curator .who{grid-column:1;grid-row:3;font-size:19px;color:#173541}.curator .credentials{grid-column:1;grid-row:4;font-size:11px;color:#5D737C;margin:0}
.roles{grid-column:2;grid-row:2/5;display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0}.roles li{display:grid;align-content:start;gap:3px;padding-left:15px;border-left:2px solid #BDD0D4}.roles li:first-child{border-left-color:#CC0033}.role-label{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#627B85;font-weight:700}.roles a{color:#173946;text-decoration:underline;text-decoration-color:#8AA5AE;text-underline-offset:2px;font-size:13px;font-weight:700}.roles a:hover{color:#A50731;text-decoration-color:#A50731}.roles .role-title{display:block;font-weight:500;font-size:12px;line-height:1.3}
.curator .fine{grid-column:1/-1;margin:15px 0 0;padding-top:11px;border-top:1px solid #DFE8EA;max-width:none}.partners:empty{display:none}
.method{max-width:1000px}.method>.flabel{color:#173946}.method .states{grid-template-columns:max-content minmax(0,1fr)}
@media(max-width:900px){.mast{padding-inline:20px}.roles{grid-template-columns:1fr 1fr}.ev{grid-template-columns:78px minmax(0,1fr) 130px}}
@media(max-width:640px){
  .mast{padding-inline:16px}.toprow{align-items:flex-start}.ru{font-size:11px}.titlerow{gap:10px}h1{font-size:clamp(35px,10vw,51px);line-height:1.02}.headactions{grid-template-columns:1fr 1fr}
  .week-head{align-items:start;flex-wrap:wrap}.week-count{font-size:10px}.week-swipe{display:block;flex-basis:100%;font-size:10px;color:#607782;letter-spacing:.02em}.week-banner{display:grid;grid-template-columns:auto 1fr;gap:2px 8px}.week-banner small{grid-column:2;margin:0}.week-grid{grid-template-columns:repeat(7,minmax(128px,1fr));min-width:896px}
  .kpis .kpi{border-right:1px solid #58727D!important}.kpis .kpi:last-child{border:0!important}.kpi span{color:#D3E1E4}
  .ev{grid-template-columns:64px minmax(0,1fr);gap:9px;padding:10px}.ev .side{grid-column:2;justify-items:start;text-align:left;display:flex;flex-wrap:wrap;gap:5px}.when{padding-right:6px}.when .d{font-size:17px}
  .curator{grid-template-columns:1fr;padding:16px;gap:2px}.curator>.flabel,.curator .curated-line,.curator .who,.curator .credentials,.roles,.curator .fine{grid-column:1;grid-row:auto}.roles{grid-template-columns:1fr;gap:12px;margin-top:12px}.method .states{grid-template-columns:1fr}
}

/* Masthead accent colour. */
.mast .toprow{border-bottom:1px solid #EF335D}
.mast .strip{height:2px;background:#EF335D}
.mast h1 .app{color:#EF335D}
.mast .updated::before{background:#EF335D}
.mast .kpis{border-color:#EF335D}
.mast .kpi,.mast .kpi:first-child,.mast .kpi:last-child{border-color:#EF335D}
.mast .kpi b,.mast .kpi.hot b,.mast .kpi.acc b{color:#FF819C}
.mast .kpi[aria-pressed="true"]{box-shadow:inset 0 -2px #EF335D}
.mast .spotlight{display:block;border:0;border-top:1px solid #EF335D;border-bottom:1px solid #EF335D;background:transparent;color:#F5F9F9;padding:0}
.live-ribbon{display:flex;align-items:center;gap:10px 18px;min-height:52px;padding:9px 0}
.live-flag{font-size:11px;font-weight:800;letter-spacing:.1em;color:#FF819C;white-space:nowrap}
.live-ribbon strong{font-size:19px;line-height:1.1;color:#fff}
.live-dates{font-size:12px;color:#C6D6DA;font-weight:600}
.live-source{margin-left:auto;border:0;border-bottom:1px solid #FF819C;background:transparent;padding:3px 0;color:#FF9BB0;font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer}
.live-source:hover{color:#fff;border-color:#fff}
.geoquick{display:flex;flex-wrap:wrap;align-items:center;gap:6px 9px;border-top:1px solid #CAD9DC;padding-top:8px}
.geoquick .flabel{min-width:68px}.geo-label{font-size:11px;font-weight:700;color:#526B76;white-space:nowrap}
.geoquick .sel{border-radius:2px;max-width:190px;padding:5px 7px}
.geoquick input{width:140px;max-width:100%;background:#fff;border:1px solid #C8D6D9;border-radius:2px;padding:5px 8px;font-size:13px}
.geoquick input:focus{border-color:#173946}.geo-divider{height:22px;width:1px;background:#B9CDD2;margin-inline:2px}
.geoquick .nearmsg{font-size:11px;color:#526B76}
.ev.app-week-now{background:#FFF2F5;box-shadow:inset 4px 0 #CC0033}
.ev.app-week-now:hover{background:#FFE8EE;box-shadow:inset 4px 0 #CC0033}
.ev.app-week-now .when .d,.ev.app-week-now .title{color:#A50731}
.live-label{color:#A50731;font-size:10px;letter-spacing:.07em;font-weight:800;text-transform:uppercase}
.cal .ce.appweek,.cal .ce.appweek.ongoing{background:#CC0033;color:#fff;border-left-color:#FF8CA6;font-weight:800}
.cal .ce.appweek:hover{background:#A50731}
.cal .ce.appweek{white-space:normal;min-height:32px}
.cal .ce.appweek strong{display:block;font-size:11px;line-height:1.1}
.cal .ce.appweek small{display:block;font-size:9px;font-weight:600;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#FFE1E8}
.cal .cell:has(.ce.appweek){background:#FFF7F9}
@media(max-width:900px){.geoquick .flabel{min-width:0}.geoquick{gap:6px 8px}}
@media(max-width:640px){
  .live-ribbon{flex-wrap:wrap;gap:4px 9px}.live-flag{width:100%}.live-ribbon strong{font-size:18px}.live-dates{width:100%}.live-source{margin:0}
  .geoquick{gap:6px}.geoquick .flabel{width:100%}.geoquick .geo-label[for="area"],.geoquick .geo-label[for="nearq"]{width:100%;margin-top:3px}
  .geoquick #area{width:100%;max-width:none}.geoquick #nearq{flex:1 1 155px}.geoquick .geo-divider{display:none}
}

.okstamp{color:var(--ok);font-weight:700}

/* ---------------------------------------------------------------------------
   Scarlet header rules, brighter title, stronger view switch and result
   count, stacked review stamps, spanning calendar bars.
   --------------------------------------------------------------------------- */
:root{--stu:#6B4FA0;--dnp:#0F7B6C}
.mast .toprow{border-bottom:1px solid #CC0033!important}
.mast .strip{height:2px!important;background:#CC0033!important;opacity:1!important}
.mast .spotlight{display:none!important}
.mast .toprow .eyebrow{color:#FFFFFF!important;letter-spacing:.14em;font-weight:800}
.mast h1{color:#FFFFFF!important}
.mast h1 .app{color:#CC0033!important}
.mast h1 .runway-word{color:#FFFFFF!important}
.mast .updated{display:grid;justify-items:end;text-align:right;gap:3px;margin-left:auto;white-space:nowrap}
.mast .updated::before{display:none!important}
.mast .updated span::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#CC0033;margin-right:7px;vertical-align:1px}
.mast .updated span{color:#DCE7EA}
/* List / Calendar switch */
.viewtools .seg,.seg{border:1px solid #102F3B!important;border-radius:4px!important;padding:3px!important;background:#FFFFFF!important;gap:3px}
.seg button{font-size:14.5px!important;font-weight:800!important;padding:8px 16px!important;color:#102F3B!important;border-radius:3px!important;box-shadow:none!important}
.seg button[aria-pressed="true"]{background:#102F3B!important;color:#FFFFFF!important;box-shadow:inset 0 -3px #CC0033!important}
.seg button:not([aria-pressed="true"]):hover{background:#EEF3F4!important}
/* result count */
.summary{font-size:15px!important;color:#102F3B!important;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;justify-content:flex-end}
.summary b{font-weight:800;font-size:16px;border-bottom:2px solid #CC0033;padding-bottom:1px}
.summary .applied{font-size:13px;color:#46606A;font-weight:600}
/* calendar: one bar per consecutive run */
.cal.calspan{display:block;background:var(--rule);border:1px solid var(--rule)}
.calspan .dowrow{display:grid;grid-template-columns:repeat(7,minmax(118px,1fr));gap:1px}
.calspan .wk{display:grid;grid-template-columns:repeat(7,minmax(118px,1fr));grid-auto-rows:auto;column-gap:1px;row-gap:3px;border-top:1px solid var(--rule);min-height:118px;padding-bottom:8px;position:relative}
.calspan .cell{min-height:0;padding:4px 6px}
.calspan .ce{position:relative;z-index:1;margin:0 4px;align-self:start}
.calspan .ce small{font-weight:500;opacity:.8;margin-left:4px}
.calspan .ce.contl{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0}
.calspan .ce.contr{margin-right:0;border-right:3px dotted var(--c)}
.calspan .ce.extra{display:none}
.calspan .wk.expanded .ce.extra{display:block}
.calspan .overflow{position:relative;z-index:1;margin:0 4px}
.calspan .num{display:inline-grid;place-items:center;min-width:30px;height:24px;padding:0 6px;border:1px solid transparent;background:transparent;border-radius:3px;cursor:pointer;font:600 16px/1 var(--display);color:inherit}
.calspan .num:hover,.calspan .num:focus-visible{border-color:#CC0033;color:#CC0033;background:#FFF2F5}
.calspan .cell.today .num{background:#CC0033;color:#fff}
.daylist{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.daylist button{display:grid;gap:2px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--rule);border-left:4px solid var(--c);padding:9px 12px;cursor:pointer;color:inherit;font:inherit}
.daylist button:hover{border-color:#CC0033;border-left-color:var(--c)}
.daylist .dwhat{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#46606A}
.daylist .dwhat.dl{color:#CC0033}
.daylist b{font-size:15px}
.daylist .dmeta{font-size:12.5px;color:#46606A}

@media(max-width:640px){.mast .updated{justify-items:start;text-align:left;margin-left:0}.summary{justify-content:flex-start}}
/* record colours = record type (meeting, abstract call, celebration); disciplines are neutral badges */
:root{--t-meet:#24557F;--t-call:#1C7A4C;--t-obs:#A8641A}
.tag.p.neutral{background:#EEF3F4!important;color:#23404B!important;border:1px solid #C9D7DB!important}
.calspan .ce.call{background:color-mix(in srgb,var(--t-call) 14%,var(--surface));color:var(--ink)}
.calspan .ce.due{box-shadow:inset -5px 0 #CC0033}
.legend i.duekey{background:#CC0033!important}
.legend .fine{margin-left:6px}

.mast h1 a.home{color:inherit;text-decoration:none}
.mast h1 a.home:hover .runway-word,.mast h1 a.home:focus-visible .runway-word{text-decoration:underline;text-decoration-color:#CC0033;text-underline-offset:6px}
/* toolbar: List/Calendar on the left, Location on the right, same row; result count is screen-reader only */
.bar .row2{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 18px;border-top:1px solid #CAD9DC;padding-top:8px}
.bar .row2 .geoquick{border-top:0;padding-top:0;margin-left:auto;justify-content:flex-end}
.summary.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:900px){.bar .row2 .geoquick{margin-left:0;justify-content:flex-start}}
/* selected state is unmistakable everywhere: tabs, discipline, location (same treatment as List/Calendar) */
.bar .tabs button[aria-selected="true"]{background:#102F3B!important;color:#FFFFFF!important;box-shadow:inset 0 -3px #CC0033!important;border-radius:3px}
.bar .chip[aria-pressed="true"]{background:#102F3B!important;color:#FFFFFF!important;border-color:#102F3B!important;box-shadow:inset 0 -3px #CC0033!important;font-weight:800}
.bar .geoquick #area:has(option:checked:not([value=""])),.bar .geoquick input:not(:placeholder-shown){background:#102F3B!important;color:#FFFFFF!important;border-color:#102F3B!important;box-shadow:inset 0 -3px #CC0033}

/* Search is the first action; trust line under it; header buttons recede */
.search input{font-size:16.5px;padding:12px 14px 12px 38px;border-width:2px}
.search svg{width:18px;height:18px}
.trustline{margin:6px 0 0;font-size:12.5px;color:var(--ink-3)}
.hbtn{font-weight:500;opacity:.82}
.hbtn:hover,.hbtn:focus-visible{opacity:1}

/* ---------------------------------------------------------------------------
   Brand: image lockup, accessible contrast, and a deliberate two-line
   introduction at desktop widths.
   --------------------------------------------------------------------------- */
.mast{background:#F3F6F6!important;color:#102F3B!important}
.mast .toprow .eyebrow{color:#294653!important}
.mast .titlerow{grid-template-columns:minmax(380px,1fr) auto;gap:28px;align-items:center}
.mast h1.brand-heading{margin:0!important;max-width:620px;width:100%;font-size:0!important;line-height:0!important;letter-spacing:0!important}
.mast .brand-link{display:block;width:100%;line-height:0}
.mast .brand-logo{display:block;width:100%;height:auto}
.mast .hbtn{border-color:#67818B!important;background:#FFFFFF!important;color:#102F3B!important;opacity:1}
.mast .hbtn:hover,.mast .hbtn:focus-visible{border-color:#102F3B!important;background:#E7EEF0!important;color:#102F3B!important;opacity:1}
.mast .ledeRow{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:start;gap:24px;padding-left:clamp(72px,7vw,112px)}
.mast .lede{max-width:none;width:100%;color:#2F4D59!important;line-height:1.45}
.mast .lede-break{display:block}
.mast .updated{align-self:start;padding-top:1px}
.mast .updated span{color:#45606B!important}
@media(max-width:1050px){
  .mast .titlerow{grid-template-columns:1fr;gap:14px}
  .mast .headactions{justify-content:start}
  .mast .ledeRow{grid-template-columns:1fr;padding-left:clamp(40px,5vw,64px)}
  .mast .updated{justify-items:start;text-align:left;margin-left:0;white-space:normal}
}
@media(max-width:900px){.mast .lede-break{display:none}}
@media(max-width:760px){
  .mast .brand-heading{max-width:none}
  .mast .ledeRow{padding-left:0}
}

/* ---------------------------------------------------------------------------
   Calendar hierarchy: neutral structure, scarlet only for active moments;
   no full-cell outline or saturated event fill competes with it.
   --------------------------------------------------------------------------- */
.cal.calspan{background:#D5E0E3;border-color:#BFCED2}
.calspan .wk{border-top-color:#BFCED2;row-gap:4px}
.cal .cell.today{box-shadow:none!important;background:var(--surface)!important}
.calspan .cell.today .num{background:#CC0033;color:#fff;border-color:#CC0033;box-shadow:none}
.cal .ce.appweek,.cal .ce.appweek.ongoing{background:#FCE9EE!important;color:#66162A!important;border-left:3px solid #CC0033!important;box-shadow:none!important}
.cal .ce.appweek:hover{background:#F8DCE4!important;color:#4F1020!important}
.cal .ce.appweek small{color:#7E4655!important}
.cal .cell:has(.ce.appweek){background:var(--surface)!important}
.calspan .ce.due{background:#FFF7F9;box-shadow:inset -3px 0 #CC0033}

/* Masthead layout */
.mast{padding-top:18px}
.titlerow{align-items:flex-end}
.headactions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px}
.headactions .eyebrow{flex:0 0 100%;order:10;margin:4px 0 0;text-align:right;color:var(--ink-3);font-family:var(--body);font-size:.72rem;line-height:1.25;letter-spacing:.12em;text-transform:uppercase;text-wrap:balance}
.headactions .reqcap{order:11}
.header-updated{display:block;width:100%;margin:6px 0 5px;text-align:right;color:var(--ink-2);font-size:.82rem}
.ledeRow{display:block!important;margin:0!important;padding:0 0 16px!important}
.lede{max-width:100%!important;margin:0!important;text-align:left}
@media(max-width:800px){.headactions{justify-content:flex-start}.headactions .eyebrow,.header-updated{text-align:left}.header-updated{margin-top:10px}}

/* Compact masthead, clearer contrast, and unified navigation */
:root{--ink-3:#535E62}

.mast{padding-bottom:10px;gap:8px}
.mast .titlerow{gap:18px}
.mast .ledeRow{padding:0!important;margin:0!important}
.mast .lede{max-width:100%;font-size:15px;line-height:1.35}
.mast .header-updated{margin:0 0 2px!important}
.headactions .eyebrow{margin-top:2px}
.bar .wrap{gap:7px;padding-block:8px}
.bar .tabs{display:flex;flex-wrap:wrap;gap:6px;background:transparent;border:0;padding:0}
.bar .tabs button{border:1px solid var(--rule);background:var(--surface);border-radius:2px;padding:4px 9px;font-size:13px;font-weight:600;color:var(--ink-2);box-shadow:none}
.bar .tabs button:hover{border-color:var(--ink-3)}
.bar .tabs button[aria-selected="true"]{background:#102F3B!important;color:#fff!important;border-color:#102F3B!important;box-shadow:inset 0 -3px #CC0033!important;font-weight:800}

:root[data-theme="dark"] .bar .tabs button[aria-selected="true"]{background:#E8EFF1!important;color:#0A1418!important;border-color:#E8EFF1!important}
@media(max-width:640px){
  .mast{padding-bottom:8px;gap:7px}
  .mast .titlerow{gap:12px}
  .mast .lede{font-size:14px}
  .bar .tabs{flex-wrap:nowrap;overflow-x:auto}
  .bar .tabs button{white-space:nowrap;flex:none}
}

/* Header, deadline grouping, and calendar structure */
.mast .headactions{justify-content:flex-end;align-content:start;gap:8px}
.headactions .eyebrow{color:#102F3B!important}
.mast .ledeRow{display:grid!important;grid-template-columns:minmax(0,1fr) max-content;align-items:end;gap:8px 20px;padding:0!important;margin:0!important}
.mast .header-updated{align-self:end;width:auto!important;margin:0 0 1px!important;text-align:right;white-space:nowrap}

.deadline-section>h2{border-left:4px solid #102F3B;padding-left:10px}
.deadline-section.due-soon>h2{border-left-color:#CC0033}
.deadline-section.opening-soon>h2{border-left-color:#A8641A}
.deadline-section.open-now>h2{border-left-color:#1C7A4C}

.cal.calspan{background:var(--surface)!important;border-color:#102F3B!important}
.calspan .dowrow{gap:0!important}
.calspan .dow{border-right:1px solid #102F3B}
.calspan .dow:last-child{border-right:0}
.calspan .wk{column-gap:0!important;border-top-color:#102F3B!important}
.calspan .cell{border-right:1px solid #102F3B}
.calspan .cell:nth-child(7){border-right:0}
/* The empty-week line is centred on the week, on its own surface, so it never straddles a cell border. */
.calspan .week-empty{position:relative;z-index:1;align-self:center;justify-self:center;margin:12px auto;padding:6px 14px;background:var(--surface);border:1px solid #D8E2E4;border-radius:2px;color:#526B76;font-size:12px;font-weight:700;letter-spacing:.02em;white-space:nowrap;max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis}
.calspan .wk.emptyweek .cell,.calspan .wk.emptyweek .cell.out{background:#F8FAFA}

@media(max-width:1050px){
  .mast .ledeRow{grid-template-columns:1fr}
  .mast .header-updated{text-align:left}
}

/* Global Orbit annual density view */
.row-clear{white-space:nowrap}
.filter-hint{font-size:11px;color:#526B76;margin-left:4px;white-space:nowrap}
.orbit-shell{display:grid;grid-template-columns:minmax(560px,1.35fr) minmax(330px,.85fr);gap:22px;align-items:start}
.orbit-board,.orbit-rail{background:var(--surface);border:1px solid #102F3B}
.orbit-board{padding:20px 22px 18px;min-width:0}
.orbit-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;border-bottom:3px solid #CC0033;padding-bottom:12px}
.orbit-heading h2,.orbit-rail>header h2{margin:0;color:#102F3B;font:800 26px/1.05 var(--display);letter-spacing:.01em}
.orbit-heading p:last-child{margin:0;max-width:38ch;color:#526B76;font-size:13px;text-align:right}
.orbit-stage{position:relative;width:min(600px,100%);aspect-ratio:1;margin:10px auto 4px}
.orbit-core{position:absolute;left:50%;top:50%;z-index:2;transform:translate(-50%,-50%);width:225px;height:225px;border-radius:50%;background:#102F3B;color:#fff;border:8px solid #E7EEF0;box-shadow:0 14px 30px rgba(16,47,59,.18);display:grid;grid-template-columns:34px 1fr 34px;align-items:center;text-align:center}
.orbit-core strong{font:800 43px/1 var(--display);letter-spacing:.02em}.orbit-core small{color:#C8DADD;font-size:10px;line-height:1.22;letter-spacing:.035em;text-transform:uppercase}
.orbit-context{display:grid;gap:2px}.orbit-context i{display:block;font-style:normal;overflow-wrap:anywhere}
.orbit-core button{border:0;background:transparent;color:#fff;font-size:31px;line-height:1;cursor:pointer;height:54px}.orbit-core button:hover{color:#FF7891}
.orbit-core .orbit-year{display:grid;align-content:center;gap:5px;min-width:0;height:auto;padding:10px 4px;border-radius:50%;font-size:inherit;line-height:inherit}.orbit-core .orbit-year[aria-pressed="true"]{background:rgba(204,0,51,.22);box-shadow:inset 0 0 0 2px #FF7891}.orbit-core .orbit-year:hover strong{color:#FF7891}.orbit-core .orbit-year:focus-visible{outline-color:#FFFFFF}
.orbit-month{--radius:242px;position:absolute;left:50%;top:50%;width:86px;height:108px;margin:-54px 0 0 -43px;padding:5px 7px 5px;border:1px solid #BDD0D4;border-radius:8px;background:#F7FAFA;color:#102F3B;box-shadow:0 5px 13px rgba(16,47,59,.08);cursor:pointer;display:grid;grid-template-rows:auto 1fr auto;gap:2px;transform:rotate(calc(var(--i) * 30deg)) translateY(calc(-1 * var(--radius))) rotate(calc(var(--i) * -30deg));transition:box-shadow .16s,border-color .16s,filter .16s}
.orbit-month:hover,.orbit-month:focus-visible{border-color:#102F3B;box-shadow:0 10px 20px rgba(16,47,59,.18);filter:brightness(1.02)}
.orbit-month.selected{border:2px solid #CC0033;background:#fff;box-shadow:0 8px 20px rgba(204,0,51,.16)}
.orbit-month-name{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-align:center}
.orbit-columns{height:57px;display:flex;align-items:end;justify-content:center;gap:5px;border-bottom:1px solid #B9CDD2;padding-top:2px}
.orbit-columns i{display:block;width:13px;height:var(--h);max-height:52px;min-height:8px;border-radius:4px 4px 0 0;opacity:.9}
.orbit-month:hover .orbit-columns i{opacity:1}
.orbit-counts{display:flex;justify-content:center;gap:5px;height:13px;line-height:13px}.orbit-counts i{width:13px;font-style:normal;font-size:10px;font-weight:400;text-align:center;color:#526B76;font-variant-numeric:tabular-nums}
.orbit-columns .meet,.orbit-legend .meet{background:#102F3B}.orbit-columns .due,.orbit-legend .due{background:#CC0033}.orbit-columns .open,.orbit-legend .open{background:#397C64}.orbit-columns .obs,.orbit-legend .obs{background:#A8641A}
.orbit-legend{display:flex;justify-content:center;gap:10px 24px;flex-wrap:wrap;padding-top:8px;color:#526B76;font-size:12px;font-weight:700}
.orbit-legend i{display:inline-block;width:11px;height:11px;margin-right:6px;vertical-align:-1px;border-radius:2px}
.orbit-rail{display:grid;gap:14px;padding:18px;max-height:760px;overflow:auto}
.orbit-rail>header{border-bottom:3px solid #102F3B;padding-bottom:10px}.orbit-rail .eyebrow{color:#CC0033;margin-bottom:3px}
.orbit-group{border-left:4px solid var(--tone);padding-left:11px}.orbit-group.meet{--tone:#102F3B}.orbit-group.due{--tone:#CC0033}.orbit-group.open{--tone:#397C64}.orbit-group.obs{--tone:#A8641A}
.orbit-group summary{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 7px;font-size:15px;font-weight:700;color:#102F3B;cursor:pointer;list-style:none}.orbit-group summary::-webkit-details-marker{display:none}.orbit-group summary span::before{content:"+";display:inline-block;width:15px;color:var(--tone)}.orbit-group[open] summary span::before{content:"−"}.orbit-group summary b{font-size:12px;background:color-mix(in srgb,var(--tone) 14%,white);color:var(--tone);padding:2px 7px;border-radius:999px}
.orbit-group>div{display:grid;gap:5px}.orbit-item{display:grid;grid-template-columns:72px minmax(0,1fr);gap:1px 9px;text-align:left;background:#F8FAFA;border:1px solid #D7E2E4;border-left:3px solid var(--tone);padding:7px 8px;color:#102F3B;cursor:pointer}.orbit-item:hover{border-color:var(--tone)}
.orbit-item-date{grid-row:1 / 3;font-size:11px;font-weight:800;color:var(--tone);line-height:1.25}.orbit-item strong{font-size:13px;line-height:1.2}.orbit-item span:last-child{font-size:11px;color:#526B76;line-height:1.25}
.orbit-empty,.orbit-more{margin:0;padding:8px 9px;background:#F8FAFA;color:#607780;font-size:12px}.orbit-more{font-weight:700}
button.orbit-more{display:block;width:100%;border:0;text-align:left;font-family:inherit;color:#102F3B;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
button.orbit-more:hover{background:#EEF3F4}

@media(max-width:1050px){
  .orbit-shell{grid-template-columns:1fr}.orbit-rail{max-height:none;grid-template-columns:repeat(3,minmax(0,1fr))}.orbit-rail>header{grid-column:1 / -1}.orbit-stage{width:min(580px,100%)}
}
@media(max-width:700px){
  .orbit-board{padding:14px 10px}.orbit-heading{align-items:start}.orbit-heading p:last-child{display:none}.orbit-stage{width:430px;max-width:100%;overflow:hidden}.orbit-core{width:172px;height:172px;border-width:6px;grid-template-columns:26px 1fr 26px}.orbit-core strong{font-size:32px}.orbit-core small{font-size:8px}.orbit-month{--radius:126px;width:66px;height:88px;margin:-44px 0 0 -33px;padding:4px}.orbit-columns{height:43px;gap:3px}.orbit-columns i{width:9px;max-height:38px}.orbit-counts{gap:3px}.orbit-counts i{width:9px;font-size:9px}.orbit-month-name{font-size:10px;line-height:1.05}.orbit-month-year{display:block}.orbit-rail{grid-template-columns:1fr}.orbit-rail>header{grid-column:1}.orbit-item{grid-template-columns:66px minmax(0,1fr)}
}

/* Separate the Directory from the three record displays. */
.seg button+button{border-left:2px solid #CC0033!important;margin-left:5px!important;padding-left:14px!important}

/* Compact, quieter provenance footer. */
footer{background:#F4F7F7!important;padding-block:16px 22px!important;font-size:12.5px!important}
.foot{grid-template-columns:minmax(360px,1.05fr) minmax(0,1.55fr)!important;gap:14px 28px!important}
.curator{grid-template-columns:145px minmax(0,1fr)!important;gap:0 16px!important;background:transparent!important;border:0!important;border-left:2px solid #CC0033!important;padding:8px 0 8px 13px!important}
.curator>.flabel{margin-bottom:6px!important}.curator .who{font-size:17px!important}.roles{gap:10px!important}.roles li{padding-left:10px!important}.curator .fine{margin-top:8px!important;padding-top:7px!important}
.method{font-size:12px;line-height:1.34}.method p{margin-bottom:5px}
@media(max-width:900px){.foot{grid-template-columns:1fr!important}.curator{grid-template-columns:145px minmax(0,1fr)!important}}
@media(max-width:640px){.curator{grid-template-columns:1fr!important;padding:10px 0 10px 12px!important}.curator>.flabel,.curator .curated-line,.curator .who,.curator .credentials,.roles,.curator .fine{grid-column:1!important;grid-row:auto!important}}

/* Control alignment, calendar disclosure, and footer hierarchy. */
.quickaxes{display:grid;grid-template-columns:minmax(0,1fr);gap:8px 24px;align-items:center}
.quickprof,.quickscope,.quickfocus{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:0}
/* Scope on the left, the record-type Focus to its right. */
.quickscopefocus{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;min-width:0}
.quickscope .chip,.quickfocus .chip{white-space:nowrap}

.bar .row2{display:flex!important;flex-wrap:wrap;align-items:center;gap:10px 14px!important}
.bar .row2 .geoquick{margin-left:0!important;justify-content:flex-start;align-items:center;flex-wrap:nowrap;align-self:center;gap:6px!important}
.bar .row2 .geoquick .flabel{min-width:0}
/* Near City and the radius select match the chips and each other — same height, radius, border and type. */
.bar .row2 .geoquick .geo-input{width:132px}
.bar .row2 .geoquick .geo-sel{max-width:112px}
.bar .row2 .geoquick #area{max-width:150px}
/* Every control in the Location row — the four chips, Near City and both selects — is one height. */
.geoquick .chip,.geoquick .geo-input,.geoquick .geo-sel{box-sizing:border-box;height:28px;line-height:26px;padding:0 9px;border-radius:2px;font-size:13px;font-weight:600}
.geoquick .geo-input,.geoquick .geo-sel{border:1px solid #C8D6D9;background:#fff;font-family:inherit;color:var(--ink-2)}
.geoquick .geo-sel{padding-right:4px}
.geoquick .chip{display:inline-flex;align-items:center}
.geoquick .geo-sel{padding-right:4px}
@media(max-width:1180px){.bar .row2 .geoquick{flex-wrap:wrap}}
.viewtools .seg button{padding:8px 12px!important}
/* A scarlet separator between every display button (List | Calendar | Orbit | Directory). */
.seg button+button{border-left:2px solid #CC0033!important;border-radius:0 3px 3px 0!important;margin-left:4px!important;padding-left:12px!important}

.calhead{display:grid;grid-template-columns:minmax(430px,.9fr) minmax(500px,1.1fr);align-items:center;gap:12px 24px;margin-bottom:10px}
.calnav{display:grid;grid-template-columns:38px 38px minmax(220px,1fr) 38px 38px;align-items:center;gap:6px}
.calnav h2{min-width:0!important;margin:0!important;text-align:center!important}
.calnav .btn{width:38px;height:34px;justify-content:center;padding:0!important;font-size:18px}
.calmeta{display:flex;align-items:center;justify-content:flex-end;gap:14px;min-width:0}
.caljump{display:flex;align-items:center;gap:7px;flex:none}
.callegend{display:grid!important;grid-template-columns:repeat(2,max-content);gap:5px 14px!important;border-left:2px solid #CC0033;padding-left:14px;font-size:11.5px!important;line-height:1.2}
.callegend span{white-space:nowrap}

.calspan .overflow{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:36px;margin:7px 8px 13px!important;padding:8px 14px 7px!important;overflow:visible;text-align:left;color:#102F3B!important;background:linear-gradient(180deg,#FFFFFF 0%,#E8F0F2 72%,#D7E3E6 100%)!important;border:1px solid #8FA8AE!important;border-top:2px solid #102F3B!important;border-radius:9px 9px 4px 4px!important;box-shadow:0 4px 0 #AEBFC4,0 10px 18px rgba(16,47,59,.16)!important;transform:translateY(-2px);transition:transform .16s ease,box-shadow .16s ease,background .16s ease;color .16s ease}
.calspan .overflow::before{content:"";position:absolute;left:10px;right:10px;top:-2px;height:2px;background:linear-gradient(90deg,#CC0033 0 22%,#102F3B 22% 78%,#CC0033 78% 100%)}
.calspan .overflow:hover,.calspan .overflow:focus-visible{transform:translateY(-5px);background:linear-gradient(180deg,#FFFFFF 0%,#EFF5F6 65%,#DDE8EA 100%)!important;box-shadow:0 7px 0 #A8BBC0,0 15px 25px rgba(16,47,59,.22)!important}
.calspan .overflow[aria-expanded="true"]{color:#FFFFFF!important;background:linear-gradient(180deg,#173E4D,#102F3B)!important;border-color:#102F3B!important;box-shadow:0 3px 0 #6E8991,0 8px 16px rgba(16,47,59,.2)!important;transform:translateY(0)}
.overflow-main{font-size:12.5px;font-weight:800;letter-spacing:.01em}.overflow-cue{font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;opacity:.8}.overflow-cue b{font-size:14px;margin-left:3px}

footer{padding-block:10px 18px!important}
.foot{grid-template-columns:minmax(500px,.9fr) minmax(0,1.6fr)!important;gap:12px 30px!important;align-items:start}
.curator{grid-template-columns:145px minmax(0,1fr)!important;gap:0 16px!important;padding:5px 0 5px 12px!important;align-items:start}
.curator .curated-line{grid-column:1!important;grid-row:1!important;margin:0 0 2px!important;color:#CC0033!important;font-size:11px!important;font-weight:800!important;letter-spacing:.1em!important;text-transform:uppercase}
.curator .who{grid-column:1!important;grid-row:2!important;margin:0!important}.curator .credentials{grid-column:1!important;grid-row:3!important;margin:0!important}
.roles{grid-column:2!important;grid-row:1 / 5!important;grid-template-columns:1fr!important;gap:9px!important;margin:0!important}
.roles li{gap:2px!important;padding-left:11px!important}.roles .role-title{font-size:12px!important;line-height:1.24!important}.role-title-line{display:block;white-space:nowrap}
.curator .fine{grid-column:1 / -1!important;grid-row:auto!important;margin:7px 0 0!important;padding-top:6px!important}
.method{width:100%;max-width:none!important;align-self:start;font-size:12px!important;line-height:1.43!important;text-align:left}
.method-summary{width:100%;max-width:none;margin:0 0 7px!important;text-align:left}.method-summary b{color:#102F3B}

@media(max-width:1150px){
  .quickscopefocus{justify-content:flex-start}
  .calhead{grid-template-columns:1fr}.calmeta{justify-content:flex-start}.foot{grid-template-columns:1fr!important}.curator{grid-template-columns:145px minmax(0,1fr)!important}
}
@media(max-width:760px){
  .bar .row2{grid-template-columns:1fr}.bar .row2 .geoquick{justify-content:flex-start}
  .calnav{grid-template-columns:34px 34px minmax(150px,1fr) 34px 34px}.calnav .btn{width:34px}
  .calmeta{align-items:flex-start;flex-wrap:wrap}.callegend{grid-template-columns:repeat(2,minmax(0,max-content));border-left:0;border-top:2px solid #CC0033;padding:8px 0 0;width:100%}
}
@media(max-width:640px){
  .quickaxes{gap:7px}.quickscopefocus{display:grid;gap:7px}.quickprof,.quickscope,.quickfocus{width:100%;max-width:100%;flex-wrap:nowrap;overflow-x:auto;margin-right:0;padding-right:0;scrollbar-width:thin}.quickprof .chip,.quickscope .chip,.quickfocus .chip,.quickprof .flabel,.quickscope .flabel,.quickfocus .flabel{flex:none}
  .calnav{grid-template-columns:32px 32px minmax(120px,1fr) 32px 32px;gap:4px}.calnav .btn{width:32px;height:32px}.calnav h2{font-size:21px!important}
  .caljump{flex-wrap:wrap}.calspan .overflow{margin-inline:5px!important}.overflow-cue{display:none}
  .curator{grid-template-columns:1fr!important;padding:6px 0 6px 12px!important}.curator .curated-line,.curator .who,.curator .credentials,.roles,.curator .fine{grid-column:1!important;grid-row:auto!important}.roles{margin-top:10px!important}.role-title-line{white-space:normal}
}

/* Collapsible List month sections and shared disclosure controls. */
.list-section-tools{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;padding:8px 10px;background:var(--sunk);border:1px solid var(--rule);border-left:3px solid #CC0033}
.list-section-tools>span{margin-right:auto;color:var(--ink-2);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.list-section-tools .btn{min-height:31px;padding:5px 10px;font-size:12px}.list-section-tools .btn b{color:#CC0033;font-size:14px;margin-left:3px}
.viewtools .seg button{min-height:43px}
.list-months{display:grid;gap:22px}
details.month{scroll-margin-top:12px}
.month>summary{display:grid;grid-template-columns:minmax(0,1fr) max-content max-content;align-items:center;gap:10px;min-height:43px;padding:7px 10px 9px;color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-bottom:3px solid #CC0033;cursor:pointer;list-style:none}
.month>summary::-webkit-details-marker{display:none}
.month>summary:hover{background:var(--surface-2)}
.month>summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.month-title{font:700 22px/1.15 "Source Sans 3","Segoe UI",sans-serif;letter-spacing:-.025em}
.month-count{color:var(--ink-3);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.list-toggle{min-width:84px;color:var(--ink-2);font-size:10px;font-weight:800;letter-spacing:.08em;text-align:right;text-transform:uppercase}
.list-toggle b{color:#CC0033;font-size:14px;margin-left:3px}
.month:not([open]) .list-toggle-open,.month[open] .list-toggle-closed{display:none}
.month.context-month>summary{background:color-mix(in srgb,#CC0033 5%,var(--surface));box-shadow:inset 4px 0 #CC0033}
.month>.list{border-top:0}
.list-month-empty{margin:0;padding:18px 14px;color:var(--ink-3);background:var(--surface);border:1px solid var(--rule);border-top:0;font-size:13px}
@media(max-width:640px){
  .list-section-tools{justify-content:flex-start}.list-section-tools>span{width:100%;margin-right:0}
  .month>summary{grid-template-columns:minmax(0,1fr) max-content;gap:4px 8px}.month-title{font-size:19px}.month-count{grid-row:2;grid-column:1}.list-toggle{grid-row:1 / 3;grid-column:2}
}

/* Phone width: keep the control bar inside the viewport (no sideways page scroll) */
.bar .wrap{grid-template-columns:minmax(0,1fr)}
.bar .wrap>*{min-width:0;max-width:100%}
@media (max-width:640px){
  .viewtools{max-width:100%}
  .viewtools .seg{display:flex;flex-wrap:wrap;max-width:100%}
  .viewtools .seg button{flex:1 1 auto}
}

/* The site renders its light "clinical ledger" palette regardless of device theme; a reviewed dark palette is a roadmap item */
:root{color-scheme:light}

.calnav h2{order:initial;width:auto} /* inside the grid nav, cancel the narrow-screen .calhead h2 rule (order:-1; width:100%) */
.partner{min-height:24px;padding:2px 0}
.orbit-core strong.span{font-size:33px;letter-spacing:0;white-space:nowrap}
@media(max-width:640px){.orbit-core strong.span{font-size:24px}}

/* Focus → Abstracts Due / Open Abstracts lists records by due date; the date block is the due date. */
.ev.by-due .when .d{color:#CC0033}.ev.by-due .meeting-dates{font-weight:600;color:#173946}

/* Narrow phones: the stage does not clip the outer Orbit tiles. */
@media(max-width:400px){.orbit-stage{overflow:visible}.orbit-month{max-width:100%}}

/* ================= record-type palette and filter-bar layout =================
   One colour per record type, used by the calendar bars and the Focus chips and nowhere else.
   Disciplines are badges, never colour. */
:root{
  --t-meet:#102F3B;   /* meetings — Rutgers School of Nursing dark teal */
  --t-due:#CC0033;    /* abstracts due — Rutgers scarlet */
  --t-call:#1C7F48;   /* abstracts open — green */
  --t-obs:#D64200;    /* celebrations — University of Florida orange, deepened so white text clears 4.5:1 */
}
/* Focus chips wear their type's colour: coloured text on white, inverting to a filled box when chosen. */
#quickfocus .chip[data-focus="due"]{color:var(--t-due);border-color:var(--t-due)}
#quickfocus .chip[data-focus="open"]{color:var(--t-call);border-color:var(--t-call)}
#quickfocus .chip[data-focus="conferences"]{color:var(--t-meet);border-color:var(--t-meet)}
#quickfocus .chip[data-focus="celebrations"]{color:var(--t-obs);border-color:var(--t-obs)}
#quickfocus .chip[data-focus="due"][aria-pressed="true"]{background:var(--t-due);border-color:var(--t-due);color:#fff}
#quickfocus .chip[data-focus="open"][aria-pressed="true"]{background:var(--t-call);border-color:var(--t-call);color:#fff}
#quickfocus .chip[data-focus="conferences"][aria-pressed="true"]{background:var(--t-meet);border-color:var(--t-meet);color:#fff}
#quickfocus .chip[data-focus="celebrations"][aria-pressed="true"]{background:var(--t-obs);border-color:var(--t-obs);color:#fff}
/* Disciplines carry no colour of their own. */
.prof-chip .dot{display:none}
/* No calendar legend: the Focus row carries the key. */
.calwrap .legend,.legend.callegend{display:none}
.cal .ce.dl{border-left-color:var(--t-due);color:var(--t-due)}
.cal .ce.op{border-left-color:var(--t-call);color:var(--t-call)}

/* ---- filter bar: three rows, each one line ----
   row1  views · search · filters · clear
   quickaxes  Discipline ......... Focus
   row2  Scope ................... Location */
.bar .row1{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bar .row1 .viewtools{order:-1;flex:0 0 auto}
.bar .row1 .search{flex:1 1 320px;min-width:240px;max-width:none}
.bar .quickaxes{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}
.bar .quickaxes .quickprof{flex:1 1 auto}
.bar .quickaxes .quickfocus{margin-left:auto}
.bar .row2{display:flex!important;flex-wrap:wrap;align-items:center;gap:8px 18px!important}
.bar .row2 .quickscope{flex:1 1 auto}
.bar .row2 .geoquick{margin-left:auto!important;border-top:0;padding-top:0}
.bar .row1 .viewtools .seg,.bar .quickaxes,.bar .row2{align-items:center}
@media(max-width:1180px){.bar .quickaxes .quickfocus,.bar .row2 .geoquick{margin-left:0!important}}

/* Orbit heading: two lines, aligned with the dial. */
.orbit-heading{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 18px}
.orbit-heading>p{margin:0;max-width:62ch}

/* Location must sit on one line to the right of Scope. The two select labels go to
   screen readers only; the controls still announce themselves through their <label for>. */
.bar .row2 .quickscope{flex:0 1 auto}
.bar .row2 .geoquick{flex:1 1 auto;flex-wrap:nowrap;justify-content:flex-end;gap:5px!important;min-width:0}
.bar .row2 .geoquick .geo-label[for="area"],.bar .row2 .geoquick .geo-label[for="radius"]{
  position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.bar .row2 .geoquick .flabel{min-width:0;white-space:nowrap}
.bar .row2 .geoquick #area{max-width:128px;min-width:96px}
.bar .row2 .geoquick .geo-sel#radius{max-width:96px;min-width:82px}
.bar .row2 .geoquick .geo-input{width:118px;min-width:92px}
.bar .row2 .geoquick .geo-divider{display:none}
@media(max-width:1240px){.bar .row2{flex-wrap:wrap}.bar .row2 .geoquick{flex-wrap:wrap;justify-content:flex-start;margin-left:0!important}
  .bar .row2 .geoquick .geo-label[for="area"],.bar .row2 .geoquick .geo-label[for="radius"]{position:static;width:auto;height:auto;margin:0;clip:auto}}

/* Scope keeps the left of the row and wraps inside itself if it must; Location holds the right on one line. */
.bar .row2{flex-wrap:nowrap!important}
.bar .row2 .quickscope{flex:1 1 auto;min-width:0;flex-wrap:wrap}
.bar .row2 .geoquick{flex:0 0 auto;min-width:0}
.bar .row2 .geoquick #area{max-width:118px;min-width:88px}
.bar .row2 .geoquick .geo-sel#radius{max-width:90px;min-width:78px}
.bar .row2 .geoquick .geo-input{width:108px;min-width:88px}
@media(max-width:1240px){.bar .row2{flex-wrap:wrap!important}.bar .row2 .geoquick{flex:1 1 auto}}

/* The pressed-chip rule above (.bar .chip[aria-pressed="true"]) paints every pressed chip in the bar teal
   with !important; the Focus chips must keep their own record-type colour when chosen, so these override it in kind. */
.bar #quickfocus .chip[data-focus="due"][aria-pressed="true"]{background:var(--t-due)!important;border-color:var(--t-due)!important;color:#fff!important}
.bar #quickfocus .chip[data-focus="open"][aria-pressed="true"]{background:var(--t-call)!important;border-color:var(--t-call)!important;color:#fff!important}
.bar #quickfocus .chip[data-focus="conferences"][aria-pressed="true"]{background:var(--t-meet)!important;border-color:var(--t-meet)!important;color:#fff!important}
.bar #quickfocus .chip[data-focus="celebrations"][aria-pressed="true"]{background:var(--t-obs)!important;border-color:var(--t-obs)!important;color:#fff!important}

/* Celebration orange: #C25100 sits 40 degrees in hue from the Abstracts-due scarlet, clears 4.5:1 on
   white, and reads orange, not brown. It overrides the --t-obs value above. */
:root{--t-obs:#C25100}
/* One record-type palette everywhere it appears: Focus chips, calendar bars, Orbit columns and legend. */
.orbit-columns .meet,.orbit-legend .meet{background:var(--t-meet)}
.orbit-columns .due,.orbit-legend .due{background:var(--t-due)}
.orbit-columns .open,.orbit-legend .open{background:var(--t-call)}
.orbit-columns .obs,.orbit-legend .obs{background:var(--t-obs)}

/* Directory cards: one height for every row. */
.dir{grid-auto-rows:1fr}
.srs{grid-template-rows:auto auto 1fr auto;align-content:start;row-gap:4px}
/* The card is an article; its title and organizer sit in the one button that opens the series. */
.srs-open{display:grid;row-gap:4px;min-width:0;margin:0;padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
.srs-open:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}
.srs .badges .tag{flex:0 0 auto;white-space:nowrap}   /* a badge button keeps one line, like a span badge */
.srs .hist{display:flex;flex-wrap:wrap;gap:3px;max-height:20px;overflow:hidden;align-content:flex-start}
.srs .title{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.srs .org{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.srs .badges{display:flex;flex-wrap:nowrap;gap:4px;overflow:hidden;min-height:20px;align-items:center}
.srs .meta,.srs .hist{min-height:18px}

/* "All regions" is a filter state, so it wears the same selected-All styling as the chips beside it. */
.bar .geoquick #area{background:#102F3B!important;color:#FFFFFF!important;border-color:#102F3B!important;box-shadow:inset 0 -3px #CC0033!important;font-weight:800}

/* The rule under Scope and Location matches the scarlet rule above the search field. */
.bar{border-bottom:1px solid var(--scarlet)!important}
.bar .row2{border-top:0}

/* National APP Week is a celebration, so it wears the celebration colour (scarlet means
   "abstracts due"). It stays the emphasised landmark record. */
.cal .ce.appweek,.cal .ce.appweek.ongoing{
  background:color-mix(in srgb,var(--t-obs) 16%,var(--surface))!important;
  color:#6B2E00!important;border-left:4px solid var(--t-obs)!important;
  font-weight:800!important;box-shadow:none!important}
.cal .ce.appweek:hover{background:color-mix(in srgb,var(--t-obs) 26%,var(--surface))!important;color:#4F2200!important}
.cal .ce.appweek small{color:#8A4A10!important}
.cal .cell:has(.ce.appweek){background:var(--surface)!important}

/* ===== header stamp and list-card badges ===== */

/* Status dots. Verified: green = a nightly verification recorded within 36 hours; red = none.
   Horizon scan: green = everything the latest scan found is reconciled; yellow = something is still to reconcile.
   Yellow carries a dark ring so the dot keeps 3:1 contrast on the light header. */
.mast .updated span::before{display:none!important}
.mast .updated .stat{display:inline-block!important;width:8px;height:8px;border-radius:50%;
  margin-right:7px;vertical-align:1px;background:#1C7F48}
.mast .updated .stat.ok{background:#1C7F48}
.mast .updated .stat.warn{background:#F2C200;box-shadow:inset 0 0 0 1px #8C6D00}
.mast .updated .stat.bad{background:#CC0033}
/* The stamp sits level with the first line of the lede, with the Fidelity and Reliability indices beneath it. */
.mast .ledeRow{align-items:start}
.mast .updated{align-self:start;padding-top:0;row-gap:2px}
.mast .updated .stamp-line{display:block}
.mast .updated .scan-line{font-size:.94em}
.mast .updated .fidline{display:block;font-size:11.5px;font-weight:700;letter-spacing:.01em;
  color:#45606B;font-variant-numeric:tabular-nums}
.mast .updated .fidline .idx{white-space:nowrap}
.mast .updated .fidline .idx-sep{color:#8FA5AD;font-weight:400}

/* Scope and Focus badges on a list card use the same words as the filter rows above it. */
.ev .badges .tag.scope{background:#EEF3F4;color:#23404B;border:1px solid #C9D7DB}
.ev .badges .tag.focus{border:1px solid currentColor;background:transparent;font-weight:800}
.ev .badges .tag.focus.meet{color:var(--t-meet)}
.ev .badges .tag.focus.obs{color:var(--t-obs)}
.ev .badges .tag.focus.due{color:var(--t-due)}
.ev .badges .tag.focus.open{color:var(--t-call)}
.ev .badges{display:flex;flex-wrap:wrap;gap:4px;align-items:center}

/* ===== badges are filters =====
   One look for every tag that names a filter value: white, outlined, clickable.
   Focus keeps its record-type colour (that is the calendar key). A value with no
   control renders as a plain tag and is not a button. */
.tag.tapfilter{cursor:pointer;font:inherit;font-size:11px;font-weight:700;line-height:1;
  padding:4px 8px;border-radius:2px;background:#FFFFFF;color:#23404B;border:1px solid #C9D7DB}
.tag.tapfilter:hover{border-color:#102F3B;background:#F2F7F8}
.tag.tapfilter:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.ev .badges .tag.tapfilter.p,.srs .badges .tag.tapfilter.p,#dlg .badges .tag.tapfilter.p{background:#FFFFFF;color:#23404B;border-color:#C9D7DB}
.ev .badges .tag.tapfilter.scope,.srs .badges .tag.tapfilter.scope,#dlg .badges .tag.tapfilter.scope{background:#FFFFFF;color:#23404B;border-color:#C9D7DB}
.ev .badges .tag.tapfilter.spec,.srs .badges .tag.tapfilter.spec,#dlg .badges .tag.tapfilter.spec{background:#FFFFFF;color:#23404B;border-color:#C9D7DB}
/* Focus badges keep their colour and stay clickable. */
.ev .badges .tag.tapfilter.focus{background:transparent;border-color:currentColor;font-weight:800}
.ev .badges .tag.tapfilter.focus.meet{color:var(--t-meet)}
.ev .badges .tag.tapfilter.focus.obs{color:var(--t-obs)}
.ev .badges .tag.tapfilter.focus.due{color:var(--t-due)}
.ev .badges .tag.tapfilter.focus.open{color:var(--t-call)}
.ev .badges .tag.tapfilter.focus:hover{background:color-mix(in srgb,currentColor 10%,transparent)}
#dlg .badges{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.srs .badges{display:flex;flex-wrap:nowrap;gap:4px;overflow:hidden;align-items:center}

/* ===== Phones only: the desktop site must not change =====
   Every rule below sits inside one of two queries that no desktop layout matches:
   (max-width:700px) for a phone held upright, and (pointer:coarse) and (max-height:500px)
   for a phone turned sideways. The short header labels are hidden everywhere else. */
.hb-short{display:none}
@media (max-width:700px){
  /* Header: the four actions in one compact row, a one-line eyebrow, a tighter lede. */
  .mast .headactions{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px!important;justify-content:stretch!important;width:100%}
  .mast .headactions .hbtn{justify-content:center;gap:5px!important;padding:7px 3px!important;min-height:36px;width:100%;font-size:12.5px!important;white-space:nowrap;margin:0!important}
  .mast .headactions .hbtn svg{width:14px!important;height:14px!important;flex:none}
  .mast .headactions .hbtn .hb-long{display:none}
  .mast .headactions .hbtn .hb-short{display:inline}
  .mast .headactions .eyebrow,.mast .headactions .reqcap{grid-column:1 / -1}
  .mast .headactions .eyebrow{font-size:10.5px!important;letter-spacing:.06em!important;margin:4px 0 0!important}
  .mast .lede{font-size:14.5px!important;line-height:1.4!important;margin-top:4px!important;margin-bottom:0!important}
  .mast .updated{margin-top:6px!important}
  /* Display switch: four buttons in one row, the scarlet rule kept between each pair. */
  .bar .viewtools,.bar .viewtools .seg{width:100%}
  .bar .viewtools .seg{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:0!important;padding:2px!important}
  .bar .viewtools .seg button{flex:none!important;justify-content:center;gap:4px!important;margin-left:0!important;padding:6px 2px!important;min-height:38px!important;font-size:13px!important;white-space:nowrap}
  .bar .viewtools .seg button+button{padding-left:2px!important}
  .bar .viewtools .seg button svg{width:13px!important;height:13px!important;flex:none}
  /* Search, Filters and Clear all share one row under the switch. */
  .bar .row1{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto;gap:6px 8px!important;align-items:center}
  .bar .row1 .viewtools{grid-column:1 / -1}
  .bar .row1 .search{min-width:0;width:auto!important;margin:0!important}
  .bar .row1 .search input{font-size:16px!important}
  .bar .row1 .more-filters{margin:0!important}
  .bar .row1 .row-clear{margin:0!important;white-space:nowrap}
  /* Chip rows: one line each; swipe sideways, and a fade at the right edge shows there is more. */
  .bar .quickprof,.bar .quickfocus,.bar .quickscope{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;padding-right:26px!important;
    -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 30px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 30px),transparent)}
  .bar .quickprof::-webkit-scrollbar,.bar .quickfocus::-webkit-scrollbar,.bar .quickscope::-webkit-scrollbar{display:none}
  .bar .quickprof>*,.bar .quickfocus>*,.bar .quickscope>*{flex:none!important}
  .bar .quickaxes,.bar .row2{gap:6px!important}
  /* Calendar on a phone held upright: a day-by-day agenda of the same records (app.js renders it only here). */
  .agenda{display:grid;gap:12px;margin-top:10px}
  .ag-day{border-top:1px solid #102F3B;padding-top:6px}
  .ag-head{margin:0 0 6px;font:800 12px/1.2 var(--body);letter-spacing:.08em;text-transform:uppercase;color:#526B76}
  .ag-head .ag-date{background:none;border:0;padding:4px 0;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer}
  .ag-day.today .ag-head,.ag-day.ag-now .ag-head{color:#CC0033}
  .ag-item{display:grid;gap:2px;width:100%;text-align:left;border:0;border-left:4px solid var(--c);background:color-mix(in srgb,var(--c) 9%,#fff);padding:8px 10px;margin:0 0 6px;border-radius:0;font:inherit;color:#102F3B;cursor:pointer}
  .ag-item.meet{--c:var(--t-meet)}.ag-item.obs{--c:var(--t-obs)}.ag-item.call{--c:var(--t-call)}.ag-item.call.due{--c:var(--t-due)}
  .ag-item .ag-t{font-weight:700;font-size:14.5px;line-height:1.3;overflow-wrap:anywhere}
  .ag-item .ag-s{font-size:12.5px;line-height:1.3;color:#526B76}
  .ag-item.appweek .ag-t{font-weight:800}
  .ag-empty{padding:14px 0;color:#526B76}
  .ag-earlier{border-top:1px solid #102F3B;padding-top:4px}
  .ag-earlier>summary{cursor:pointer;padding:6px 0;font:800 12px/1.2 var(--body);letter-spacing:.08em;text-transform:uppercase;color:#526B76}
  .ag-earlier[open]>summary{margin-bottom:8px}
  .ag-earlier .ag-day:first-of-type{border-top:0}
  .calhead{margin-bottom:4px!important;gap:8px!important}
  .calmeta,.caljump{min-height:0!important}
}
@media (pointer:coarse) and (max-height:500px){
  /* A phone turned sideways: the filter bar scrolls away with the page instead of covering it, and the
     header is shorter (smaller logo, the four actions beside it with their short labels). */
  .bar{position:relative!important;top:auto!important}
  .mast .titlerow{grid-template-columns:auto minmax(0,1fr)!important;gap:16px!important;align-items:center!important}
  .mast h1.brand-heading{width:280px!important;max-width:280px!important}
  .mast .headactions{justify-content:flex-end!important}
  .mast .headactions .hbtn{padding:6px 10px!important;font-size:13px!important}
  .mast .headactions .hbtn .hb-long{display:none}
  .mast .headactions .hbtn .hb-short{display:inline}
  /* the seven-day grid narrows to the screen instead of hiding Saturday behind a sideways scroll */
  .cal,.calspan{min-width:0!important}
  .calspan .dowrow,.calspan .wk{grid-template-columns:repeat(7,minmax(0,1fr))!important}
}

/* Phone layout switch (assets/layout.js): shown only on phones. */
.layout-strip{display:none}
.is-phone .layout-strip{display:flex;justify-content:flex-end;padding:6px 16px 0}
.layout-toggle{border:0;background:none;padding:6px 2px;font:600 12.5px/1.2 var(--body);color:var(--ink-2);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.force-desktop .layout-strip{justify-content:center;padding:18px;background:#102F3B}
.force-desktop .layout-toggle{font-size:40px;color:#fff;padding:18px 28px;border:3px solid #fff;border-radius:14px;text-decoration:none}

/* Phones: Orbit's twelve months as a 4 × 3 grid under the year control, so no card overlaps another. */
@media(max-width:700px){
  .orbit-stage{aspect-ratio:auto;width:100%;max-width:100%;overflow:visible;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:8px 0 4px}
  .orbit-core{position:static;transform:none;grid-column:1/-1;width:auto;height:auto;border-radius:12px;border-width:4px;padding:4px 2px;grid-template-columns:44px 1fr 44px}
  .orbit-core .orbit-year{border-radius:10px;padding:6px 4px}
  .orbit-month{position:static;transform:none;margin:0;width:auto;height:auto;min-height:88px}
}

/* Tablets held upright (701–900 px): the month grid fits the screen instead of scrolling sideways. */
@media(min-width:701px) and (max-width:900px){
  .cal{min-width:0;grid-template-columns:repeat(7,minmax(0,1fr))}
  .calspan .dowrow,.calspan .wk{grid-template-columns:repeat(7,minmax(0,1fr))}
}

/* ===== Red team fixes, 2026-09-25 ===== */
/* F16: each index is a button that looks like the text it replaced; its definition opens beneath the header. */
.mast .updated{position:relative}
.mast .updated .fidline button.idx{all:unset;cursor:help;white-space:nowrap}
.mast .updated .fidline button.idx:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:2px}
.mast .updated .fidline button.idx[aria-expanded="true"]{text-decoration:underline;text-underline-offset:3px}
.mast .updated .idx-note{display:block;position:absolute;top:100%;right:0;z-index:40;margin-top:6px;width:min(360px,calc(100vw - 32px));
  padding:10px 12px;background:#FFFFFF;border:1px solid #C9D7DB;border-radius:4px;box-shadow:0 6px 18px rgba(16,47,59,.16);
  font-size:12.5px;font-weight:400;line-height:1.45;letter-spacing:0;text-align:left;white-space:normal}
.mast .updated .idx-note[hidden]{display:none}
.mast .updated .idx-note a{color:#0B5F7A;text-decoration:underline}
@media(max-width:800px){.mast .updated .idx-note{left:0;right:auto}}
/* F17: a list card's title is the button that opens the record; it keeps the look of the title and organizer lines. */
.ev .ev-open{all:unset;display:grid;gap:1px;min-width:0;cursor:pointer}
.ev .ev-open .title,.ev .ev-open .org{display:block}
.ev .ev-open:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px}
/* F05: a place the city list does not know says so where the results are. */
.nearmiss{margin:0 0 12px;padding:9px 12px;border:1px solid #E7B98F;border-left:4px solid #C25100;background:#FFF7F0;color:#5C3310;font-size:13.5px}
.geoquick .nearmsg.warn{color:#9A4200;font-weight:700}
/* F11: open calls with no published due date, listed above the Calendar's month grid. */
.undatedrow{margin-top:6px}

/* ---- 2026-10-06: orientation button, orientation dialog, curator-review badge (curator's instruction) ---- */
.headactions .hbtn-about,.mast .headactions .hbtn-about{background:#CC0033!important;border-color:#CC0033!important;color:#fff!important}
.headactions .hbtn-about:hover,.headactions .hbtn-about:focus-visible,.mast .headactions .hbtn-about:hover,.mast .headactions .hbtn-about:focus-visible{background:#A8002A!important;border-color:#A8002A!important;color:#fff!important}
.about-dlg{max-width:680px}
.about-body{display:grid;gap:8px;font-size:14.5px;line-height:1.55}
.about-body h4{margin:6px 0 0;font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:#CC0033}
.about-body p{margin:0}
.about-body a{color:inherit}
.cur-badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.04em;color:#3B2F00;background:#FFD54A;border:1px solid #E6B800;border-radius:4px;padding:1px 7px;cursor:help;white-space:nowrap}
.mast .updated .cur-line::before,.mast .updated .cur-badge::before{display:none!important}
