.crew-page .topbar { display:none; }
.crew-main {
  --crew-bg: #f2f4f7; --crew-surface: #fff; --crew-text: #14224a;
  --crew-muted: #566176; --crew-line: #d8dfe8; --crew-accent: #f5c518;
  --crew-green: #176747; --crew-green-bg: #e9f5ee; --crew-amber: #795400;
  --crew-amber-bg: #fff5d7; --crew-red: #a32727; --crew-red-bg: #fdeeed;
  --crew-base: 1rem; --crew-small: .875rem; --crew-title: clamp(1.75rem,3vw,2.25rem);
  --crew-s1: .25rem; --crew-s2: .5rem; --crew-s3: .75rem; --crew-s4: 1rem;
  --crew-s5: 1.25rem; --crew-s6: 1.5rem; --crew-s8: 2rem; --crew-s10: 2.5rem;
  padding: var(--crew-s10) 0; color: var(--crew-text); background: var(--crew-bg); min-height: 70vh;
}
.crew-main[data-theme="dark"] {
  --crew-bg: #101a2b; --crew-surface: #1b2940; --crew-text: #f2f5fc;
  --crew-muted: #b5c2d6; --crew-line: #40516c; --crew-green: #9ae1b5;
  --crew-green-bg: #173e30; --crew-amber: #f5ce70; --crew-amber-bg: #40341c;
  --crew-red: #ffadad; --crew-red-bg: #482c35;
}
.crew-main [hidden] { display:none !important; }
.crew-main h1 { font-size:var(--crew-title); color:var(--crew-text); margin-bottom:0; }
.crew-main h2 { font-size:1.5rem; color:var(--crew-text); }
.crew-main h3 { font-size:1.25rem; color:var(--crew-text); }
.crew-main p { overflow-wrap:anywhere; }
.crew-main button, .crew-main input, .crew-main textarea { font:inherit; }
.crew-main button { cursor:pointer; touch-action:manipulation; }
.crew-main button:disabled { cursor:wait; opacity:.6; }
.crew-main :focus-visible { outline:3px solid #3b83dc; outline-offset:3px; }
.crew-shell { max-width:850px; margin:auto; padding:0 var(--crew-s5); }
.crew-shell-manager { max-width:680px; }
.crew-heading-row { display:flex; align-items:center; justify-content:space-between; gap:var(--crew-s4); }
.crew-kicker { font-size:.75rem; letter-spacing:.12em; font-weight:700; color:var(--crew-muted); margin:0 0 var(--crew-s2); }
.crew-intro { color:var(--crew-muted); margin:var(--crew-s3) 0 var(--crew-s6); }
.crew-theme { color:var(--crew-text); border:1px solid var(--crew-line); background:var(--crew-surface); border-radius:6px; padding:var(--crew-s2) var(--crew-s3); min-height:44px; white-space:nowrap; font-size:var(--crew-small) !important; }
.crew-notice, .crew-panel { background:var(--crew-surface); border:1px solid var(--crew-line); border-radius:12px; overflow:hidden; }
.crew-date-row, .crew-notice-bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:var(--crew-s2); padding:var(--crew-s4) var(--crew-s6); font-size:var(--crew-small); }
.crew-date-row { background:var(--lri-navy); color:white; }
.crew-date-row span:first-child { font-weight:700; }
.crew-notice-body { padding:var(--crew-s8) var(--crew-s6); border-left:6px solid var(--crew-line); }
.crew-label { font-size:.75rem; font-weight:700; letter-spacing:.12em; color:var(--crew-muted); margin:var(--crew-s4) 0 var(--crew-s2); }
.crew-status-mark { display:grid; place-items:center; border-radius:50%; width:48px; height:48px; color:var(--crew-muted); background:var(--crew-bg); font-size:1.5rem; font-weight:700; }
.crew-notice h2 { font-size:var(--crew-title); margin-bottom:var(--crew-s4); }
.crew-message { white-space:pre-wrap; line-height:1.65; margin-bottom:0; }
.crew-time { font-weight:700; }
.crew-notice-bottom { border-top:1px solid var(--crew-line); color:var(--crew-muted); padding-block:var(--crew-s2); }
.crew-notice[data-status="working"] .crew-notice-body { border-color:var(--crew-green); }
.crew-notice[data-status="working"] .crew-status-mark { color:var(--crew-green); background:var(--crew-green-bg); }
.crew-notice[data-status="delayed"] .crew-notice-body { border-color:var(--crew-amber); }
.crew-notice[data-status="delayed"] .crew-status-mark { color:var(--crew-amber); background:var(--crew-amber-bg); }
.crew-notice[data-status="off"] .crew-notice-body, .crew-notice[data-status="error"] .crew-notice-body { border-color:var(--crew-red); }
.crew-notice[data-status="off"] .crew-status-mark, .crew-notice[data-status="error"] .crew-status-mark { color:var(--crew-red); background:var(--crew-red-bg); }
.crew-text-button { border:0; background:none; font-weight:600 !important; text-decoration:underline; text-underline-offset:3px; color:var(--crew-text); padding:var(--crew-s2) 0; min-height:44px; font-size:var(--crew-small) !important; }
.crew-check, .crew-help { font-size:var(--crew-small); color:var(--crew-muted); margin-top:var(--crew-s3); }
.crew-support { margin-top:var(--crew-s8); display:grid; grid-template-columns:1.15fr 1fr; gap:var(--crew-s6); }
.crew-support p { font-size:var(--crew-small); color:var(--crew-muted); }
.crew-call-buttons { display:grid; gap:var(--crew-s3); }
.crew-call-buttons a { display:block; padding:var(--crew-s3) var(--crew-s4); border:1px solid var(--crew-line); background:var(--crew-surface); border-radius:6px; font-size:var(--crew-small); color:var(--crew-text); }
.crew-call-buttons strong { display:block; }
.crew-footnote { border-top:1px solid var(--crew-line); margin-top:var(--crew-s8); padding-top:var(--crew-s5); display:flex; flex-wrap:wrap; justify-content:space-between; gap:var(--crew-s4); font-size:var(--crew-small); color:var(--crew-muted); }
.crew-footnote a { color:var(--crew-text); text-decoration:underline; min-height:44px; }
.crew-panel { padding:var(--crew-s6); margin-bottom:var(--crew-s5); }
.crew-panel > p { color:var(--crew-muted); font-size:var(--crew-small); }
.crew-small-label { display:block; color:var(--crew-muted); font-size:.75rem; letter-spacing:.1em; font-weight:700; margin-bottom:var(--crew-s3); }
.crew-main label, .crew-main legend { font-weight:600; display:block; font-size:var(--crew-small); margin-bottom:var(--crew-s2); }
.crew-main fieldset { border:0; padding:0; margin:0 0 var(--crew-s6); min-width:0; }
.crew-main legend { margin-bottom:var(--crew-s3); }
.crew-main input:not([type="radio"]):not([type="checkbox"]), .crew-main textarea {
  width:100%; min-height:50px; background:var(--crew-bg); color:var(--crew-text); border:1px solid var(--crew-line); border-radius:6px; padding:var(--crew-s3); margin-bottom:var(--crew-s5); font-size:16px; box-sizing:border-box;
}
.crew-main textarea { resize:vertical; margin-bottom:var(--crew-s2); }
.crew-main textarea::placeholder { color:var(--crew-muted); }
.crew-optional { font-weight:400; color:var(--crew-muted); }
.crew-checkbox { display:flex !important; align-items:center; gap:var(--crew-s2); min-height:44px; margin-top:calc(-1 * var(--crew-s3)); }
.crew-checkbox input { width:18px; height:18px; accent-color:var(--lri-navy); }
.crew-button { width:100%; min-height:52px; display:inline-flex; align-items:center; justify-content:center; font-weight:700 !important; padding:var(--crew-s3) var(--crew-s4); border:1px solid transparent; border-radius:6px; text-decoration:none; }
.crew-button-primary { background:var(--crew-accent); color:#14224a; }
.crew-button-primary:hover { background:#e6b714; }
.crew-button-secondary { background:var(--crew-surface); border-color:var(--crew-line); color:var(--crew-text); }
.crew-banner { padding:var(--crew-s4); border:1px solid var(--crew-line); border-left:4px solid var(--crew-amber); background:var(--crew-surface); border-radius:6px; margin-bottom:var(--crew-s5); color:var(--crew-text); font-size:var(--crew-small); }
.crew-banner[data-type="error"] { border-left-color:var(--crew-red); }
.crew-banner[data-type="success"] { border-left-color:var(--crew-green); }
.crew-session-bar { display:flex; justify-content:space-between; align-items:center; font-size:var(--crew-small); color:var(--crew-muted); margin-bottom:var(--crew-s3); }
.crew-dates { display:grid; grid-template-columns:1fr 1fr; gap:var(--crew-s3); }
.crew-dates legend { grid-column:1/-1; }
.crew-dates label, .crew-status-options label { position:relative; margin:0; }
.crew-dates input, .crew-status-options input { position:absolute; width:1px; height:1px; opacity:0; }
.crew-dates span, .crew-status-options span { border:2px solid var(--crew-line); border-radius:8px; display:flex; flex-direction:column; padding:var(--crew-s3) var(--crew-s4); min-height:70px; justify-content:center; color:var(--crew-text); }
.crew-dates small, .crew-status-options small { font-weight:400; color:var(--crew-muted); font-size:.75rem; margin-top:var(--crew-s1); }
.crew-dates input:checked + span { border-color:var(--crew-text); background:var(--crew-bg); }
.crew-main input:focus-visible + span { outline:3px solid #3b83dc; outline-offset:3px; }
.crew-status-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--crew-s2); }
.crew-status-options span { padding:var(--crew-s3); min-height:88px; }
.option-working input:checked + span { border-color:var(--crew-green); background:var(--crew-green-bg); }
.option-delayed input:checked + span { border-color:var(--crew-amber); background:var(--crew-amber-bg); }
.option-off input:checked + span { border-color:var(--crew-red); background:var(--crew-red-bg); }
.crew-saved { margin-top:calc(-1 * var(--crew-s3)); }
.crew-field-help { display:flex; justify-content:space-between; gap:var(--crew-s4); font-size:.75rem; color:var(--crew-muted); }
#note-count { white-space:nowrap; }
.crew-reload { width:100%; margin-top:var(--crew-s2); }
.crew-review { border-top:4px solid var(--crew-accent); }
.crew-review-date { font-weight:700; }
.crew-review-actions { display:flex; gap:var(--crew-s3); margin-top:var(--crew-s5); }
.crew-password-settings { margin-top:var(--crew-s6); }
.crew-password-settings summary { cursor:pointer; min-height:44px; font-size:var(--crew-small); }
.crew-sr-only { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0); border:0 !important; }
@media (max-width:600px) {
  .crew-main { padding-block:var(--crew-s6); }
  .crew-shell { padding-inline:var(--crew-s4); }
  .crew-support { grid-template-columns:1fr; gap:var(--crew-s2); }
  .crew-panel { padding:var(--crew-s5); }
  .crew-status-options { grid-template-columns:1fr; }
  .crew-status-options span { min-height:62px; flex-direction:row; align-items:center; justify-content:space-between; gap:var(--crew-s2); }
  .crew-status-options small { margin:0; }
  .crew-kicker { font-size:.75rem; letter-spacing:.06em; }
  .crew-review-actions { flex-direction:column; }
}
