/* Schedule: phone agenda + desktop week grid. Uses the chat theme tokens (--nc-*). */
:root:root .sc-root{--sc-ok:#6f9c5a;--sc-warn:#f0a33a;--sc-bad:#e53935;color:var(--nc-text);font:14px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
:root:root .sc-root *{box-sizing:border-box}
:root:root .sc-root [hidden],:root:root .sc-sheet [hidden]{display:none!important}
:root:root .sc-btn{font:inherit;font-weight:600;border-radius:9px;border:1px solid var(--nc-line);background:var(--nc-panel);color:var(--nc-text);padding:8px 13px;cursor:pointer;white-space:nowrap}
:root:root .sc-btn.primary{background:var(--nc-accent);border-color:var(--nc-accent);color:#fff}
:root:root .sc-btn.primary:disabled{background:var(--nc-soft);border-color:var(--nc-line);color:var(--nc-muted);cursor:default}
:root:root .sc-btn.danger{color:var(--nc-red)}
:root:root .sc-btn.ghost{border-color:transparent;background:none;color:var(--nc-accent)}
:root:root .sc-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
:root:root .sc-hint{color:var(--nc-muted);font-size:13px;margin:0}
:root:root .sc-empty{color:var(--nc-muted);text-align:center;padding:24px}
:root:root .sc-err{color:var(--nc-red);margin:0}
:root:root .sc-f{display:grid;gap:5px;color:var(--nc-muted);font-size:13px}
:root:root .sc-f input,:root:root .sc-f select,:root:root .sc-f textarea,:root:root .sc-sel,:root:root .sc-search{background:var(--nc-input);color:var(--nc-text);border:1px solid var(--nc-line);border-radius:9px;padding:9px 10px;font:inherit;font-size:16px;width:100%}
:root:root .sc-check{display:flex;align-items:center;gap:8px;color:var(--nc-text)}
:root:root .sc-grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
:root:root .sc-seg{display:flex;background:var(--nc-soft);border-radius:10px;padding:3px;margin:10px 12px}
:root:root .sc-seg button{flex:1;border:0;background:none;color:var(--nc-text);font:inherit;padding:8px;border-radius:8px;cursor:pointer;white-space:nowrap}
:root:root .sc-seg button.on{background:var(--nc-panel);font-weight:700;box-shadow:0 1px 3px rgba(0,0,0,.15)}
:root:root .sc-seg-inline{margin:0}
/* sheets (bottom on phones, centered on desktop) */
:root:root .sc-sheet{position:fixed;inset:0;z-index:900;background:rgba(15,22,30,.4);display:flex;align-items:flex-end;justify-content:center}
:root:root .sc-sheet-in{background:var(--nc-panel);color:var(--nc-text);width:100%;max-width:520px;border-radius:20px 20px 0 0;padding:18px 16px calc(20px + env(safe-area-inset-bottom));display:grid;gap:12px;max-height:88vh;overflow:auto;overscroll-behavior:contain;box-shadow:var(--nc-shadow)}
:root:root .sc-sheet-in h3{margin:0;font-size:18px}
@media (min-width:801px){:root:root .sc-sheet{align-items:center}:root:root .sc-sheet-in{border-radius:16px;padding:20px}}
:root:root .sc-flash{position:fixed;left:50%;bottom:calc(90px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:950;background:#1f2933;color:#fff;border-radius:999px;padding:9px 16px;font-weight:600;font-size:13px;max-width:90vw;text-align:center}
:root:root .sc-people{display:grid;gap:4px;max-height:36vh;overflow:auto;border:1px solid var(--nc-line);border-radius:10px;padding:8px}
:root:root .sc-req{border:1px solid var(--nc-line);border-radius:12px;padding:12px;display:grid;gap:8px;margin:10px 12px}
:root:root .sc-sheet .sc-req{margin:0}
:root:root .sc-req-shift{border-left:5px solid var(--c);padding-left:10px;display:grid}
:root:root .sc-req-shift span{color:var(--nc-muted);font-size:13px}
:root:root .sc-detail{border-left:5px solid var(--c);padding-left:10px;display:grid;gap:2px}
:root:root .sc-detail span{color:var(--nc-muted)}
:root:root .sc-jobs{display:grid;gap:4px;max-height:40vh;overflow:auto}
:root:root .sc-jobrow{display:flex;align-items:center;gap:8px;padding:6px 4px;border-bottom:1px solid var(--nc-line)}
:root:root .sc-jobrow.sub{padding-left:26px;color:var(--nc-muted)}
:root:root .sc-jobrow i{width:14px;height:14px;border-radius:4px;flex:none}
:root:root .sc-jobrow b{flex:1}

/* ---------- phone agenda ---------- */
:root:root .sc-phone{display:flex;flex-direction:column;height:100%;position:relative;background:var(--nc-panel)}
:root:root .sc-strip{display:grid;grid-template-columns:26px repeat(7,1fr) 26px;align-items:center;padding:8px 2px 10px;border-bottom:1px solid var(--nc-line);flex:none}
:root:root .sc-nav{background:none;border:0;color:var(--nc-muted);font-size:22px;cursor:pointer;padding:0}
:root:root .sc-d{display:grid;justify-items:center;gap:3px;background:none;border:0;color:var(--nc-text);cursor:pointer;padding:0;font:inherit}
:root:root .sc-d small{color:var(--nc-muted);font-size:13px}
:root:root .sc-d span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:18px}
:root:root .sc-d.past span{color:var(--nc-muted)}
:root:root .sc-d.sel span{background:#12b2ef;color:#fff}
:root:root .sc-d i{width:5px;height:5px;border-radius:50%;background:#12b2ef;opacity:0}
:root:root .sc-d.has i{opacity:1}
:root:root .sc-pub{display:flex;gap:8px;padding:8px 12px;border-bottom:1px solid var(--nc-line);background:var(--nc-soft2);flex:none}
:root:root .sc-pub .sc-btn{flex:1}
:root:root .sc-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:4px 12px 20px}
:root:root .sc-month{color:var(--nc-muted);font-weight:700;margin:16px 4px 4px}
:root:root .sc-day{display:grid;grid-template-columns:46px 1fr;gap:8px;padding:10px 0}
:root:root .sc-dn{text-align:center;color:var(--nc-muted);line-height:1.05;padding-top:6px}
:root:root .sc-dn b{display:block;font-size:30px;font-weight:200;color:var(--nc-muted)}
:root:root .sc-day.today .sc-dn,:root:root .sc-day.today .sc-dn b{color:#12b2ef}
:root:root .sc-cards{display:grid;gap:8px;min-width:0}
:root:root .sc-info{margin:0;padding:6px 10px;border-radius:8px;background:var(--nc-accent-soft);color:var(--nc-text);font-size:13px}
:root:root .sc-add{background:none;border:0;color:var(--nc-accent);text-align:left;font:inherit;font-size:17px;padding:8px 2px;display:flex;gap:10px;align-items:center;width:100%;cursor:pointer}
:root:root .sc-add::after{content:"";flex:1;height:1px;background:var(--nc-line)}
:root:root .sc-none{color:var(--nc-muted);padding:8px 2px}
:root:root .sc-card{position:relative;border:0;text-align:left;color:#fff;border-radius:14px;padding:11px 56px 11px 14px;display:grid;gap:1px;width:100%;background:var(--c);font:inherit;cursor:pointer}
:root:root .sc-card b{font-size:16px}
:root:root .sc-card b em{font-style:normal;font-size:11px;font-weight:700;background:rgba(255,255,255,.25);border-radius:6px;padding:1px 6px;margin-left:4px;vertical-align:2px}
:root:root .sc-card .sc-job{font-size:15px;opacity:.95}
:root:root .sc-card .sc-time{font-size:14px;opacity:.8}
:root:root .sc-card .sc-who{font-size:16px;margin-top:2px}
:root:root .sc-card .sc-av{position:absolute;right:10px;top:11px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:rgba(255,255,255,.22)}
:root:root .sc-ack{position:absolute;left:-7px;top:-6px;width:21px;height:21px;border-radius:50%;background:#7bc043;color:#fff;display:grid;place-items:center;font-size:12px;border:2px solid var(--nc-panel)}
:root:root .sc-card.draft{outline:2px dashed rgba(255,255,255,.7);outline-offset:-5px}
:root:root .sc-card.open{background:repeating-linear-gradient(135deg,var(--c) 0 12px,color-mix(in srgb,var(--c) 80%,#fff) 12px 24px)}
:root:root .sc-card.deleting{opacity:.5;text-decoration:line-through}
:root:root .sc-sum{position:sticky;bottom:-20px;margin:10px -12px -20px;background:var(--nc-soft2);border-top:1px solid var(--nc-line);padding:12px 16px calc(12px + 0px);display:flex;justify-content:space-between;gap:8px;color:var(--nc-muted);font-size:13px}
:root:root .sc-sum b{color:var(--nc-text)}
:root:root .sc-fab{position:absolute;right:16px;bottom:calc(64px + env(safe-area-inset-bottom, 0px));width:54px;height:54px;border-radius:50%;background:var(--nc-panel);color:var(--nc-text);border:1px solid var(--nc-line);font-size:28px;box-shadow:var(--nc-shadow);cursor:pointer;z-index:5}
:root:root .sc-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--nc-line);background:var(--nc-panel);flex:none}
:root:root .sc-tabs button{background:none;border:0;color:var(--nc-muted);font:inherit;font-size:12px;padding:10px 2px;cursor:pointer}
:root:root .sc-tabs button.on{color:var(--nc-accent);font-weight:700}
:root:root .sc-avail{display:grid;grid-template-columns:46px 1fr 54px;gap:8px;align-items:center;padding:6px 0}
:root:root .sc-abox{background:var(--nc-soft);border-radius:12px;padding:15px 14px;color:var(--nc-muted);font-size:16px}
:root:root .sc-abox.no{background:#fdeceb;color:#c62828}
:root[data-theme="dark"] .sc-abox.no{background:#3d1f1f;color:#ffb3b3}
:root:root .sc-more{background:var(--nc-soft);border:0;border-radius:12px;height:50px;font-size:18px;color:var(--nc-text);cursor:pointer}
:root:root .sc-empty span{display:grid;place-items:center;width:84px;height:84px;margin:90px auto 14px;border-radius:50%;background:var(--nc-soft);font-size:34px;color:var(--nc-muted)}

/* ---------- desktop week grid ---------- */
:root:root .sc-desk{background:var(--nc-panel);border:1px solid var(--nc-line);border-radius:14px;overflow:hidden}
:root:root .sc-dhead,:root:root .sc-dbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--nc-line)}
:root:root .sc-dhead{background:var(--nc-soft2)}
:root:root .sc-dhead .sc-sel{width:auto;font-weight:700;font-size:17px;border:0;background:none;padding:4px}
:root:root .sc-sp{flex:1}
:root:root .sc-range{font-size:15px;min-width:170px;text-align:center}
:root:root .sc-cnt{font-style:normal;background:var(--nc-red);color:#fff;border-radius:999px;padding:0 6px;font-size:11px;margin-left:4px}
:root:root .sc-menuwrap{position:relative}
:root:root .sc-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:220px;background:var(--nc-panel);border:1px solid var(--nc-line);border-radius:12px;box-shadow:var(--nc-shadow);padding:6px;display:grid}
:root:root .sc-menu button{border:0;background:none;text-align:left;padding:9px 12px;border-radius:8px;font:inherit;color:var(--nc-text);cursor:pointer}
:root:root .sc-menu button:hover{background:var(--nc-soft)}
:root:root .sc-scroll{overflow:auto;max-height:calc(100vh - 290px)}
:root:root table.sc-wk{border-collapse:separate;border-spacing:0;min-width:1100px;width:100%}
:root:root .sc-wk th,:root:root .sc-wk td{border-bottom:1px solid var(--nc-line);border-right:1px solid var(--nc-line);vertical-align:top}
:root:root .sc-wk thead th{position:sticky;top:0;z-index:3;background:var(--nc-panel);font-weight:500;padding:8px;text-align:center;font-size:13px}
:root:root .sc-date{display:inline-block;padding:2px 10px;border-radius:999px;font-size:14px}
:root:root .sc-wk thead th.today .sc-date{background:var(--nc-accent);color:#fff}
:root:root .sc-tot{display:flex;gap:10px;justify-content:center;color:var(--nc-muted);font-size:11px;margin-top:4px;font-variant-numeric:tabular-nums}
:root:root .sc-cov{display:flex;height:4px;border-radius:2px;overflow:hidden;margin:7px 6px 0;background:var(--nc-soft)}
:root:root .sc-cov i{display:block}
:root:root .sc-emp{width:200px;min-width:200px;padding:8px 10px;background:var(--nc-panel);text-align:left;position:sticky;left:0;z-index:2;font-weight:400}
:root:root .sc-wk thead .sc-emp{z-index:4}
:root:root .sc-emp b{display:block;font-weight:500}
:root:root .sc-emp small{color:var(--nc-muted);font-variant-numeric:tabular-nums}
:root:root .sc-emp small.over{color:var(--sc-warn)}
:root:root .sc-who{display:flex;gap:8px;align-items:center}
:root:root .sc-who .sc-av{width:32px;height:32px;border-radius:50%;background:var(--nc-soft);display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--nc-text);flex:none}
:root:root .sc-wk tr.sc-info td,:root:root .sc-wk tr.sc-info th{background:var(--nc-soft2);height:36px;font-size:12px;color:var(--nc-muted);cursor:pointer;padding:6px}
:root:root .sc-wk tr.sc-openrow th{background:var(--nc-soft2)}
:root:root .sc-cell{padding:4px;min-width:128px;height:58px;position:relative}
:root:root .sc-cell:hover{background:var(--nc-soft2)}
:root:root .sc-cell.drop{background:var(--nc-accent-soft)}
:root:root .sc-cell.unav{background:#fdecec}
:root[data-theme="dark"] .sc-cell.unav{background:#35201f}
:root:root .sc-un{display:block;text-align:center;color:#c62828;font-size:12px;padding:6px}
:root[data-theme="dark"] .sc-un{color:#ffb3b3}
:root:root .sc-plus{position:absolute;right:6px;bottom:4px;color:var(--nc-accent);opacity:0;font-weight:700;background:none;border:0;font-size:16px;cursor:pointer}
:root:root .sc-cell:hover .sc-plus{opacity:1}
:root:root .sc-sh{position:relative;display:block;width:100%;text-align:left;border:0;border-radius:8px;padding:6px 8px 6px 10px;color:#fff;margin-bottom:4px;font:12px/1.25 inherit;background:var(--c);cursor:grab}
:root:root .sc-sh b{display:block;font-size:12px}
:root:root .sc-sh span{display:block;opacity:.95;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:root:root .sc-sh.draft{outline:2px dashed rgba(255,255,255,.75);outline-offset:-3px}
:root:root .sc-sh.deleting{opacity:.45;text-decoration:line-through}
:root:root .sc-sh .sc-dot{position:absolute;left:3px;top:3px;width:7px;height:7px;border-radius:50%;background:#7bc043;border:1px solid #fff;display:block}
:root:root .sc-sh .sc-flag{position:absolute;right:0;top:0;width:0;height:0;border-top:12px solid var(--sc-bad);border-left:12px solid transparent;border-top-right-radius:8px;display:block}
:root:root .sc-sh .sc-rp{position:absolute;right:6px;bottom:4px;font-size:11px;display:block}
:root:root .sc-wksum{display:flex;gap:18px;flex-wrap:wrap;padding:10px 14px;background:var(--nc-soft2);border-top:1px solid var(--nc-line);font-size:13px;color:var(--nc-muted);font-variant-numeric:tabular-nums}
:root:root .sc-wksum b{color:var(--nc-text)}
:root:root .sc-help{padding:8px 14px}
/* The Ops desktop shell restyles table headers; keep the grid's own look. */
html .sc-root .sc-wk th,html .sc-root .sc-wk td{font-family:inherit;letter-spacing:normal;text-transform:none;color:var(--nc-text)}
html .sc-root .sc-wk thead th{font-size:13px;font-weight:500}
html .sc-root .sc-wk .sc-emp small,html .sc-root .sc-tot{color:var(--nc-muted)}
html .sc-root .sc-wk tr.sc-info td,html .sc-root .sc-wk tr.sc-info th{color:var(--nc-muted);font-size:12px}
html .sc-root .sc-wk .sc-un{color:#c62828}
html .sc-root .sc-sh,html .sc-root .sc-sh b,html .sc-root .sc-sh span{color:#fff}
:root:root .sc-tag{display:inline-block;margin-left:6px;font-style:normal;font-size:10.5px;font-weight:700;color:var(--nc-muted);background:var(--nc-soft);border:1px solid var(--nc-line);border-radius:999px;padding:0 6px;vertical-align:1px}
:root:root .sc-who[data-person]{cursor:pointer}
:root:root .sc-who[data-person]:hover b{text-decoration:underline}
:root:root .sc-swatches{display:flex;gap:8px;flex-wrap:wrap}
:root:root .sc-swatch{width:28px;height:28px;border-radius:50%;border:2px solid transparent;padding:0;cursor:pointer;box-shadow:inset 0 0 0 2px var(--nc-panel)}
:root:root .sc-swatch.on{border-color:var(--nc-text)}
:root:root .sc-cred{display:grid;gap:8px;border:1px solid var(--nc-line);border-radius:12px;padding:12px;background:var(--nc-soft);user-select:text;-webkit-user-select:text}
:root:root .sc-cred div{display:grid}
:root:root .sc-cred small{color:var(--nc-muted);font-size:12px}
:root:root .sc-cred b{font-size:16px}
:root:root .sc-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.04em}
