/* GuardFlow · system-inspired interface. No external fonts or UI libraries. */
:root{
  color-scheme:light;--bg:#f5f5f7;--card:#fff;--ink:#1d1d1f;--muted:#626269;
  --line:#dedee3;--soft:#eeeef2;--glass:rgba(255,255,255,.97);
  --accent:#0066cc;--accent-ink:#fff;--navy:#1d1d1f;
  --active:#18743c;--active-bg:#e9f6ed;--break:#865300;--break-bg:#fff3d9;
  --rotator:#245ac6;--rotator-bg:#edf2ff;--bad:#b92d25;--bad-bg:#ffefed;
  --deep:#245ac6;--deep-bg:#edf2ff;--radius:22px;--radius-s:16px;--tap:52px;
  --shadow:0 2px 8px #1d1d1f04;--shadow-soft:0 2px 8px #1d1d1f04;
}
html[data-theme="dark"]{
  color-scheme:dark;--bg:#111113;--card:#1c1c1e;--ink:#f5f5f7;--muted:#b0b0b8;
  --line:#38383c;--soft:#2c2c30;--glass:rgba(28,28,30,.97);--navy:#f5f5f7;
  --accent:#65aaff;--accent-ink:#101012;--active:#7bdd9d;--active-bg:#183324;
  --break:#ffd077;--break-bg:#382c16;--rotator:#9cbdff;--rotator-bg:#202d48;
  --bad:#ff9d94;--bad-bg:#3d2120;--deep:#9cbdff;--deep-bg:#202d48;
  --shadow:none;--shadow-soft:none;
}
html,body{background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.015em}
button,input,select,textarea{font-family:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.topbar{background:var(--glass);border-bottom:1px solid var(--line);padding:14px max(20px,calc((100vw - 840px)/2));box-shadow:none;backdrop-filter:none}
.topbar .row{gap:12px}.brand{font-size:23px;font-weight:700;letter-spacing:-1px}.brand b{font-weight:700}
.brand-mini-logo{width:32px;height:32px;border-radius:9px;box-shadow:none}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:none;margin-top:4px}
.iconbtn{width:44px;height:44px;min-width:44px;border:0;border-radius:50%;background:var(--soft);box-shadow:none;color:var(--ink)}
.subrow{flex-wrap:wrap;gap:8px;font-size:13px;padding-top:5px}.savechip{min-height:34px;padding:7px 12px;font-size:12px;box-shadow:none}
.wrap{max-width:840px;padding:28px 20px 145px}.daytitle{font-size:28px;letter-spacing:-1px;font-weight:700;margin-bottom:22px}.daytitle small{font-size:14px;letter-spacing:0;line-height:1.5;margin-top:7px}
.section-title{margin-top:28px;gap:12px}.section-title h2{font-size:18px;letter-spacing:-.35px;font-weight:650;text-transform:none;color:var(--ink)}
.section-title span{font-size:13px;text-align:right}
.card,.zonecard,.spot,.pill,.hero,.opt,.login-panel,.sheet{background:var(--card);box-shadow:var(--shadow);backdrop-filter:none;-webkit-backdrop-filter:none}
.card,.zonecard{border:1px solid var(--line);padding:18px 20px;border-radius:20px}
.zonecard{min-height:100px;margin-bottom:12px}.zonecard .zname{font-size:21px;font-weight:650;letter-spacing:-.5px}.zonecard .zsub{font-size:14px;margin-top:7px;line-height:1.4}.zonecard .count{font-size:28px;color:var(--accent)}.zonecard .count small{display:block;font-size:12px}
.person{flex-wrap:wrap;gap:10px}.person .name{white-space:normal;overflow:visible;text-overflow:clip;min-width:140px;line-height:1.4;font-size:17px;font-weight:600}
.avatar{width:42px;height:42px;border-radius:14px;font-weight:600;box-shadow:none}
.tag{font-size:11px;font-weight:650;letter-spacing:0;text-transform:none;border-radius:7px;padding:5px 8px;white-space:normal}
.tag.d18,.depth.d18{background:var(--deep-bg);color:var(--deep)}
.spot{border-radius:18px;min-height:94px;padding:18px 20px;border-left-width:4px;margin-bottom:11px}
.spot .postname{font-size:13px;font-weight:600;letter-spacing:.01em;text-transform:none;line-height:1.45}.spot .who{font-size:23px;font-weight:650;letter-spacing:-.55px;line-height:1.35;overflow-wrap:anywhere}.spot .nextline{font-size:13px;margin-top:6px;line-height:1.4}.depth{font-size:11px;padding:3px 7px}
.spot.uncov{background:var(--bad-bg);border-color:var(--bad)}.spot.tofill{background:var(--card);border-left-color:var(--line)}
.home{border:1px solid var(--line);background:var(--soft);border-radius:22px;padding:17px;margin-top:24px}.home h3{font-size:16px;font-weight:650;letter-spacing:-.2px;text-transform:none;color:var(--ink)}
.pill{border-radius:15px;min-height:64px;padding:12px 14px;box-shadow:none}.pill .name{white-space:normal;line-height:1.4}.pill .name small{font-size:13px;font-weight:400}.pill .state{font-size:12px;letter-spacing:0;text-transform:none}.pill .pclock{font-size:18px}
.pill.break{background:var(--break-bg)}.pill.lunch{background:var(--active-bg)}.pill.customrest{background:var(--rotator-bg)}.pill.incident{background:var(--bad-bg)}
.btn{border-radius:14px;min-height:52px;font-size:16px;font-weight:600;letter-spacing:0;box-shadow:none}
.btn.primary,.apple-primary{background:var(--accent);color:var(--accent-ink);box-shadow:none}.btn.ghost,.apple-secondary{background:var(--soft);color:var(--ink);border:1px solid var(--line);box-shadow:none}
.btn.danger{background:var(--bad-bg);color:var(--bad)}.btn:disabled{opacity:.5;cursor:not-allowed}
.fabbar{max-width:none;width:auto;box-sizing:border-box;background:var(--glass);border-top:1px solid var(--line);padding:14px max(20px,calc((100vw - 800px)/2)) calc(14px + env(safe-area-inset-bottom));box-shadow:0 -4px 18px #00000005;backdrop-filter:none}
.tabbar{padding:4px;border-radius:13px;gap:3px;overflow:auto}.tabbar button{min-height:44px;min-width:65px;padding:8px 12px;font-size:13px;font-weight:600;white-space:nowrap;border-radius:10px}.tabbar button.active{box-shadow:0 1px 4px #0002}
.chips{gap:7px;margin-bottom:18px}.chip{border-radius:11px;min-height:44px;background:var(--card);padding:10px 14px;font-weight:600;box-shadow:none}.chip.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.guide-actions{gap:10px;margin:16px 0 22px}.guide-actions button{min-height:82px;border-radius:17px;box-shadow:none;background:var(--card)}.guide-actions button span{font-size:22px}.guide-actions button small{font-size:13px;font-weight:500;color:var(--ink);line-height:1.3}
.workspace-card{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:none;padding:17px;flex-wrap:wrap;gap:13px}.workspace-mark{background:var(--soft);color:var(--accent);box-shadow:none;border-radius:13px;width:44px;height:44px}.workspace-card .grow{min-width:140px}.workspace-card b{font-size:16px;font-weight:600}.workspace-card small{font-size:13px;font-weight:400}.workspace-actions{margin-left:auto;flex-wrap:wrap}.workspace-actions button{min-height:44px;background:var(--soft);border:0;color:var(--accent);font-weight:600;padding:10px 15px}
.sheet-bg{background:#0006;backdrop-filter:none}.sheet{border-radius:26px 26px 0 0;padding:18px 24px calc(28px + env(safe-area-inset-bottom));max-width:680px;background:var(--card);box-shadow:0 -10px 50px #0002}.sheet .grab{background:var(--line);width:38px}.sheet h3{font-size:26px;font-weight:650;letter-spacing:-.7px;line-height:1.2}.sheet .sub{font-size:15px;line-height:1.5;margin:8px 0 20px}.sheet h4{font-size:16px;font-weight:650;margin:24px 0 12px}.sheet p{line-height:1.6}.sheet .opt{border-radius:14px;background:var(--soft);border:0;min-height:65px;padding:15px;margin-bottom:8px;box-shadow:none}.opt .meta{line-height:1.35}.opt .meta small{font-size:13px;line-height:1.4;margin-top:4px}
.field{margin-bottom:20px}.field label{font-size:14px;text-transform:none;letter-spacing:0;font-weight:600;margin-bottom:8px}.field input,.field select,.field textarea,.login input{background:var(--soft);border:1px solid var(--line);border-radius:12px;min-height:52px;font-size:16px;color:var(--ink);box-shadow:none}
.seg{gap:5px}.seg button{font-size:14px;border-radius:10px;min-height:46px}.seg button.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.search{background:var(--soft);border:0;box-shadow:none;border-radius:13px;min-height:50px}.search input{font-size:16px;color:var(--ink)}
.banner{border-radius:14px;line-height:1.5;font-weight:500}.banner.good{background:var(--active-bg);color:var(--active)}.banner.warn{background:var(--break-bg);color:var(--break)}
.login{background:var(--bg);padding:48px 22px;align-items:center}.login-shell{max-width:420px;animation:none}.login-logo{width:76px;height:76px;border-radius:21px;box-shadow:none;margin-bottom:20px}.login .logo{font-size:36px;font-weight:650;letter-spacing:-1.5px}.login .sub{font-size:16px;font-weight:400}.login .credit{opacity:1;margin-top:9px}.login-brand{margin-bottom:32px}.login-panel{background:var(--card);padding:30px;border-radius:24px;border:1px solid var(--line);box-shadow:0 8px 32px #00000005;backdrop-filter:none}.login-step-title{font-size:25px;font-weight:600;letter-spacing:-.7px}.login .small{font-size:13px;line-height:1.5;color:var(--muted)}
.footer{opacity:1;font-size:12px}.small,.empty-note{line-height:1.5}
.guide-overview{margin:0 0 25px}.guide-overview .overline{font-size:12px;font-weight:650;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.guide-overview h1{font-size:36px;letter-spacing:-1.5px;line-height:1.15;font-weight:700;margin:8px 0}.guide-overview .date-line{font-size:14px;color:var(--muted)}
.guide-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:22px;padding:19px 0;background:var(--card);border:1px solid var(--line);border-radius:20px}.guide-stats>div{padding:0 17px;border-right:1px solid var(--line)}.guide-stats>div:last-child{border:0}.guide-stats b{display:block;font-size:28px;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-1px}.guide-stats small{display:block;font-size:12px;color:var(--muted);line-height:1.4;margin-top:4px}
#operation-notice{top:auto;bottom:calc(100px + env(safe-area-inset-bottom));background:var(--card);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:18px;box-shadow:0 10px 35px #0002;padding:17px 20px}#operation-notice[data-state="done"]{border-left-color:var(--active)}#operation-notice[data-state="error"]{border-left-color:var(--bad)}#operation-notice small{font-size:14px;line-height:1.5;margin-top:5px;color:var(--muted)}#operation-notice button{min-width:32px;min-height:32px}
@media(max-width:480px){.topbar{padding:12px 16px}.brand{font-size:21px}.topbar .row{gap:8px}.topbar .row>div:last-child{gap:5px!important}.iconbtn{width:40px;height:44px;min-width:40px}.wrap{padding:24px 16px 145px}.guide-overview h1{font-size:32px}.guide-stats>div{padding:0 12px}.guide-stats b{font-size:25px}.guide-stats small{font-size:12px}.sheet{padding-left:18px;padding-right:18px}.person .name{min-width:110px}.workspace-actions{width:100%;margin:0}.workspace-actions button{flex:1}.subrow #sched-mini{font-size:12px}.login-panel{padding:24px}.zonecard{padding:18px}.spot{padding:16px}.tabbar{flex-wrap:nowrap}.btnrow .btn.side{flex-basis:82px}.system-status{grid-template-columns:1fr}.sheet-table-wrap{max-width:100%}}
@media(min-width:900px){.wrap{padding-top:38px}.guide-overview h1{font-size:42px}.guide-stats{max-width:100%}.login-panel{padding:32px}.sheet-bg{align-items:center}.sheet{border-radius:26px;max-height:88dvh}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{#operation-notice{display:none!important}}
.guide-tools{border:1px solid var(--line);border-radius:17px;background:var(--card);margin:0 0 18px;overflow:hidden}.guide-tools summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:14px 17px;min-height:62px;font-size:16px;font-weight:600;list-style:none}.guide-tools summary::-webkit-details-marker{display:none}.guide-tools summary small{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:3px}.guide-tools[open] summary{border-bottom:1px solid var(--line)}.guide-tools[open] summary>span:last-child{transform:rotate(180deg)}.guide-tools .workspace-card{border:0;margin:0;border-radius:0;background:transparent}.workspace-card .grow{flex:1;min-width:140px}.guide-tools summary:focus-visible{outline:3px solid var(--accent);outline-offset:-4px}
.top-rotation-timer{padding:6px 12px;min-height:30px;font-size:14px}.guide-overview{margin-bottom:20px}.guide-stats{margin-top:17px;padding:15px 0}.guide-stats b{font-size:26px}
.sheet{position:relative}.sheet-close{position:absolute;right:16px;top:14px;width:40px;height:40px;border-radius:50%;background:var(--soft);color:var(--muted);font-size:26px;line-height:1}.sheet[role="dialog"]>h3{padding-right:40px}
@media(max-width:360px){.brand-mini-logo{display:none}.brand{font-size:20px}.iconbtn{width:36px;min-width:36px}.topbar .row>div:last-child{gap:3px!important}.guide-stats>div{padding:0 9px}.guide-stats small{font-size:11px}}
