@font-face{font-family:Open Sans;src:url(/assets/OpenSans-Variable-BZBpG5Iz.ttf)format("truetype-variations"),url(/assets/OpenSans-Variable-BZBpG5Iz.ttf)format("truetype");font-weight:300 700;font-style:normal;font-display:swap}:root{--font:"Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--radius:12px;--radius-sm:8px;--radius-lg:16px;--radius-pill:999px}:root,:root[data-brand=richardson]{--bg:#f4f3f8;--surface:#fff;--surface-2:#faf9fc;--border:#e7e4ef;--border-strong:#d6d1e2;--text:#1c1633;--text-2:#5b5470;--text-3:#8d8799;--accent:#004d6b;--accent-soft:#dbe8ee;--accent-text:#fff;--brandmark-bg:#21154a;--ok-bg:#e7f4ee;--ok-bd:#b3dcc4;--ok-tx:#1f7a55;--warn-bg:#fdf3e3;--warn-bd:#f0d49a;--warn-tx:#92500a;--sme:#a45a95;--sme-soft:#f3e7f0;--sme-text:#863f77;--danger:#b3093c;--danger-soft:#fbe7ed;--seg-track:#ece9f1;--toast-bg:#21154a;--toast-text:#fff;--scrim:#21154a6b;--hatch:#21154a0e;--proto-bg:#fdf3e3;--proto-bd:#f3dcb3;--proto-tx:#92500a;--shadow:0 1px 2px #21154a12, 0 1px 3px #21154a0d;--shadow-lg:0 18px 48px #21154a2e}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.45}.appbar{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:12px 20px;display:flex}.brandmark{background:var(--brandmark-bg);width:30px;height:30px;color:var(--accent-text);border-radius:8px;place-items:center;font-size:15px;font-weight:700;transition:background .2s;display:grid}.brandmark img{object-fit:contain;width:20px;height:20px;display:block}.appbar h1{letter-spacing:-.01em;margin:0;font-size:16px;font-weight:650}.appbar .sub{color:var(--text-3);margin-top:1px;font-size:12px}.seller{color:var(--text-2);align-items:center;gap:8px;margin-left:auto;font-size:12.5px;display:flex}.seller b{color:var(--text);font-weight:650}.seller-ava{background:var(--accent-soft);width:24px;height:24px;color:var(--accent);border-radius:50%;place-items:center;font-size:10px;font-weight:700;transition:background .2s,color .2s;display:grid}.cfgtz{font-family:var(--font);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;max-width:150px;padding:4px 6px;font-size:12.5px}.cfgtz:hover,.cfgtz:focus{border-color:var(--accent);outline:none}.tabs{background:var(--surface);border-bottom:1px solid var(--border);gap:2px;padding:0 20px;display:flex}.tab{appearance:none;cursor:pointer;font-family:var(--font);color:var(--text-2);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:11px 14px;font-size:13.5px;font-weight:550}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.view{padding:18px 20px 40px}.controls{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-wrap:wrap;align-items:flex-end;gap:18px;margin-bottom:16px;padding:12px 14px;display:flex}.ctrl{flex-direction:column;gap:5px;display:flex}.ctrl>label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);font-size:11px;font-weight:600}.weeknav{align-items:center;gap:6px;display:flex}.weeknav .wk-label{text-align:center;font-variant-numeric:tabular-nums;min-width:168px;font-weight:600}.iconbtn,.todaybtn{appearance:none;font-family:var(--font);cursor:pointer;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:8px;font-size:13px;font-weight:550}.iconbtn{place-items:center;width:32px;height:32px;font-size:15px;display:grid}.todaybtn{height:32px;padding:0 12px}.iconbtn:hover,.todaybtn:hover{background:var(--surface-2);border-color:var(--accent)}.seg{background:var(--seg-track);border-radius:9px;gap:2px;padding:3px;display:inline-flex}.seg button{appearance:none;cursor:pointer;font-family:var(--font);color:var(--text-2);white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:6px 12px;font-size:13px;font-weight:550}.seg button:hover{color:var(--text)}.seg button.on{background:var(--surface);color:var(--accent);box-shadow:var(--shadow)}.tzselect{font-family:var(--font);color:var(--text);background:var(--surface);border:1px solid var(--border-strong);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%235b6472' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border-radius:8px;max-width:230px;height:32px;padding:0 28px 0 10px;font-size:13px;font-weight:550}.tzselect:hover,.tzselect:focus{border-color:var(--accent);outline:none}.daybadge{color:var(--text-3);vertical-align:super;margin-left:1px;font-size:9px;font-weight:700}.gridnote{color:var(--text-2);margin:0 2px 10px;font-size:12.5px}.gridnote b{color:var(--text);font-weight:650}.summary{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 2px 14px;font-size:13px;display:flex}.summary b{color:var(--text);font-weight:650}.pill{background:var(--accent-soft);color:var(--accent);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.gridwrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}table.grid{border-collapse:collapse;table-layout:fixed;width:100%}table.grid th,table.grid td{border-right:1px solid var(--border);border-bottom:1px solid var(--border)}table.grid th:last-child,table.grid td:last-child{border-right:0}.col-time{width:84px}.corner-tz{color:var(--text-3);text-transform:none;letter-spacing:0;font-size:10px;font-weight:600}thead th{background:var(--surface-2);text-align:center;color:var(--text-2);padding:9px 6px;font-size:12px;font-weight:600;position:sticky;top:0}thead th .dow{color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;font-size:11px;display:block}thead th .dnum{color:var(--text);font-variant-numeric:tabular-nums;font-size:16px;font-weight:650;display:block}thead th.today .dnum{color:var(--accent)}td.timecell{background:var(--surface-2);text-align:right;color:var(--text-3);vertical-align:top;font-variant-numeric:tabular-nums;height:46px;padding:4px 8px 0;font-size:11px;line-height:1.3}.tc-main{color:var(--text);white-space:nowrap;font-size:11.5px;font-weight:650}.tc-sub{color:var(--text-3);white-space:nowrap;font-size:10px}td.slot{vertical-align:top;height:46px;padding:3px}.slotcard{cursor:pointer;border:1px solid #0000;border-radius:7px;flex-direction:column;justify-content:center;gap:2px;height:100%;padding:4px 7px;display:flex}.slotcard.free{background:var(--ok-bg);border-color:var(--ok-bd)}.slotcard.free:hover{box-shadow:inset 0 0 0 1.5px var(--ok-tx)}.slotcard.free.noprep{background:var(--warn-bg);border-color:var(--warn-bd)}.slotcard.free.noprep:hover{box-shadow:inset 0 0 0 1.5px var(--warn-tx)}.slotcard.free.noprep .cnt{color:var(--warn-tx)}.noprep-tag{text-transform:uppercase;letter-spacing:.03em;color:var(--warn-tx);border:1px solid var(--warn-bd);vertical-align:middle;border-radius:999px;margin-left:5px;padding:0 5px;font-size:9px;font-weight:700}.noprep-legend{color:var(--warn-tx)}.slotcard.none{cursor:default;background:0 0}.slotcard.tooearly{cursor:not-allowed;background:repeating-linear-gradient(135deg, transparent, transparent 5px, var(--hatch) 5px, var(--hatch) 6px)}.slotcard .cnt{color:var(--ok-tx);font-size:12px;font-weight:650}.slotcard .who{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.slotcard .sme-dot{background:var(--sme);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:4px;display:inline-block}.scrim{background:var(--scrim);z-index:50;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);box-shadow:var(--shadow-lg);border-radius:14px;width:440px;max-width:100%;overflow:hidden}.modal header{border-bottom:1px solid var(--border);padding:16px 18px}.modal header .mtitle{font-size:15px;font-weight:650}.modal header .mmeta{color:var(--text-2);margin-top:2px;font-size:12.5px}.modal .body{max-height:50vh;padding:16px 18px;overflow:auto}.person-row{align-items:center;gap:10px;padding:7px 0;display:flex}.avatar{background:var(--accent-soft);width:28px;height:28px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:650;display:grid}.tag{letter-spacing:.02em;border-radius:999px;padding:2px 7px;font-size:10.5px;font-weight:650}.tag.sme{background:var(--sme-soft);color:var(--sme-text);margin-left:auto}.modal footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:14px 18px;display:flex}.btn{appearance:none;font-family:var(--font);cursor:pointer;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:8px;padding:9px 16px;font-size:13.5px;font-weight:600}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn.primary:hover{filter:brightness(.94)}.btn:disabled{opacity:.45;cursor:not-allowed;filter:none}.step{padding:4px 0 12px}.step+.step{border-top:1px solid var(--border);padding-top:12px}.step-h{color:var(--text);letter-spacing:.01em;margin-bottom:8px;font-size:12px;font-weight:700}.step-h .muted{color:var(--text-3);letter-spacing:0;font-weight:500}.opt{border:1px solid var(--border);cursor:pointer;border-radius:9px;align-items:center;gap:10px;margin-bottom:6px;padding:8px 9px;display:flex}.opt:hover{border-color:var(--border-strong);background:var(--surface-2)}.opt.sel{border-color:var(--accent);background:var(--accent-soft)}.opt-check{border:1.5px solid var(--border-strong);border-radius:50%;flex:none;width:16px;height:16px}.opt.sel .opt-check{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 2.5px var(--surface)}.opt-main{flex:auto;min-width:0}.opt-main .nm{font-weight:550}.opt-main .ml{color:var(--text-3);font-size:12px}.prep-hint{color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:11px 12px;font-size:13px}.prep-hint.conflict{border-color:var(--danger);color:var(--danger);background:var(--danger-soft)}.prep-day{text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);margin:10px 0 6px;font-size:11px;font-weight:700}.prep-pill{appearance:none;font-family:var(--font);cursor:pointer;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:7px;margin:0 6px 6px 0;padding:6px 11px;font-size:13px;font-weight:600}.prep-pill:hover{border-color:var(--accent);background:var(--surface-2)}.prep-pill.sel{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.email-in{font-family:var(--font);border:1px solid var(--border-strong);width:100%;color:var(--text);background:var(--surface);border-radius:8px;padding:9px 11px;font-size:13.5px}.email-in:focus{border-color:var(--accent);outline:none}.dual-hint{color:var(--accent);font-size:11.5px;font-weight:550}.config-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.config-head h2{margin:0 0 4px;font-size:16px}.config-head .desc{color:var(--text-2);max-width:640px;font-size:13px}table.cfg{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;box-shadow:var(--shadow);overflow:hidden}table.cfg th{background:var(--surface-2);text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);border-bottom:1px solid var(--border);padding:10px 12px;font-size:11px;font-weight:650}table.cfg td{border-bottom:1px solid var(--border);vertical-align:middle;padding:9px 12px}table.cfg tr:last-child td{border-bottom:0}.cfg-name input,.cfg-mail input{font-family:var(--font);width:100%;color:var(--text);background:0 0;border:1px solid #0000;border-radius:6px;padding:4px 6px;font-size:13.5px}.cfg-name input{font-weight:600}.cfg-mail input{color:var(--text-2)}.cfg-name input:hover,.cfg-mail input:hover{background:var(--surface-2)}.cfg-name input:focus,.cfg-mail input:focus{border-color:var(--accent);background:var(--surface);outline:none}.chip{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-3);border-radius:999px;align-items:center;margin:2px 3px 2px 0;padding:4px 9px;font-size:12px;font-weight:600;display:inline-flex}.chip.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.chip.sme.on{border-color:var(--sme);background:var(--sme-soft);color:var(--sme-text)}.chip.disabled{cursor:default;opacity:.7}.rm{appearance:none;cursor:pointer;color:var(--text-3);background:0 0;border:0;border-radius:6px;padding:4px 6px;font-size:16px;line-height:1}.rm:hover{color:var(--danger);background:var(--danger-soft)}.addbtn{appearance:none;font-family:var(--font);cursor:pointer;border:1px dashed var(--border-strong);background:var(--surface);color:var(--accent);border-radius:8px;padding:9px 14px;font-size:13.5px;font-weight:600}.addbtn:hover{background:var(--accent-soft);border-color:var(--accent)}.cfg-note{color:var(--text-3);align-items:flex-start;gap:7px;margin-top:12px;font-size:12px;display:flex}.toast{opacity:0;background:var(--toast-bg);color:var(--toast-text);box-shadow:var(--shadow-lg);pointer-events:none;z-index:60;border-radius:10px;padding:11px 18px;font-size:13.5px;font-weight:550;transition:all .25s;position:fixed;bottom:22px;left:50%;transform:translate(-50%)translateY(20px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.empty,.loading{text-align:center;color:var(--text-3);padding:40px}.log-badge{text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:10.5px;font-weight:700}.log-badge.log-error{background:var(--danger-soft);color:var(--danger)}.log-badge.log-warn{background:var(--warn-bg);color:var(--warn-tx)}.log-badge.log-info{background:var(--accent-soft);color:var(--accent)}.log-trace{background:var(--surface-2);border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;max-height:260px;color:var(--text-2);border-radius:6px;margin:4px 0 0;padding:8px 10px;font-size:11.5px;overflow:auto}@media (width<=720px){.controls{gap:12px}.weeknav .wk-label{min-width:120px;font-size:13px}}
