/* Leadership health uses the existing call-sheet palette, with text for every status. */
.profile-privacy-lock{display:inline-block;flex:none;width:16px;height:16px;margin-right:6px;vertical-align:-2px;color:var(--red,#880101)}
.profile-privacy-lock-applicant{color:#a87900}
.system-health{margin-top:28px;padding:20px 0;border-top:2px solid var(--navy)}
.system-health p{max-width:80ch}
.system-health-status{font-weight:700;color:var(--warning)}
.system-health-status[data-state="healthy"]{color:var(--success)}
.system-health-status[data-state="failed"],.system-health-status[data-state="delayed"]{color:var(--red)}
.system-health-totals{display:flex;flex-wrap:wrap;gap:20px 40px;margin:20px 0}
.system-health-totals dt{font-size:14px}.system-health-totals dd{margin:4px 0;font-size:24px;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}
.system-health summary{cursor:pointer;padding:8px 0;font-weight:600}
.system-health summary:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.system-health-scroll{overflow-x:auto}.system-health table{width:100%;border-collapse:collapse}
.system-health th,.system-health td{padding:10px;text-align:left;border-bottom:1px solid var(--rule);font-variant-numeric:tabular-nums}
@media(max-width:700px){.system-health table{min-width:660px}.system-health-totals{flex-direction:column;gap:12px}}

/* Usage comparisons keep Web navy and Telegram red; exact counts remain readable without color. */
.usage-report{max-width:1400px;padding:20px 0}
.leadership-report-tabs{margin:20px 0;border-bottom:1px solid var(--rule);gap:8px}
.leadership-adoption-panel{margin-top:24px}
.usage-report>p{max-width:80ch}
.usage-totals{display:flex;flex-wrap:wrap;gap:32px;margin:24px 0;font-size:20px}
.usage-totals .usage-total-web{color:var(--navy)}
.usage-totals .usage-total-telegram{color:var(--red)}
.usage-totals b{margin-left:12px;font-variant-numeric:tabular-nums}
.usage-table-scroll{overflow-x:auto}
.usage-table{width:100%;border-collapse:collapse}
.usage-table th,.usage-table td{padding:12px 16px;border-bottom:1px solid var(--rule);text-align:left}
.usage-table th small{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:4px}
.usage-table td{font-variant-numeric:tabular-nums}
.usage-table th:first-child{width:42%}
.usage-share{display:flex;min-width:100px;max-width:260px;height:12px;background:var(--paper-2)}
.usage-share i:first-child{background:var(--navy)}
.usage-share i:last-child{background:var(--red)}
.usage-daily{margin:28px 0}
.usage-daily summary{cursor:pointer;font-weight:700;padding:12px 0}
.usage-report :focus-visible{outline:2px solid var(--red);outline-offset:3px}
@media(max-width:700px){.usage-report .section-head{align-items:flex-start;gap:12px;flex-direction:column}.usage-table th,.usage-table td{padding:10px 8px}.usage-table-scroll .usage-table{min-width:540px}}

/* Maverick — "the call sheet comes alive"
   Warm paper, navy ink, red pen. Rules instead of cards. Mono time rail. */

:root{
  --paper:#f4f1e8;
  --paper-2:#efeade;
  --surface:#fffdf7;
  --ink:#17212b;
  --ink-2:#3d4750;
  --muted:#6f6a5c;
  --navy:#000060;
  --navy-ink:#0d0d4d;
  --red:#880101;
  --red-soft:#f3e2df;
  --success:#26745b;
  --warning:#9a5b16;
  --owner:#60437b;
  --danger:#a13a38;
  --rule:#cdc6b3;
  --rule-soft:#e3ddcd;
  --font-display:"Fraunces","Iowan Old Style",Georgia,"Times New Roman",serif;
  --font-sans:"IBM Plex Sans","Avenir Next","Helvetica Neue",Helvetica,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  /* One UI scale. Display headlines and compact schedule notation are separate. */
  --text-caption:.75rem;
  --text-control:.875rem;
  --text-body:1rem;
  --text-subheading:1.125rem;
  --text-section:1.25rem;
  --text-dialog:1.5rem;
  --rail-w:236px;
}

*{box-sizing:border-box}
html{color-scheme:light}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:400 var(--text-body)/1.5 var(--font-sans);
  -webkit-font-smoothing:antialiased;
}

/* ---------- primitives ---------- */

button,input,select,textarea{font:inherit}
[hidden]{display:none!important}
button,.button{
  display:inline-flex;align-items:center;justify-content:center;text-decoration:none;
  border:1px solid var(--navy);
  border-radius:2px;
  padding:9px 16px;
  background:var(--navy);
  color:#fff;
  font:500 var(--text-control)/1.3 var(--font-sans);
  letter-spacing:0;
  text-transform:none;
  cursor:pointer;
  transition:background .15s ease-out,color .15s ease-out;
}
button:hover,.button:hover{background:var(--navy-ink)}
button:active{transform:translateY(1px)}
button.secondary,.button.secondary{background:transparent;color:var(--navy);border-color:var(--rule)}
button.secondary:hover,.button.secondary:hover{background:var(--paper-2);border-color:var(--navy)}
button.danger{background:var(--danger);border-color:var(--danger)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid var(--red);outline-offset:2px
}
a{color:var(--navy)}
.map-link{display:inline-flex;align-items:center;gap:3px;padding:2px 4px;border:1px solid var(--rule);color:var(--navy);font:600 8px/1 var(--font-mono);letter-spacing:.06em;text-decoration:none;text-transform:uppercase;vertical-align:middle;white-space:nowrap}
.map-link svg{width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:1.8}
.map-link:hover{background:var(--paper-2);border-color:var(--navy);color:var(--red)}

input,select,textarea{
  font:400 var(--text-body)/1.5 var(--font-sans);
  letter-spacing:0;
  text-transform:none;
  border:1px solid var(--rule);
  border-radius:2px;
  padding:9px 10px;
  background:var(--surface);
  color:var(--ink);
}
textarea{min-height:88px;resize:vertical}
label,legend{font:500 var(--text-control)/1.4 var(--font-sans);letter-spacing:0;text-transform:none;color:var(--ink-2)}
form{display:grid;gap:14px}
.field{display:grid;gap:6px}
.application-print-link{margin:18px 0 0;font-size:var(--text-control)}
.application-print-link a{color:var(--navy);text-underline-offset:3px}
.application-print-link a:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.field label{display:block}
.field:has([data-sub-location-hidden]):not(:has([data-place-select])){display:none}
.field input,.field select,.field textarea{display:block;width:100%;margin-top:6px}
form button{justify-self:start}

.skip{position:fixed;left:12px;top:-60px;z-index:20;background:var(--ink);color:#fff;padding:10px}
.skip:focus{top:12px}

/* ---------- shell ---------- */

.shell{min-height:100vh;display:grid;grid-template-columns:var(--rail-w) minmax(0,1fr)}

.rail{
  position:sticky;top:0;height:100vh;
  background:var(--navy);
  color:#e8e6dd;
  padding:14px 0;
  display:flex;flex-direction:column;gap:16px;
  border-right:3px solid var(--red);
}
.brand{
  margin:0 16px;
  background:var(--surface);
  padding:7px 9px;
  border-radius:2px;
}
.brand img{width:100%;max-width:160px;display:block}

.nav{display:grid;gap:0;border-top:1px solid rgba(255,255,255,.16)}
.nav button{
  font:600 var(--text-caption)/1.3 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;
  background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.16);
  border-radius:0;
  text-align:left;color:#cfcdc2;
  padding:10px 16px 10px 14px;
  display:flex;align-items:center;justify-content:flex-start;gap:9px;
}
.nav button::before{content:"";width:3px;height:13px;background:transparent}
.nav button:hover{background:rgba(255,255,255,.07);color:#fff}
.nav button.active{background:rgba(255,255,255,.1);color:#fff}
.nav button.active::before{background:var(--red)}

.person-switch{margin-top:auto;padding:0 16px}
.person-switch label{display:block;color:#a9a79c;margin-bottom:4px}
.person-switch select{width:100%}

/* Scott's preview tools stay out of normal navigation and never cover page content. */
:root{--role-preview-height:64px}
.shell.has-role-preview{padding-bottom:calc(var(--role-preview-height) + env(safe-area-inset-bottom,0px))}
.shell.has-role-preview>.rail{height:calc(100dvh - var(--role-preview-height) - env(safe-area-inset-bottom,0px))}
.rail>.nav{min-height:0;overflow-y:auto}
.rail>.person-switch{flex-shrink:0}
.role-preview-bar{position:fixed;inset:auto 0 0;z-index:8;display:grid;grid-template-columns:minmax(160px,.8fr) minmax(220px,1fr) minmax(260px,1.3fr);align-items:center;gap:24px;height:calc(var(--role-preview-height) + env(safe-area-inset-bottom,0px));padding:8px 20px calc(8px + env(safe-area-inset-bottom,0px));border-top:2px solid var(--red);background:var(--navy);color:var(--surface);font:400 var(--text-control)/1.3 var(--font-sans)}
.role-preview-identity,.role-preview-control{min-width:0}
.role-preview-identity>div,.role-preview-identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.role-preview-identity span{color:#cfcdc2;margin-right:5px}
.role-preview-identity small{display:block;color:#cfcdc2;font-size:11px;margin-top:3px}
.role-preview-control{display:flex;align-items:center;gap:10px}
.role-preview-control label{margin:0;color:var(--surface);font:500 var(--text-control)/1.3 var(--font-sans);letter-spacing:0;text-transform:none}
.role-preview-control select{min-width:0;width:100%;height:36px;padding:6px 28px 6px 10px;border:1px solid #77779b;background:var(--surface);color:var(--ink);font:400 var(--text-control)/1.3 var(--font-sans);letter-spacing:0;text-transform:none}
.role-preview-control select:focus-visible{outline:2px solid var(--surface);outline-offset:3px}
@media(max-width:900px){
  :root{--role-preview-height:112px}
  .shell.has-role-preview>.rail{height:auto}
  .role-preview-bar{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:6px 16px;padding-inline:12px}
  .role-preview-identity{grid-column:1/-1}
  .role-preview-identity small{display:none}
  .role-preview-control{display:grid;gap:3px}
  .role-preview-control label{font-size:12px}
  .role-preview-control select{font-size:16px}
}
@media print{
  .role-preview-bar{display:none!important}
  .shell.has-role-preview{padding-bottom:0}
}

.canvas{min-width:0}

.topbar{
  display:flex;gap:18px;align-items:center;justify-content:space-between;
  padding:14px clamp(18px,3.5vw,44px);
  border-bottom:1px solid var(--rule);
  background:var(--paper);
  position:sticky;top:0;z-index:5;
}
.search{
  min-width:min(420px,45vw);
  border:0;border-bottom:1px solid var(--rule);
  border-radius:0;background:transparent;
  padding:6px 2px;
}
.search:focus-visible{outline:0;border-bottom-color:var(--red);box-shadow:0 1px 0 var(--red)}
.sync{font:600 11px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.topbar-meta{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}
.topbar-telegram{padding:9px 12px;border:2px solid var(--red);background:#fff4f1;color:var(--red);font:700 10px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.topbar-telegram:hover{background:var(--red);color:#fff}
.topbar-profile{display:grid;width:36px;height:36px;padding:0;overflow:hidden;border:1px solid var(--rule);border-radius:50%;background:var(--paper-2)}
.topbar-profile .model-avatar{width:100%;height:100%;border:0}
.topbar-profile:hover{border-color:var(--red)}

main{max-width:1320px;margin:auto;padding:0 clamp(18px,3.5vw,44px) 80px}

/* ---------- masthead ---------- */

.hero{
  display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.75fr);
  gap:clamp(20px,3vw,44px);
  align-items:start;
  padding:24px 0 20px;
  border-bottom:2px solid var(--ink);
  margin-bottom:0;
}
/* Views that are not scoped to a single day drop the date rail and briefing. */
.hero.plain{grid-template-columns:minmax(0,1fr);padding:22px 0 16px}
.hero.plain h1{max-width:34ch}
.hero.plain .lead{max-width:78ch}
.model-page-actions{display:flex;align-self:end;justify-self:end;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.print-only{display:none}
.date-line{
  display:flex;flex-wrap:wrap;gap:4px 18px;align-items:center;
  font:600 11px/1 var(--font-mono);letter-spacing:.22em;text-transform:uppercase;
  color:var(--red);
  padding-bottom:8px;margin-bottom:14px;
  border-bottom:1px solid var(--rule);
}
button.day-pick{
  background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;
  color:var(--muted);padding:4px 0 7px;
  font:600 11px/1 var(--font-mono);letter-spacing:.2em;text-transform:uppercase;
}
button.day-pick:hover{background:transparent;color:var(--ink);border-bottom-color:var(--rule)}
button.day-pick.on{color:var(--red);border-bottom-color:var(--red)}
h1{
  font-family:var(--font-display);
  font-size:clamp(1.9rem,3.4vw,3rem);
  font-weight:600;
  font-variation-settings:"SOFT" 0,"WONK" 1,"opsz" 40;
  letter-spacing:-.015em;line-height:1.02;
  margin:0;max-width:20ch;
  text-wrap:balance;
}
h1 .t{font-family:var(--font-mono);font-weight:500;font-size:.6em;letter-spacing:-.02em;display:block;color:var(--red);margin-bottom:2px}
.lead{font-size:var(--text-body);color:var(--muted);max-width:58ch;margin:10px 0 0}

h2{font:600 var(--text-section)/1.3 var(--font-sans);letter-spacing:0;margin:0 0 6px}
h3{font:600 var(--text-subheading)/1.4 var(--font-sans);margin:0}

.briefing{
  background:var(--surface);
  border:1px solid var(--rule);
  border-top:3px solid var(--red);
  padding:16px 18px 18px;
}
.briefing .tag{color:var(--red);display:block;margin-bottom:8px}
.briefing h2{font-size:1.1rem;margin-bottom:8px}
.briefing p{margin:0;font-size:var(--text-control);color:var(--ink-2);line-height:1.55}
.hero-side{min-width:0}
.briefing-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:8px}
.briefing-actions button{margin-top:0}
.briefing-change-log{justify-self:end;border:0;padding:2px 0;background:transparent;color:var(--navy);font-size:10px;text-decoration:underline;text-underline-offset:3px}
.briefing-change-log:hover{background:transparent;color:var(--red)}

/* ---------- tally ---------- */

.metric-row{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:22px;border-top:1px solid var(--rule);
}
.metric{
  background:transparent;border:0;border-right:1px solid var(--rule-soft);
  border-radius:0;padding:12px 14px 12px 0;
  text-align:left;color:inherit;text-transform:none;letter-spacing:normal;
  display:block;
}
.metric:last-child{border-right:0}
button.metric{cursor:pointer;transition:color .15s ease-out}
button.metric:hover{background:transparent}
button.metric:hover b{color:var(--red)}
.metric b{
  font:500 2.1rem/1 var(--font-mono);
  display:block;color:var(--navy);font-variant-numeric:tabular-nums;
  transition:color .15s ease-out;
}
.metric span{
  display:block;margin-top:6px;
  font:600 11.5px/1.3 var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--muted);
}

/* ---------- section heads ---------- */

.section-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  margin:30px 0 0;padding-bottom:10px;border-bottom:1px solid var(--ink);
}
.section-head p{margin:4px 0 0;color:var(--muted);font-size:var(--text-control)}

/* ---------- schedule ---------- */

.schedule-board{background:transparent;border-radius:0;box-shadow:none;overflow:visible}
.day-rule{
  display:flex;align-items:center;gap:12px;
  margin:22px 0 0;padding:10px 0 6px;
  font:600 11px/1 var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--red);
}
.day-rule::after{content:"";flex:1;height:1px;background:var(--rule)}
.schedule-board .day-rule:first-child{margin-top:6px}
.schedule-row{
  display:grid;
  grid-template-columns:112px minmax(220px,1.35fr) minmax(190px,.85fr) 108px;
  gap:8px 20px;
  padding:15px 0;
  border-bottom:1px solid var(--rule-soft);
  align-items:start;
  position:relative;
}
.schedule-row:has(>.entry-location .compact-copy[open])>.entry-location{display:contents}
.schedule-row:has(>.entry-location .compact-copy[open])>.entry-location>.location{grid-column:3;grid-row:1}
.schedule-row:has(>.entry-location .compact-copy[open])>.entry-location>.compact-copy{grid-column:2/-1;grid-row:2}
.schedule-row:has(>.entry-location .compact-copy[open])>.shift-team{grid-row:3}

.schedule-row.up{background:linear-gradient(90deg,rgba(136,1,1,.05),transparent 60%)}
.model-lines{
  grid-column:2/-1;display:grid;gap:1px;margin-top:7px;
  background:var(--surface);border-block:1px solid var(--rule-soft);
}
.model-line{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(220px,.95fr);
  gap:8px 18px;align-items:center;padding:10px 12px;background:var(--surface);
}
.model-request-line{grid-column:1/-1;display:grid;grid-template-columns:132px minmax(0,1fr) auto;height:36px;min-height:36px;border:1px solid var(--rule-soft);background:var(--surface)}
.model-request-pending{display:grid;place-items:center;padding:2px 5px;border-right:1px solid var(--rule);background-color:var(--paper-2);background-image:repeating-linear-gradient(135deg,transparent 0 6px,#6f6a5c3d 6px 8px);color:var(--muted);font:600 8px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.model-request-line>.model-needed-criteria{display:grid;align-content:center;gap:2px;min-width:0;padding:3px 8px}
.participant-request-actions{display:flex;align-items:center;gap:5px;padding:3px 5px}
.participant-request-actions button{min-height:28px;padding:4px 8px;font-size:9px}
@media (max-width:720px){.model-request-line{grid-template-columns:132px minmax(0,1fr);height:auto}.model-request-pending{height:34px}.participant-request-actions{grid-column:1/-1;justify-content:flex-end;border-top:1px solid var(--rule-soft)}}
@media (min-width:1280px){
  .schedule-board:not(.call-sheet-schedule):not(.profile-schedule) .model-lines{grid-template-columns:repeat(2,minmax(0,1fr))}
  .schedule-board:not(.call-sheet-schedule):not(.profile-schedule) .model-line{grid-template-columns:minmax(0,1fr);align-content:start}
  .schedule-board:not(.call-sheet-schedule):not(.profile-schedule) .model-card-head{grid-template-columns:minmax(0,1fr)}
  .schedule-board:not(.call-sheet-schedule):not(.profile-schedule) .model-name-line{grid-column:1;grid-row:1}
  .schedule-board:not(.call-sheet-schedule):not(.profile-schedule) .model-card-meta{grid-column:1;grid-row:2}
}
.model-inline-actions{display:flex;align-items:center;justify-content:flex-start;gap:4px;margin-top:6px}
.model-inline-actions .model-attendance-control{margin-left:2px}
.model-call-person .contact-actions{justify-content:flex-start;flex-wrap:nowrap;margin-top:0;gap:3px}
.model-call-person .contact-actions a{min-height:25px;padding:2px 6px}
.model-call-person .contact-actions a.email-icon{width:30px;justify-content:center;padding:2px;font-size:15px;line-height:1}
.model-inline-actions .attendance-actions{justify-content:flex-start;gap:3px}
.model-line .model-call-person{align-items:flex-start}
.model-line .model-call-person>span:not(.model-avatar){flex:1}
.model-line .model-avatar.small{flex:none;width:76px;height:76px;font-size:14px}
.model-line .model-call-person small{font-size:11.5px}
.model-show-time{margin:0;color:var(--ink-2)!important;font:600 10px/1.25 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.model-card-head{display:grid;grid-template-columns:132px minmax(0,1fr);align-items:start;gap:8px}
.model-card-meta{display:grid;align-content:start;justify-items:start;gap:3px;min-width:0}
.model-attendance-control{justify-self:end}
.model-name-line{display:flex!important;align-items:center;min-width:0}
.attendance-select{width:118px;min-width:0;min-height:28px;max-width:100%;padding:4px 24px 4px 7px;font:600 9px/1 var(--font-mono);letter-spacing:.03em;text-transform:uppercase}
.attendance-select.checked_in{border-color:var(--success);color:var(--success)}
.attendance-select.delayed{border-color:var(--warning);color:var(--warning)}
.attendance-select.no_show{border-color:var(--red);color:var(--red)}
.model-line-prep{min-width:0;color:var(--muted);font-size:var(--text-control)}
.model-line-prep:empty{display:none}
.model-line-prep .compact-copy{margin-top:0}
.model-call-details{margin-top:4px;border-top:1px solid var(--rule-soft)}
.model-call-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;cursor:pointer;color:var(--navy);font:600 10px/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
.model-call-details>summary span{color:var(--muted);font-weight:500;letter-spacing:.03em;text-transform:none}
.model-call-details>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:14px;background:var(--paper-2);border-top:1px solid var(--rule-soft)}
.model-call-details>.model-roster-inline-editor{padding:14px;background:var(--paper-2);border-top:1px solid var(--rule-soft)}
.model-call-details p{margin:0;line-height:1.45}
.model-line:has(.compact-copy[open]) .model-call-person,
.model-line:has(.compact-copy[open]) .model-line-prep{grid-column:1/-1}
.model-line .conflict{margin-top:3px}
[data-conflict-entry]{scroll-margin-top:120px}
.conflict-details{margin-top:7px;color:var(--red)}
.conflict-details>summary{width:max-content;cursor:pointer;font:600 10.5px/1.3 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}
.conflict-call{display:block;width:100%;margin-top:6px;padding:7px 0;background:transparent;border:0;border-top:1px solid var(--rule-soft);color:var(--ink);text-align:left;letter-spacing:0;text-transform:none}
.conflict-call:hover{background:var(--paper-2)}
.conflict-call b,.conflict-call small{display:block}
.conflict-call small{margin-top:2px;color:var(--muted);font-weight:400}
.conflict-jump-label{display:block;margin-top:4px;color:var(--navy);font:600 9px/1.3 var(--font-mono);letter-spacing:.08em;text-decoration:underline;text-underline-offset:2px;text-transform:uppercase}
[data-schedule-entry].conflict-target{outline:2px solid var(--red);outline-offset:4px}
.model-line.delayed .model-call-person small{color:var(--warning);font-weight:600}
.model-line.editable{cursor:pointer}
.model-line.editable:focus-visible{outline:3px solid var(--red);outline-offset:-2px}
.model-line.editable:hover{background:var(--paper-2)}
.schedule-row.up .time::before{
  content:"Next up";display:block;
  font:600 9px/1 var(--font-mono);letter-spacing:.2em;text-transform:uppercase;
  color:var(--red);margin-bottom:5px;
}
.time{
  font:500 1.15rem/1.1 var(--font-mono);
  font-variant-numeric:tabular-nums;letter-spacing:-.03em;
  color:var(--ink);
  border-left:2px solid var(--ink);padding-left:10px;
}
.schedule-row.up .time{border-left-color:var(--red)}
.time small{display:block;margin-top:4px;color:var(--muted);font-size:11.5px;letter-spacing:0}
.time .event-type,.roster-time .event-type{display:block;width:max-content;margin-top:8px;padding:3px 6px;border:1px solid currentColor;border-radius:2px;color:#fff;font:600 9px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}
.time .personal-shift-time{margin-top:7px;color:var(--ink);font:500 9.5px/1.35 var(--font-mono);text-transform:none}
.event-type.class{background:var(--red);border-color:var(--red)}
.event-type.model{background:var(--navy);border-color:var(--navy)}
.event-type.duty{background:var(--warning);border-color:var(--warning)}
.location{color:var(--ink-2);font:400 var(--text-control)/1.3 var(--font-sans)}
.entry-main>.location{margin-top:4px}
.schedule-board:not(.call-sheet-schedule):not(.profile-schedule) .schedule-row>.entry-main>h3{color:var(--navy);font-size:var(--text-body)}

.location-marker,.location-separator{display:inline-grid;place-items:center;line-height:1;vertical-align:.08em}
.location-marker{width:1em;margin-right:.3em}.location-separator{margin-inline:.35em;color:var(--muted)}
.location-markup>.map-link{margin-right:.3em}
.sub-location{display:block;margin-top:2px;color:var(--muted);font:600 10px/1.35 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
.meta{color:var(--muted);font-size:var(--text-control);margin-top:4px;line-height:1.45}
.entry-main,.entry-location{min-width:0}
.compact-copy{min-width:0;margin-top:5px;color:var(--muted);font-size:var(--text-control);line-height:1.45}
.compact-copy summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start;cursor:pointer}
.compact-copy summary span{display:-webkit-box;min-width:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.compact-copy summary strong{color:var(--navy);font:600 10px/1.5 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.compact-copy.inline-action summary{display:flex;align-items:baseline;justify-content:flex-start}.compact-copy.inline-action summary span{flex:0 1 auto}
.compact-copy[open] summary{margin-bottom:7px}
.compact-copy[open] summary span{display:none}
.compact-copy[open] summary strong{font-size:0}.compact-copy[open] summary strong::after{content:"Hide details";font-size:10px}
.compact-copy>div{padding:9px 11px;background:var(--surface);border-top:1px solid var(--rule-soft);overflow-wrap:anywhere}
.resource-link{display:inline-block;max-width:100%;font-weight:600;overflow-wrap:anywhere}
.people{display:flex;flex-wrap:wrap;gap:4px 5px;margin-top:9px}
.roster-people{align-items:flex-start}
.schedule-row>.shift-team,.roster-shift>.roster-people,.roster-shift>.entry-owners{grid-column:2/-1;width:100%;margin-top:0;align-items:center}
.schedule-row>.shift-team{display:flex;flex-wrap:wrap;align-items:center;gap:5px 14px;min-width:0}
.schedule-request-actions,.schedule-ops-links{display:contents}
.entry-model-request .model-needed-criteria{min-width:0;flex:1}
.entry-model-request .participant-request-actions{margin-inline-start:auto}
.schedule-row .schedule-compact-control,.schedule-row .schedule-model-ops,.staffing-slot .schedule-compact-control,.roster-shift .schedule-compact-control{display:inline-flex;align-items:center;justify-content:center;min-height:0;height:21px;width:auto;flex:0 0 auto;padding:4px 7px;border:1px solid currentColor;border-radius:2px;font:600 11px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.schedule-row .schedule-model-ops{background:var(--red);border-color:var(--red);color:var(--surface)}
.schedule-row .schedule-model-ops:hover{background:var(--red-dark,var(--red));color:var(--surface);border-color:var(--red)}
.entry-status{display:flex;align-items:flex-start;justify-content:flex-end;flex-wrap:wrap;gap:6px}
.staffing-slot.empty.model-roster-open:has(>.participant-request-actions){grid-template-columns:132px minmax(0,1fr) auto}
.schedule-row .participant-request-actions,.staffing-slot .participant-request-actions{align-items:center;padding:0 5px}

.schedule-row:has(>.entry-status .schedule-request-actions){grid-template-columns:112px minmax(180px,1fr) auto}
.schedule-row:has(>.entry-status .schedule-request-actions)>.entry-status{grid-column:3;grid-row:1}
.schedule-row:has(>.entry-status .schedule-request-actions)>.entry-status>.status{width:auto;min-height:0;height:21px;justify-content:center;flex:0 0 auto}
.model-needed-types>span.model-needed-time{border:0;padding:0;margin-right:4px;color:var(--muted);font:700 var(--text-caption)/1.15 var(--font-sans)}
.schedule-row:has(>.entry-status .schedule-request-actions)>.entry-main{grid-column:2;grid-row:1}
.schedule-row:has(>.entry-status .schedule-request-actions)>.time{grid-column:1;grid-row:1/3}
@media(max-width:1400px){.schedule-row:has(>.entry-status .schedule-request-actions){grid-template-columns:96px minmax(0,1fr)}.schedule-row:has(>.entry-status .schedule-request-actions)>.entry-status{grid-column:2;grid-row:1}.schedule-row:has(>.entry-status .schedule-request-actions)>.entry-main{grid-column:2;grid-row:2}}
.schedule-row>.shift-team>.people,.schedule-row>.shift-team>.entry-owners{margin-top:0}
.schedule-row>.shift-team:empty{display:none}
@media (min-width:1051px){.schedule-board:not(.call-sheet-schedule) .schedule-row:not(:has(>.entry-location))>.entry-main{grid-column:2/4}}
.model-call-row>.time{grid-row:1/3}
.model-call-row>.entry-location{grid-column:2/-1;grid-row:2}
.model-call-row>.shift-team{grid-row:2}
.model-call-row:has(>.entry-location)>.time{grid-row:1/4}
.model-call-row:has(>.entry-location)>.shift-team{grid-row:3}
.model-call-prep{max-width:75ch;padding:6px 0 2px;color:var(--ink-2);font-size:var(--text-control);line-height:1.5;overflow-wrap:anywhere}
.model-call-contacts{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:start;gap:8px 20px;width:100%}
.call-contact-label{padding-top:10px;color:var(--red);font:600 10px/1.3 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}
.model-call-contacts .contact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px}
.model-call-contacts .contact-row{padding:8px 0}
.model-call-contacts .contact-row:nth-child(-n+2){border-top:1px solid var(--rule-soft)}
.model-call-contacts .contact-actions{justify-content:flex-start}
.entry-owners{display:flex;align-items:center;flex-wrap:wrap;gap:5px;min-width:0}
.person-chip{
  font:500 11px/1.6 var(--font-mono);
  border:1px solid var(--rule);padding:1px 7px;border-radius:2px;
  color:var(--ink-2);background:var(--surface);text-align:left;
}
button.person-chip{
  display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;min-height:28px;letter-spacing:normal;text-transform:none;cursor:pointer;
}
button.person-chip.person-name-chip{flex:0 0 132px;width:132px;min-height:36px;max-width:132px}
.person-chip-name{display:grid;align-content:center;gap:1px;min-width:0;line-height:1.05}
.person-chip-name>span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
button.person-chip:hover{background:var(--navy);border-color:var(--navy);color:var(--surface)}
.person-chip.has-conflict{border-color:var(--red);background-color:var(--surface);background-image:repeating-linear-gradient(135deg,transparent 0 6px,#88010130 6px 8px);color:var(--red)}
.person-chip.has-conflict .person-chip-role{background:var(--red)}.person-chip.has-conflict .person-chip-name{padding:1px 3px;background:var(--surface)}
button.person-chip.has-conflict:hover{border-color:var(--red);background:var(--red);color:var(--surface)}button.person-chip.has-conflict:hover .person-chip-name{background:transparent}
.person-chip.pending-resource{display:inline-flex;align-items:center;justify-content:flex-start;flex:0 0 132px;width:132px;height:36px;min-height:36px;gap:6px;border-style:dashed;background-color:var(--paper-2);background-image:repeating-linear-gradient(135deg,transparent 0 6px,#6f6a5c3d 6px 8px);color:var(--muted)}
.pending-resource-label{padding:2px 4px;background:var(--paper-2)}
.person-chip-role{align-self:stretch;display:grid;place-items:center;min-width:22px;margin:-1px 0 -1px -7px;color:#fff;font:700 11px/1 var(--font-mono)}
.person-chip-role.instructor{background:var(--red)}
.person-chip-role.wrangler{background:var(--navy)}
.person-chip-role.wrangler.duty-target-reached{border:2px solid var(--warning);background:var(--navy);color:var(--warning)}
.person-chip.has-conflict .person-chip-role.wrangler{background:var(--navy)}
.person-chip-role.model{background:var(--success)}
.person-chip-role.owner{background:var(--owner)}
.person-chip-role.leadership{background:var(--ink)}
.person-chip-role.manager{background:var(--ink)}
.person-card-role.manager,.person-card-role.participant{background:var(--ink)}
.owner-placeholder{display:inline-flex;align-items:center;gap:6px;min-height:28px}
.person-name{
  display:inline;padding:0;background:transparent;color:inherit;border:0;border-radius:0;
  font:inherit;letter-spacing:inherit;text-align:left;text-transform:none;text-decoration:underline;
  text-decoration-color:var(--rule);text-underline-offset:3px;
}
.person-name:hover{background:transparent;color:var(--navy);text-decoration-color:currentColor}
.roster-more{
  min-height:30px;padding:3px 8px;background:transparent;color:var(--navy);
  border:0;border-bottom:1px solid var(--navy);border-radius:0;
  font:600 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;
}
.roster-more:hover{background:var(--navy);color:var(--surface)}

.tag,.status{display:inline-flex;align-items:center;gap:6px}
.status{
  font:600 11px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;
  padding:4px 7px;border:1px solid currentColor;border-radius:2px;
}
.status::before{content:"";width:5px;height:5px;background:currentColor}
.published,.approved{color:var(--success)}
.draft{color:var(--red);background:var(--red-soft);border-style:dashed}
.pending{color:var(--warning)}
.declined{color:var(--danger)}
.tag{font:600 11px/1 var(--font-mono);letter-spacing:.16em;text-transform:uppercase}

.change{
  background:var(--surface);
  border-left:3px solid var(--red);
  border-bottom:1px solid var(--rule-soft);
  padding:13px 16px;margin:0;
  font-size:var(--text-body);color:var(--ink);
}
.change .meta{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em}
.review-banner{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  margin-top:0;padding:20px 0;border-bottom:1px solid var(--rule);
}
.review-banner .tag{display:block;color:var(--red);margin-bottom:7px}
.review-banner h2{margin-bottom:4px}.review-banner p{margin:0;color:var(--muted);font-size:var(--text-control)}
.review-banner button,.review-banner>.status{flex:none}
.home-changes .section-head{margin-top:26px}
.participant-update-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.participant-change{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}
.participant-change>button{align-self:center}
.change-feed{max-width:none}
.change-rest{padding:10px 16px;color:var(--muted);font:500 10.5px/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
.home-today .section-head{margin-top:34px}
.no-changes{margin:20px 0 0;padding:12px 0;border-bottom:1px solid var(--rule-soft);color:var(--muted);font:600 11px/1.5 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}

.warning-box{
  background:var(--surface);
  border:1px solid var(--rule);border-left:3px solid var(--warning);
  padding:13px 16px;margin:16px 0 0;font-size:var(--text-control);color:var(--ink-2);
}
.warning-box b{color:var(--ink)}

/* ---------- command heartbeat ---------- */

.leadership-command-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.leadership-command-metrics .metric b i{color:var(--muted);font-size:.52em;font-style:normal}.leadership-command-metrics .metric.attention b{color:var(--red)}
.leadership-command-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:18px;margin-top:24px}
.leadership-command-card{min-width:0;background:var(--surface);border:1px solid var(--rule);border-top:3px solid var(--navy);padding:18px 20px}.leadership-command-card.activity{grid-row:span 2}.leadership-command-card.communications{border-top-color:var(--success)}.leadership-command-card.attention{border-top-color:var(--red)}.leadership-command-card.readiness{grid-column:1/-1}
.leadership-command-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:13px;border-bottom:1px solid var(--rule)}.leadership-command-heading h2{margin-top:3px}.leadership-command-heading .tag{color:var(--red)}
.leadership-activity-chart{display:grid;gap:13px;padding-top:17px}.leadership-activity-row{display:grid;grid-template-columns:152px minmax(100px,1fr) 34px;align-items:center;gap:12px}.leadership-activity-row>span{display:flex;justify-content:space-between;gap:8px}.leadership-activity-row b,.leadership-activity-row small{font:600 11px/1.2 var(--font-mono);letter-spacing:.03em;text-transform:uppercase}.leadership-activity-row small{color:var(--muted)}.leadership-activity-row>strong{text-align:right;font:600 13px/1 var(--font-mono);font-variant-numeric:tabular-nums}
.leadership-activity-track{height:14px;overflow:hidden;background:var(--rule-soft);box-shadow:inset 0 0 0 1px rgba(23,33,43,.06)}.leadership-activity-track i{display:block;height:100%;background:var(--success)}.leadership-activity-track i.bucket-48h{background:var(--navy)}.leadership-activity-track i.bucket-72h{background:var(--warning)}.leadership-activity-track i.bucket-older{background:var(--ink-2)}.leadership-activity-track i.bucket-never{background:var(--red)}
.leadership-communications{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:14px 0;background:var(--rule-soft);gap:1px}.leadership-communications>div{display:grid;gap:5px;padding:14px;background:var(--surface)}.leadership-communications b{font:500 1.65rem/1 var(--font-mono);color:var(--navy)}.leadership-communications span{font:600 11px/1.2 var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.leadership-communications .warn b{color:var(--warning)}.leadership-communications .danger b{color:var(--red)}
.leadership-readiness-wrap{overflow-x:auto}.leadership-readiness{width:100%;border-collapse:collapse}.leadership-readiness th,.leadership-readiness td{padding:11px 10px;border-bottom:1px solid var(--rule-soft);text-align:right;font-variant-numeric:tabular-nums}.leadership-readiness thead th{color:var(--muted);font:600 11px/1.2 var(--font-mono);letter-spacing:.07em;text-transform:uppercase}.leadership-readiness th:first-child{text-align:left}.leadership-readiness tbody th{font:600 var(--text-control)/1.2 var(--font-sans)}.leadership-readiness td{font:600 12px/1 var(--font-mono)}.leadership-readiness td small{color:var(--muted);font-size:11px}
.leadership-attention{display:grid}.leadership-attention>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 2px;border-bottom:1px solid var(--rule-soft)}.leadership-attention b{order:2;font:600 1rem/1 var(--font-mono);color:var(--success)}.leadership-attention span{font-size:var(--text-control)}.leadership-attention .needs-attention b{color:var(--red)}
.command-people-dialog{max-width:min(940px,calc(100vw - 32px))!important}
.command-people-list{display:grid;gap:1px;margin:0;padding:0;border:1px solid var(--rule-soft);background:var(--rule-soft);list-style:none}
.command-people-head,.command-people-row{display:grid;grid-template-columns:minmax(200px,1.1fr) minmax(250px,1fr) minmax(220px,.9fr);gap:18px}
.command-people-head{padding:8px 16px;background:var(--paper-2);color:var(--muted);font:600 9px/1.2 var(--font-mono);letter-spacing:.09em;text-transform:uppercase}
.command-people-row{align-items:center;padding:15px 16px;background:var(--surface)}
.command-person-open{display:block;width:100%;min-width:0;padding:0;border:0;background:transparent;color:var(--navy);font-family:var(--font-sans);letter-spacing:0;text-align:left;text-transform:none}
.command-person-open:hover{background:transparent;color:var(--red)}
.command-person-open b,.command-person-open small{display:block}.command-person-open b{font:600 var(--text-body)/1.25 var(--font-sans)}.command-person-open small{margin-top:4px;color:var(--muted);font:400 var(--text-caption)/1.35 var(--font-sans)}
.command-person-states{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:6px}
.command-person-state{display:flex;align-items:center;justify-content:center;min-height:29px;padding:5px 7px;border:1px solid currentColor;font:600 9px/1.25 var(--font-mono);letter-spacing:.04em;text-align:center;text-transform:uppercase}
.command-person-state.success{color:var(--success);background:#edf4f0}.command-person-state.danger{color:var(--danger);background:#fff1ef}.command-person-state.neutral{color:var(--muted);background:var(--paper)}
.command-person-last-seen{grid-column:1/-1;margin-top:1px;color:var(--muted);font:400 var(--text-caption)/1.35 var(--font-sans)}
.command-people-row>.contact-actions{display:grid;grid-template-columns:1fr;align-items:stretch;justify-content:stretch;gap:6px;width:100%;min-width:0;margin:0}.command-people-row>.contact-actions a{justify-content:flex-start;width:100%;min-width:0}.command-people-row>.contact-actions a span{min-width:0;overflow-wrap:anywhere}
.change-log-page{max-width:900px}.change-log-back{margin:20px 0 8px;background:transparent;border:0;padding:0;color:var(--navy);font-size:11px;text-decoration:underline;text-underline-offset:3px}.change-log-back:hover{background:transparent;color:var(--red)}.change-log-list{margin-top:24px;border-top:1px solid var(--ink)}.change-log-entry{padding:28px 0 32px;border-bottom:1px solid var(--rule)}.change-log-entry time{display:block;color:var(--red);font:600 11px/1.3 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.change-log-entry h2{margin:7px 0 14px}.change-log-entry ul{max-width:75ch;margin:0;padding-left:20px}.change-log-entry li{margin:0 0 9px;color:var(--ink-2);line-height:1.55}.change-log-entry li:last-child{margin-bottom:0}
.command-board{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(310px,.8fr);gap:34px;border-bottom:1px solid var(--ink)}
.command-board.contacts-only{grid-template-columns:minmax(280px,620px)}
.command-board .section-head{margin-top:24px}
.action-row,.contact-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--rule-soft)}
.action-row>span,.contact-row>span{min-width:0}.action-row b,.action-row small,.contact-row b,.contact-row small{display:block}.action-row small,.contact-row small{margin-top:3px;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.action-row>button,.action-row>.contact-actions{flex:none}
.contact-actions{display:inline-flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px;margin-top:4px}
.contact-actions a{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:4px 7px;border:1px solid var(--rule);font-size:12px;text-decoration:none;overflow-wrap:anywhere}
.contact-actions a b{font:600 9px/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
.contact-actions a:hover{background:var(--navy);border-color:var(--navy);color:var(--surface)}
.contact-missing{color:var(--muted);font-size:12px}
.contact-more{padding:14px 0}

/* ---------- model command ---------- */

.model-command-next{display:grid;gap:7px;background:var(--surface);border:1px solid var(--rule);border-top:3px solid var(--navy);padding:16px 18px}
.model-command-next .tag{color:var(--red)}
.model-command-next b{font-family:var(--font-sans);font-size:var(--text-body)}
.model-command-next small{color:var(--muted);line-height:1.45}
.model-command-next button{justify-self:start;margin-top:4px}
.model-command-next.clear{border-top-color:var(--success)}
.hero:has(.model-command-metrics):has(.model-command-next){grid-template-columns:minmax(0,1fr) minmax(240px,260px)}
.model-command-metrics{grid-template-columns:repeat(auto-fit,minmax(115px,1fr));margin-top:18px}
.model-command-metric{min-width:0;padding-right:10px}
.model-command-metric b{font-size:clamp(1.55rem,2.4vw,2rem)}
.model-command-metric.attention b{color:var(--red)}
.model-command-metric.warning b{color:var(--warning)}
.model-command-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:18px;margin-top:24px}
.model-command-card{min-width:0;background:var(--surface);border:1px solid var(--rule);border-top:3px solid var(--navy);padding:18px 20px;box-shadow:0 10px 28px rgba(23,33,43,.045)}
.model-command-card.coverage{grid-row:span 2}
.model-command-card.arrivals{border-top-color:var(--red)}
.model-command-card.photos{border-top-color:var(--warning)}
.model-command-card.wrangler-requests{grid-column:1/-1;border-top-color:var(--warning)}
.wrangler-request-copy{max-width:54ch;text-align:left;color:var(--ink);font-size:var(--text-control);line-height:1.45}
.wrangler-command-coverage{container:wrangler-coverage/inline-size}
.wrangler-command-coverage-body{display:grid;grid-template-columns:minmax(160px,.48fr) minmax(280px,1fr);gap:20px;align-items:start}
.wrangler-workload-chart{min-width:0;margin-top:11px;padding-inline-end:18px;border-inline-end:1px solid var(--rule-soft)}
.wrangler-workload-chart>div:first-child{display:grid;gap:2px;margin-bottom:5px}.wrangler-workload-chart h3{margin:0;font-size:1rem;white-space:nowrap}.wrangler-workload-chart .tag{color:var(--red)}
.wrangler-duty-hours-list{display:grid;gap:2px}
.wrangler-duty-hours-row{position:relative;display:block;min-width:0;width:100%;padding:3px 5px;background:transparent;border:0;border-radius:0;color:var(--ink);text-align:start;text-transform:none;letter-spacing:0;overflow:hidden}.wrangler-duty-hours-row:hover,.wrangler-duty-hours-row:hover small{color:#fff}
.wrangler-duty-hours-row>span:first-child{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.wrangler-duty-hours-row b{overflow:hidden;font:600 .72rem/1.1 var(--font-mono);text-overflow:ellipsis;white-space:nowrap}.wrangler-duty-hours-row small{flex:none;color:var(--ink);font:.7rem/1 var(--font-mono);font-variant-numeric:tabular-nums}
.wrangler-duty-hours-track{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none}.wrangler-duty-hours-track i{display:block;height:100%;background:var(--navy);opacity:.25}.wrangler-duty-hours-row.target-reached .wrangler-duty-hours-track i{background:var(--warning)}
@container wrangler-coverage (max-width:560px){.wrangler-command-coverage-body{grid-template-columns:1fr}.wrangler-workload-chart{margin-top:0;padding-block-end:16px;padding-inline-end:0;border-block-end:1px solid var(--rule-soft);border-inline-end:0}}
.model-command-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:13px;border-bottom:1px solid var(--rule)}
.model-command-heading h2{margin-top:3px}
.model-command-heading .tag{color:var(--red)}
.model-chart-legend{display:flex;align-items:center;gap:5px;color:var(--muted);font:600 9px/1.3 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.model-chart-legend i{width:12px;height:7px;margin-left:5px;background:var(--navy)}
.model-chart-legend i.open,.model-coverage-track .open{background:repeating-linear-gradient(135deg,var(--red),var(--red) 3px,#dca9a2 3px,#dca9a2 6px)}
.model-chart-legend i.pending,.model-coverage-track .pending{background:var(--warning)}
.model-coverage-row,.model-arrival-row{width:100%;border:0;border-bottom:1px solid var(--rule-soft);border-radius:0;background:transparent;color:var(--ink);text-align:left;text-transform:none;letter-spacing:normal}
.model-coverage-row{display:grid;grid-template-columns:116px minmax(90px,1fr) 62px;align-items:center;gap:12px;padding:11px 4px}
.model-coverage-row:hover,.model-arrival-row:hover{background:var(--paper-2)}
.model-coverage-row.selected{box-shadow:inset 3px 0 var(--red)}
.model-coverage-row.selected .model-chart-label{padding-left:3px}
.model-chart-label{display:grid;gap:3px;min-width:0}
.model-chart-label b{font:600 11px/1.2 var(--font-mono);letter-spacing:.05em;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.model-chart-label small{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.model-coverage-track,.model-arrival-track{display:flex;height:12px;overflow:hidden;background:var(--rule-soft);box-shadow:inset 0 0 0 1px rgba(23,33,43,.06)}
.model-coverage-track i,.model-arrival-track i{display:block;height:100%}
.model-coverage-track .locked,.model-arrival-track .checked{background:var(--navy)}
.model-chart-value{display:grid;justify-items:end;gap:3px;font-variant-numeric:tabular-nums}
.model-chart-value b{font:600 13px/1 var(--font-mono);color:var(--navy)}
.model-chart-value b i{color:var(--muted);font-style:normal}
.model-chart-value small{color:var(--success);font:600 9px/1 var(--font-mono);letter-spacing:.04em;text-transform:uppercase}
.model-coverage-row.short .model-chart-value small{color:var(--red)}
.model-arrival-row{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch;justify-items:stretch;text-align:left;gap:8px;padding:11px 4px}
.model-arrival-track .waiting{background:repeating-linear-gradient(135deg,#b6afa0,#b6afa0 3px,#ded8c9 3px,#ded8c9 6px)}
.model-arrival-track .delayed{background:var(--warning)}
.model-arrival-track .no-show{background:repeating-linear-gradient(135deg,var(--red),var(--red) 3px,#dca9a2 3px,#dca9a2 6px)}
.model-arrival-key{display:flex;flex-wrap:wrap;gap:4px 12px;color:var(--muted);font:600 9px/1.2 var(--font-mono);letter-spacing:.05em;text-transform:uppercase}
.model-photo-pipeline{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule-soft);margin-top:14px}
.model-photo-pipeline button{position:relative;display:grid;gap:4px;min-width:0;padding:13px 12px;background:var(--surface);border:0;border-radius:0;color:var(--ink);text-align:left}
.model-photo-pipeline button:hover{background:var(--paper-2)}
.model-photo-pipeline button>i{position:absolute;inset:0 auto auto 0;height:3px}
.model-photo-pipeline i.due{background:var(--red)}
.model-photo-pipeline i.submitted{background:var(--warning)}
.model-photo-pipeline i.covered{background:var(--success)}
.model-photo-pipeline b{font:600 1.35rem/1 var(--font-mono);color:var(--navy)}
.model-photo-pipeline small{color:var(--muted);font:600 9px/1.2 var(--font-mono);letter-spacing:.07em;text-transform:uppercase}

/* ---------- panels, requests, people ---------- */

.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--rule-soft);margin-top:20px;border:1px solid var(--rule-soft)}
.panel{background:var(--surface);padding:20px 22px}
.panel h2{padding-bottom:9px;border-bottom:1px solid var(--rule);margin-bottom:14px}
.panel h3+.meta{font:600 10px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;margin-top:6px}
.request{padding:14px 0;border-bottom:1px dashed var(--rule)}
.request:last-child{border:0;padding-bottom:0}
.request h3{margin:8px 0 4px}
.request-actions{display:flex;gap:8px;margin-top:12px}
.request-form-section{padding:18px 0;border-top:1px solid var(--rule)}
.request-form-section+.request-form-section{margin-top:22px}
.request-form-section h3{margin-bottom:5px}
.request-form-section form{display:grid;gap:14px;margin-top:14px}
.empty{padding:26px 0;color:var(--muted);font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase}

.toast{
  position:fixed;top:22px;left:50%;translate:-50% 0;z-index:1000;
  width:max-content;max-width:calc(100vw - 32px);line-height:1.4;
  background:var(--ink);color:var(--paper);
  border-left:3px solid var(--red);
  padding:13px 18px;border-radius:2px;
  font:500 var(--text-control)/1.4 var(--font-sans);
  animation:toast-in .3s cubic-bezier(.16,1,.3,1);
}
@keyframes toast-in{from{transform:translateY(12px);opacity:0}}
.boot{padding:48px;font-family:var(--font-mono)}

/* ---------- responsive ---------- */

@media(max-width:1200px){
  .model-line{grid-template-columns:minmax(0,1fr) minmax(220px,.8fr)}
}

/* ---------- instructor planner ---------- */
.instructor-planner{padding-top:26px}
.planner-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,390px);gap:34px;padding-bottom:20px;border-bottom:2px solid var(--ink)}
.planner-header h1{margin:8px 0 5px;font-size:clamp(2.2rem,5vw,4rem)}
.planner-header p{max-width:68ch;margin:0;color:var(--muted)}
.planner-context{display:grid;align-content:start;gap:5px;padding:14px 16px;border-top:3px solid var(--red);background:var(--surface)}
.planner-context>span{margin-top:7px;color:var(--red);font:600 10px/1.2 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}
.planner-context>b{font:600 var(--text-subheading)/1.4 var(--font-sans)}
.planner-context>small{color:var(--muted)}
.planner-time-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.entry-time-fields{grid-column:1/-1}
.schedule-spots{display:grid;gap:3px;min-width:0}
.schedule-spots.compact{display:flex;flex-wrap:wrap;gap:5px}
.schedule-spots.compact>.model-request-line{display:block;width:132px;height:36px;min-width:132px;flex:0 0 132px;border:0;cursor:pointer}
.schedule-spots.compact>.model-request-line>.model-request-pending{width:132px;height:36px}
.schedule-spots.compact .model-needed-criteria,.schedule-spots.compact .participant-request-actions{display:none}
.entry-wide-field{grid-column:1/-1}
.planner-wranglers{display:flex;flex-wrap:wrap;gap:5px}
.planner-wranglers .person-chip{width:132px}
.planner-legend{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding:14px 0}
.planner-print-actions{display:flex;gap:6px;margin-left:auto}
.planner-tool-picker{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:0;padding:6px 7px;border:1px solid var(--rule);background:var(--paper-2)}
.planner-tool-picker legend{padding:0 4px;color:var(--muted);font:600 10px/1.2 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}
.planner-tool-picker label{display:flex;align-items:center;gap:6px;min-height:32px;padding:0 9px;color:var(--ink-2);font:600 10px/1.2 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;cursor:pointer}
.planner-tool-picker label:has(input:checked){outline:1px solid currentColor;background:var(--surface)}
.planner-tool-picker input{width:14px;height:14px;margin:0}
.planner-tool-picker .curriculum-tool{color:var(--navy)}
.planner-tool-picker .model-request-tool{color:var(--success)}
.planner-tool-picker .wrangler-request-tool{color:var(--warning)}
.planner-legend-key{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.planner-legend-key span{display:flex;align-items:center;gap:6px;color:var(--ink-2);font:600 10px/1.2 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}
.planner-legend-key span::before{content:"";width:14px;height:9px;border:1px solid currentColor;background:var(--surface)}
.planner-legend-key .planner-legend-label{color:var(--muted)}
.planner-legend-key .planner-legend-label::before{display:none}
.planner-legend-key .request-pending{color:var(--success)}
.planner-legend-key .request-pending::before{background:repeating-linear-gradient(-45deg,var(--surface) 0,var(--surface) 3px,color-mix(in srgb,var(--success) 20%,var(--surface)) 3px,color-mix(in srgb,var(--success) 20%,var(--surface)) 5px)}
.planner-legend-key .request-booked{color:#194f3f}
.planner-legend-key .request-booked::before{background:#edf4f0}
.planner-legend-key .model{color:var(--success)}
.planner-legend-key .wrangler{color:var(--warning)}
.planner-legend-key .school{color:var(--red)}
.planner-legend-key .school-blocking{color:var(--red)}
.planner-legend-key .school-blocking::before{background:var(--red)}
.planner-help{margin:0 0 10px;color:var(--muted);font-size:var(--text-control)}
.planner-scroll{overflow:auto;border-block:1px solid var(--ink);background:var(--surface)}
.planner-calendar{display:grid;grid-template-columns:76px repeat(var(--planner-days),minmax(150px,1fr));grid-template-rows:46px repeat(28,34px);position:relative;min-width:1126px}
.planner-calendar.planner-day-view{grid-template-columns:76px minmax(600px,1fr);min-width:676px}
.planner-corner,.planner-day{position:sticky;top:0;z-index:6;display:grid;place-items:center;border-bottom:1px solid var(--ink);background:var(--paper-2)}
.planner-corner{grid-column:1;grid-row:1;color:var(--muted);font:600 10px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}
.planner-day{grid-row:1;border-left:1px solid var(--rule);color:var(--red);font:600 12px/1.2 var(--font-mono);letter-spacing:.04em;text-transform:uppercase}
button.planner-day{width:auto;min-height:0;padding:0;border-top:0;border-right:0;border-bottom:1px solid var(--ink);border-radius:0}
button.planner-day:hover{background:var(--red);color:#fff}
.planner-time{grid-column:1;z-index:2;padding:4px 8px 0 0;border-top:1px solid var(--rule);background:var(--surface);color:var(--muted);font:500 9px/1 var(--font-mono);text-align:right}
.planner-slot{z-index:1;width:100%;height:100%;min-height:0;padding:0;border:0;border-top:1px solid var(--rule-soft);border-left:1px solid var(--rule);border-radius:0;background:transparent}
.planner-slot:hover,.planner-slot.selected{background:rgba(0,0,96,.08)}
.planner-slot:active{transform:none}
.planner-now{position:relative;z-index:5;grid-row:1/-1;min-width:0;pointer-events:none}
.planner-now::after{content:"";position:absolute;top:var(--planner-now-top);left:0;right:0;border-top:2px solid var(--red)}
.planner-now span{position:absolute;z-index:1;top:var(--planner-now-top);left:0;transform:translateY(-100%);padding:2px 4px;background:var(--red);color:#fff;font:600 8px/1 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.planner-block{box-sizing:border-box;z-index:3;min-width:0;margin:2px 9px 2px 4px;padding:5px 7px;overflow:hidden;border:1px solid currentColor;border-radius:2px;background:var(--surface);color:var(--ink);text-align:left}
.planner-block b,.planner-block small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}
.planner-block-copy{display:block;min-width:0}
.planner-block b{font:600 var(--text-caption)/1.2 var(--font-sans)}
.planner-block small{margin-top:2px;font:500 9px/1.25 var(--font-mono)}
.planner-model-count{display:block;margin-top:2px;font:600 9px/1.2 var(--font-mono)}
.planner-model-windows{display:flex;flex-wrap:wrap;gap:2px 10px;margin-top:4px;font:500 9px/1.25 var(--font-mono)}
.planner-model-windows>span{white-space:nowrap}
.planner-block.has-model-thumb{position:relative;padding-right:35px}
.planner-block-thumb{position:absolute;top:5px;right:5px;width:24px;height:24px;border:1px solid currentColor;object-fit:cover}
.planner-day-view .planner-block.has-model-thumb{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:8px;padding-right:7px}
.planner-day-view .planner-block-thumb{position:static;width:auto;height:100%;max-width:76px;max-height:76px;aspect-ratio:1}
button.planner-block{width:auto;letter-spacing:0;text-transform:none;cursor:grab}
button.planner-block:hover{background:var(--navy);color:white}
button.planner-block:active{cursor:grabbing;transform:none}
button.planner-model-request{pointer-events:auto;cursor:pointer}
button.planner-model-request:active{cursor:pointer}
.planner-curriculum{border-left:4px solid var(--navy);color:var(--navy)}
.planner-model{border-left:4px solid var(--success);background:#edf4f0;color:#194f3f;pointer-events:none}
.planner-model-request{border:2px dashed var(--success);background:repeating-linear-gradient(-45deg,var(--surface) 0,var(--surface) 6px,color-mix(in srgb,var(--success) 14%,var(--surface)) 6px,color-mix(in srgb,var(--success) 14%,var(--surface)) 9px);color:#194f3f;pointer-events:none}
.planner-model-request.is-booked{border-style:solid;background:#edf4f0}
.planner-wrangler-request{border:2px dashed var(--warning);background:#fbf6ee;color:#71400d;pointer-events:none}
.planner-wrangler-request.is-booked{border-style:solid;background:#f7efe4}
.planner-wrangler{border-left:4px solid var(--warning);background:#f7efe4;color:#71400d;pointer-events:none}
.planner-school{border-left:4px solid var(--red);background:var(--red-soft);color:var(--red)}
.planner-school.is-blocking{background:var(--red);color:#fff}
button.planner-block[data-school-planner-block]{cursor:grab}
button.planner-block[data-school-planner-block]:active{cursor:grabbing}
button.planner-block[data-planner-view]{pointer-events:auto;cursor:pointer}
button.planner-block[data-planner-view]:active{cursor:pointer}
.planner-detail-people{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}
.planner-booked-models{margin-top:20px;border-top:1px solid var(--ink)}
.planner-booked-models>h3{margin:0;padding:12px 0 8px;color:var(--red);font-size:1rem}
.planner-booked-model{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:start;gap:12px;padding:12px 0;border-top:1px solid var(--rule-soft)}
.planner-booked-model>div{min-width:0}.planner-booked-model-head{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:8px}.planner-booked-model-head>small{color:var(--muted);font:600 10px/1.3 var(--font-mono);white-space:nowrap}
.planner-booked-photo{width:76px;height:76px;padding:0;overflow:hidden;border:1px solid var(--rule);background:var(--paper-2)}.planner-booked-photo:hover{background:var(--paper-2);border-color:var(--navy)}.planner-booked-photo img{display:block;width:100%;height:100%;object-fit:cover}
.planner-model-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;font-size:12px}
#plannerPhotoDialog{position:relative;width:auto;max-width:calc(100vw - 32px);padding:46px 16px 16px;border:1px solid var(--ink);border-top:4px solid var(--red);background:var(--surface);color:var(--ink)}
#plannerPhotoDialog::backdrop{background:rgba(23,33,43,.72)}#plannerPhotoDialog>.modal-close{position:absolute;top:6px;right:8px}#plannerPhotoDialog figure{margin:0}#plannerPhotoDialog img{display:block;width:min(304px,80vw);max-height:80vh;object-fit:contain}#plannerPhotoDialog figcaption{margin-top:9px;font-weight:600;text-align:center}
.planner-print{display:none}

@media(max-width:1050px){
  .planner-header{grid-template-columns:1fr}.planner-context{max-width:none}
  .planner-print-actions{margin-left:0}
  .model-line{grid-template-columns:1fr}
  .model-line>.model-line-prep{grid-column:1;grid-row:auto}
  .model-command-grid{grid-template-columns:1fr}
  .model-command-card.coverage{grid-row:auto}
  .leadership-command-grid{grid-template-columns:1fr}.leadership-command-card.activity{grid-row:auto}.leadership-command-card.readiness{grid-column:auto}
}

@media(max-width:900px){
  .shell{display:block}
  .rail{
    position:static;height:auto;flex-direction:row;align-items:center;flex-wrap:wrap;
    gap:8px;padding:8px 12px;border-right:0;border-bottom:3px solid var(--red);
  }
  .brand{margin:0;padding:5px 7px}
  .brand img{width:92px}
  .nav{display:flex;overflow:auto;border:0;flex:1 1 100%;order:3}
  .nav button{white-space:nowrap;border-bottom:0;border-top:1px solid rgba(255,255,255,.16);padding:9px 13px 9px 9px}
  .lead{display:none}
  .briefing{padding:12px 14px}
  .briefing h2{font-size:1rem}
  .briefing p{font-size:var(--text-control)}
  .person-switch{margin:0 0 0 auto;padding:0}
  .person-switch label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .person-switch select{max-width:none;padding:6px 8px;font-size:13px}
  .topbar{padding:10px 16px}
  .sync{display:none}
  .search{min-width:0;width:100%}
  main{padding:0 16px 70px}
  .hero{grid-template-columns:1fr;gap:20px;padding:18px 0 16px}
  .model-page-actions{justify-self:start}
  h1{font-size:1.6rem;max-width:none}
  .metric-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .model-command-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
  .metric{border-bottom:1px solid var(--rule-soft);padding-right:10px}
  .metric:nth-child(2n){border-right:0}
  .metric b{font-size:1.7rem}
  .grid{grid-template-columns:1fr}
  .section-head{flex-wrap:wrap;gap:10px}
  .review-banner{align-items:flex-start;flex-direction:column;gap:14px}
  .review-banner button{width:100%}
  .schedule-row{grid-template-columns:96px 1fr;gap:12px 14px}
  .schedule-row>.entry-location,.schedule-row>.entry-status,.schedule-row>.shift-team,.schedule-row>.model-lines{grid-column:2}
  .schedule-row:has(>.entry-location .compact-copy[open])>.entry-location>.location,
  .schedule-row:has(>.entry-location .compact-copy[open])>.entry-location>.compact-copy,
  .schedule-row:has(>.entry-location .compact-copy[open])>.shift-team{grid-column:2;grid-row:auto}
  .model-line{grid-template-columns:1fr}
  .model-line>.model-line-prep{grid-column:1;grid-row:auto}
  .time{font-size:1rem;white-space:nowrap}
  .form-grid{grid-template-columns:1fr}
}

@page{size:letter portrait;margin:.42in}
@page personal-schedule{size:letter portrait;margin:.5in}
@page planner-day{size:letter portrait;margin:.36in}
@page planner-week{size:letter landscape;margin:.3in}
@media print{
  .rail,.topbar,.live-status,.no-print,button{display:none!important}
  .print-only{display:flex!important}
  .schedule-view-screen,.profile-view-screen{display:none!important}
  .print-schedule{display:block!important;color:#111;font:9pt/1.3 Arial,sans-serif}
  .print-schedule *{box-sizing:border-box}
  .model-profile-print{page:personal-schedule;font-size:10pt;line-height:1.35}
  .print-schedule-head{break-inside:avoid;break-after:avoid}
  .print-schedule p,.print-schedule h1,.print-schedule h3,.print-person{overflow-wrap:anywhere}
  .print-schedule-head{display:grid;grid-template-columns:1.55in 1fr;align-items:center;gap:.22in;padding:0 0 .14in;border-bottom:2px solid #111}
  .print-schedule-head img{display:block;width:1.55in;height:auto}
  .print-schedule-head span{font-size:8pt;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
  .print-schedule-head h1{margin:2px 0 0;font:700 22pt/1.05 Georgia,serif}
  .print-schedule-head p{margin:4px 0 0;color:#444}
  .print-day{margin-top:.16in}
  .print-day>h2{margin:0;padding:0 0 5px;border-bottom:1px solid #111;font:700 13pt/1.2 Georgia,serif;break-after:avoid}
  .print-day>h2 small{float:right;font:9pt/1.3 Arial,sans-serif}
  .print-entry{display:grid;grid-template-columns:.7in minmax(0,1fr);gap:.12in;padding:.1in 0;border-bottom:1px solid #bbb}
  .print-entry:not(.print-model-call),.print-model,.print-person{break-inside:avoid}
  .print-entry-time{display:grid;align-content:start;font-variant-numeric:tabular-nums}
  .print-entry-time b{font-size:11pt}
  .print-entry-time span{color:#555;font-size:8pt}
  .print-entry-time small{color:#555;font-size:7pt;text-transform:uppercase}
  .print-entry-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px;break-after:avoid}
  .print-entry-head h3{margin:0;font-size:11pt;line-height:1.2}
  .print-entry-head em{margin-left:auto;color:#900;font-size:8pt;font-style:normal;font-weight:700;text-transform:uppercase}
  .print-entry-type{padding:2px 4px;background:#111;color:#fff;font-size:7pt;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
  .print-location,.print-notes,.print-audience{margin:3px 0 0}
  .print-location{font-weight:700}
  .print-notes{color:#333;overflow-wrap:anywhere;white-space:pre-line;orphans:3;widows:3}
  .print-entry.print-profile-call{display:block;break-inside:auto;padding:.12in 0}
  .print-profile-call>.print-entry-time{display:flex;align-items:baseline;gap:5px;margin-bottom:4px;break-after:avoid}
  .print-profile-call>.print-entry-time span{font-size:10pt;color:#111}
  .print-profile-call .print-entry-head{margin-bottom:4px}
  .print-call-status{margin-left:auto;border:1px solid #666;padding:1px 5px;font-size:8pt}
  .print-schedule-end{margin-top:.15in;padding-top:.08in;border-top:1px solid #999;font-size:8pt}
  .print-audience{font-weight:700;text-transform:uppercase}
  .print-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px .16in;margin-top:6px}
  .print-person{display:grid;grid-template-columns:auto 1fr;gap:0 5px;border-top:1px dotted #bbb;padding-top:3px}
  .print-person b{font-size:8.5pt}
  .print-person span{color:#555;font-size:7.5pt}
  .print-person small{grid-column:1/-1;font-size:7.5pt}
  .print-models{margin-top:7px;border-top:1px solid #777}
  .print-model{display:grid;grid-template-columns:1.25in 1.3in minmax(0,1fr);gap:6px;padding:5px 0;border-bottom:1px dotted #bbb}
  .print-model>span,.print-model>small{font-size:8pt}
  body:not([data-planner-print]) .planner-print{display:none!important}
  body[data-planner-print] .instructor-planner{display:none!important}
  body[data-planner-print="day"] .planner-print-week,body[data-planner-print="week"] .planner-print-day{display:none!important}
  body[data-planner-print="day"] .planner-print-day,body[data-planner-print="week"] .planner-print-week{display:block!important}
  .planner-print{color:#111;font:7.5pt/1.2 Arial,sans-serif}
  .planner-print-day{page:planner-day}
  .planner-print-week{page:planner-week}
  .planner-print-head{display:grid;grid-template-columns:1.45in 1fr;align-items:center;gap:.18in;padding-bottom:.1in;border-bottom:2px solid #111}
  .planner-print-head img{display:block;width:1.45in;height:auto}
  .planner-print-head span{font-size:7pt;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
  .planner-print-head h1{margin:2px 0 0;font:700 17pt/1.05 Georgia,serif}
  .planner-print-head p{margin:3px 0 0;color:#444;font-size:7.5pt}
  .planner-print-grid{display:grid;grid-template-columns:54px repeat(var(--planner-days),minmax(0,1fr));grid-template-rows:34px repeat(28,21px);position:relative;margin-top:8px;border:1px solid #777;background:#fff}
  .planner-print-corner,.planner-print-date{z-index:4;display:grid;place-items:center;border-bottom:1px solid #555;background:#eee;font:700 7pt/1.1 Arial,sans-serif;text-transform:uppercase}
  .planner-print-corner{grid-column:1;grid-row:1;color:#555}
  .planner-print-date{grid-row:1;border-left:1px solid #aaa}
  .planner-print-time{grid-column:1;z-index:1;padding:2px 4px 0 0;border-top:1px solid #bbb;color:#555;font:6.5pt/1 Arial,sans-serif;text-align:right}
  .planner-print-slot{z-index:0;border-top:1px solid #ddd;border-left:1px solid #bbb}
  .planner-print-block{z-index:2;min-width:0;margin:1px 2px;padding:2px 3px;overflow:hidden;border:1px solid #555;background:#fff;color:#111}
  .planner-print-block em,.planner-print-block b{display:inline;font-size:7pt;line-height:1.05}
  .planner-print-block em{font-style:normal;font-weight:400;text-transform:uppercase}
  .planner-print-block em::after{content:" · "}
  .planner-print-block small{display:block;margin-top:1px;overflow:hidden;font-size:6pt;line-height:1.05}
  .planner-print-model-request{border-style:dashed;background:#eef5f1}
  .planner-print-model-request.is-booked{border-style:solid;background:#edf4f0}
  .planner-print-curriculum{border-color:#000060}
  .planner-print-wrangler-request,.planner-print-wrangler{border-color:#9a5b16}
  .planner-print-school{border-color:#880101}
  .planner-print .planner-now{z-index:3}
  .planner-print .planner-now span{background:#111;color:#fff;font-size:6pt}
  .planner-print .planner-now::after{border-top-color:#111}
  .planner-print-day .planner-print-sheet{break-after:page}
  .planner-print-day .planner-print-sheet:last-child{break-after:auto}
  button.metric{display:block!important}
  button.day-pick.on{display:inline-block!important;border:0;color:#000}
  body{background:#fff;background-image:none}
  .shell{display:block}
  main{padding:0;max-width:none}
  .hero{display:block;border-bottom:2px solid #000}
  .briefing,.panel,.warning-box{background:#fff;border:1px solid #999}
  .schedule-row,.model-line,.model-request-line{break-inside:avoid}
  .model-lines{background:#fff;border:1px solid #999}
  .model-line{background:#fff;border-bottom:1px solid #999}
  .model-print-heading{align-items:end;justify-content:space-between;gap:20px;padding-bottom:10px;border-bottom:1px solid #999}.model-print-heading b{font:700 18px/1.2 var(--font-display)}.model-print-heading span{font-size:12px}
  .model-call-contacts .contact-list{grid-template-columns:1fr 1fr}.model-call-contacts .contact-actions a{border:0;padding:0}.model-call-contacts .contact-row{align-items:flex-start;flex-direction:column;gap:2px}.model-call-contacts button.person-name{display:inline!important;min-height:0;border:0;padding:0;background:transparent;color:#000;font:700 var(--text-control)/1.3 var(--font-sans);letter-spacing:0;text-transform:none}
  .model-profile-collapsible .model-profile-long dd{display:block;-webkit-line-clamp:unset;line-clamp:unset;overflow:visible}
  .draft{display:none}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
}

/* ---------- publish a draft ---------- */

button.status{cursor:pointer;font:600 11px/1 var(--font-mono);letter-spacing:.12em}
button.status.draft{background:var(--red-soft);color:var(--red);border:1px dashed var(--red)}
button.status.draft:hover{background:var(--red);color:var(--surface);border-style:solid}
.conflict{
  margin-top:7px;color:var(--red);
  font:600 10.5px/1.3 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;
}
.conflict::before{content:"\25B2  "}
.schedule-conflicts{position:relative;margin-top:7px;color:var(--red)}
.schedule-conflicts>summary{width:max-content;cursor:pointer;font:600 10.5px/1.3 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}
.schedule-conflicts>summary::marker{content:""}
.schedule-conflicts>summary::before{content:"\25B2  "}
.schedule-conflict-list{position:absolute;z-index:6;top:calc(100% + 6px);right:0;width:min(430px,calc(100vw - 40px));padding:4px 10px 10px;background:var(--surface);border:1px solid var(--rule);box-shadow:0 8px 24px rgba(23,33,43,.16)}
.schedule-conflict-list .conflict-call:first-child{border-top:0}

#pubDialog{
  border:1px solid var(--ink);border-top:4px solid var(--red);border-radius:2px;
  background:var(--surface);color:var(--ink);
  padding:24px 26px;max-width:min(580px,calc(100vw - 32px));width:100%;
  max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-gutter:stable;
}
#pubDialog.class-dialog{max-width:min(760px,calc(100vw - 32px))}
#pubDialog::backdrop{background:rgba(23,33,43,.5)}
#pubBody{min-width:0}
#pubBody h2{font-size:1.3rem;margin-bottom:12px}
.modal-heading{
  position:sticky;top:-24px;z-index:2;
  display:flex;align-items:start;justify-content:space-between;gap:20px;
  margin:0 0 18px;padding:18px 0 14px;background:var(--surface);border-bottom:1px solid var(--rule-soft);
}
.modal-heading .tag{color:var(--red);margin-bottom:7px}.modal-heading h2{margin:0!important}
.modal-close{flex:none;width:40px;height:40px;padding:0;background:transparent;color:var(--muted);border:1px solid var(--rule);font:400 var(--text-dialog)/1 var(--font-sans);letter-spacing:0;text-transform:none}
.modal-close:hover{background:var(--navy);color:var(--surface);border-color:var(--navy)}
.pub-entry{margin:0 0 10px;font-size:1rem}
.pub-entry .meta{display:inline-block;margin-top:4px}
.conflict-box{
  border:1px solid var(--rule);border-left:3px solid var(--red);
  background:var(--paper);padding:14px 16px;margin-top:18px;
}
.conflict-box h3{
  font:600 11px/1 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;
  color:var(--red);margin:0 0 10px;
}
.conflict-row{
  display:flex;gap:14px;align-items:center;justify-content:space-between;
  padding:9px 0;border-bottom:1px dashed var(--rule);
}
.conflict-row:last-of-type{border-bottom:0}
.conflict-row button{flex:none}
.conflict-box .field{margin-top:12px}
.conflict-box textarea{min-height:64px}
.pub-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}

@media(max-width:900px){
  .conflict-row{flex-wrap:wrap;gap:8px}
  .pub-actions{flex-direction:column-reverse}
  .pub-actions button{width:100%}
}

/* ---------- edit an entry ---------- */

.schedule-row:focus{outline:2px solid var(--navy);outline-offset:2px}
button.edit{
  margin-top:8px;padding:3px 8px;
  background:transparent;color:var(--muted);border:1px solid var(--rule);
  font:600 10px/1 var(--font-mono);letter-spacing:.14em;
}
button.edit:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.people-editor{border-top:1px solid var(--rule);margin-top:22px;padding-top:16px}
.people-editor h3{
  font:600 11px/1 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);margin:0 0 8px;
}
.add-person{margin-top:14px}
.add-person>div{display:flex;gap:8px;margin-top:6px}
.add-person select{flex:1;min-width:0}
.person-chip.reviewed{color:var(--success);border-color:var(--success);background:#edf4f0}
button.person-chip.reviewed:hover{background:var(--success);color:var(--surface)}
.chip-note{font:600 10px/1.6 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);align-self:center}
.class-instructor{margin:3px 0;color:var(--red);font:600 10px/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
.contact-card{display:grid;grid-template-columns:minmax(220px,1fr) minmax(300px,auto);align-items:center;gap:24px;border:1px solid var(--rule);border-top:2px solid var(--red);margin:18px 0}
.contact-card h2{border:0;padding:0;margin:4px 0}.contact-card p{margin:0;color:var(--muted)}.contact-card .contact-row{border:0;padding:8px 0}.contact-card .contact-row+.contact-row{border-top:1px solid var(--rule-soft)}.contact-card .contact-row>span:first-child{display:grid;gap:3px}

/* The model's call sheet mirrors the simple printed handout they already know. */
.model-today .hero{padding:24px 0 20px;border-bottom:0}
.model-today .hero h1{max-width:20ch}
.model-today .hero .lead{margin-top:10px}
.model-today .model-hero-side{display:grid;justify-items:end;gap:10px}
.model-today .model-page-actions{align-self:start}
.model-today .model-manager-card{width:min(360px,100%);padding:12px 14px;border:1px solid var(--rule);border-top:2px solid var(--red);background:var(--surface)}
.model-today .model-manager-card .tag{color:var(--red)}
.model-today .model-manager-card p{margin:5px 0 2px;color:var(--muted);font-size:var(--text-control)}
.model-today .model-manager-card .contact-row{align-items:flex-start;flex-direction:column;gap:6px;padding:8px 0 0;border:0}
.model-today .model-manager-card .contact-actions{justify-content:flex-start}
.model-today .schedule-board{margin-top:18px}
.model-today .schedule-row{grid-template-columns:112px minmax(0,1fr) 108px;gap:8px 20px;padding:15px 0;border-bottom:1px solid var(--rule);background:none}
.model-today .model-call-row>.time{grid-column:1;grid-row:1/3;align-self:stretch;padding-left:10px;border-left-width:2px}
.model-today .model-call-row:has(>.entry-location)>.time{grid-row:1/4}
.model-today .schedule-row.up .time::before{margin-bottom:5px}
.model-today .time small{margin-top:4px}
.model-today .time .event-type{margin-top:8px;padding:3px 6px}
.model-today .model-call-row>.entry-main{grid-column:2;grid-row:1}
.model-today .model-venue-address{display:flex;align-items:center;flex-wrap:wrap;gap:2px 4px;margin:3px 0;color:var(--muted);font-size:var(--text-control)}
.model-today .entry-main .class-instructor{margin-top:3px}
.model-today .model-call-row>.entry-status{grid-column:3;grid-row:1;justify-self:end}
.model-today .model-call-row>.entry-location{grid-column:2/-1;grid-row:2}
.model-today .model-call-row>.shift-team{grid-column:2/-1;grid-row:2}
.model-today .model-call-row:has(>.entry-location)>.shift-team{grid-row:3}
.model-today .model-call-prep{max-width:none;padding:10px 0 2px;border-top:1px solid var(--rule-soft)}
.model-today .model-call-prep b{display:block;margin-bottom:4px;color:var(--red);font:600 10px/1.3 var(--font-mono);letter-spacing:.14em;text-transform:uppercase}
.model-today .model-call-contacts{display:block}
.model-today .call-contact-label{display:block;padding-top:12px;border-top:1px solid var(--rule-soft)}
.model-today .model-call-contacts .contact-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;margin-top:8px}
.model-today .model-call-contacts .contact-row{align-items:flex-start;justify-content:flex-start;flex-direction:column;gap:6px;padding:0;border-top:0}
.model-today .model-call-contacts .contact-actions{align-items:flex-start;flex-direction:column;gap:4px;margin-top:0}
.model-today .model-call-contacts .contact-actions a{justify-content:flex-start}
.model-today .contact-actions a{padding:0;border:0;background:transparent}
.model-today .contact-actions a:hover{background:transparent;color:var(--navy);text-decoration:underline;text-underline-offset:3px}

@media print{
  .model-today .hero{padding:10px 0 14px;border-bottom:1px solid #999}
  .model-today .hero h1{margin-top:8px}
  .model-today .hero .lead{margin-top:6px}
  .model-today .schedule-board{margin-top:10px}
  .model-today .schedule-row{grid-template-columns:100px minmax(0,1fr) 96px;gap:8px 14px;padding:14px 0}
  .model-today .model-call-row>.time{padding-left:10px;border-left-width:2px}
  .model-today .schedule-row.up .time::before{margin-bottom:5px}
  .model-today .time small{margin-top:4px}
  .model-today .time .event-type{margin-top:8px;padding:3px 5px}
  .model-today .entry-main .class-instructor{margin-top:4px}
  .model-today .model-call-prep{padding:8px 0 0}
  .model-today .model-call-prep b{margin-bottom:3px}
  .model-today .call-contact-label{padding-top:9px}
  .model-today .model-call-contacts .contact-list{gap:0 20px;margin-top:6px}
  .model-today .model-call-contacts .contact-row{gap:2px}
  .model-today .model-call-contacts .contact-actions{gap:2px}
}

/* ---------- people results and profile ---------- */

.person-card{display:grid;grid-template-columns:minmax(0,1fr);width:100%;min-width:0;min-height:48px;background:var(--surface);border:1px solid var(--rule);border-radius:2px;overflow:hidden}
.person-card.has-status{grid-template-columns:minmax(0,1fr) 42px}
.person-card-open{display:grid;grid-template-columns:32px minmax(0,1fr);width:100%;min-width:0;min-height:46px;align-items:center;text-align:left;gap:10px;padding:7px;background:transparent;color:inherit;border:0;border-radius:0;text-transform:none;letter-spacing:normal;font-weight:400;cursor:pointer}
.person-card-open:hover{background:var(--paper-2);color:inherit}
.person-card-status{width:42px;min-width:42px;height:100%;min-height:46px;padding:0;background:transparent;border:0;border-left:1px solid var(--rule);border-radius:0;color:var(--muted);font:700 1.15rem/1 var(--font-mono)}
.person-card-status[data-status="confirmed"]{color:var(--success)}.person-card-status[data-status="not participating"]{color:var(--red)}
.person-card-status:hover{background:var(--paper-2);color:var(--ink)}
.person-card-role{display:grid;place-items:center;width:32px;height:32px;color:#fff;font:700 .75rem/1 var(--font-mono)}
.person-card-role.instructor{background:var(--red)}.person-card-role.wrangler{background:var(--navy)}.person-card-role.wrangler.duty-target-reached{border:2px solid var(--warning);color:var(--warning)}.person-card-role.model{background:var(--success)}.person-card-role.leadership{background:var(--ink)}
.person-card-copy{min-width:0}
.person-card h3{font-size:var(--text-body);line-height:1.25}
.person-card .meta{margin-top:0;font-size:var(--text-control)}
.person-card:hover{border-color:var(--navy)}
.person-card .meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.review-strip{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));gap:6px;margin-top:14px;overflow-x:auto;padding-bottom:2px}
.review-strip .review-day{display:flex;align-items:center;justify-content:space-between;width:100%;min-width:0;min-height:32px;padding:6px 8px;border:1px solid var(--red);background:var(--surface);color:var(--red);white-space:nowrap;letter-spacing:.06em}
.review-strip .review-day::before{display:none}
.review-strip .review-day strong{font:700 1rem/1 var(--font-mono)}
.review-strip .review-day:hover{border-color:var(--red);background:var(--red-soft);color:var(--red)}
.review-strip .review-day.on{box-shadow:inset 0 0 0 2px currentColor}

/* ---------- briefing editing, notices, destructive actions ---------- */

.briefing button{margin-top:14px}
.pub-actions .spacer{flex:1}
button.danger-text{color:var(--red);border-color:var(--red)}
button.danger-text:hover{background:var(--red);color:var(--surface);border-color:var(--red)}
button.danger-text.danger{background:var(--red);color:var(--surface);border-color:var(--red)}
.notice{
  display:flex;gap:16px;align-items:baseline;justify-content:space-between;
  background:var(--surface);border-bottom:1px solid var(--rule-soft);
  padding:12px 16px;font-size:var(--text-control);
}
.notice .meta{margin-top:2px}
.notification-audit{margin-top:28px;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule)}
.notification-audit>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0;cursor:pointer;list-style:none}
.notification-audit>summary::-webkit-details-marker{display:none}
.notification-audit>summary span,.notification-audit>summary small{display:block}
.notification-audit>summary small{margin-top:3px;color:var(--muted)}
.notification-audit>summary strong{font:600 11px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.notification-audit>summary strong::after{content:" +"}.notification-audit[open]>summary strong::after{content:" −"}
.delivery-channels{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.delivery-channels span{padding:3px 7px;border:1px solid var(--rule);font:600 10px/1.2 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}
#editClash{margin-bottom:16px}

/* ---------- annual classes ---------- */

.class-board{border-top:1px solid var(--ink)}
.class-head{
  display:grid;grid-template-columns:58px minmax(180px,1.2fr) minmax(180px,1fr) minmax(180px,1fr);
  gap:18px;padding:9px 4px;border-bottom:1px solid var(--rule);
  color:var(--muted);font:600 10px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;
}
.class-row{
  width:100%;display:grid;grid-template-columns:58px minmax(180px,1.2fr) minmax(180px,1fr) minmax(180px,1fr);
  align-items:start;gap:18px;padding:11px 4px;
  background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--rule-soft);border-radius:0;
  text-align:left;text-transform:none;letter-spacing:normal;font:400 var(--text-body)/1.45 var(--font-sans);
}
.class-row:hover{background:var(--surface)}
.class-row.canceled{opacity:.68;background:var(--paper-2)}
.class-row.canceled .class-main b{text-decoration:line-through}
.class-row small{display:block;color:var(--muted);font-size:11px;margin:2px 0 0}
.class-no{font:600 16px/1 var(--font-mono);color:var(--red);padding-top:2px}
.class-main{
  display:block;padding:0;background:transparent;color:var(--ink);border:0;border-radius:0;
  text-align:left;text-transform:none;letter-spacing:normal;font:400 var(--text-body)/1.45 var(--font-sans);
}
.class-main:hover{background:transparent;color:var(--navy)}
.class-main b{display:block}
.team-intro{display:flex;justify-content:space-between;gap:18px;border-top:1px solid var(--rule);margin-top:24px;padding-top:20px}
.team-intro h3{font:650 var(--text-subheading)/1.2 var(--font-sans);margin:0}.team-intro p{margin:4px 0 0;color:var(--muted);font-size:var(--text-control)}
.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:18px}
.team-editor{min-width:0}
.team-editor h3{font:600 11px/1 var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--red);margin-bottom:8px}
.roster-person{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 0;border-bottom:1px dashed var(--rule)}
.roster-person span,.roster-person small{display:block;min-width:0}.roster-person small{color:var(--muted);overflow-wrap:anywhere}.roster-person button{flex:none}
.team-editor>.add-person{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.team-editor>.add-person select{min-width:0;width:100%}

/* ---------- assignment library and duty rosters ---------- */

.duty-shell{display:grid;grid-template-columns:290px minmax(0,1fr);min-height:560px;border-top:1px solid var(--ink)}
.duty-shell>*{min-width:0}
.type-list{border-right:1px solid var(--rule);padding:18px 18px 30px 0}
.type-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.type-head h2{font-size:1.1rem}.type-head button{padding:7px 9px}
button.type-row{
  display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;
  background:transparent;color:var(--ink);border:0;border-top:1px solid var(--rule-soft);border-radius:0;
  padding:11px 8px;text-align:left;text-transform:none;letter-spacing:normal;font:400 var(--text-control)/1.3 var(--font-sans);
}
button.type-row:hover{background:var(--paper-2)}button.type-row.selected{background:var(--surface);box-shadow:inset 3px 0 var(--red)}
.type-row span,.type-row small{display:block}.type-row small{color:var(--muted);font-size:10.5px;margin-top:2px}.type-row.archived{opacity:.58}
.type-count{text-align:right;font:600 15px/1 var(--font-mono)}.type-count em{display:inline-block;margin-top:5px;padding:2px 4px;border:1px solid var(--rule);background:var(--paper-2);color:var(--muted);font:600 9px/1 var(--font-mono);font-style:normal}
.roster-pane{padding:20px 4px 40px 28px;min-width:0;container:roster-pane / inline-size}
.roster-head{display:flex;align-items:start;justify-content:space-between;gap:20px;padding-bottom:15px;border-bottom:1px solid var(--ink)}
.roster-head>div:first-child{min-width:0}
.roster-head p{margin:5px 0 0;color:var(--muted);max-width:62ch}.roster-head .tag{color:var(--red)}
.roster-actions{display:flex;gap:8px;flex:none;max-width:100%}.roster-actions button{white-space:nowrap}
button.manage-roster{background:var(--red);border-color:var(--red);color:var(--surface)}
button.manage-roster:hover{background:color-mix(in srgb,var(--red) 88%,var(--ink));border-color:var(--red)}
.roster-board{margin-top:10px;min-width:0}
.roster-shift{
  position:relative;
  display:grid;grid-template-columns:132px minmax(200px,1fr);gap:18px;align-items:start;
  padding:12px 0;border-bottom:1px solid var(--rule-soft);
}
.roster-shift.selected{background:var(--surface);box-shadow:inset 3px 0 var(--red);padding-inline-start:10px}
.roster-shift-radio{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.roster-shift:has(.roster-shift-radio:focus-visible){outline:2px solid var(--red);outline-offset:2px}
.roster-detail{display:grid;gap:10px;min-width:0;align-content:start}
.roster-primary{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:18px;align-items:start}.roster-primary h3{margin:0;font-size:var(--text-control);line-height:1.3}
.roster-detail>.shift-team{display:flex;flex-wrap:wrap;align-items:center;gap:5px 14px;min-width:0}
.roster-detail>.shift-team>.people,.roster-detail>.shift-team>.entry-owners{margin-top:0}
.roster-shift>*{min-width:0}
.roster-shift p{margin:4px 0 0;color:var(--muted);font-size:var(--text-control)}.roster-detail .roster-status{display:flex;align-items:stretch;justify-content:flex-end;gap:6px;width:100%;min-width:0}
.roster-status .status{flex:1;max-width:100%;justify-content:center}.roster-status button{width:auto;max-width:100%;padding-inline:8px;white-space:nowrap}.roster-edit-shift{flex:none;min-height:28px;font-size:9px}
.duty-shell .roster-status{padding-right:12px}.model-roster-shell .roster-status .status{flex:0 0 auto;min-width:112px}.model-roster-shell .model-operations-instructor,.roster-primary .wrangler-shift-title{color:var(--red);font-size:var(--text-body);line-height:1.25}.roster-primary .location{margin-top:4px}
.roster-time>b,.roster-time>.time-range{display:block}.roster-time>b{font:600 12.5px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--red)}.roster-time>.time-range{font:500 14px/1.25 var(--font-mono);margin-top:6px}.roster-time>.time-range small{display:block;margin-top:3px;color:var(--muted);font:500 10.5px/1.25 var(--font-mono)}.roster-time>.event-type{margin-inline:0 auto;text-align:left}.roster-time>.staffing{display:none}
.roster-manage{flex:none;min-height:28px;padding:4px 9px;font-size:9px}
.staffing b{display:block;font:500 20px/1 var(--font-mono);color:var(--navy)}.staffing b span{color:var(--muted)}.staffing small{display:block;color:var(--muted);margin-top:5px}.staffing em{display:block;color:var(--red);font:600 10px/1 var(--font-mono);font-style:normal;text-transform:uppercase;margin-top:7px}
.coverage-box{display:none}
.staffing-pool{border-right:1px solid var(--rule);padding:18px 18px 16px 0}
@media (min-width:901px){
  .has-role-preview .staffing-pool{--staffing-bottom:var(--role-preview-height)}
  .staffing-pool{position:sticky;top:80px;align-self:start;max-height:calc(100dvh - 96px - var(--staffing-bottom,0px));display:flex;flex-direction:column;overflow:hidden}
  .staffing-pool>*{flex-shrink:0}
  .staffing-pool>.staffing-candidates{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;align-content:start}
}
.staffing-pool h2{margin:4px 0}.staffing-pool p{margin:4px 0;color:var(--muted);font-size:var(--text-control)}
.staffing-search{display:grid;gap:5px;margin-top:14px}.staffing-search input{width:100%}
.staffing-pool input[type="search"],.staffing-pool select{min-width:0;height:32px;padding:4px 8px;font:400 var(--text-control)/1.3 var(--font-sans)}
.staffing-pool>label:has([data-name-sort]){display:flex;align-items:center;gap:8px;margin-top:8px}
.staffing-view-switch{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;margin-top:7px}.staffing-view-switch button{padding:6px 8px}.staffing-view-switch button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:var(--surface)}
.staffing-candidates{display:grid;gap:13px;margin-top:14px}
.staffing-candidate-group>h3{display:flex;justify-content:space-between;margin:0 0 5px;color:var(--muted);font:600 8px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}
.staffing-candidate-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.staffing-candidates.faces .staffing-candidate-group>div{grid-template-columns:repeat(3,minmax(0,1fr))}
.staffing-candidate-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 25px;min-width:0;background:var(--surface);border:1px solid var(--rule);cursor:grab}
.staffing-candidate-card.duty-target-reached{border-color:var(--warning);box-shadow:inset 2px 0 var(--warning);background-image:repeating-linear-gradient(135deg,transparent 0 6px,#9c5d1430 6px 8px)}
.staffing-candidate-card.has-conflict{border-color:var(--red);box-shadow:inset 2px 0 var(--red);background-image:repeating-linear-gradient(135deg,transparent 0 6px,#88010130 6px 8px)}
.staffing-candidate-person{display:flex;align-items:center;gap:6px;min-width:0;min-height:34px;padding:1px 7px;background:transparent;border:0;color:var(--ink);text-align:left;text-transform:none;letter-spacing:0}.staffing-candidate-person:hover{background:var(--paper-2);color:var(--ink)}
.staffing-candidate-hours{margin-left:auto;color:var(--muted);font:700 9px/1 var(--font-mono)}
.staffing-candidate-action{position:relative;display:grid;place-items:center;min-width:25px;padding:0;background:transparent;border:0;border-left:1px solid var(--rule);color:var(--navy);font:700 12px/1 var(--font-mono)}.staffing-candidate-action:hover{background:var(--navy);color:var(--surface)}.staffing-candidate-action.conflict{color:var(--red)}.staffing-candidate-action.conflict:hover{background:var(--red);color:var(--surface)}
.staffing-candidates .person-chip-role{align-self:stretch;flex:none;width:22px;height:auto}.staffing-candidates .person-chip-name{flex:1;font:500 11px/1.05 var(--font-mono)}
.staffing-candidate-card.has-conflict .person-chip-role.wrangler{background:var(--navy)}
.staffing-candidates.faces .staffing-candidate-card{grid-template-columns:1fr;align-content:start}.staffing-candidates.faces .staffing-candidate-person{min-height:116px;flex-direction:column;justify-content:flex-start;padding:7px;text-align:center}.staffing-candidates.faces .staffing-candidate-person .person-chip-name{width:100%;text-align:center}.staffing-candidates.faces .staffing-candidate-action{position:absolute;top:2px;right:2px;min-width:14px;width:14px;height:14px;border:1px solid var(--rule);background:var(--surface);font-size:9px}.staffing-candidates.faces .staffing-candidate-action:hover{background:var(--navy)}.staffing-candidates.faces .staffing-candidate-action.conflict:hover{background:var(--red)}
.staffing-candidates.faces .staffing-candidate-hours{margin-left:0}
.staffing-conflict-mark{margin-inline-start:auto;font:700 11px/1 var(--font-mono);text-align:center}
.staffing-conflict-tip{display:none;position:absolute;z-index:20;top:calc(100% + 4px);left:0;width:max-content;max-width:270px;padding:7px 8px;background:var(--ink);border:1px solid var(--red);color:var(--surface);font:500 10px/1.4 var(--font-mono);letter-spacing:0;text-transform:none;white-space:pre-line;box-shadow:0 4px 12px #17212b33}
.staffing-candidate-action.conflict:hover .staffing-conflict-tip,.staffing-candidate-action.conflict:focus-visible .staffing-conflict-tip{display:block}
.staffing-pool .staffing-drop-note{margin-top:16px;padding-top:12px;border-top:1px solid var(--rule-soft);font-size:.75rem}
.wrangler-workload-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 0;border-block:1px solid var(--rule);color:var(--ink-2)}.wrangler-workload-summary>span:first-child{white-space:nowrap}.wrangler-workload-summary>span:first-child b{color:var(--warning);font:700 1rem/1 var(--font-mono)}.wrangler-workload-leaders{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.wrangler-workload-leaders>small{margin-right:4px;color:var(--muted);font:600 .75rem/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.wrangler-workload-leaders button{display:flex;align-items:center;gap:6px;min-height:28px;padding:5px 7px;background:transparent;border:1px solid var(--rule);color:var(--ink);font-size:.75rem;letter-spacing:0;text-transform:none}.wrangler-workload-leaders button:hover{border-color:var(--warning);background:var(--paper-2);color:var(--ink)}.wrangler-workload-leaders button span{color:var(--warning);font:700 .75rem/1 var(--font-mono)}
.roster-shift.staffing-active{background:var(--surface)}
.roster-open-slot{display:inline-grid;place-items:center;width:132px;height:36px;border:1px dashed var(--rule);background-color:var(--paper-2);background-image:repeating-linear-gradient(135deg,transparent 0 6px,#6f6a5c3d 6px 8px);color:var(--muted);font:600 8px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.roster-open-slot>span{padding:2px 5px;background:var(--paper-2)}
.model-roster-compact-spot{padding:0;flex:0 0 132px;min-width:132px;max-width:132px;min-height:36px;border-radius:0}
.model-roster-compact-spot:hover{border-color:var(--navy);background-color:var(--paper-2);background-image:repeating-linear-gradient(135deg,transparent 0 6px,#6f6a5c3d 6px 8px)}
.model-roster-compact-spot.filled{background:var(--surface);border-style:solid;color:var(--navy);font:400 var(--text-caption)/1.15 var(--font-sans);letter-spacing:0;text-transform:none}
.model-roster-compact-spot.filled:hover{background:var(--paper-2)}
.model-roster-compact-spot.filled>span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:transparent}
.roster-inline-editor{display:grid;gap:8px;flex:1 1 100%;min-width:0}
.staffing-owner-row,.staffing-staff-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;min-width:0}
.staffing-owner-slots{display:flex;flex-wrap:wrap;gap:5px;min-height:38px;padding:2px 0;border:1px dashed transparent}
.staffing-owner-slots:empty,.staffing-owner-slots:hover{border-color:var(--rule)}
.staffing-owner{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:6px;width:132px;min-height:36px;background:var(--surface);border:1px solid var(--rule);padding:1px 7px;color:var(--ink);cursor:pointer;letter-spacing:0;text-align:left;text-transform:none}
.staffing-owner.filled:hover{background:var(--paper-2);border-color:var(--red)}
.staffing-owner.empty{display:grid;place-items:center;min-width:104px;border-style:dashed;background:var(--paper-2);color:var(--muted);font:600 8px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:default}
.staffing-owner .person-chip-name{font:500 11px/1.05 var(--font-mono)}.staffing-owner .person-chip-role{align-self:stretch;width:22px;height:auto;margin:-1px 0 -1px -7px}
.staffing-slots{display:flex;flex-wrap:wrap;gap:5px;min-width:0}
.staffing-slots:has(>.model-roster-open){display:grid;grid-template-columns:minmax(0,1fr);width:100%}
.staffing-slot{display:grid;align-self:flex-start;align-items:center;flex:0 0 132px;width:132px;height:36px;min-height:36px;max-height:36px;border:1px solid var(--rule);background:var(--paper-2)}
.staffing-slot.empty{place-items:center;padding:0;background-color:var(--paper-2);background-image:repeating-linear-gradient(135deg,transparent 0 6px,#6f6a5c3d 6px 8px);color:var(--muted);font:600 8px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.staffing-slot.empty:not(.model-roster-open)>span{padding:2px 5px;background:var(--paper-2)}
.pending-slot-label,.pending-resource-label{padding:2px 5px;background:var(--paper-2)}
.staffing-requested-slot{display:grid;grid-template-columns:132px minmax(0,1fr);align-items:center;gap:10px;width:100%;min-width:0}.staffing-requested-slot .staffing-slot{pointer-events:none}.staffing-request-note{display:grid;gap:3px;min-width:0;padding-left:10px;border-left:2px solid var(--red)}.staffing-request-note b{color:var(--red);font:600 9px/1.2 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.staffing-request-note span{color:var(--ink-2);font-size:var(--text-control);line-height:1.35}
.staffing-slot.filled{background:var(--surface)}.staffing-slot.pending{border-color:var(--red);box-shadow:inset 3px 0 var(--red)}.staffing-slot.has-conflict{border:1px dashed var(--red);box-shadow:none;background:var(--surface)}
.staffing-assignee{position:relative;display:flex;align-items:center;gap:6px;width:100%;height:34px;min-height:34px;padding:1px 7px;background:transparent;border:0;color:var(--ink);cursor:pointer;letter-spacing:0;text-align:left;text-transform:none}.staffing-assignee:hover{background:var(--paper-2);color:var(--ink)}
.staffing-slot .person-chip-role{flex:none;align-self:stretch;width:22px;height:auto;margin:-1px 0 -1px -7px}.staffing-slot .person-chip-name{flex:1;font:500 11px/1.05 var(--font-mono)}
.staffing-assignee.locked{cursor:default;opacity:.85}
.staffing-assignee.locked small{margin-left:auto;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em}
.staffing-slot.has-conflict .staffing-assignee{background-image:repeating-linear-gradient(135deg,transparent 0 6px,#88010130 6px 8px);color:var(--red)}.staffing-slot.has-conflict .staffing-assignee .person-chip-name{padding:1px 3px;background:transparent}.staffing-slot.has-conflict .person-chip-role.wrangler{background:var(--navy);color:var(--surface)}.staffing-slot.has-conflict .person-chip-role.wrangler.duty-target-reached{border-color:var(--warning);color:var(--warning)}.staffing-slot.has-conflict .staffing-assignee:hover .staffing-conflict-tip,.staffing-slot.has-conflict .staffing-assignee:focus-visible .staffing-conflict-tip{display:block}
.staffing-footer{display:flex;align-items:center;justify-content:flex-end;gap:7px;padding-top:8px;border-top:1px solid var(--rule-soft)}.staffing-footer p{margin:0 auto 0 0;color:var(--muted);font-size:var(--text-control)}.staffing-footer button{white-space:nowrap}
.model-roster-shell:not(.planning){grid-template-columns:1fr}.model-roster-shell #editType,.model-roster-shell #addShift{display:none}
.model-roster-filters,.duty-roster-filters{margin-bottom:8px}.filter-bar.model-roster-filters{grid-template-columns:repeat(4,minmax(140px,1fr))}.model-roster-count,.roster-filter-count{margin:0 0 18px;color:var(--muted);font-size:var(--text-control)}.model-roster-context{display:grid;align-items:start;gap:6px 12px;padding:0 12px 2px 0}.model-roster-summary{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;font-size:var(--text-control)}.model-roster-summary .model-type-tags,.model-roster-context .meta,.model-roster-context .compact-copy{margin:0}.model-roster-team,.model-direct-models{display:flex;flex-wrap:wrap;gap:5px}.model-roster-team .person-chip,.model-direct-models .person-chip{flex:0 0 132px;width:132px;height:36px}.model-roster-team .person-chip{opacity:.78}
.model-roster-context .compact-copy{grid-column:1/-1}.model-roster-context .compact-copy>div{padding:0;background:transparent;border:0}
.model-roster-shell .staffing-slots:not(.model-roster-compact-spots),.model-roster-assignments{display:grid;width:100%;gap:5px}.model-roster-shell .staffing-staff-row:has(>.roster-edit-shift),.model-roster-assignments:has(>.roster-edit-shift){position:relative}.model-roster-shell .staffing-staff-row>.roster-edit-shift,.model-roster-assignments>.roster-edit-shift{position:absolute;z-index:2;top:4px;right:8px}.model-roster-shell .staffing-staff-row:has(>.roster-edit-shift) .staffing-slots>:first-child .model-needed-criteria,.model-roster-shell .staffing-staff-row:has(>.roster-edit-shift) .staffing-slots>:first-child .model-roster-person-row,.model-roster-assignments:has(>.roster-edit-shift)>.model-roster-person-row:first-child{padding-right:94px}.staffing-slot.model-roster-assignment{display:block;flex:1 1 100%;width:100%;height:auto;min-height:50px;max-height:none}.operations-person-row{display:grid;grid-template-columns:76px minmax(0,1fr);gap:8px 10px;width:100%;min-width:0;background:var(--surface)}.staffing-slot.model-roster-assignment .model-roster-person-row{padding:6px 8px}.model-roster-assignments .model-roster-person-row{padding:6px 8px;border:1px solid var(--rule)}.operations-person-media{display:grid;align-content:start;gap:4px}.operations-person-media .model-roster-edit{min-height:22px;padding:3px 5px;background:var(--warning);border-color:var(--warning);color:#fff;font-size:9px;line-height:1}.operations-person-media .model-roster-edit:hover{background:#7b4610;border-color:#7b4610}.operations-person-content{display:grid;align-content:start;gap:5px;min-width:0}.model-roster-person-head{display:flex;align-items:center;gap:12px;min-width:0}.model-roster-person-name{display:flex;align-items:center;gap:6px;min-width:0}.model-roster-person-head .person-chip,.model-roster-person-head .staffing-assignee{flex:0 0 132px;width:132px}.model-roster-person-head .staffing-assignee{height:36px;border:1px solid var(--rule)}.model-roster-attendance{white-space:nowrap;color:var(--muted);font:600 9px/1.2 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.model-roster-attendance.checked{color:var(--success)}.model-roster-attendance.delayed{color:var(--warning)}.model-roster-attendance.no-show{color:var(--red)}.model-roster-show-time{color:var(--ink-2);font:600 10px/1.3 var(--font-mono);letter-spacing:.04em;text-transform:uppercase}.model-roster-copy{margin-top:2px}.model-roster-copy summary{width:max-content;color:var(--navy);font:600 9px/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.model-roster-copy .meta,.model-roster-prep{margin:6px 0 0;color:var(--muted);font-size:var(--text-control);line-height:1.4}.model-roster-prep b{color:var(--ink-2)}.model-roster-inline-editor{display:grid;gap:10px;padding-top:9px;border-top:1px solid var(--rule-soft)}.model-roster-time-fields{display:grid;grid-template-columns:repeat(3,minmax(0,180px));gap:8px}.model-roster-inline-editor label{display:grid;gap:5px;color:var(--muted);font:600 10.5px/1.25 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.model-roster-inline-editor input,.model-roster-inline-editor textarea{width:100%;font:500 var(--text-control)/1.4 var(--font-sans);letter-spacing:0;text-transform:none}.model-roster-inline-editor textarea{resize:vertical}.model-roster-inline-actions{display:flex;justify-content:flex-end;gap:6px}.staffing-slot.model-roster-open{grid-template-columns:132px minmax(0,1fr);place-items:stretch;width:100%;height:36px;padding:0;background:var(--surface);background-image:none;color:var(--ink);letter-spacing:0;text-align:left;text-transform:none;white-space:normal}.staffing-slot.empty.model-roster-open>.model-needed-pill{display:grid;place-items:center;padding:2px 5px;border-right:1px solid var(--rule);background-color:var(--paper-2);background-image:repeating-linear-gradient(135deg,transparent 0 6px,#6f6a5c3d 6px 8px);color:var(--muted);font:600 8px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.staffing-slot.empty.model-roster-open>.model-needed-criteria{display:grid;align-content:center;gap:2px;min-width:0;padding:3px 8px;background:var(--surface)}.model-needed-types{display:flex;align-items:center;gap:4px;min-width:0;overflow:hidden}.model-needed-types>span{flex:none;padding:1px 5px;border:1px solid var(--rule);color:var(--ink-2);font:400 9px/1.1 var(--font-mono);white-space:nowrap}.model-needed-preference{overflow:hidden;color:var(--muted);font:400 var(--text-caption)/1.15 var(--font-sans);text-overflow:ellipsis;white-space:nowrap}.roster-shift:not(.staffing-active) .model-roster-open:hover{border-color:var(--navy);background:var(--paper-2)}
.model-roster-concurrent{background:var(--surface)}.model-roster-concurrent.start{padding-bottom:5px;border-bottom:0}.model-roster-concurrent.continuation{padding:0;border-bottom:0}.model-roster-concurrent.continuation>.roster-time,.model-roster-concurrent.continuation .roster-primary,.model-roster-concurrent.continuation .model-roster-context,.model-roster-concurrent.continuation .model-roster-team{display:none}.model-roster-concurrent.continuation>.roster-detail{grid-column:2}.model-roster-concurrent .model-roster-summary,.model-roster-concurrent .model-roster-context>.compact-copy{display:none}.model-roster-concurrent.selected{box-shadow:none;padding-inline-start:0}.model-roster-concurrent.selected .staffing-slot,.model-roster-concurrent.selected .model-roster-assignments{box-shadow:inset 3px 0 var(--red)}
.staffing-slot.wrangler-roster-assignment{display:block;flex:1 1 100%;width:100%;height:auto;min-height:50px;max-height:none}.wrangler-roster-person-row{padding:6px 8px}.wrangler-roster-person-row .operations-person-content{justify-items:start;gap:6px}.wrangler-roster-person-row .staffing-assignee{width:132px;height:36px;border:1px solid var(--rule)}.wrangler-roster-person-row small{color:var(--muted);font-size:.75rem}.wrangler-shift-inline-editor{width:100%}.wrangler-shift-inline-editor .model-roster-time-fields{grid-template-columns:repeat(2,minmax(0,180px))}
.wrangler-shift-notes{margin-top:7px}.wrangler-shift-notes .meta,.wrangler-shift-notes .compact-copy{margin:0}.model-request-instructors{align-self:end}
.roster-actions button:disabled{opacity:.42;cursor:default;pointer-events:none}

@container roster-pane (max-width:760px){
  .roster-shift{grid-template-columns:128px minmax(0,1fr)}
  .roster-primary{grid-template-columns:minmax(0,1fr) 230px}
}
@container roster-pane (max-width:540px){
  .roster-shift{grid-template-columns:96px minmax(0,1fr)}
  .roster-primary{grid-template-columns:1fr}
  .roster-detail .roster-status{display:flex;align-items:center;flex-wrap:wrap;width:auto}
  .roster-status button{width:auto}
  .model-roster-person-head{align-items:flex-start;flex-direction:column;gap:6px}
  .model-roster-time-fields{grid-template-columns:1fr}
}

/* ---------- event setup and participation ---------- */

.annual-setup{max-width:1120px}
.annual-setup .hero{margin-bottom:24px}
.setup-identity{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;margin-top:20px;padding:14px 0;border-top:1px solid var(--rule-soft);color:var(--ink-2)}
.setup-identity b{color:var(--navy);font-size:16px}
.setup-event-label{font-size:12px;color:var(--muted)}
.annual-setup button,.annual-setup .button,.annual-setup label,.annual-setup legend,.annual-setup .lifecycle-consequences dt{font-family:var(--font-sans);letter-spacing:0;text-transform:none;font-size:14px}
.annual-setup button,.annual-setup .button{min-height:40px}
.setup-sheet{margin-top:0}
.setup-sheet [role="tabpanel"]:focus-visible,.annual-setup summary:focus-visible{outline:3px solid var(--red);outline-offset:4px}
.setup-band{display:grid;grid-template-columns:minmax(0,1fr);padding:28px 0 32px;border-top:1px solid var(--rule-soft)}
.setup-band:first-child{border-top:0}
.setup-band-body{min-width:0;max-width:820px}
.setup-band-heading{margin-bottom:20px}
.setup-band-heading h2{margin:0 0 5px;font:600 var(--text-section)/1.3 var(--font-sans);letter-spacing:-.02em}
.setup-band-heading p{margin:0;color:var(--muted);max-width:65ch}
.setup-band-body form{max-width:720px}
.setup-band-context{margin:0 0 14px;color:var(--ink-2)}
.setup-scope{border-left:3px solid var(--navy);padding:12px 16px;background:var(--paper-2)}
.setup-sample-note{margin:10px 0 0;max-width:65ch;color:var(--ink-2);font-size:14px}
.setup-invitation-actions{display:flex;flex-wrap:wrap;gap:10px}
.message-channel-controls{max-width:640px}
.message-channel-controls form{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}
.message-channel-controls p{margin:8px 0 0;color:var(--ink-2);font-size:13px}
.message-test-safety{max-width:960px;padding:20px;margin:20px 0;border:1px solid var(--rule);background:var(--surface)}
.message-test-safety[data-restricted="true"]{border-left:4px solid var(--red)}
.message-test-safety h2{font:600 var(--text-section)/1.3 var(--font-sans);margin:0}
.message-test-safety p{max-width:72ch;margin:0;color:var(--ink-2);font-size:14px}
.message-test-contacts{min-width:0;margin:6px 0;padding:0;border:0}
.message-test-contacts legend{padding:0 0 10px;font:600 var(--text-body)/1.4 var(--font-sans);letter-spacing:0;text-transform:none}
.message-test-search{display:grid;gap:6px;max-width:520px;color:var(--ink)}
.message-test-search input{width:100%;min-width:0}
.message-test-safety .message-test-search-status{margin:10px 0 6px;font-size:13px}
.message-test-search-help{display:block;margin-top:8px;color:var(--ink-2);font-size:13px}
.message-test-safety #messageTestSearchEmpty{margin-top:12px}
.message-test-people{max-height:360px;overflow-y:auto;overscroll-behavior:contain;border-block:1px solid var(--rule)}
.message-test-person{display:flex;align-items:center;gap:12px;min-height:40px;margin:0;padding:8px 10px;border-bottom:1px solid var(--rule-soft);cursor:pointer;color:var(--ink)}
.message-test-person:last-child{border-bottom:0}
.message-test-person:hover,.message-test-person:has(input:checked){background:var(--paper-2)}
.message-test-person input{flex:0 0 18px;width:18px;height:18px;margin:0;accent-color:var(--red)}
.message-test-person>span{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) 120px;align-items:center;gap:14px;flex:1;min-width:0;overflow-wrap:anywhere}
.message-test-person small{color:var(--ink-2);font-size:13px;font-weight:400}
.message-test-person:focus-within{outline:2px solid var(--red);outline-offset:-2px}
.message-test-status{border-left:4px solid var(--red);padding:10px 14px;background:var(--surface);font-size:14px}
.setup-test-notice{color:var(--red);font-weight:600}
.message-test-safety label,.message-test-safety button,.message-channel-controls label{font-family:var(--font-sans);letter-spacing:0;text-transform:none;font-size:14px}
.message-test-safety .toggle-control,.message-channel-controls .toggle-control{font:600 var(--text-control)/1.4 var(--font-sans)!important;letter-spacing:0!important}
@media(max-width:560px){.message-test-person>span{grid-template-columns:minmax(0,1fr);gap:2px}.message-test-telegram:empty{display:none}}
.profile-access-note{display:block;flex-basis:100%;max-width:42ch;color:var(--ink-2);font:400 var(--text-caption)/1.4 var(--font-sans);letter-spacing:0;text-transform:none;overflow-wrap:anywhere}
.setup-help{margin:18px 0 24px;border-block:1px solid var(--rule-soft);padding:12px 0}
.annual-setup summary{cursor:pointer;color:var(--navy);font-weight:600;min-height:28px}
.setup-help[open] summary{margin-bottom:16px}
.setup-create-event{border-top:1px solid var(--rule);padding:22px 0}
.setup-create-event>.setup-band{padding-bottom:0;border:0}
.annual-setup .checkpoint-panel .setup-band-heading p{color:var(--danger)}
.setup-band-config{margin-top:18px;padding-top:16px;border-top:1px solid var(--rule-soft)}
.public-form-list{display:grid;gap:1px;margin:0;padding:0;list-style:none;background:var(--rule-soft);border:1px solid var(--rule-soft)}
.public-form-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;padding:14px 16px;background:var(--surface)}
.public-form-id b{display:block;font-weight:600}
.public-form-id code{display:block;margin-top:4px;color:var(--navy);font:500 12px/1.4 var(--font-mono);overflow-wrap:anywhere}
.public-form-row>.status{align-self:start;justify-self:end}
.public-form-note{grid-column:1;margin:0;color:var(--muted)}
.public-form-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;padding-top:10px;border-top:1px solid var(--rule-soft)}
.status.form-open{color:var(--success)}
.status.form-closed{color:var(--muted);background:var(--paper-2)}
.participant-update-start button{margin-top:8px}
.setup-band.setup-lifecycle{border-top:2px solid var(--danger)}
.lifecycle-consequences{margin:0}
.lifecycle-consequences>div+div{margin-top:10px}
.lifecycle-consequences dt{color:var(--ink);font:600 11px/1.3 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}
.lifecycle-consequences dd{margin:3px 0 0;color:var(--ink-2)}
.lifecycle-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.checkpoint-create{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:16px 0}
.checkpoint-create input{min-width:0}
.checkpoint-list{border-top:1px solid var(--rule)}
.checkpoint-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--rule-soft)}
.checkpoint-row span,.checkpoint-row small{display:block;min-width:0}
.checkpoint-row small{margin-top:3px;color:var(--muted);font:600 10px/1.3 var(--font-mono);letter-spacing:.05em;text-transform:uppercase}
.checkpoint-row>div{display:flex;gap:6px;flex:none}.checkpoint-row button{padding:7px 10px}
.person-import-steps{display:grid;gap:9px;margin:0 0 18px;padding-left:22px;color:var(--ink-2)}
.person-import-steps li{padding-left:4px;line-height:1.45}.person-import-steps .button{margin:0}
.person-import-role-key{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0 0 16px;border:1px solid var(--rule-soft);background:var(--rule-soft)}
.person-import-role-key span{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:9px;padding:9px 11px;background:var(--surface)}
.person-import-role-key b{color:var(--red);font:700 13px/1 var(--font-mono)}
#personImportPreview{margin-top:18px}.person-import-errors{padding:14px 16px;border-left:4px solid var(--danger);background:rgba(136,1,1,.06);color:var(--danger)}
.person-import-errors ul{margin:8px 0 0;padding-left:20px}.person-import-summary{display:flex;flex-wrap:wrap;gap:8px 18px;padding:11px 0;border-block:1px solid var(--ink);color:var(--muted)}
.person-import-summary b{color:var(--ink)}.person-import-table{border-bottom:1px solid var(--rule)}
.person-import-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(170px,1.25fr) minmax(150px,1fr) 110px;gap:12px;align-items:start;padding:11px 8px;border-top:1px solid var(--rule-soft)}
.person-import-row.heading{padding-block:7px;color:var(--muted);font:600 10px/1.2 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.person-import-row span{min-width:0;overflow-wrap:anywhere}.person-import-row small{display:block;margin-top:3px;color:var(--muted)}
.person-import-row .import-warning{color:var(--warning)}.person-import-row i{color:var(--muted);font-style:normal}.person-import-apply{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:16px}.person-import-apply p{margin:0;color:var(--muted)}
/* ---------- messaging ---------- */

.hero.plain.message-hero{grid-template-columns:minmax(0,1fr) auto;align-items:end}
.message-tabs{display:flex;flex-wrap:wrap;align-self:start;justify-self:start;justify-content:flex-start}
.message-hero .message-tabs{grid-column:1/-1}
.message-tabs button{background:transparent;color:var(--muted);border:0;border-bottom:3px solid transparent;border-radius:0;padding:10px 16px}
.message-tabs button:hover{background:var(--paper-2);color:var(--ink)}
.message-tabs button[aria-selected="true"]{background:var(--surface);font-weight:700;color:var(--navy);border-bottom-color:var(--red)}
.message-tabs button:focus-visible{outline:2px solid var(--red);outline-offset:2px}

.message-library-context{padding:12px 0 20px}
.command-list-tools{display:flex;align-items:end;justify-content:flex-end;flex-wrap:wrap;gap:10px}
.command-day-filter{display:grid;gap:4px;font:500 var(--text-caption)/1.3 var(--font-sans);letter-spacing:0;text-transform:none}
.command-day-filter select{min-width:130px;padding:6px 10px}
.message-home-scope{margin:8px 0 12px;color:var(--ink-2);font-size:14px}
.message-home-settings{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 28px;padding:16px 0;border-block:1px solid var(--rule)}
.message-home-settings h2{flex:1 0 100%;margin:0 0 8px;font:600 var(--text-body)/1.4 var(--font-sans)}
.message-home-settings .message-channel-controls{max-width:none}
.message-home-settings .message-channel-controls small{display:block;margin-top:10px;color:var(--muted);font-size:12px}
.message-home-settings .quiet-hours{grid-column:auto;align-content:start;gap:6px 10px;margin:0;padding:0;border:0}
.message-home-settings .quiet-hours h2{margin-bottom:0;color:var(--ink)}
.message-home-settings .quiet-hours label{font:500 var(--text-caption)/1.3 var(--font-sans);letter-spacing:0;text-transform:none}
.message-home-settings .quiet-hours small{font:400 var(--text-caption)/1.4 var(--font-sans)}
.message-settings-help{grid-column:1/-1;color:var(--ink-2);font-size:13px}
.message-settings-help summary,.message-chart-table summary{width:fit-content;cursor:pointer;color:var(--navy);font-weight:600}
.message-settings-help summary:focus-visible,.message-chart-table summary:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.message-settings-help p{margin:8px 0 0;max-width:78ch}
.message-activity{padding:20px 0;border-top:1px solid var(--ink)}
.message-activity-heading{display:flex;justify-content:space-between;align-items:center;gap:12px 24px;flex-wrap:wrap}
.message-activity h2{margin:0;font:600 var(--text-section)/1.3 var(--font-sans)}
.message-activity-heading p{margin:6px 0 0;color:var(--ink-2);font-size:13px}
.message-chart-legend{display:flex;flex-wrap:wrap;gap:12px 24px}
.message-chart-legend>span{display:flex;align-items:center;gap:8px;font-size:14px}
.message-chart-legend i{width:12px;height:12px}
.message-chart-legend .email{background:var(--navy)}
.message-chart-legend .telegram{background:var(--red)}
.message-chart-scroll{overflow-x:auto;margin-top:20px}
.message-activity-chart{display:block;width:100%;min-width:680px;height:auto}
.message-activity-chart text{fill:var(--ink-2);font:12px var(--font-sans)}
.message-chart-grid{stroke:var(--rule-soft);stroke-width:1}
.message-chart-email{fill:var(--navy)}
.message-chart-telegram{fill:var(--red)}
.message-chart-note,.message-chart-empty{font-size:13px;color:var(--ink-2)}
.message-chart-empty{font-weight:600}
.message-chart-table{margin-top:14px;font-size:13px}
.message-chart-table table{max-width:520px;width:100%;margin-top:10px;border-collapse:collapse}
.message-chart-table th,.message-chart-table td{padding:6px 10px;border-bottom:1px solid var(--rule-soft);text-align:right}
.message-chart-table th:first-child{text-align:left}
@media(max-width:700px){.message-home-settings{grid-template-columns:minmax(0,1fr)}.message-settings-help{grid-column:auto}}

/* one control band: which shared library, and whether anything can actually send */
.message-context{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:0 26px;padding:13px 0 15px}
.message-library-switch{display:flex;width:max-content;border:1px solid var(--rule);background:var(--surface)}
.message-library-switch button{min-width:0;padding:7px 15px;background:transparent;color:var(--ink-2);border:0;border-radius:0;text-align:left;text-transform:none;letter-spacing:0;font:600 12.5px/1.25 var(--font-mono)}
.message-library-switch button+button{border-left:1px solid var(--rule)}
.message-library-switch button:hover{background:var(--paper-2);color:var(--ink)}
.message-library-switch button.on{background:var(--navy);color:#fff}
.message-library-name{display:grid;align-content:center;gap:3px}
.message-library-name b{font-size:1rem}

.quiet-hours{display:flex;align-items:end;flex-wrap:wrap;gap:8px 12px;grid-column:1/-1;margin:12px 0 0;padding-top:12px;border-top:1px solid var(--rule-soft)}
.quiet-hours .tag{align-self:center;color:var(--red)}
.quiet-hours fieldset{display:flex;align-items:center;gap:10px;min-width:0;margin:0;padding:0;border:0}
.quiet-hours legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.quiet-hours fieldset label{display:flex;align-items:center;gap:5px}
.quiet-hours fieldset input{margin:0;padding:0}
.quiet-hours label{display:grid;gap:4px}
.quiet-hours input{padding:4px 7px;font-family:var(--font-mono);font-size:var(--text-control)}
.quiet-hours button{padding:6px 11px}
.quiet-hours small{flex:1 1 100%;color:var(--muted);font-size:11.5px}
.message-delivery{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:0;padding:0;border:0;background:transparent;text-align:right}
.message-delivery>small{color:var(--muted);font-size:12.5px}
.toggle-control{position:relative;display:inline-flex!important;align-items:center;gap:8px;cursor:pointer;color:var(--ink)!important;font:600 12px/1 var(--font-mono)!important;letter-spacing:.06em!important;text-transform:uppercase}
.toggle-control input{position:absolute;width:1px;height:1px;opacity:0}
.toggle-control>span{position:relative;width:38px;height:20px;border:1px solid var(--rule);border-radius:12px;background:var(--paper-2);transition:background .15s ease-out,border-color .15s ease-out}
.toggle-control>span::after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:var(--muted);transition:transform .15s ease-out,background .15s ease-out}
.toggle-control input:checked+span{border-color:var(--success);background:var(--success)}
.toggle-control input:checked+span::after{transform:translateX(18px);background:#fff}
.toggle-control input:focus-visible+span{outline:3px solid rgba(153,27,27,.28);outline-offset:2px}
.toggle-control input:disabled+span{opacity:.5;cursor:wait}

.message-metrics{display:grid;grid-template-columns:repeat(3,minmax(90px,1fr)) minmax(210px,1.6fr);border-top:1px solid var(--rule);border-bottom:1px solid var(--ink);margin-bottom:22px}
.message-metrics>div{display:grid;align-content:start;gap:4px;min-width:0;padding:12px 20px 13px 0}
.message-metrics>div+div{padding-left:20px;border-left:1px solid var(--rule-soft)}
.message-metrics b{color:var(--navy);font:600 var(--text-dialog)/1 var(--font-sans);font-variant-numeric:tabular-nums}
.message-metrics span,.message-metrics small{font:600 9.5px/1.35 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}
.message-metrics span{color:var(--muted)}
.message-metrics small{color:var(--ink-2);letter-spacing:.04em;text-transform:none}

.message-workspace{display:grid;grid-template-columns:minmax(206px,240px) minmax(0,1fr);border-top:2px solid var(--ink)}
.message-index{align-content:start;min-width:0;padding:16px 18px 22px 0;border-right:1px solid var(--rule)}
.message-index-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px}
.message-index-head h2{display:flex;align-items:baseline;gap:8px;margin:0;font-size:1.15rem}
.message-index-head h2 span{font:600 11px/1 var(--font-mono);color:var(--muted)}
.message-index-head button{padding:6px 10px}
.message-index-list{border-top:1px solid var(--rule)}
.message-index-list>button{display:block;width:100%;padding:10px 10px 10px 12px;background:transparent;border:0;border-bottom:1px solid var(--rule-soft);border-radius:0;color:var(--ink);text-align:left;letter-spacing:0;text-transform:none}
.message-index-list>button:hover{background:var(--paper-2)}
.message-index-list>button.selected{background:var(--surface);box-shadow:inset 3px 0 var(--red)}
.message-index-list b,.message-index-list small{display:block}
.message-index-list b{font:600 var(--text-control)/1.3 var(--font-sans)}
.message-index-list small{margin-top:3px;color:var(--muted);font:600 10px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}
.message-index-list .empty{padding:16px 10px}
.message-index-foot{margin:0;padding-top:13px;color:var(--muted);font:600 10px/1.5 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}

.message-editor{min-width:0;padding:18px 0 46px 26px}
.message-editor-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding-bottom:12px;border-bottom:1px solid var(--ink)}
.editor-tools{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px 12px;flex:none}
.mode-switch{display:flex;border:1px solid var(--rule);background:var(--surface)}
.mode-switch button{padding:6px 15px;background:transparent;color:var(--muted);border:0;border-radius:0;font:600 10px/1.4 var(--font-mono);letter-spacing:.12em}
.mode-switch button+button{border-left:1px solid var(--rule)}
.mode-switch button:hover{background:var(--paper-2);color:var(--ink)}
.mode-switch button[aria-pressed="true"]{background:var(--navy);color:#fff}
.command-view-tabs{width:max-content;margin:22px 0 0}
.message-editor-heading .tag{color:var(--red)}
.message-editor-heading h2{margin-top:5px;font-size:1.5rem}
.message-editor-heading .template-status{margin-top:9px}
.audience-badge{flex:none;padding:5px 9px;border:1px solid var(--navy);color:var(--navy);font:600 10px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}

.message-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 212px;gap:26px;padding-top:18px;align-items:start}
.compose-fields{display:grid;gap:14px}
/* Write and Proof are one surface seen two ways, so the message keeps the full column */
.message-editor-grid[data-mode="write"] .email-preview{display:none}
.message-editor-grid[data-mode="proof"]{grid-template-columns:minmax(0,1fr)}
.message-editor-grid[data-mode="proof"] .compose-fields,.message-editor-grid[data-mode="proof"] .email-token-bank{display:none}
.message-editor form{min-width:0;grid-template-columns:minmax(0,1fr)}
.template-delivery{display:grid;gap:12px;margin:18px 0 8px;padding:14px;border:1px solid var(--rule);background:var(--paper-2)}
.template-delivery legend{padding:0 7px;color:var(--red);font:600 10px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}
.template-delivery-grid{display:grid;grid-template-columns:minmax(150px,1fr) minmax(210px,1fr);gap:12px}
.template-delivery-grid label{display:grid;align-content:start;gap:6px;color:var(--muted);font:600 10px/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
.template-channel-field{display:grid;align-content:start;gap:6px;color:var(--muted);font:600 10px/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.template-channel-options{display:flex;align-items:center;gap:8px}.template-channel-options label{display:flex;align-items:center;gap:6px;min-height:38px;padding:0 12px;border:1px solid var(--rule);background:var(--surface);color:var(--ink);font:600 var(--text-control)/1 var(--font-sans);letter-spacing:0;text-transform:none}.template-channel-options input{width:16px;height:16px;margin:0;padding:0;accent-color:var(--navy)}
.template-delay-control{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;letter-spacing:0;text-transform:none}.template-delay-control input{width:90px}
.template-trigger-options{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px}.template-trigger-options>span{color:var(--muted);font:600 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.template-trigger-options label{display:flex;align-items:center;gap:6px;font-size:var(--text-control)}.template-trigger-options input{width:16px;height:16px;margin:0;padding:0;accent-color:var(--navy)}
.template-delivery small{color:var(--muted);font-size:.76rem;line-height:1.4}
.message-form-foot{display:flex;align-items:end;justify-content:flex-end;gap:14px;padding-top:6px}
.message-form-foot label:not(.toggle-control){display:grid;gap:6px}
.message-form-foot select{min-width:170px}
.message-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}

.message-history{border-top:2px solid var(--ink);padding:18px 0 46px}
.message-history.empty{text-align:left}
.message-history.empty h2{margin-bottom:5px;font-size:1.35rem}
.message-history-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:14px}
.message-history-heading h2{margin-top:4px;font-size:1.5rem}
.message-history-heading p{margin:0;color:var(--muted)}
.message-history-list{border-top:1px solid var(--rule)}
.message-history-item{border-bottom:1px solid var(--rule)}
.message-history-item>summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 12px;cursor:pointer;list-style:none}
.message-queue-item>header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 12px}
.message-history-item>summary::-webkit-details-marker{display:none}
.message-history-item>summary:hover{background:var(--paper-2)}
.message-history-item>summary>span:first-child{min-width:0}
.message-history-item summary b,.message-history-item summary small{display:block}
.message-history-item summary small{margin-top:4px;color:var(--muted)}
.message-queue-item header b,.message-queue-item header small{display:block}
.message-queue-item header small{margin-top:4px;color:var(--muted)}
.message-history-counts{flex:none;text-align:right}
.message-history-counts em{font-style:normal;font-weight:600}
.message-history-item>div{border-top:1px solid var(--rule-soft);background:var(--surface)}
.message-history-recipient{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 18px;padding:10px 12px;border-bottom:1px solid var(--rule-soft)}
.message-history-recipient:last-child{border-bottom:0}
.message-history-recipient span:first-child b,.message-history-recipient span:first-child small{display:block}
.message-history-recipient small{color:var(--muted)}
.message-history-error{grid-column:1/-1;color:var(--red)!important}
.delivery-status{padding:5px 8px;border:1px solid var(--rule);font:600 9px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}
.delivery-status.sent{color:var(--success);border-color:var(--success)}
.delivery-status.failed{color:var(--red);border-color:var(--red)}
.delivery-status.canceled{color:var(--muted)}

/* placeholders sit under the writing surface, where the cursor already is */
.email-token-bank{position:sticky;top:80px;min-width:0;border:1px solid var(--rule);background:var(--paper-2)}
.token-bank-head{display:grid;gap:4px;padding:9px 11px;border-bottom:1px solid var(--rule)}
.token-bank-head .tag{flex:none;color:var(--red)}
.token-bank-head p{margin:0;color:var(--muted);font-size:11px;line-height:1.4}
.email-token-groups{max-height:min(58vh,520px);overflow:auto;overscroll-behavior:contain}
.email-token-group{border-bottom:1px solid var(--rule-soft)}
.email-token-group:last-child{border-bottom:0}
.email-token-group summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 11px;color:var(--ink);font:600 10px/1.2 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;list-style:none}
.email-token-group summary::-webkit-details-marker{display:none}
.email-token-group summary:hover{background:var(--surface)}
.email-token-group summary::before{content:"▸";margin-right:2px;color:var(--red);font-size:9px}
.email-token-group[open] summary::before{content:"▾"}
.email-token-group summary span{margin-left:auto;color:var(--muted)}
.email-token-group>div{display:grid;gap:4px;padding:1px 9px 9px}
.email-repeat-block p{margin:2px 0 5px;color:var(--muted);font-size:var(--text-control);line-height:1.4}
.email-token{width:100%;text-align:left;overflow-wrap:anywhere;padding:4px 7px;background:var(--surface);border:1px solid var(--rule);border-radius:2px;color:var(--navy);font:500 10.5px/1.3 var(--font-mono);letter-spacing:0;text-transform:none}
.email-token:hover{background:var(--navy);border-color:var(--navy);color:#fff}

/* the proof: what the recipient actually receives */
.email-preview{min-width:0}
.email-sheet{max-width:840px}
.email-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:9px}
.email-preview-head .tag{color:var(--red)}
.email-preview-head button{padding:5px 9px;font-size:10px}
.email-preview-tools,.email-preview-pager{display:flex;align-items:center;gap:7px}
.email-preview-pager[hidden]{display:none}
.email-preview-pager span{min-width:92px;text-align:center;color:var(--muted);font:600 9.5px/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
.email-sheet{background:var(--surface);border:1px solid var(--rule);border-top:2px solid var(--navy);box-shadow:3px 4px 14px rgba(23,33,43,.09)}
/* Proof-only example values are clearly distinguished from actual recipient data. */
.email-preview[data-sample="true"] .email-sheet{border-top-color:#d9ba81}
.email-preview[data-sample="true"] .email-sheet::before{content:"Preview includes illustrative values · not sent";display:block;padding:7px 16px;background:#fff4db;color:#65410e;border-bottom:1px solid #d9ba81;font:600 10px/1.4 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}
.email-sheet-meta{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:baseline;padding:9px 16px;border-bottom:1px solid var(--rule-soft)}
.email-sheet-meta>span{color:var(--muted);font:600 9.5px/1.5 var(--font-mono);letter-spacing:.14em;text-transform:uppercase}
.email-sheet-meta>b{min-width:0;font:600 var(--text-body)/1.4 var(--font-sans);overflow-wrap:anywhere}
.email-sheet-meta:first-child>b{color:var(--ink-2);font-weight:400;font-size:var(--text-control)}
.email-preview-recipient{margin:0}
.email-sheet-body{max-height:560px;overflow:auto;overscroll-behavior:contain;padding:17px 16px 20px;color:var(--ink-2);font-size:14.5px;line-height:1.65;overflow-wrap:anywhere}

/* an automation reads as one sentence, so it is edited as one sentence */
.message-workspace.solo{grid-template-columns:minmax(0,1fr)}
.message-workspace.solo .message-editor{padding-left:0}
.rule-name{max-width:940px;margin:18px 0 0}
.rule-name label{display:block;color:var(--muted)}
.rule-name input{width:100%;max-width:none;margin-top:4px;padding:8px 0;border:0;border-bottom:1px solid var(--rule);background:transparent;color:var(--ink);font:600 var(--text-section)/1.3 var(--font-sans)}
.rule-name input:hover{border-bottom-color:var(--navy)}
.rule-name input:focus-visible{outline:0;border-bottom-color:var(--red)}
.rule-sentence{display:flex;flex-wrap:wrap;align-items:center;gap:9px;max-width:940px;margin:18px 0 0;padding:18px 20px;border:1px solid var(--rule);border-top:2px solid var(--navy);background:var(--surface);font:400 var(--text-body)/1.7 var(--font-sans);color:var(--ink)}
.rule-word{color:var(--ink-2)}
.rule-fixed{padding-bottom:2px;border-bottom:2px solid var(--rule);font-weight:600}
.rule-part{display:inline-flex;flex-wrap:wrap;align-items:center;gap:9px}
.rule-part[hidden]{display:none}
.rule-break{flex-basis:100%;height:0}
.rule-sentence select,.rule-sentence input{min-width:0;max-width:min(100%,330px);text-overflow:ellipsis;padding:4px 7px;border:0;border-bottom:2px solid var(--red);border-radius:0;background:transparent;color:var(--navy);font:600 var(--text-body)/1.4 var(--font-sans)}
.rule-sentence select:hover,.rule-sentence input:hover{background:var(--paper-2)}
.rule-sentence input[type=number]{width:64px;text-align:center;font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.rule-sentence input[type=time]{font-family:var(--font-mono);font-size:var(--text-body)}
.automation-filter-builder{flex:1 0 100%;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:5px 12px;margin:2px 0}
.rule-where{grid-column:1;grid-row:1;padding-top:5px}
.rule-where[hidden]{display:none}
#automationFilterRows{grid-column:2;grid-row:1;display:grid;gap:3px;min-width:0}
#automationFilterRows:empty{display:none}
/* Each filter reads as a clause of the same sentence, not a control panel. */
.rule-clause{display:flex;align-items:center;flex-wrap:wrap;gap:5px 9px;min-width:0;padding:3px 0}
.rule-clause-name{flex:none;white-space:nowrap}
.rule-clause-values{display:flex;align-items:center;flex-wrap:wrap;gap:5px;min-width:0}
.rule-clause-remove{flex:none;min-height:24px;margin-left:2px;padding:0 6px;background:transparent;color:var(--muted);border:0;font-size:15px;line-height:1}
.rule-clause-remove:hover{background:transparent;color:var(--red)}
.automation-filter-chip{display:inline-flex;align-items:stretch;min-height:29px;overflow:hidden;padding:0;border:1px solid var(--rule);border-radius:0;background:var(--surface);color:var(--ink);font:600 var(--text-caption)/1.25 var(--font-sans);letter-spacing:0;text-align:left;text-transform:none}
.automation-filter-chip:hover{background:var(--surface);border-color:var(--red);color:var(--ink)}
.automation-filter-chip .person-chip-role{align-self:stretch;min-width:22px;margin:0}
.automation-filter-label{align-self:center;padding:4px 6px}
.automation-filter-x{align-self:center;padding:4px 6px 4px 2px;color:var(--muted)}
.rule-sentence .rule-clause select{width:auto;max-width:150px;padding:2px 4px;border-bottom:1px dashed var(--rule);color:var(--muted);font-size:var(--text-control)}
.rule-sentence .rule-clause select:hover{border-bottom-color:var(--red);color:var(--navy)}
.rule-sentence #automationAddFilter{grid-column:2;grid-row:2;justify-self:start;max-width:220px;margin-top:2px;padding:2px 5px;border-bottom-style:dashed;font-size:var(--text-control)}
.automation-trigger-mode{grid-column:1/-1;max-width:280px}
.automation-trigger-detail{display:grid;gap:10px;min-width:0;padding:12px 14px;border:1px solid var(--rule-soft);background:var(--surface)}
.automation-trigger-detail+.automation-trigger-detail{margin-top:10px}
.automation-detail-label,.automation-filter-heading{color:var(--ink-2);font:500 var(--text-control)/1.4 var(--font-sans);letter-spacing:0;text-transform:none}
.automation-choice-field{display:grid;align-content:start;gap:6px;min-width:0}
.automation-choice-title{color:var(--muted);font:500 var(--text-control)/1.4 var(--font-sans);letter-spacing:0;text-transform:none}
.automation-check-list{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;min-height:42px;padding:9px 10px;border:1px solid var(--rule);background:var(--surface)}
.automation-check-list label{display:flex;align-items:center;gap:7px;color:var(--ink);font:600 var(--text-control)/1.25 var(--font-sans);letter-spacing:0;text-transform:none}
.automation-check-list input{width:16px;height:16px;margin:0;padding:0;accent-color:var(--navy)}
.automation-recipients .automation-filter-builder{padding-top:11px;border-top:1px solid var(--rule-soft)}
.automation-recipients .rule-clause select{width:auto;max-width:180px;padding:5px 7px;color:var(--ink-2);font-size:var(--text-control)}
.automation-recipients #automationAddFilter{grid-column:2;grid-row:2;justify-self:start;width:auto;max-width:220px;padding:6px 8px;color:var(--navy);font-size:var(--text-control)}

.automation-summary{max-width:940px;margin-top:20px;padding:16px 18px;border:1px solid var(--rule);border-top:2px solid var(--red);background:var(--paper-2)}
/* A rule that matches nothing is the most important fact on the page, so the panel says so. */
.automation-summary:has(.is-blocking){border-color:#d9ba81;border-top-color:var(--warning);background:#fff9ec}
#automationCoverage>p:first-child{margin:0;color:var(--ink);font:400 var(--text-body)/1.35 var(--font-sans)}
#automationCoverage>p:first-child b{font:500 1.5rem/1 var(--font-mono);color:var(--navy);font-variant-numeric:tabular-nums;vertical-align:-2px}
#automationCoverage.is-blocking>p:first-child b{color:var(--warning)}
.automation-summary .tag{color:var(--red)}
.automation-summary p{margin:9px 0 0;color:var(--ink);font-size:1rem;line-height:1.55}
#automationCoverage{margin-top:12px;padding-top:10px;border-top:1px solid var(--rule)}
#automationCoverage p{margin:4px 0}
.automation-note{display:flex;align-items:baseline;gap:9px;margin-top:11px;color:var(--ink-2);font:600 var(--text-caption)/1.5 var(--font-sans)}
.automation-note::before{content:"";flex:none;align-self:center;width:6px;height:6px;background:var(--success)}
.automation-warning{display:flex;align-items:baseline;gap:9px;margin-top:11px;color:var(--warning);font:600 var(--text-caption)/1.5 var(--font-sans)}
.automation-warning[hidden]{display:none}
.automation-warning::before{content:"";flex:none;align-self:center;width:6px;height:6px;background:currentColor}
#automationParticipants{margin-top:12px;padding-top:10px;border-top:1px solid var(--rule)}
#automationParticipants summary{cursor:pointer;color:var(--navy);font:600 11px/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
.automation-participant-list{max-height:360px;overflow:auto;margin-top:10px;border:1px solid var(--rule)}
.automation-participant-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:9px 11px;border-bottom:1px solid var(--rule-soft)}
.automation-participant-row:last-child{border-bottom:0}
.automation-participant-row span,.automation-participant-row small{display:block}
.automation-participant-row small{color:var(--muted)}
.automation-participant-row em{color:var(--muted);font-size:.75rem;font-style:normal}
.automation-participant-row.excluded{background:var(--paper-2)}
.automation-participant-list h4{margin:0;padding:8px 11px;background:var(--paper-2);font-size:var(--text-control)}
.hero.plain.location-hero{grid-template-columns:minmax(0,1fr) auto;align-items:end}.location-hero-actions{display:flex;gap:8px;align-self:end;justify-self:end}
.location-directory{margin-top:30px}
.place-picker{width:100%;min-width:0}
.location-detail-page{padding-top:28px}.location-detail-page>.modal-heading{position:static;top:auto;margin:0 0 20px;padding:0 0 18px;border-bottom:2px solid var(--ink);background:transparent}.location-detail-page>.modal-heading h2{font-size:clamp(2rem,4vw,3.5rem)}.location-back{align-self:start;white-space:nowrap}
.venue-list{display:grid;gap:26px}.unmapped-places+.venue-list{margin-top:22px}.venue-group.inactive{opacity:.62}.venue-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 20px;align-items:end;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--ink)}.venue-heading>div:first-child{flex:1 1 260px;min-width:0;overflow-wrap:anywhere}.venue-heading h3{margin:3px 0}.venue-heading small{color:var(--muted)}.venue-address{display:flex;align-items:center;gap:4px}.venue-heading-actions{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;gap:8px 12px;max-width:100%}.venue-heading-actions button{white-space:nowrap}.venue-heading-actions>span{color:var(--muted);font:600 .75rem/1.3 var(--font-mono);white-space:nowrap}
.location-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.location-card{display:block;min-width:0;padding:14px;text-align:left;background:var(--paper);border:1px solid var(--rule);color:var(--ink);letter-spacing:0;text-transform:none}
.location-card[hidden]{display:none}
.location-card:hover{background:var(--paper-2);border-color:var(--navy)}.location-card.inactive{opacity:.62}
.location-card b,.location-card small{display:block;overflow-wrap:anywhere}.location-card small{margin-top:4px;color:var(--muted);font-weight:400}
.unmapped-places{padding:16px;border:1px solid var(--red);background:var(--paper)}.unmapped-places h3{margin:0 0 10px}.unmapped-places form{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(260px,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--rule-soft)}.unmapped-places span small{display:block;color:var(--muted)}
.sub-location-editor{margin-top:24px;padding-top:20px;border-top:1px solid var(--rule)}.sub-location-editor>div{margin-bottom:12px}.sub-location-editor p{margin:4px 0;color:var(--muted)}
.sub-location-editor form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto;gap:12px;align-items:end;margin-top:12px}.sub-location-editor #addSubLocation{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.sub-location-editor input,.sub-location-editor select,.sub-location-editor textarea{min-width:0;max-width:100%}.sub-location-editor form>label{min-width:0}.sub-location-editor form>button{white-space:nowrap}.sub-location-editor .toggle-control{align-self:center}
.sub-location-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.sub-location-heading h4{margin:0;min-width:0;overflow-wrap:anywhere}.sub-location-heading span{color:var(--muted);font:600 9px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}
.sub-location-actions{margin:8px 0}.sub-location-actions>summary,.location-merge>summary{width:max-content;color:var(--navy);font:600 10px/1.3 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.sub-location-actions>div{display:flex;align-items:end;gap:8px;flex-wrap:wrap;padding:10px 0}.sub-location-actions .sub-location-edit{flex:1 1 100%;align-items:end;margin:0}.sub-location-actions .sub-location-edit label:not(.toggle-control){display:grid;gap:6px}.sub-location-actions .sub-location-move{flex:1 1 520px;grid-template-columns:minmax(240px,1fr) auto;align-items:end;margin:0;padding:10px;background:var(--paper-2)}.sub-location-move label{display:grid;gap:6px}.sub-location-move button{justify-self:stretch}
.sub-location-item{padding-bottom:12px;border-bottom:1px solid var(--rule-soft)}.sub-location-uses{margin:8px 0 0 16px;border-top:1px solid var(--rule-soft)}.sub-location-uses>span{display:block;padding:8px 8px 3px;color:var(--muted);font:600 9px/1.2 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.sub-location-uses .location-use-row{padding-block:8px}
.location-usage{margin-top:24px;padding-top:20px;border-top:1px solid var(--rule)}.location-usage>div:first-child{margin-bottom:12px}.location-usage p{margin:4px 0;color:var(--muted)}
.location-use-list{border-block:1px solid var(--rule)}.location-use-row{display:grid;grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;padding:10px 8px;background:transparent;border:0;border-bottom:1px solid var(--rule-soft);color:var(--ink);text-align:left;letter-spacing:0;text-transform:none}.location-use-row:last-child{border-bottom:0}.location-use-row:hover{background:var(--paper-2)}
.location-use-row b,.location-use-row small{display:block}.location-use-row small{margin-top:2px;color:var(--muted);font-weight:400}.location-use-row>strong{color:var(--navy);font:600 10px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.location-use-kind{font:600 10px/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.location-merge{margin-top:24px;padding-top:20px;border-top:1px solid var(--rule)}.location-merge[open]>summary{margin-bottom:14px}.location-merge p{margin:4px 0;color:var(--muted)}
.location-merge form{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:end;margin-top:14px}.location-merge label{display:grid;gap:6px}.location-merge select{min-width:0;width:100%}
.location-merge-body>#deleteLocation{margin-top:14px}
.role-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,190px) minmax(150px,200px);align-items:end;gap:12px;margin-top:14px;padding:14px 0;border-bottom:1px solid var(--rule)}
.role-form>label{grid-column:2;display:grid;gap:6px;min-width:0}.role-form select{min-width:0;width:100%}.role-form button{grid-column:3;justify-self:stretch;width:100%;margin-bottom:0}
.role-options{display:flex;flex-wrap:wrap;gap:6px 12px;min-width:0;margin:0;padding:0;border:0}
.role-options legend{margin-bottom:7px;color:var(--muted);font:500 var(--text-control)/1.4 var(--font-sans);letter-spacing:0;text-transform:none}
.role-options label{display:flex;align-items:center;gap:5px;color:var(--ink);font:500 var(--text-control)/1.4 var(--font-sans);letter-spacing:0;text-transform:none;white-space:nowrap}
.role-options input{width:16px;height:16px;margin:0;padding:0;accent-color:var(--navy)}
.role-form .role-options{grid-column:1;display:flex;flex-wrap:wrap;gap:6px}.role-form .role-options legend{width:100%;margin-bottom:1px}.role-form .role-options label{position:relative;justify-content:center;padding:6px 9px;border:1px solid var(--rule);border-radius:999px;background:var(--surface);font-size:var(--text-control);line-height:1.3;white-space:nowrap;cursor:pointer}.role-form .role-options label:has(input:checked){background:var(--navy);border-color:var(--navy);color:#fff}.role-form .role-options label:has(input:focus-visible){outline:2px solid var(--red);outline-offset:2px}.role-form .role-options input{position:absolute;width:1px;height:1px;opacity:0}
.role-scope-help{display:block;color:var(--muted)}.role-form>.role-scope-help{grid-column:1/-1;margin-top:-4px}
.person-role-field{padding-top:2px}.person-role-field .role-options{gap:9px 18px}.person-role-field small{color:var(--muted)}
.filter-bar{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr)) auto;gap:12px;align-items:end;margin:8px 0 28px;padding:16px 0;border-block:1px solid var(--rule)}
.instructor-overview-filters{grid-template-columns:repeat(3,minmax(150px,1fr)) auto;margin-bottom:0}
.filter-bar.duty-roster-filters{grid-template-columns:repeat(4,minmax(120px,1fr)) auto}
.filter-bar.profile-schedule-filters{grid-template-columns:repeat(4,minmax(120px,1fr)) auto}
.filter-bar label{display:grid;gap:6px;font:500 var(--text-control)/1.4 var(--font-sans);letter-spacing:0;text-transform:none;color:var(--muted)}
.filter-bar input,.filter-bar select{min-width:0;width:100%;font:400 var(--text-control)/1.3 var(--font-sans);text-transform:none;letter-spacing:0;color:var(--ink)}
.people-filters{grid-template-columns:minmax(220px,2fr) repeat(3,minmax(140px,1fr)) auto}
.audit-filters{grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(120px,1fr)) repeat(2,minmax(140px,1fr)) auto}
.audit-log-list{scroll-margin-top:24px;border-block:1px solid var(--ink)}
.audit-entry{border-bottom:1px solid var(--rule-soft)}.audit-entry:last-child{border-bottom:0}
.audit-entry>summary .audit-summary-title{margin-left:18px;font:600 var(--text-control)/1.5 var(--font-sans);overflow-wrap:anywhere}.audit-entry>summary time{white-space:nowrap}
.audit-entry>summary{min-height:38px;padding:9px 10px;cursor:pointer;color:var(--ink);font:500 14px/1.4 var(--font-mono);font-variant-numeric:tabular-nums}
.audit-entry>summary:hover,.audit-entry[open]>summary{background:var(--paper-2)}.audit-entry[open]>summary{border-bottom:1px solid var(--rule-soft)}
.audit-entry-body{padding:12px 32px 14px}.audit-entry-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:7px}
.audit-entry-heading .meta,.audit-entry-field .meta{color:var(--muted);font:500 10px/1.4 var(--font-mono);letter-spacing:.04em;text-transform:uppercase}.audit-entry-heading .meta{flex:none}
.audit-entry-field{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr);gap:16px;padding:5px 0;border-top:1px solid var(--rule-soft);font-size:14px}
.audit-pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:12px}.audit-pagination span{min-width:92px;color:var(--muted);font:600 10px/1 var(--font-mono);letter-spacing:.06em;text-align:center;text-transform:uppercase}
.people-alpha{display:grid;grid-template-columns:52px repeat(26,minmax(25px,1fr));gap:3px;margin:-14px 0 24px}
.people-alpha button{min-width:0;min-height:36px;padding:7px 0;background:transparent;color:var(--muted);border-color:var(--rule);letter-spacing:0}
.people-alpha button:hover,.people-alpha button.on{background:var(--navy);border-color:var(--navy);color:var(--surface)}
.people-alpha button:disabled{opacity:.32;cursor:default}.people-alpha button:disabled:hover{background:transparent;border-color:var(--rule);color:var(--muted)}
.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:8px;margin-top:16px}
.people-more{display:flex;align-items:center;justify-content:center;gap:12px;padding:20px 4px}.people-more span{color:var(--muted);font:600 10px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}
.application-kind-tabs{width:max-content;margin:22px 0 0}.filter-bar.application-filters{display:flex;flex-wrap:wrap;gap:12px 18px;margin-bottom:16px}.application-filters>label{flex:0 1 210px;min-width:150px}.application-review-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px}.application-review-list>.empty,.application-review[open]{grid-column:1/-1}.application-review{min-width:0;border:1px solid var(--rule);background:var(--surface)}.application-review[open]{border-color:var(--navy)}.application-review>summary{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:14px;min-height:104px;padding:12px;list-style:none;cursor:pointer}.application-review>summary::-webkit-details-marker{display:none}.application-review>summary:hover,.application-review[open]>summary{background:var(--paper-2)}.application-review>summary img,.application-initial{display:grid;place-items:center;width:58px;height:58px;object-fit:cover;background:var(--navy);color:#fff;font:600 20px/1 var(--font-mono)}.application-summary-copy{min-width:0}.application-summary-name{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 8px}.application-summary-name b{overflow-wrap:anywhere}.application-new-contact{font:400 var(--text-caption)/1.4 var(--font-sans);color:var(--muted)}.application-review summary small{display:block;overflow-wrap:anywhere}.application-summary-copy>.status{display:inline-block;margin-top:6px}.application-review>summary:focus-visible{outline:3px solid var(--red);outline-offset:2px}.application-review summary small{margin-top:3px;color:var(--muted)}.application-history{margin:4px 0 0;color:var(--ink-2);font-size:var(--text-control)}.application-history .person-name{min-height:0;padding:0;border:0;background:transparent;color:var(--navy);font:inherit;letter-spacing:0;text-transform:none}.application-review-body{padding:16px 82px 22px}.application-contact{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin-bottom:14px}.application-contact a{color:var(--navy)}.application-contact span{font:600 10px/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.application-contact .verified{color:var(--success)}.application-contact .pending{color:var(--warning)}.application-answer-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:0;border-top:1px solid var(--rule-soft)}.application-answer-list>div{padding:10px 0;border-bottom:1px solid var(--rule-soft)}.application-answer-list dt{color:var(--muted);font:500 var(--text-control)/1.4 var(--font-sans);letter-spacing:0;text-transform:none}.application-answer-list dd{margin:4px 0 0;white-space:pre-line;overflow-wrap:anywhere}.application-delivery{margin:8px 0;color:var(--muted);font-size:var(--text-control)}.application-delivery.error{color:var(--danger)}
.application-page-tools{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:22px}
.application-page-tools .application-kind-tabs{margin:0}
.hero.application-heading,.hero.contacts-heading{display:block}
.application-title-row,.page-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap}
.application-title-row h1,.page-title-row h1{margin:0;min-width:0}
.application-title-row>.button,.page-title-row>.button{flex:none;margin-left:auto}
.application-review .application-summary-contact{display:flex;flex-wrap:wrap;gap:2px 12px}
.application-summary-contact>span{min-width:0;overflow-wrap:anywhere}
.application-review>summary.application-summary-compact{--application-meta-height:24px;align-items:center;gap:8px;min-height:0;padding:8px}
.application-summary-compact>.application-summary-copy{display:grid;gap:6px}
.application-summary-compact>img,.application-summary-compact>.application-initial{grid-row:1}
.application-review>summary.application-summary-compact{grid-template-columns:58px minmax(0,1fr)}
.application-review>summary.application-summary-compact>img,.application-review>summary.application-summary-compact>.application-initial{width:58px;height:58px}
.application-summary-footer{display:flex;align-items:center;gap:4px;min-width:0;font-size:var(--text-caption);color:var(--muted)}
.application-summary-footer>.status{display:inline-flex;flex:none;justify-content:center;min-width:58px;height:var(--application-meta-height);box-sizing:border-box;white-space:nowrap;padding:0 4px;gap:4px;letter-spacing:.04em}
.application-summary-footer>span:not(.status){overflow-wrap:anywhere}
.application-summary-compact .application-summary-name{display:flex;align-items:baseline;flex-wrap:nowrap;gap:8px}
.application-summary-compact .application-summary-name b{flex:1;min-width:0}
.application-new-badge{flex:none;margin-left:auto;padding:0 3px;border:1px solid var(--red);color:var(--red);font:500 var(--text-caption)/1.2 var(--font-sans)}
.application-summary-phone{display:flex;align-items:center;gap:4px;min-width:0}
.application-summary-phone>span{min-width:0;overflow-wrap:anywhere}
.application-email-icon{display:inline-flex;flex:none;justify-content:center;align-items:center;width:var(--application-meta-height);height:var(--application-meta-height);box-sizing:border-box;padding:0;border:1px solid var(--rule);font:400 15px/1 var(--font-sans);color:var(--navy);text-decoration:none}
.application-email-icon:hover{background:var(--paper-2);border-color:var(--navy)}
.application-contact-link{display:inline;padding:0;border:0;min-height:0;background:none;color:var(--navy);text-decoration:underline;font:400 var(--text-caption)/1.4 var(--font-sans);letter-spacing:0;text-transform:none}
.application-contact-link:hover{background:none;color:var(--red)}
.application-contact-link.application-contact-name{font:inherit;text-align:left;overflow-wrap:anywhere}
.identity-saved-contact{margin:16px 0;padding:12px 16px;border-left:3px solid var(--navy);background:var(--paper-2)}
.identity-saved-contact h3{margin:0 0 6px;font:600 var(--text-control)/1.4 var(--font-sans)}
.identity-saved-contact p{margin:4px 0 0;overflow-wrap:anywhere}
#applicationIdentityForm>.field{display:block;margin:16px 0}
#applicationIdentityForm>.field input,#applicationIdentityForm>.field select{display:block;width:100%;margin-top:6px}
#applicationIdentityForm .identity-confirmation{display:flex;align-items:flex-start;gap:10px;margin:20px 0;font:500 var(--text-control)/1.5 var(--font-sans);text-transform:none;letter-spacing:0}
#applicationIdentityForm .identity-confirmation input{flex:0 0 18px;width:18px;height:18px;min-height:0;margin:2px 0 0;padding:0;accent-color:var(--red)}
.application-contact-record .application-contact-photo{width:128px;height:128px;object-fit:cover}
.application-filter-panel>.field{display:block;margin:12px 0}
.application-filter-panel>.field input{width:100%}
.application-summary-tools{display:none}
.application-review[open]>summary{grid-template-columns:58px minmax(0,1fr) auto}
.application-review[open] .application-summary-tools{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:290px}
.application-summary-tools .button,.application-review-toolbar button{font-size:var(--text-control);padding:6px 10px;min-height:32px}
.application-review-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin-bottom:14px}
.application-review-toolbar .application-review-navigation{margin:0}
.application-review-decisions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:6px;border:1px solid var(--rule);background:var(--surface)}
.application-review-decisions:empty{display:none}
.application-review-body>.application-answer-list{clear:both}
@media(max-width:720px){.application-review[open]>summary{grid-template-columns:58px minmax(0,1fr)}.application-review[open] .application-summary-tools{grid-column:2;justify-content:flex-start;max-width:none}}
.application-review-workspace{display:grid;grid-template-columns:minmax(0,1fr) clamp(320px,27vw,380px);align-items:start;gap:24px;margin-top:20px}
.application-filter-panel{grid-column:2;grid-row:1;min-width:0;padding:18px;background:var(--surface);border:1px solid var(--rule);border-top:3px solid var(--red)}
.application-filter-panel>h2{margin:0 0 16px;font:600 var(--text-section)/1.3 var(--font-sans);color:var(--navy)}
.application-filter-panel .application-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 16px;padding:0 0 16px;border-top:0}
.application-filter-panel .application-filters>label{min-width:0;font:500 var(--text-control)/1.4 var(--font-sans);letter-spacing:0;text-transform:none}
.application-filter-panel select{width:100%;min-width:0;padding-inline:8px;font:400 var(--text-control)/1.4 var(--font-sans)}
.application-results{grid-column:1;grid-row:1;min-width:0}
.application-results .application-review-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}
.application-results .application-review-body{padding:18px}
.application-answer-filters{margin:0;padding:0}
.application-answer-filters>p{margin:0 0 12px;color:var(--ink-2);font-size:var(--text-control)}
.application-answer-filter-row,.application-answer-filter-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) 32px;align-items:center;gap:8px;margin-bottom:8px}
.application-answer-filter-head{font:500 var(--text-control)/1.4 var(--font-sans);color:var(--muted)}
.application-answer-filter-row>label{min-width:0;margin:0}
.application-answer-filter-row select{width:100%;min-width:0}
.application-answer-filter-row>button{min-width:32px;padding:8px 0;min-height:40px;font:400 var(--text-section)/1 var(--font-sans)}
.application-answer-filter-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:8px}
.application-answer-filter-actions>button{padding-inline:10px;font-size:var(--text-caption)}
.application-filter-count{margin:0 0 12px;color:var(--ink-2);font-size:var(--text-control)}
@media(max-width:1150px){.application-review-workspace{grid-template-columns:1fr}.application-filter-panel,.application-results{grid-column:auto;grid-row:auto}}
.application-review[open]>summary{border-bottom:1px solid var(--rule-soft)}
@media(max-width:1200px){.application-review-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.application-review-list{grid-template-columns:1fr}.application-review-body{padding:16px}.application-answer-list{grid-template-columns:1fr}}
@media(max-width:560px){.application-filters>label{flex:1 1 150px}}
.profile-actions{display:flex;gap:8px;flex-wrap:wrap}
.delete-person{display:inline-flex;align-items:center;gap:7px;padding-inline:10px}
.profile-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;padding:24px 0}
.profile-view-screen{container-type:inline-size}
.profile-heading-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:24px}
.profile-header-tools{display:grid;gap:10px;min-width:0;width:min(100%,340px);justify-self:end;align-self:start}
.profile-header-tools>.profile-back{justify-self:end;min-width:72px;min-height:30px;padding:6px 10px}
@container(min-width:760px){.profile-heading-row{grid-template-columns:minmax(0,1fr) 300px;gap:24px}}
@container(min-width:960px){.profile-heading-row{grid-template-columns:minmax(0,1fr) 340px;gap:32px}}
.profile-identity{display:flex;align-items:center;gap:24px;min-width:0}
.profile-hero-copy{min-width:0}.profile-hero-copy h1{margin:0;font-size:clamp(30px,3.4vw,48px);line-height:1.12;overflow-wrap:anywhere}
.profile-title-line{display:flex;align-items:center;gap:10px}.profile-title-line .person-chip-role{align-self:center;width:34px;height:34px;min-width:34px;margin:0;font:700 15px/1 var(--font-mono)}
.profile-contact{display:grid;justify-items:start;gap:8px;margin-top:10px}.profile-contact .contact-actions{justify-content:flex-start;margin-top:0}
.profile-status-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}
.profile-status-group{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}
.profile-status{display:inline-flex;align-items:center;gap:7px;min-height:31px;padding:5px 9px;border:1px solid currentColor;background:var(--surface);font:600 10px/1.2 var(--font-mono);letter-spacing:.07em;text-transform:uppercase}
.profile-status::before{width:7px;height:7px;border-radius:50%;background:currentColor;content:""}.profile-status span{color:var(--ink-2)}.profile-status strong{color:inherit;font:inherit}
.profile-status-success{color:var(--success);background:#edf4f0}
.profile-status-danger{color:var(--danger);background:#fff1ef}
.profile-status-group>button{min-height:31px;padding:5px 10px}
.profile-contact-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}
.checkpoint-restore-warning{margin:-4px;padding:24px;border:5px solid var(--danger);background:#fff6f4}.checkpoint-restore-warning .tag{color:var(--danger)}.checkpoint-restore-warning h2{max-width:700px;margin:8px 0 14px;color:var(--danger);font-size:clamp(30px,5vw,54px);line-height:.95}.checkpoint-warning-lead{font-size:18px;font-weight:700;line-height:1.4}.checkpoint-restore-warning dl{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--danger)}.checkpoint-restore-warning dl div{padding:12px}.checkpoint-restore-warning dl div+div{border-left:1px solid var(--danger)}.checkpoint-restore-warning dt{font:600 11px var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.checkpoint-restore-warning dd{margin:5px 0 0;font-weight:700}.checkpoint-restore-warning code{overflow-wrap:anywhere}.checkpoint-restore-warning input{border:2px solid var(--danger)}
.telegram-required{margin:12px 0 18px;padding:16px;border-left:5px solid #168bd2;background:#eef7ff}.telegram-required strong{color:var(--navy);font-size:18px}.telegram-required p{margin:6px 0 0;line-height:1.5}
.availability-day>div{grid-template-columns:repeat(2,minmax(0,1fr))}
.application-choices.matrix{margin-top:20px}.application-choices.matrix>div{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--rule-soft)}.application-choices.matrix>div>fieldset{display:grid;grid-template-columns:minmax(180px,1.25fr) repeat(4,minmax(100px,1fr));align-items:stretch;min-width:0;padding:0;border:0;border-bottom:1px solid var(--rule-soft)}.application-choices.matrix>div>fieldset>legend{float:left;width:100%;padding:13px 12px;font-weight:600}.application-choices.matrix>div>fieldset>label{align-items:center;min-width:0;padding:12px;border-left:1px solid var(--rule-soft)}
@media(max-width:700px){.application-choices.matrix>div>fieldset{grid-template-columns:1fr}.application-choices.matrix>div>fieldset>legend{padding:12px 9px 5px}.application-choices.matrix>div>fieldset>label{padding:9px;border-left:0}.checkpoint-restore-warning{padding:16px}.checkpoint-restore-warning dl{grid-template-columns:1fr}.checkpoint-restore-warning dl div+div{border-top:1px solid var(--danger);border-left:0}}
.profile-duty-hours{padding:5px 8px;border:1px solid var(--rule);color:var(--ink-2);font:500 .75rem/1.2 var(--font-mono)}.profile-duty-hours.target-reached{border-color:var(--warning);color:var(--warning)}
.profile-personal{display:inline-flex;align-items:center;gap:6px}.profile-link{display:inline-grid;place-items:center;width:28px;height:28px;border:1px solid var(--rule);color:var(--navy)}.profile-link svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.instagram-link .instagram-dot{fill:currentColor;stroke:none}.profile-link:hover{background:var(--navy);border-color:var(--navy);color:var(--surface)}
.participation-status-control{display:grid;gap:7px;margin-top:16px}.participation-status-control>span{color:var(--muted);font:500 var(--text-control)/1.4 var(--font-sans);letter-spacing:0;text-transform:none}.participation-status-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.participation-status-buttons button{width:100%;padding:7px 9px}.participation-status-buttons button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.profile-permissions .role-form{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:24px;padding:20px 0 0;border-top:1px solid var(--rule)}
.profile-permissions .role-form .role-options{grid-column:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.profile-permissions .role-form button{grid-column:1;justify-self:end;width:auto}
.profile-permissions .role-options label{white-space:normal;text-align:center}
.profile-admin-stack{display:grid;gap:24px;min-width:0;background:#fff;padding:10px;border:1px solid var(--rule);border-top:3px solid var(--red)}
.profile-action-groups{display:grid;gap:8px}
.profile-action-group{min-width:0;padding:6px;border:1px solid var(--rule)}
.profile-nav-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:6px}
.profile-nav-actions button,.profile-nav-actions .button{width:100%;max-width:100%;min-width:0;min-height:26px;padding:3px 6px;white-space:normal;text-align:center;justify-content:center;font:500 var(--text-caption)/1.4 var(--font-sans);letter-spacing:0;text-transform:none;overflow-wrap:anywhere}
.model-profile-types .model-type-tags>span{border-color:var(--red);background:var(--red);color:var(--surface)}
.profile-photo-stack{display:grid;gap:8px;flex:none;width:128px}
@media(max-width:600px){.profile-heading-row{gap:16px}.profile-identity{gap:16px;align-items:flex-start}.profile-title-line{flex-wrap:wrap}.profile-contact .contact-actions{max-width:100%;flex-wrap:wrap}.profile-contact .contact-actions a{max-width:100%;overflow-wrap:anywhere}}
@media(pointer:coarse){.profile-header-tools button,.profile-header-tools .button{min-height:44px}}
.profile-headshot,.profile-headshot-action{position:relative;display:block;flex:none;width:128px;height:128px}
.profile-headshot-download{font:500 var(--text-control)/1.4 var(--font-sans);text-align:left;text-decoration:underline;text-underline-offset:3px}
.application-review-notes{border-top:1px solid var(--rule);padding:16px 0;margin-top:16px}
.application-review-notes h3{font:600 var(--text-body)/1.4 var(--font-sans);margin:0 0 6px}
.application-review-notes p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 12px}
.status.waitlisted{color:var(--ink);background:#edf0f5;border-color:var(--rule)}
.model-avatar.profile{width:100%;height:100%;font-size:26px}
.profile-headshot-action{cursor:pointer}.profile-headshot-action input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.profile-headshot-action>span{position:absolute;inset:auto 0 0;padding:7px;background:rgba(8,12,31,.84);color:#fff;text-align:center;font:600 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.profile-headshot-action:hover .model-avatar{filter:brightness(.82)}.profile-headshot-action:focus-within{outline:3px solid var(--red);outline-offset:3px}
.model-profile-details{padding:4px 0 26px;border-bottom:1px solid var(--ink)}.model-profile-details>.section-head{margin:0}.model-profile-details dt{font:500 var(--text-control)/1.4 var(--font-sans);letter-spacing:0;text-transform:none;color:var(--muted)}.model-profile-details dd{margin:5px 0 0;color:var(--ink-2);line-height:1.5;overflow-wrap:anywhere}.model-profile-types{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:14px 0}.model-profile-types>b{margin-right:2px;color:var(--ink);font-size:var(--text-control)}.model-profile-types .model-type-tags{margin:0}.model-profile-facts{display:grid;grid-template-columns:repeat(3,minmax(130px,180px));width:max-content;max-width:100%;gap:0;margin:0;padding:15px 0;border-block:1px solid var(--rule-soft)}.model-profile-facts>div{padding:0 18px;border-left:1px solid var(--rule-soft)}.model-profile-facts>div:first-child{padding-left:0;border-left:0}.model-profile-facts dd{color:var(--ink);font-size:1rem}.model-profile-narratives{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:0}.model-profile-narratives>div{padding:16px 0;border-bottom:1px solid var(--rule-soft)}.model-profile-narratives>.wide{grid-column:1/-1}.model-profile-narratives dd{max-width:72ch;white-space:pre-line}.model-profile-narratives>.wide dd{max-width:none}.model-profile-collapsible:not(.expanded) .model-profile-long dd{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.model-profile-toggle{display:block;margin:14px 0 0 auto;padding:7px 10px}
.model-profile-inline-editor{margin:0 0 24px;padding:18px;background:var(--surface);border:1px solid var(--rule);border-top:3px solid var(--red)}
.model-profile-inline-editor>.section-head{margin:0 0 16px}.model-profile-inline-editor .tag{color:var(--red)}
.model-profile-form .form-grid .field label{display:flex;height:100%;flex-direction:column}.model-profile-form .form-grid .field input{margin-top:auto}
.profile-record-actions{display:flex;gap:8px;flex-wrap:wrap}.profile-lock-button{display:inline-flex;align-items:center;gap:7px;background:var(--warning);border-color:var(--warning);color:#fff}.profile-lock-button:hover{background:#7b4610;border-color:#7b4610}.button-lock-icon{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.all-hands-field{display:flex;align-items:flex-start;gap:9px;margin-top:14px;padding:10px 12px;border:1px solid var(--rule)}
.all-hands-field input{width:auto;margin-top:2px}.all-hands-field b,.all-hands-field small{display:block}.all-hands-field small{margin-top:2px;color:var(--muted);font-weight:400}
.call-sheet-schedule .schedule-row{grid-template-columns:112px minmax(0,1fr) 108px}
.call-sheet-schedule .schedule-row>.entry-main{grid-column:2;grid-row:1}
.call-sheet-schedule .entry-main>.location{margin-top:4px}
.call-sheet-schedule .entry-main>h3:has(.location-markup){font:600 var(--text-body)/1.3 var(--font-sans)}
.call-sheet-schedule .schedule-row>.entry-status{grid-column:3;grid-row:1;justify-self:end}
.call-sheet-schedule .schedule-row>.entry-location{grid-column:2/-1;grid-row:2}
.call-sheet-schedule .schedule-row>.shift-team{grid-column:2/-1;grid-row:3}
.call-sheet-schedule .schedule-row>.model-lines{grid-column:2/-1;grid-row:4}
.call-sheet-schedule .schedule-row:not(:has(>.entry-location))>.shift-team{grid-row:2}
.call-sheet-schedule .schedule-row:not(:has(>.entry-location))>.model-lines{grid-row:3}
.call-sheet-schedule .model-line{position:relative;grid-template-columns:1fr}
.call-sheet-schedule .model-line>.model-line-prep{grid-column:1;grid-row:2}
.call-sheet-schedule .model-call-person>span{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:3px 12px;width:100%}
.call-sheet-schedule .model-card-head{grid-column:1/-1;grid-row:1}
.call-sheet-schedule .model-inline-actions{display:contents}
.call-sheet-schedule .model-inline-actions>.attendance-actions{grid-column:2;grid-row:1;justify-content:flex-end}
.call-sheet-schedule .model-inline-actions>.contact-actions{grid-column:1;grid-row:3}
.call-sheet-schedule .model-inline-actions>.model-attendance-control{grid-column:2;grid-row:1;justify-self:end;margin-left:0}
.profile-schedule-title{color:var(--red)}
.schedule-row .profile-call-instructor{color:var(--red);font-size:var(--text-body);line-height:1.25}
.schedule-row .profile-call-location{margin-top:3px;color:var(--ink-2);font-size:var(--text-control);font-weight:400}
.profile-call-directions{display:grid;gap:3px;margin-top:10px;padding-top:8px;border-top:1px solid var(--rule-soft);color:var(--ink-2);font-size:var(--text-control)}
.profile-call-directions>b{color:var(--red);font:600 10px/1.3 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}
.profile-call-directions p{margin:0}.profile-call-directions strong{margin-right:4px;color:var(--ink)}
.profile-schedule .model-call-person{grid-column:1/-1}
.profile-schedule .model-line-prep{grid-column:1/-1;grid-row:2}
.profile-schedule .model-call-person>span{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:3px 12px;width:100%}
.profile-schedule .model-card-head{grid-column:1/-1;grid-row:1}
.profile-schedule .model-inline-actions{display:contents}
.profile-schedule .model-inline-actions>.attendance-actions{grid-column:2;grid-row:1;justify-content:flex-end}
.profile-schedule .model-inline-actions>.contact-actions{display:none}
.profile-schedule .model-inline-actions>.model-attendance-control{grid-column:2;grid-row:1;justify-self:end;margin-left:0}

/* ---------- model operations ---------- */

.model-avatar{display:inline-grid;place-items:center;flex:none;overflow:hidden;background:var(--paper-2);border:1px solid var(--rule);color:var(--navy);font:700 10px/1 var(--font-mono)}
.model-avatar .avatar-initials,.model-avatar .avatar-image{grid-area:1/1}.model-avatar .avatar-image{display:block;width:100%;height:100%;object-fit:cover}
.model-avatar.small{width:32px;height:32px}.model-avatar.large{width:76px;height:76px;font-size:14px}
.model-call-person{display:flex;align-items:center;gap:11px;min-width:0}.model-call-person>span{min-width:0}.model-call-person b,.model-call-person small{display:block}.model-call-person small{color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.attendance-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;flex:none}
.model-tool-actions{display:flex;gap:6px}
button.model-request-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding:12px 8px;background:transparent;color:var(--ink);border:0;border-top:1px solid var(--rule-soft);border-radius:0;text-align:left;text-transform:none;letter-spacing:normal}button.model-request-row:hover{background:var(--paper-2)}.model-request-row>span:first-child{min-width:0}.model-request-row b,.model-request-row small{display:block}.model-request-row small{margin-top:4px;color:var(--muted);font-size:10.5px;overflow-wrap:anywhere}.model-request-count{text-align:right}.model-request-count b{font:600 16px/1 var(--font-mono);color:var(--navy)}.model-request-count i{color:var(--muted);font-style:normal}
.model-type-tags{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:4px}.model-type-tags>span{padding:3px 6px;border:1px solid var(--rule);color:var(--ink-2);font:600 .75rem/1.2 var(--font-mono)}.model-type-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:16px 0;padding:14px 0;border:0;border-block:1px solid var(--rule)}.model-type-options legend{padding-right:10px;color:var(--muted);font:500 var(--text-control)/1.4 var(--font-sans);letter-spacing:0;text-transform:none}.model-type-options label{display:flex;align-items:center;gap:7px;padding:7px 8px;border:1px solid var(--rule);color:var(--ink);font:500 var(--text-control)/1.4 var(--font-sans);letter-spacing:0;text-transform:none}.model-type-options label:has(input:checked){border-color:var(--navy);background:var(--paper-2)}.model-type-options input{width:16px;height:16px;margin:0;padding:0;accent-color:var(--navy)}
.selection-guidance{margin:0 0 18px;padding:12px 0;border-block:1px solid var(--rule);color:var(--ink-2)}.selection-guidance p{max-width:72ch;margin:4px 0 0}.model-type-manager{display:grid;grid-template-columns:minmax(0,1fr) 150px max-content;margin-top:18px;border-top:1px solid var(--ink)}.model-type-form{display:grid;grid-template-columns:subgrid;grid-column:1/-1;align-items:end;gap:10px;padding:12px 0;border-bottom:1px solid var(--rule)}#modelTypeCreate{grid-template-columns:minmax(0,1fr) auto;border-bottom:0}.model-type-form label{display:grid;gap:6px}.type-directory-form>.pub-actions{margin-top:14px}
.headshot-upload{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:35px;border:1px solid var(--rule);padding:9px 16px;color:var(--navy);font:500 var(--text-control)/1.4 var(--font-sans);letter-spacing:0;text-transform:none;cursor:pointer}.headshot-upload:hover{background:var(--paper-2);border-color:var(--navy)}.headshot-upload:focus-within{outline:3px solid var(--red);outline-offset:2px}.headshot-upload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.delay-note{margin:8px 0;padding:8px 10px;border:1px solid var(--warning);background:var(--paper-2);color:var(--ink);overflow-wrap:anywhere}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.photo-reconcile-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px;padding:14px 0;border-bottom:1px solid var(--ink)}.photo-reconcile-summary button{display:grid;grid-template-columns:auto 1fr;align-items:baseline;justify-content:start;gap:4px 8px;min-height:68px;padding:12px 14px;border:1px solid var(--rule);background:var(--surface);color:var(--muted);text-align:start;transition-property:border-color,background-color,color;transition-duration:120ms}.photo-reconcile-summary button:hover{border-color:var(--navy);color:var(--ink)}.photo-reconcile-summary button:active{scale:.96}.photo-reconcile-summary button.active{border-color:var(--navy);background:var(--paper-2);box-shadow:inset 0 3px var(--red);color:var(--ink)}.photo-reconcile-summary b{color:var(--navy);font:600 1.4rem/1 var(--font-mono)}.photo-reconcile-summary span{font:600 11px/1.2 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.photo-reconcile-summary small{grid-column:2;color:var(--muted);font-size:11px}
.photo-reconcile-count{margin:-12px 0 16px;color:var(--muted);font-size:var(--text-control)}
.photo-reconcile-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border-block:1px solid var(--ink);background:var(--rule-soft)}.photo-reconcile-row{display:grid;grid-template-columns:42px minmax(190px,1fr) minmax(132px,.75fr);align-items:center;gap:8px;padding:11px 10px;background:var(--surface)}.photo-reconcile-row>label{display:grid;place-items:center;width:32px;height:32px}.photo-reconcile-row input{width:18px;height:18px;margin:0;accent-color:var(--success)}.photo-reconcile-row>span{display:grid;gap:3px;min-width:0}.photo-reconcile-row .person-chip{justify-self:start}.photo-reconcile-model{display:grid!important;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:11px}.photo-reconcile-model>span:last-child{display:grid;justify-items:start;gap:4px;min-width:0}.photo-reconcile-row small{color:var(--muted);font-size:11px}.photo-reconcile-row.satisfied{background:var(--paper)}.photo-reconcile-row.submitted{box-shadow:inset 3px 0 var(--warning)}
.model-search-results{border-top:1px solid var(--rule)}
.signin{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--paper)}
.signin>section{width:min(460px,100%);background:var(--surface);border-top:4px solid var(--red);padding:34px;box-shadow:0 18px 60px rgba(0,0,0,.12)}
.signin img{display:block;width:368px;max-width:100%;margin-bottom:28px}.signin h1{margin:8px 0 10px}.signin form{display:grid;gap:10px;margin-top:24px}.signin form>label{font:600 11px/1.2 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.signin input{font-size:16px}.signin-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.signin [role="status"],.signin [role="alert"]{min-height:24px;margin-top:14px}.signin [role="alert"]:not(:empty),.signin [role="status"][data-error]:not(:empty){padding:11px 12px;border:2px solid var(--red);background:var(--red-soft);color:#000;font-weight:700}.rail-signout{width:100%;margin-top:16px;background:transparent;border-color:rgba(255,255,255,.3);color:white}.button-link{display:inline-block;background:var(--navy);color:white;padding:11px 16px;text-decoration:none;font:600 11px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}
.model-link-page{width:min(860px,calc(100% - 32px));margin:0 auto;padding:32px 0 56px}.model-link-page>header{padding:24px 0 28px;border-bottom:2px solid var(--ink)}.model-link-page>header img{display:block;width:210px;max-width:100%;margin-bottom:28px}.model-link-page>header h1{margin:8px 0 4px}.model-link-page>header p{margin:0;color:var(--muted)}.model-link-day{padding:24px 0 8px}.model-link-day>h2{margin:0 0 8px;color:var(--red)}.model-link-day article{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;padding:18px 0;border-top:1px solid var(--rule)}.model-link-day h3{margin:0 0 5px}.model-link-day p{margin:5px 0}.model-link-time{display:grid;align-content:start;font-family:var(--font-mono)}.model-link-time span,.model-link-location{color:var(--muted)}.model-link-note{margin-top:12px;padding:10px 12px;background:var(--paper-2);border-left:3px solid var(--navy)}.model-link-note>b{color:var(--navy);font:600 10px/1.2 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.model-link-page>footer{margin-top:28px;padding-top:18px;border-top:1px solid var(--ink);color:var(--muted)}.model-link-empty{padding:28px 0}
@media(max-width:560px){.model-link-day article{grid-template-columns:1fr;gap:8px}.model-link-time{display:flex;gap:5px}}

/* ---------- public applications ---------- */
.application-page{width:min(1040px,calc(100% - 32px));margin:0 auto;padding:32px 0 64px}.application-page>header{padding:24px 0 28px;border-bottom:2px solid var(--ink)}.application-page>header img{display:block;width:min(630px,100%);margin-bottom:32px}.application-page>header .tag{display:block;margin-bottom:8px;color:var(--red)}.application-page>header p{margin:10px 0 0;color:var(--muted)}.application-page>header .application-system-note{max-width:720px;padding-left:12px;border-left:3px solid var(--navy);color:var(--ink)}.application-page form{gap:0}.application-page form>section,.application-page form>div>section{padding:30px 0;border-bottom:1px solid var(--rule)}.application-page form h2{margin-bottom:20px;color:var(--red)}.application-page .form-grid{gap:18px 24px}.application-page .field.wide{grid-column:1/-1}.application-page .field input,.application-page .field select{min-height:44px}.application-page small,.application-help{color:var(--muted);font-size:var(--text-control)}.application-choices{margin:22px 0 0;padding:16px 0;border:0;border-block:1px solid var(--rule)}.application-choices>legend{padding-right:10px}.application-choices>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.application-choices label,.availability-grid label,.application-confirm{display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid var(--rule);background:var(--surface);color:var(--ink);font:500 var(--text-control)/1.35 var(--font-sans);letter-spacing:0;text-transform:none}.application-choices label:has(input:checked),.availability-grid label:has(input:checked),.application-confirm:has(input:checked){border-color:var(--navy);box-shadow:inset 3px 0 var(--navy)}.application-choices input,.availability-grid input,.application-confirm input{flex:none;width:16px;height:16px;margin:1px 0 0;padding:0;accent-color:var(--navy)}.application-choices.inline{display:flex;flex-wrap:wrap;gap:7px}.application-choices.inline label{flex:1}.availability-grid{display:grid;border-top:1px solid var(--rule)}.availability-day{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,2fr);align-items:stretch;min-width:0;margin:0;padding:0;border:0;border-bottom:1px solid var(--rule)}.availability-day>legend{float:left;width:100%;padding:12px;font-weight:600}.availability-day>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.availability-day label{align-items:center;padding:12px;border:0;border-left:1px solid var(--rule);background:transparent}.availability-day label:has(input:checked){background:var(--surface)}.application-confirm{margin-top:10px}.application-actions{display:flex;justify-content:flex-end;padding-top:22px}.application-page [role="alert"]{margin-top:20px}.application-page [role="alert"]:not(:empty){padding:14px;border:2px solid var(--success);background:var(--surface);font-weight:600}.application-page [role="alert"][data-error]:not(:empty){border-color:var(--red);background:var(--red-soft)}#wranglerSkills{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--rule-soft)}#wranglerSkills fieldset{display:grid;grid-template-columns:minmax(190px,1.25fr) repeat(3,minmax(138px,1fr));align-items:stretch;min-width:0;padding:0;border:0;border-bottom:1px solid var(--rule-soft)}#wranglerSkills legend{float:left;width:100%;padding:13px 12px;font-weight:600}#wranglerSkills label{align-items:center;min-width:0;padding:12px;border:0;border-left:1px solid var(--rule-soft);background:transparent}#wranglerSkills label:has(input:checked){background:var(--surface)}
.application-page .application-confirm input{flex:none;width:16px;height:16px;min-height:0;margin:1px 0 0;padding:0}
@media(max-width:700px){.application-page>header img{margin-bottom:28px}.application-page .form-grid,.application-choices>div{grid-template-columns:1fr}.application-page .field.wide{grid-column:1}.availability-day{grid-template-columns:1fr}.availability-day>legend{padding:12px 9px 7px}.availability-day label:first-child{border-left:0}#wranglerSkills fieldset{display:grid;grid-template-columns:1fr}#wranglerSkills legend{padding:12px 9px 5px}#wranglerSkills label{margin-top:0;padding:9px;border-left:0}.application-choices.inline{display:grid}.application-actions button{width:100%}}
@media(max-width:700px){.person-import-role-key{grid-template-columns:1fr}.person-import-row{grid-template-columns:1fr}.person-import-row.heading{display:none}.person-import-row>span{display:block}.person-import-apply{align-items:stretch;flex-direction:column}.person-import-apply button{width:100%}}

@media(max-width:1050px){
  .class-row,.class-head{grid-template-columns:50px minmax(160px,1fr) 1fr 1fr}
  .location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .duty-shell{grid-template-columns:230px minmax(0,1fr)}
  .photo-reconcile-table{grid-template-columns:1fr}.photo-reconcile-row{grid-template-columns:42px minmax(190px,1fr) minmax(132px,.75fr)}
  .setup-band{padding:24px 0}
  .setup-identity{gap:8px 12px}
}
@media(max-width:900px){
  .hero.plain.message-hero{grid-template-columns:1fr}.message-tabs{justify-self:start}.message-context{grid-template-columns:minmax(0,1fr);gap:12px}.message-delivery{align-items:flex-start;justify-content:flex-start;flex-direction:column;gap:7px;text-align:left}.message-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.message-metrics>div:nth-child(3){padding-left:0;border-left:0}.message-metrics>div:nth-child(n+3){border-top:1px solid var(--rule-soft)}.message-workspace{display:block}.message-index{padding-right:0;border-right:0;border-bottom:1px solid var(--ink)}.message-index-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.message-editor{padding-left:0}.message-editor-grid,.message-editor-grid[data-mode="proof"]{grid-template-columns:1fr}.email-token-bank{position:static}
  .hero.plain.location-hero{grid-template-columns:1fr}.location-hero-actions{justify-self:end}
  .profile-admin-tools .role-form button{width:100%}
  .call-sheet-schedule .schedule-row{grid-template-columns:96px minmax(0,1fr)}
  .call-sheet-schedule .schedule-row>.entry-main{grid-column:2;grid-row:1}
  .call-sheet-schedule .schedule-row>.entry-status{grid-column:2;grid-row:2;justify-self:start}
  .call-sheet-schedule .schedule-row>.entry-location{grid-column:2;grid-row:3}
  .call-sheet-schedule .schedule-row>.shift-team{grid-column:2;grid-row:4}
  .call-sheet-schedule .schedule-row>.model-lines{grid-column:2;grid-row:5}
  .call-sheet-schedule .schedule-row:not(:has(>.entry-location))>.shift-team{grid-row:3}
  .call-sheet-schedule .schedule-row:not(:has(>.entry-location))>.model-lines{grid-row:4}
  .class-row{grid-template-columns:45px 1fr}.class-row>span:nth-child(n+3){grid-column:2}.class-head{display:none}
  .team-grid,.location-grid,.unmapped-places form{grid-template-columns:1fr}
  .sub-location-editor form,.location-merge form{grid-template-columns:1fr}.sub-location-editor #addSubLocation{grid-template-columns:1fr}
  .location-use-row{grid-template-columns:90px minmax(0,1fr)}.location-use-row>strong{display:none}
  .duty-shell{display:block}.type-list,.staffing-pool{border-right:0;border-bottom:1px solid var(--ink);padding-right:0}.type-list{display:grid;grid-template-columns:1fr 1fr}.type-head{grid-column:1/-1}.type-row{min-width:0}.staffing-pool .staffing-drop-note{display:none}
  .roster-pane{padding-left:0}.roster-head{flex-wrap:wrap}
  .role-form{grid-template-columns:1fr;align-items:stretch}.role-form .role-options,.role-form>label,.role-form button{grid-column:1}.role-form select{width:100%}
  .filter-bar,.filter-bar.duty-roster-filters,.filter-bar.model-roster-filters,.filter-bar.profile-schedule-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar button{align-self:stretch}
  .people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .model-type-options{grid-template-columns:repeat(2,minmax(0,1fr))}
  .command-board{grid-template-columns:1fr;gap:0}.command-contacts{padding-bottom:20px}.action-row{align-items:flex-start}.attendance-actions{justify-content:flex-start}.attendance-actions button{width:auto}
  .command-people-head{display:none}.command-people-row{grid-template-columns:minmax(180px,1fr) minmax(250px,1fr)}.command-people-row>.contact-actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}
  .role-options{gap:8px 14px}.role-form .role-options{width:100%}
  #pubDialog,#pubDialog.class-dialog{width:calc(100vw - 20px);max-width:none;max-height:calc(100dvh - 20px);padding:20px;margin:auto}
  .modal-heading{top:-20px}
  .team-grid{grid-template-columns:1fr;gap:24px}.team-intro{margin-top:20px}
}

@media(max-width:560px){
  .message-tabs,.message-library-switch{width:100%}.message-tabs button{flex:1 0 auto;min-width:max-content}.message-library-switch button{flex:1;min-width:0}.message-index-list{grid-template-columns:1fr}.rule-sentence{padding:14px 15px;gap:8px}.rule-name{margin-top:14px}.message-editor-heading,.message-form-foot{align-items:stretch;flex-direction:column}.message-form-actions,.template-delivery-grid{display:grid;grid-template-columns:1fr}.message-form-foot select,.message-form-foot button{width:100%}.audience-badge{align-self:flex-start}
  .email-preview-head{align-items:stretch;flex-direction:column}.email-preview-tools{justify-content:space-between;flex-wrap:wrap}.email-preview-pager{flex:1 1 auto}.email-preview-pager span{flex:1}
  .automation-filter-builder{grid-template-columns:1fr}.rule-where,.automation-filter-heading,#automationFilterRows,.rule-sentence #automationAddFilter,.automation-recipients #automationAddFilter{grid-column:1}.rule-where,.automation-filter-heading{grid-row:auto;padding-top:0}#automationFilterRows,.rule-sentence #automationAddFilter,.automation-recipients #automationAddFilter{grid-row:auto}.automation-trigger-mode{max-width:none}.automation-trigger-detail{padding:10px 12px}
  .action-row,.contact-row{align-items:flex-start;flex-direction:column}.action-row>button{width:100%}.contact-actions{justify-content:flex-start}.contact-card,.model-call-contacts{grid-template-columns:1fr}.model-call-contacts .contact-list{grid-template-columns:1fr}.model-call-contacts .contact-row:nth-child(2){border-top:0}.model-page-actions{width:100%}.model-page-actions button{flex:1}
  .participant-change{grid-template-columns:1fr}.participant-change>button{justify-self:start}.participant-update-actions{justify-content:flex-start}
  .profile-hero{grid-template-columns:1fr;gap:16px}.profile-photo-stack{width:96px}.profile-headshot,.profile-headshot-action{width:96px;height:96px}.model-avatar.profile{font-size:20px}.model-profile-narratives{grid-template-columns:1fr}.model-profile-narratives>.wide{grid-column:1}.model-profile-facts{grid-template-columns:1fr;width:100%}.model-profile-facts>div{padding:8px 0;border-left:0}.model-profile-facts>div+div{border-top:1px solid var(--rule-soft)}.profile-record-actions{width:100%}.profile-record-actions button{flex:1 1 auto}.model-type-manager{display:block}.model-type-form,#modelTypeCreate{grid-template-columns:1fr}.model-type-form button{width:100%}
  .compact-copy summary{grid-template-columns:1fr}.compact-copy summary strong{justify-self:start}
  .audit-entry-body{padding-inline:12px}.audit-entry-heading{align-items:flex-start;flex-direction:column;gap:3px}.audit-entry-field{grid-template-columns:1fr;gap:2px}
  .role-options,.role-form .role-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .filter-bar,.filter-bar.duty-roster-filters,.filter-bar.model-roster-filters,.filter-bar.profile-schedule-filters{grid-template-columns:1fr}.people-alpha{display:flex;flex-wrap:wrap}.people-alpha button{flex:1 0 34px}.people-alpha button:first-child{flex-basis:52px}.people-grid{grid-template-columns:1fr}.people-more{align-items:stretch;flex-direction:column;text-align:center}
  .application-kind-tabs{width:100%}.application-kind-tabs button{flex:1}.application-review>summary{grid-template-columns:44px minmax(0,1fr)}.application-review>summary img,.application-initial{width:44px;height:44px}.application-review>summary>.status{grid-column:2;justify-self:start}.application-review-body{padding:14px 10px 20px}.application-answer-list{grid-template-columns:1fr}
  .roster-shift>.shift-team{grid-column:1/-1}
  .staffing-candidate-group>div{grid-template-columns:1fr}.staffing-candidates.faces .staffing-candidate-group>div{grid-template-columns:repeat(2,minmax(0,1fr))}.staffing-footer{align-items:stretch;flex-direction:column}.staffing-footer p{margin-right:0}.staffing-footer button{width:100%}
  .model-command-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .public-form-row{grid-template-columns:1fr}.public-form-row>.status{justify-self:start}.public-form-actions>*{flex:1 1 auto}.lifecycle-actions button{width:100%}
  .model-command-card{padding:15px 14px}
  .model-command-heading{display:grid}
  .leadership-command-card{padding:15px 14px}.leadership-command-heading{display:grid}.leadership-activity-row{grid-template-columns:1fr 32px;gap:7px}.leadership-activity-row>span{grid-column:1/-1}.leadership-activity-track{grid-column:1}
  .command-people-row{grid-template-columns:1fr}.command-people-row>.contact-actions{grid-column:auto;grid-template-columns:1fr;justify-content:flex-start}
  .model-chart-legend{white-space:normal}
  .model-coverage-row{grid-template-columns:92px minmax(70px,1fr) 54px;gap:8px}
  .model-photo-pipeline{grid-template-columns:1fr}
}

@media screen and (max-width:900px){
  .model-today .hero{padding:18px 0 16px}
  .model-today .schedule-row{grid-template-columns:96px minmax(0,1fr);gap:12px 14px}
  .model-today .model-call-row>.time{grid-column:1;grid-row:1/4;padding-left:10px}
  .model-today .model-call-row:has(>.entry-location)>.time{grid-row:1/5}
  .model-today .model-call-row>.entry-main{grid-column:2;grid-row:1}
  .model-today .model-call-row>.entry-status{grid-column:2;grid-row:2;justify-self:start}
  .model-today .model-call-row>.entry-location{grid-column:2;grid-row:3}
  .model-today .model-call-row>.shift-team{grid-column:2;grid-row:3}
  .model-today .model-call-row:has(>.entry-location)>.shift-team{grid-row:4}
}

@media screen and (max-width:560px){
  .model-today .model-hero-side{width:100%;justify-items:start}
  .model-today .model-manager-card{width:100%}
  .model-today .schedule-row{grid-template-columns:88px minmax(0,1fr);gap:10px 12px;padding:15px 0}
  .model-today .model-call-row>.time{padding-left:8px}
  .model-today .model-call-contacts .contact-list{grid-template-columns:1fr;gap:14px;margin-top:8px}
  .model-today .model-call-contacts .contact-actions a{min-width:0}
}
:root .live-status{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:6px 28px;border-bottom:1px solid var(--line,#ddd);font-size:12px;color:var(--muted,#666)}
:root .live-status[hidden]{display:none}
:root .live-status[data-state="failed"],:root .live-status[data-state="waiting"]{justify-content:space-between;color:#8d180f;background:#fff6e5}
/* Annual questionnaires use the existing Texas School type and color palette. */
.form-editor-page{max-width:1320px;margin:0 auto;padding:32px}
.form-editor-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0}
.form-editor-layout{display:grid;grid-template-columns:minmax(240px,1fr) minmax(320px,2fr);gap:32px;align-items:start}
.form-editor-layout nav{max-height:75vh;overflow:auto;border-top:3px solid var(--red)}
.question-list-item{display:block;width:100%;text-align:left;background:transparent;color:inherit;border:0;border-bottom:1px solid var(--rule);padding:14px;white-space:normal}
.question-list-item span,.question-list-item small{display:block}
.question-list-item small{margin-top:6px;font-weight:400}
.question-list-item.selected{box-shadow:inset 4px 0 var(--red);background:var(--surface);color:#000060}
.question-list-item:hover,.question-list-item:focus-visible{background:var(--paper-2);color:var(--ink)}
.question-list-item.selected:hover,.question-list-item.selected:focus-visible{background:var(--surface);color:var(--navy)}
.form-editor-checks,.question-choice-row{display:flex;gap:16px;align-items:center;margin:14px 0}
.form-editor-checks input,.question-choice-row input[type=checkbox]{width:auto}
.question-choice-row>label:first-child{flex:1}
.question-section{margin-top:28px;padding-top:16px;border-top:1px solid var(--rule)}
.question-help{font-size:var(--text-body);font-weight:400;max-width:70ch}
.question-answers>div{padding:12px 0;border-bottom:1px solid var(--rule)}
.question-answers dt{font-weight:600}.question-answers dd{margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.form-editor-fixed{margin-top:30px}.form-editor-fixed p{max-width:75ch}
@media(max-width:720px){.form-editor-page{padding:18px}.form-editor-layout{grid-template-columns:1fr}.form-editor-layout nav{max-height:240px}.form-editor-checks{align-items:flex-start;flex-direction:column}}

/* Plain, accessible questionnaire choices; no radio-button tiles. */
.application-page .application-choices label,.application-page .availability-grid label,.application-page .application-confirm,#formPreview .application-choices label{border:0;border-radius:0;background:transparent;box-shadow:none;padding:8px 0;font:400 var(--text-body)/1.45 var(--font-sans);color:var(--ink);align-items:flex-start}
.application-page .application-choices label:has(input:checked),.application-page .availability-grid label:has(input:checked),.application-page .application-confirm:has(input:checked),#formPreview .application-choices label:has(input:checked){border:0;box-shadow:none;background:transparent;color:var(--navy)}
.application-page .application-choices input,.application-page .availability-grid input,#formPreview .application-choices input{accent-color:var(--red);margin-top:4px;width:17px;height:17px;flex:none}
.full-form-preview{width:min(1120px,96vw);max-width:96vw;max-height:94vh;padding:20px}
.full-form-preview .modal-heading{margin-bottom:8px}
.full-form-preview>p{margin:0 0 16px;max-width:78ch}
.full-form-preview iframe{display:block;width:100%;height:70vh;border:1px solid var(--rule);background:var(--paper)}
.command-application-panel{margin:20px 0 28px;padding:16px 20px;border-left:3px solid var(--red);background:var(--surface);text-align:left}
.command-application-panel>p{margin:0 0 10px;color:var(--muted)}
.command-application-panel .public-form-list{margin:0;border:0;background:transparent}
.command-application-panel .public-form-row{padding:0;border:0}
.command-application-panel .public-form-actions{border:0;padding-top:6px}
.command-application-panel .public-form-row>.status{border:0;padding:0;background:transparent}
.command-application-target{display:grid;gap:4px;margin:0 0 24px;color:var(--muted);font:400 var(--text-control)/1.5 var(--font-sans)}
.command-application-target strong{color:var(--navy);font-size:1.1rem;overflow-wrap:anywhere}
.command-application-panel .command-application-viewed{margin-bottom:8px;color:var(--ink)}
.command-application-panel .command-application-link-note{font-size:var(--text-control);margin-bottom:16px}
.command-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:22px}
.command-toolbar:empty{display:none}
.command-toolbar .command-view-tabs{margin:0}
.command-application-button{margin-left:auto}
#pubBody .command-application-panel{margin:0;padding:0;border:0;background:transparent}
@media(max-width:640px){.full-form-preview{padding:12px}.full-form-preview iframe{height:68vh}.command-application-panel{padding:14px}.command-application-panel code{overflow-wrap:anywhere}}
.application-page .application-choices,.form-editor-page .application-choices{border:0;padding:8px 0;margin:20px 0}
.application-page .application-choices>legend,.form-editor-page .application-choices>legend{font:600 var(--text-body)/1.4 var(--font-sans);letter-spacing:0;text-transform:none;padding:0 0 6px}
.question-choice-options{gap:2px 26px}.inline-options>.question-choice-options{display:flex;gap:8px 28px;flex-wrap:wrap}
.expertise-row>.question-choice-options{display:flex;flex-wrap:wrap;gap:6px 24px}
.application-page .availability-day>div{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:20px}.application-page .availability-day>legend{padding-inline-start:0}
.question-visibility{border:0;padding:12px 0;margin:14px 0}.question-visibility legend{font:600 var(--text-body)/1.4 var(--font-sans);letter-spacing:0;text-transform:none;color:var(--ink)}
.question-visibility label{display:flex;align-items:center;gap:10px;padding:8px 0;font:400 var(--text-body)/1.4 var(--font-sans);letter-spacing:0;text-transform:none;color:var(--ink)}
.question-visibility input{width:18px;height:18px;margin:0;accent-color:var(--red);flex:none}.question-visibility p{max-width:65ch;font-size:var(--text-control);color:var(--muted)}
.form-editor-layout #questionEditor>.question-audience{font-size:var(--text-control);color:var(--muted);line-height:1.5}
.question-list-item{font:500 var(--text-body)/1.45 var(--font-sans);text-transform:none;letter-spacing:0}.question-list-item small{font-size:var(--text-control)}
.application-page .field label,#questionEditor .field label{font:600 var(--text-body)/1.4 var(--font-sans);text-transform:none;letter-spacing:0;color:var(--ink)}
.application-page .field input,.application-page .field textarea,.application-page .field select,#questionEditor .field input,#questionEditor .field textarea{font:400 var(--text-body)/1.45 var(--font-sans);text-transform:none;letter-spacing:0}
.application-review-notes .application-note-attribution{font:400 var(--text-control)/1.5 var(--font-sans);color:var(--ink-2);margin:4px 0 12px}
.message-invitations{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:24px;align-items:start;border-top:2px solid var(--navy)}
.message-invitations .message-editor{min-width:0;padding:24px}
.message-invitations>aside{border-left:1px solid var(--rule)}
.message-invitations p{max-width:65ch}
.message-invitations .field input,.message-invitations .field textarea{width:100%;font:400 var(--text-body)/1.5 var(--font-sans);letter-spacing:0;text-transform:none}
.message-invitations .setup-band-config{margin-top:20px}
.message-invitations .application-choices{display:grid;gap:12px;border:0;padding:0}
.message-invitations .application-choices label{font:400 var(--text-body)/1.4 var(--font-sans);letter-spacing:0;text-transform:none}
.message-invitations .application-choices input{accent-color:var(--red)}
.message-invitations .setup-invitation-actions{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:1100px){.message-invitations{grid-template-columns:minmax(0,1fr)}.message-invitations>aside{border-left:0;border-top:1px solid var(--rule)}}
.application-review-navigation{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.application-review-navigation span{font-size:var(--text-control);color:var(--muted)}
.application-review-navigation button{font-size:var(--text-control);padding:6px 10px}
.application-review[data-review-id]{scroll-margin-top:100px}
.application-readiness{border-left:3px solid var(--red);padding:8px 16px;margin:16px 0;background:var(--paper)}
.application-readiness h3{font-family:var(--font-sans);font-size:var(--text-subheading);margin:0 0 6px}
.application-readiness p,.application-readiness ul{margin:6px 0}
.application-readiness ul,.automation-readiness{padding-left:20px}
.application-readiness-ready{font-size:var(--text-control)}
.automation-readiness{font-size:var(--text-control);line-height:1.5;max-width:78ch}
.automation-readiness li+li{margin-top:6px}
/* Native backup download links retain the Recovery action-button sizing. */
.checkpoint-download{display:inline-block;padding:.55rem .85rem;border:1px solid var(--line,#d5cebd);text-decoration:none;font:inherit;white-space:nowrap}
.closed-event-notice{display:flex;flex-wrap:wrap;gap:.4rem 1rem;padding:.7rem 2rem;border-bottom:1px solid var(--line,#d3cdbc);background:#edf3fa;color:#27384b;font-size:.9rem}
.entry-editor-actions{display:grid;gap:14px;margin-top:20px;padding-top:14px;border-top:1px solid var(--rule)}
.entry-lifecycle-actions{display:flex;flex-wrap:wrap;gap:8px}
.entry-lifecycle-actions:empty{display:none}
.entry-editor-actions .entry-save-actions{margin-top:0;flex-direction:row;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.entry-editor-actions button{width:auto;min-height:32px;padding:6px 10px;white-space:nowrap;font:500 var(--text-control)/1.3 var(--font-sans)}
