:root{--ev-bg-s: 78%;--ev-bg-l: 93%;--ev-bd-l: 46%;--ev-fg-l: 22%;--today: #fff8db;--now: #e5484d;--hatch: rgba(0, 0, 0, .06)}:root[data-theme=dark]{--ev-bg-s: 35%;--ev-bg-l: 24%;--ev-bd-l: 66%;--ev-fg-l: 90%;--today: #2a2610;--now: #ff6b70;--hatch: rgba(255, 255, 255, .07)}.main:has(.cal){max-width:none;padding-top:12px}.cal{display:grid;grid-template-columns:250px minmax(0,1fr);gap:16px;align-items:start}.cal-side{display:grid;gap:14px;position:sticky;top:70px;max-height:calc(100vh - 86px);overflow-y:auto;padding-bottom:8px}.cal-block{border-top:1px solid var(--line);padding-top:12px;display:grid;gap:8px}.cal-h{font-size:13px;color:var(--muted);font-weight:700;letter-spacing:.02em}.cal-main{min-width:0;display:grid;gap:10px}.cal-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.cal-title{font-size:22px;font-weight:700;margin-left:6px;font-variant-numeric:tabular-nums}.cal-legend{margin-top:-4px}.cal .cal-filter-btn,.cal .cal-scrim{display:none}.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.cal .seg .btn{border-radius:0;background:var(--surface);min-height:34px;padding:6px 12px;border-right:1px solid var(--line)}.cal .seg .btn:last-child{border-right:0}.cal .seg .btn.active{background:var(--accent);color:var(--accent-fg)}.staff-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}.staff-check{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:6px;cursor:pointer;font-size:14px}.staff-check:hover{background:var(--surface-2)}.staff-check input{width:auto;min-height:0;accent-color:hsl(var(--h) 60% var(--ev-bd-l))}.swatch{width:12px;height:12px;border-radius:3px;background:hsl(var(--h) 60% var(--ev-bd-l));flex:none}.status-toggles{display:flex;flex-wrap:wrap;gap:6px}.toggle{font:inherit;font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer}.toggle.on{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.toggle[class*=st-CANCELLED].on{text-decoration:line-through}.inline-check{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.inline-check input{width:auto;min-height:0}.mini{display:grid;gap:6px}.mini-head{display:flex;align-items:center;justify-content:space-between}.mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}.mini-wd{font-size:11px;color:var(--muted);font-weight:600}.mini-wd.red{color:var(--danger)}.mini-day{position:relative;font:inherit;font-size:12px;border:0;background:transparent;color:var(--fg);border-radius:6px;padding:4px 0 6px;cursor:pointer;font-variant-numeric:tabular-nums}.mini-day:hover{background:var(--surface-2)}.mini-day.out{color:var(--muted);opacity:.55}.mini-day.red{color:var(--danger)}.mini-day.today{box-shadow:inset 0 0 0 1px var(--accent)}.mini-day.sel{background:var(--accent);color:var(--accent-fg)}.mini-dot{position:absolute;left:50%;bottom:2px;width:3px;height:3px;margin-left:-1.5px;border-radius:50%;background:currentColor;opacity:.6}.tg{--gutter: 64px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow-x:auto}.tg-head,.tg-allday,.tg-grid{display:grid;grid-template-columns:var(--gutter) repeat(var(--cols),minmax(118px,1fr));min-width:calc(var(--gutter) + var(--cols) * 118px)}.tg-head{border-bottom:1px solid var(--line);background:var(--surface-2)}.tg-colhead{padding:8px;font-size:13px;border-left:1px solid var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tg-colhead.today{background:var(--today)}.tg-colhead.holiday strong,.hol{color:var(--danger)}.hol{font-size:11px;font-weight:600}.tg-allday{border-bottom:1px solid var(--line);min-height:34px}.tg-gutter{display:flex;align-items:center;justify-content:flex-end;padding-right:8px}.tg-allcell{border-left:1px solid var(--line);padding:3px;display:grid;gap:2px;align-content:start;cursor:pointer}.tg-allcell.today{background:var(--today)}.allday{display:block;width:100%;text-align:left;font:inherit;font-size:12px;border:0;border-radius:4px;padding:2px 6px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:hsl(var(--h, 220) var(--ev-bg-s) var(--ev-bg-l));color:hsl(var(--h, 220) 40% var(--ev-fg-l));border-left:3px solid hsl(var(--h, 220) 60% var(--ev-bd-l))}.allday-MEETING,.allday-CENTER{--h: 265 !important}.tg-body{max-height:min(70vh,760px);overflow-y:auto;overflow-x:hidden;min-width:calc(var(--gutter) + var(--cols) * 118px)}.tg-grid{position:relative}.tg-hours{position:relative;display:block}.tg-hour{position:absolute;right:8px;transform:translateY(-50%);font-size:11px;color:var(--muted);white-space:nowrap}.tg-hour:first-child{transform:none}.tg-col{position:relative;border-left:1px solid var(--line);cursor:cell}.tg-col.today{background:var(--today)}.tg-col.holiday{background-image:repeating-linear-gradient(135deg,var(--hatch) 0 6px,transparent 6px 12px)}.tg-line{position:absolute;left:0;right:0;border-top:1px solid var(--line)}.tg-line:after{content:"";position:absolute;left:0;right:0;top:30px;border-top:1px dashed var(--line);opacity:.55}.tg-now{position:absolute;left:0;right:0;height:2px;background:var(--now);z-index:3;pointer-events:none}.tg-now:before{content:"";position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--now)}.ev{position:absolute;z-index:2;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden;text-align:left;font:inherit;font-size:12px;line-height:1.3;padding:3px 5px;border:0;border-left:3px solid hsl(var(--h) 60% var(--ev-bd-l));border-radius:4px;cursor:pointer;background:hsl(var(--h) var(--ev-bg-s) var(--ev-bg-l));color:hsl(var(--h) 40% var(--ev-fg-l));box-shadow:0 0 0 1px var(--surface)}.ev:hover,.ev:focus-visible{z-index:4;box-shadow:0 2px 8px #0000002e}.ev-time{font-size:11px;opacity:.85;white-space:nowrap}.ev-st{font-weight:700}.ev-name{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.ev-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;opacity:.85}.ev-compact .ev-time{font-size:10px}.ev-COMPLETED .ev-time:after{content:" ✓"}.ev-NO_SHOW{border-left-color:var(--danger)}.ev-NO_SHOW .ev-st{color:var(--danger)}[class*=ev-CANCELLED]{background-image:repeating-linear-gradient(135deg,var(--hatch) 0 5px,transparent 5px 10px);opacity:.75}[class*=ev-CANCELLED] .ev-name,[class*=ev-CANCELLED] .ev-sub{text-decoration:line-through}[class*=ev-CANCELLED] .ev-st{color:var(--danger)}.mg{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.mg-head{padding:6px 8px;font-size:13px;font-weight:700;background:var(--surface-2);border-bottom:1px solid var(--line)}.mg-head.sun{color:var(--danger)}.mg-head.sat{color:var(--info)}.mg-cell{min-height:132px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:4px;display:flex;flex-direction:column;gap:2px;min-width:0}.mg-cell.out{background:var(--surface-2)}.mg-cell.out>*{opacity:.6}.mg-cell.today{background:var(--today)}.mg-date{align-self:flex-start;font:inherit;font-size:13px;font-weight:700;border:0;background:transparent;color:var(--fg);padding:0 4px;border-radius:4px;cursor:pointer;white-space:nowrap}.mg-date:hover{background:var(--surface-2)}.mg-date.red{color:var(--danger)}.mg-date.blue{color:var(--info)}.mg-ev{display:flex;align-items:center;gap:4px;width:100%;font:inherit;font-size:11.5px;text-align:left;border:0;background:transparent;color:var(--fg);padding:1px 2px;border-radius:3px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mg-ev:hover{background:hsl(var(--h) var(--ev-bg-s) var(--ev-bg-l))}.mg-ev em{font-style:normal;color:var(--danger);font-weight:700}.dot{width:7px;height:7px;border-radius:50%;background:hsl(var(--h) 60% var(--ev-bd-l));flex:none}[class*=mg-CANCELLED]{text-decoration:line-through;color:var(--muted)}.mg-NO_SHOW{color:var(--danger)}.mg-more{align-self:flex-start;font:inherit;font-size:11.5px;color:var(--muted);border:0;background:transparent;padding:0 2px;cursor:pointer}.mg-more:hover{color:var(--accent);text-decoration:underline}.agenda{display:grid;gap:14px}.agenda-day{display:grid;gap:6px}.agenda-date{font-size:15px;border-bottom:1px solid var(--line);padding-bottom:4px}.agenda-date.red{color:var(--danger)}.agenda-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.agenda-item{display:grid;grid-template-columns:10px 96px minmax(70px,auto) minmax(0,1fr) minmax(0,1.4fr) auto;gap:10px;align-items:center;width:100%;text-align:left;font:inherit;font-size:14px;background:var(--surface);border:1px solid var(--line);border-left:3px solid hsl(var(--h) 60% var(--ev-bd-l));border-radius:8px;padding:8px 12px;cursor:pointer;color:var(--fg)}.agenda-item:hover{background:hsl(var(--h) var(--ev-bg-s) var(--ev-bg-l))}.radios.radios-row{display:flex;flex-wrap:wrap;gap:6px 16px}.radios-row legend{width:100%}@media(max-width:900px){.cal{grid-template-columns:minmax(0,1fr)}.cal .cal-filter-btn{display:inline-flex}.cal-side{position:fixed;z-index:40;top:0;bottom:0;left:0;width:min(300px,86vw);max-height:none;background:var(--bg);padding:16px max(16px,env(safe-area-inset-left,0px));box-shadow:4px 0 24px #00000040;transform:translate(-105%);transition:transform .2s}.cal-side.open{transform:none}.cal .cal-scrim{display:block;position:fixed;inset:0;z-index:39;background:#00000059;border:0}.cal-title{font-size:18px;width:100%;margin:4px 0 0;order:5}.mg-cell{min-height:84px}.mg-ev{font-size:10.5px}.agenda-item{grid-template-columns:10px 84px minmax(0,1fr) auto}.agenda-item>:nth-child(4),.agenda-item>:nth-child(5){display:none}}.cal-banner{display:flex;flex-wrap:wrap;gap:6px}.cal-banner .allday{width:auto;font-size:13px;padding:4px 10px}@media(max-width:600px){.mg-cell{flex-direction:row;flex-wrap:wrap;align-content:flex-start;gap:3px;min-height:64px}.mg-date{width:100%}.mg-date .hol{display:none}.mg-ev{width:auto;font-size:0;padding:2px}.mg-ev .dot{width:8px;height:8px}.mg-cell .allday{font-size:10px;padding:1px 3px}.mg-more{width:100%;font-size:10px}.cal-title{font-size:17px}}.ev.ev-drag{cursor:grab;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.tg-dragging,.tg-dragging .ev,.tg-dragging .tg-col{cursor:grabbing;-webkit-user-select:none;user-select:none}.ev.ev-dragging,.mg-ev.ev-dragging{opacity:.35}.tg-col.drop-target{background-color:#1979e60d}.ev-ghost{position:absolute;left:2px;right:2px;z-index:6;pointer-events:none;display:flex;flex-direction:column;gap:1px;padding:3px 6px;font-size:12px;line-height:1.3;border:2px dashed hsl(var(--h) 60% var(--ev-bd-l));border-radius:6px;background:hsl(var(--h) var(--ev-bg-s) var(--ev-bg-l) / .92);color:hsl(var(--h) 40% var(--ev-fg-l));box-shadow:0 6px 16px #0000002e}.ev-ghost span{font-size:11px;overflow:hidden;text-overflow:ellipsis}.ev-ghost.bad{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,var(--surface));color:var(--danger)}.ev-moved{font-weight:700}.mg-cell.drop-ok{background:#1979e61a;outline:2px dashed hsl(212 70% 50%);outline-offset:-2px}.mg-cell.drop-bad{background:color-mix(in srgb,var(--danger) 10%,transparent);outline:2px dashed var(--danger);outline-offset:-2px;cursor:no-drop}.mg-ev[draggable=true]{cursor:grab}.move-line{margin:0 0 12px;font-size:15px}.move-from{color:var(--muted);text-decoration:line-through}.move-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 0 12px}.move-row .hint{margin:0}:root{--bg: #f5f5fa;--surface: #ffffff;--surface-2: #eeeef6;--fg: #17172a;--muted: #5d5d78;--line: #dcdcea;--accent: #5a3fd6;--accent-fg: #ffffff;--accent-soft: #ece8ff;--ok: #1b7445;--ok-soft: #e1f2e7;--warn: #8f5600;--warn-soft: #fbeed6;--danger: #b42318;--danger-soft: #fde7e4;--info: #1f5fa8;--info-soft: #e3edf9;--imp: #7a3e00;--imp-bg: #ffe2b8;--font: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", "Segoe UI", sans-serif;--mono: ui-monospace, "Cascadia Mono", Consolas, monospace;--radius: 10px;color-scheme:light}:root[data-theme=dark]{--bg: #111120;--surface: #181829;--surface-2: #202036;--fg: #e8e8f4;--muted: #a2a2bf;--line: #2e2e48;--accent: #a395ff;--accent-fg: #160d3d;--accent-soft: #2a2350;--ok: #6ccf97;--ok-soft: #163824;--warn: #f0b552;--warn-soft: #3a2b10;--danger: #ff8a7d;--danger-soft: #3f1a16;--info: #8ab8f0;--info-soft: #172a42;--imp: #ffd9a6;--imp-bg: #4a2a05;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;line-height:1.3;text-wrap:balance}h1{font-size:24px}h2{font-size:17px}h3{font-size:15px}p{margin:0}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.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}.skip-link{position:absolute;left:8px;top:-40px;background:var(--accent);color:var(--accent-fg);padding:8px 12px;border-radius:6px;z-index:50}.skip-link:focus{top:8px}.muted{color:var(--muted)}.small{font-size:13px}.mono{font-family:var(--mono);font-size:13px}.nowrap{white-space:nowrap}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.hint{font-size:13px;color:var(--muted)}.stack{display:grid;gap:14px;align-content:start}.row{display:flex;gap:12px;align-items:end;flex-wrap:wrap;justify-content:space-between}.plain{list-style:none;margin:0;padding:0;display:grid;gap:8px}.center-screen{min-height:100%;display:grid;place-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-weight:600;padding:8px 14px;border-radius:8px;border:1px solid transparent;cursor:pointer;background:var(--surface-2);color:var(--fg);min-height:38px;white-space:nowrap}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-fg)}.btn-primary:hover:not(:disabled){filter:brightness(1.06)}.btn-outline{background:var(--surface);border-color:var(--accent);color:var(--accent)}.btn-ghost{background:transparent;color:var(--muted)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--fg)}.btn-danger{background:var(--danger);color:#fff}.btn-light{background:#ffffffd9;color:#3d2000}.btn-sm{padding:4px 10px;min-height:30px;font-size:13px}.btn-lg{padding:12px 20px;min-height:48px;font-size:16px}.btn-block{width:100%}.link{background:none;border:0;padding:0;font:inherit;font-weight:600;color:var(--accent);cursor:pointer;text-decoration:underline;text-underline-offset:3px}input,select,textarea{font:inherit;color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px;min-height:38px;width:100%}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:2px solid var(--accent-soft)}.field{display:grid;gap:6px}.field label,.inline-field label{font-weight:600;font-size:14px}.inline-field{display:flex;align-items:center;gap:8px}.inline-field select{width:auto}.radios{border:0;padding:0;margin:0;display:grid;gap:6px}.radios legend{font-weight:600;font-size:14px;margin-bottom:4px}.radios label{display:flex;gap:8px;align-items:center}.radios input{width:auto;min-height:0}.alert{padding:10px 14px;border-radius:8px;font-size:14px;border:1px solid transparent}.alert-error{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 25%,transparent)}.alert-info{background:var(--info-soft);color:var(--info)}.alert-ok{background:var(--ok-soft);color:var(--ok)}.chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:2px 9px;border-radius:999px;white-space:nowrap}.chip:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.chip-ok{color:var(--ok);background:var(--ok-soft)}.chip-warn{color:var(--warn);background:var(--warn-soft)}.chip-danger{color:var(--danger);background:var(--danger-soft)}.chip-info{color:var(--info);background:var(--info-soft)}.chip-muted{color:var(--muted);background:var(--surface-2)}.empty{padding:32px 16px;text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius)}.loading{padding:12px 0}.login-wrap{min-height:100%;display:grid;place-items:center;padding:24px max(16px,env(safe-area-inset-left,0px))}.login-card{width:100%;max-width:460px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:28px;display:grid;gap:16px}.shell{min-height:100%;display:flex;flex-direction:column}.imp-banner{background:var(--imp-bg);color:var(--imp);padding:8px max(16px,env(safe-area-inset-left,0px));display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;font-size:14px}.topbar{position:sticky;top:0;z-index:10;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px 24px;flex-wrap:wrap;padding:10px max(16px,env(safe-area-inset-left,0px))}.brand{display:flex;align-items:center;gap:10px;font-size:16px}.brand-lg{font-size:22px}.brand-center{color:var(--muted);font-weight:500}.logo{width:30px;height:30px;border-radius:8px;background:var(--accent);color:var(--accent-fg);display:grid;place-items:center;font-weight:800}.brand-lg .logo{width:38px;height:38px;font-size:20px}.nav{list-style:none;margin:0;padding:0;display:flex;gap:4px;flex-wrap:wrap}.nav a{display:block;padding:7px 12px;border-radius:8px;color:var(--muted);text-decoration:none;font-weight:600}.nav a:hover{background:var(--surface-2);color:var(--fg)}.nav a.active{background:var(--accent-soft);color:var(--accent)}.who{margin-left:auto;display:flex;gap:8px;align-items:center}.role{font-size:13px;color:var(--muted)}.main{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:24px max(16px,env(safe-area-inset-left,0px)) 48px;display:grid;gap:20px;align-content:start}.page-head{display:flex;gap:12px 20px;justify-content:space-between;align-items:flex-end;flex-wrap:wrap}.page-head>div:first-child{display:grid;gap:4px;max-width:70ch}.page-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.month-picker{display:flex;align-items:center;gap:4px}.month-picker input{width:auto}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;display:grid;gap:2px}.kpi span{font-size:13px;color:var(--muted);font-weight:600}.kpi strong{font-size:22px;font-variant-numeric:tabular-nums}.kpi small{font-size:12px;color:var(--muted)}.kpi-warn strong{color:var(--warn)}.split{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}@media(min-width:980px){.split:has(.panel){grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr)}}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{padding:10px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.table th{font-size:12px;color:var(--muted);font-weight:600;background:var(--surface-2);white-space:nowrap}.table .num{text-align:right}.table tr:last-child td{border-bottom:0}.table tr.selected td{background:var(--accent-soft)}.table select{width:auto;min-height:32px;padding:4px 8px}.panel,.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;min-width:0}.panel{display:grid;gap:14px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0}.facts div{background:var(--surface-2);border-radius:8px;padding:8px 10px}.facts dt{font-size:12px;color:var(--muted)}.facts dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}.ledger{list-style:none;margin:0;padding:0;display:grid}.ledger li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.ledger li:last-child{border-bottom:0}.ledger li.neg .num{color:var(--danger)}.ledger li.struck strong,.ledger li.struck .num{text-decoration:line-through;color:var(--muted)}.ledger-right{display:flex;gap:8px;align-items:center}.grid-2{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}@media(min-width:900px){.grid-2{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}}.progress-head{display:flex;justify-content:space-between;align-items:baseline}.bar{height:10px;background:var(--surface-2);border-radius:999px;overflow:hidden}.bar span{display:block;height:100%;background:var(--accent);border-radius:999px;transition:width .3s}.task-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.task{display:flex;justify-content:space-between;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.task>div:first-child{min-width:0;display:grid;gap:2px}.task-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.draft{display:grid;gap:8px;background:var(--surface-2);border-radius:8px;padding:14px}.task-cards{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.task-card{background:var(--surface);border:2px solid var(--line);border-radius:14px;padding:20px;display:grid;gap:14px}.task-card h3{font-size:20px}.task-card.redo{border-color:var(--warn)}.workspace{max-width:520px;margin:0 auto;width:100%;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;display:grid;gap:16px;text-align:center}.ws-top{display:flex;justify-content:space-between;align-items:center}.workspace h2{font-size:24px}.timer{font-size:clamp(48px,14vw,80px);font-weight:800;font-variant-numeric:tabular-nums;color:var(--accent);line-height:1}.timer.over{color:var(--warn);font-size:40px}.file-label{cursor:pointer}.preview{max-width:100%;max-height:280px;object-fit:contain;border-radius:10px;margin:0 auto}.dialog{border:0;border-radius:14px;padding:0;width:min(480px,calc(100vw - 32px));background:var(--surface);color:var(--fg);box-shadow:0 20px 60px #00000040}.dialog::backdrop{background:#0a141173}.dialog-body{padding:22px;display:grid;gap:14px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}@media(max-width:640px){.topbar{position:static}.who{margin-left:0}.facts{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.dialog-wide{width:min(720px,calc(100vw - 32px))}.dialog-body{max-height:calc(100vh - 64px);overflow-y:auto}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 16px}.checks,.goals,.sensitive{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:0;display:grid;gap:8px}.checks legend,.goals legend,.sensitive legend{font-weight:600;font-size:14px;padding:0 4px}.checks label{display:flex;gap:8px;align-items:center}.checks input{width:auto;min-height:0}.goal-row{display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:8px;align-items:center}.preview-line{font-size:13px;background:var(--surface-2);border-radius:8px;padding:10px 12px}.preview-line strong{margin-right:6px}.logo-img{width:30px;height:30px;display:block}.login-brand{margin:0;line-height:0}.login-brand img{width:180px;height:auto}.demo-banner{background:var(--accent);color:var(--accent-fg);text-align:center;font-size:13px;font-weight:600;padding:6px max(16px,env(safe-area-inset-left,0px))}.finding{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}.table input[type=datetime-local]{width:auto;min-height:32px;padding:4px 8px}.btn-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.chips{display:flex;gap:6px;flex-wrap:wrap}.facts-2{grid-template-columns:repeat(2,minmax(0,1fr))}.history{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}.history:last-child{border-bottom:0}.history p{flex-basis:100%}.template-body{background:var(--surface-2);border-radius:8px;padding:8px 10px;margin-top:4px;white-space:pre-wrap}.pre{white-space:pre-wrap}.inquiry-list,.notice-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.notice-list summary{cursor:pointer;list-style-position:outside;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.notice-body{margin-top:10px}.answer,.quote{background:var(--accent-soft);border-radius:8px;padding:10px 12px;display:grid;gap:4px}.quote{background:var(--surface-2)}.new-dot{font-size:11px;font-weight:700;color:var(--accent-fg);background:var(--accent);padding:1px 7px;border-radius:999px}.table details summary{cursor:pointer}.table details p{margin-top:6px}.main:has(.bs){max-width:1480px}.bs{display:grid;gap:14px;min-width:0}.bs>*{min-width:0}.bs-tabs{display:flex;flex-wrap:wrap;border:1px solid var(--line);border-radius:8px;overflow:hidden;width:fit-content;max-width:100%;background:var(--surface)}.bs-tab{font:inherit;font-size:14px;font-weight:600;padding:9px 16px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer}.bs-tab:last-child{border-right:0}.bs-tab:hover{background:var(--surface-2);color:var(--fg)}.bs-tab.on{background:var(--accent);color:var(--accent-fg)}.bs-filters{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;display:grid;gap:12px}.bs-frow{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px 16px;align-items:end}.bs-frow .month-picker input{flex:1}.bs-fs{border:0;margin:0;padding:0;display:grid;gap:6px;min-width:0}.bs-radios{display:flex;flex-wrap:wrap;gap:4px 16px}.bs-chk{display:inline-flex;align-items:center;gap:6px;font-size:14px;margin-right:14px;cursor:pointer}.bs-chk input{width:auto;min-height:0;accent-color:var(--accent)}.bs-checks{display:flex;flex-wrap:wrap;gap:10px 32px;align-items:center}.bs-lbl{display:block;font-size:12px;color:var(--muted);font-weight:600;margin-bottom:2px}.bs-tools{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.bs-wrap{max-height:none}.table-wrap{position:relative}.bs-table{font-size:13px;min-width:1380px}.bs-table th{text-align:center;font-size:12.5px;border-right:1px solid var(--line)}.bs-table td{border-right:1px solid var(--line);vertical-align:middle;padding:8px 10px}.bs-table td:last-child,.bs-table th:last-child{border-right:0}.bs-table td.bs-center,.bs-center{text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}.bs-info{min-width:190px;max-width:240px}.bs-info .link{font-weight:700}.bs-sum td{background:var(--accent-soft);border-bottom:2px solid var(--accent)}.bs-paycell{padding:4px 6px!important;min-width:560px}.bs-pay{width:100%;table-layout:fixed;border-collapse:collapse;font-size:12.5px}.bs-pay th,.bs-pay td{padding:3px 4px;border:0!important;background:transparent!important;white-space:nowrap}.bs-pay thead th{font-size:11.5px;color:var(--muted);font-weight:600;text-align:right}.bs-pay th:first-child{width:72px}.bs-pay tbody th{font-weight:600;color:var(--muted);text-align:left;font-size:12px}.bs-pay td.num{text-align:right}.bs-pay-total td,.bs-pay-total th{border-top:1px dashed var(--line)!important;font-weight:700;color:var(--fg)!important}.bs-neg{color:var(--danger)}.bs-ok{color:var(--ok);font-weight:600}.bs-due{color:var(--danger);font-weight:700;font-variant-numeric:tabular-nums}.bs-due b{display:inline-grid;place-items:center;width:14px;height:14px;border-radius:3px;background:var(--danger);color:#fff;font-size:11px;line-height:1}.bs-vmark{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--accent);color:var(--accent);font-weight:800;font-size:12px}.bs-hint{padding:8px 14px}.bs-drawer{position:fixed;z-index:41;top:0;right:0;bottom:0;width:min(440px,100vw);overflow-y:auto;background:var(--bg);box-shadow:-6px 0 28px #0000003d;padding:16px}.bs-drawer .panel{border:0;padding:4px}.bs-scrim{position:fixed;inset:0;z-index:40;background:#00000047;border:0}@media(max-width:640px){.bs-tab{flex:1 1 45%;border-bottom:1px solid var(--line)}.bs-checks{gap:8px 20px}}.theme-switch{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;flex:none}.theme-switch .btn{border:0;border-radius:0;min-height:32px;padding:4px 10px;font-size:13px;background:var(--surface);color:var(--muted)}.theme-switch .btn+.btn{border-left:1px solid var(--line)}.theme-switch .btn.active{background:var(--accent);color:var(--accent-fg)}.theme-switch.compact .btn{padding:4px 8px}.login-card.wide{max-width:640px}.login-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.login-links{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px;color:var(--muted)}.samples{border:1px solid var(--line);border-radius:var(--radius);padding:8px 12px;background:var(--surface-2)}.samples summary{cursor:pointer;font-weight:600;font-size:14px}.samples-table{width:100%;border-collapse:collapse;font-size:12.5px;margin-top:6px}.samples-table th{text-align:left;color:var(--muted);font-weight:600;padding:4px}.samples-table td{padding:4px;border-top:1px solid var(--line);word-break:break-all}.role-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.role-card{display:grid;gap:6px;justify-items:start;text-align:left;font:inherit;color:var(--fg);background:var(--surface);border:2px solid var(--line);border-radius:12px;padding:16px;cursor:pointer}.role-card:hover,.role-card:focus-visible{border-color:var(--accent);background:var(--accent-soft)}.role-card strong{font-size:17px}.role-icon{font-size:28px;line-height:1}.consents{border:0;padding:0;margin:0;display:grid;gap:6px;font-size:14px}.consents label{display:flex;gap:8px;align-items:flex-start}.consents input{width:auto;min-height:0;margin-top:4px;accent-color:var(--accent)}.child-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.child-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;display:grid;grid-template-columns:auto 1fr;gap:12px 14px;align-items:start}.child-avatar{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-size:22px;font-weight:800;background:var(--accent-soft);color:var(--accent)}.child-info{display:grid;gap:4px;justify-items:start}.child-info h2{font-size:19px}.child-actions{grid-column:1 / -1;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.student{display:grid;gap:18px;max-width:760px;margin:0 auto;width:100%}.student-hello{display:flex;gap:14px;align-items:center;background:var(--accent-soft);border-radius:16px;padding:18px 20px}.student-hello h1{font-size:26px}.student-wave{font-size:40px;line-height:1}.student-exit{text-align:center}.welcome-form{max-width:440px}.main:focus{outline:none}.role-child{background:var(--warn-soft);color:var(--warn);padding:2px 10px;border-radius:999px;font-weight:700}.login-top{flex-wrap:wrap}@media(max-width:480px){.login-card{padding:20px 16px}.login-brand img{width:140px}}:root{--bg:#f5f7fb;--surface:#fff;--surface-2:#f0f3f8;--fg:#202d42;--muted:#64748b;--line:#e2e8f0;--accent:#3968d9;--accent-fg:#fff;--accent-soft:#edf2ff;--radius:14px}:root[data-theme=dark]{--bg:#101722;--surface:#172131;--surface-2:#1e2b3d;--fg:#e9eef7;--muted:#a8b6ca;--line:#2c3c52;--accent:#9bb8ff;--accent-fg:#12213f;--accent-soft:#253959}body{letter-spacing:-.025em}button,input,select,textarea{font-family:inherit}button,a,input,select,textarea{transition:background .16s,border-color .16s,box-shadow .16s}button{touch-action:manipulation}.btn{min-height:42px;border-radius:9px;font-weight:600}.btn-primary{box-shadow:0 3px 8px #3968d918}.btn-primary:hover{filter:brightness(.95)}input:not([type=checkbox]):not([type=radio]),select,textarea{border-radius:9px;min-height:44px;background:var(--surface);border-color:var(--line)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field{gap:7px}.field label{font-size:13px;font-weight:650}.hint{font-size:12px;line-height:1.65}.stack{gap:20px}.table-wrap{border-radius:14px}.table th{font-size:12px;color:var(--muted);background:var(--surface-2);font-weight:600}.table td{padding-top:15px;padding-bottom:15px}.table tbody tr:hover{background:var(--accent-soft)}.card,.kpi,.child-card{box-shadow:0 2px 4px #172d4b03}.kpi{padding:22px}.kpi strong{font-size:30px;letter-spacing:-.04em}.page-head{padding:4px 0 12px}.page-head h1{font-size:27px;letter-spacing:-.045em}.page-head p{font-size:14px}.empty{border:1px dashed var(--line);border-radius:14px;padding:40px 24px}.dialog{border-radius:18px;box-shadow:0 24px 90px #14223b25}.dialog::backdrop{background:#14223b66;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-body{padding:28px}.login-wrap{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;min-height:100vh;padding:0;background:var(--surface)}.welcome-story{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;position:relative;overflow:hidden;padding:64px clamp(36px,6vw,100px);background:#eaf0fc;color:#223858}.welcome-story:after{content:"";position:absolute;width:420px;height:420px;border:1px solid #d7e2fa;border-radius:50%;right:-240px;top:-150px;pointer-events:none}.story-wordmark{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:750;margin-bottom:72px;letter-spacing:-.05em}.story-mark{width:34px;height:34px;border-radius:9px}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:750;color:#5575af;margin-bottom:20px}.welcome-story h2{font-size:clamp(32px,3.3vw,50px);line-height:1.3;letter-spacing:-.06em}.story-copy{color:#60738f;line-height:1.9;max-width:350px;margin-top:22px;font-size:15px;word-break:keep-all}.story-preview{width:100%;max-width:400px;margin-top:40px;background:#ffffffcf;border:1px solid #fff;border-radius:18px;padding:24px;box-shadow:0 18px 50px #44679f0c}.preview-head{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding-bottom:18px;border-bottom:1px solid #e8edf6}.preview-head>span{font-size:9px;color:#8193af;letter-spacing:.1em}.preview-step{display:flex;align-items:center;gap:14px;margin-top:20px}.step-number{font-size:11px;font-weight:700;width:34px;height:34px;background:#edf2fc;border-radius:11px;display:grid;place-items:center;color:#5275b7}.preview-step strong{font-size:13px}.preview-step p{font-size:11px;color:#8190a6;margin-top:2px}.step-dot{margin-left:auto;width:7px;height:7px;border-radius:50%;background:#80b4a1}.story-footer{font-size:11px;color:#7f91ad;margin-top:40px}.login-card,.login-card.wide{border:0;border-radius:0;box-shadow:none;max-width:510px;width:100%;margin:auto;padding:56px 48px;gap:28px}.login-top{align-items:center}.login-brand img{width:138px;height:auto}.login-card>.muted{font-size:12px;margin-top:-18px}.login-top .theme-switch .btn{font-size:11px;padding:4px 8px;min-height:30px}.auth-heading{display:grid;gap:8px;margin:16px 0 4px}.auth-heading h2{font-size:25px;letter-spacing:-.045em}.auth-heading p{font-size:13px}.login-links{font-size:12px;gap:14px;margin-top:10px}.login-card .btn-block{min-height:48px}.role-cards{grid-template-columns:1fr;gap:10px}.role-card{border-width:1px;padding:17px 20px;grid-template-columns:36px 1fr;column-gap:12px;align-items:center}.role-card .role-icon{grid-row:span 2;font-size:24px}.role-card strong{font-size:15px}.role-card .small{font-size:12px}.consents{background:var(--surface-2);border-radius:10px;padding:15px;font-size:12px;gap:12px}.login-card .form-grid{gap:16px}.cal-side{top:28px}.cal{gap:24px}.cal-toolbar{padding:6px 0 12px}.seg{border-radius:9px}.cal-title{font-size:23px}.student-hello{background:var(--accent-soft);padding:28px}.task{padding:18px}.imp-banner{position:relative;z-index:25}@media(min-width:1100px){.shell{padding-left:224px}.topbar{position:fixed;left:0;top:0;bottom:0;width:224px;flex-direction:column;align-items:stretch;flex-wrap:nowrap;padding:30px 18px;gap:32px;border-bottom:0;border-right:1px solid var(--line)}.brand{align-items:flex-start;padding:0 8px}.brand>span{display:grid;gap:8px}.brand strong{font-size:22px;letter-spacing:-.05em}.brand-center{display:block;font-size:11px;line-height:1.6;max-width:144px}.nav{flex-direction:column;gap:6px}.nav a{padding:11px 14px;font-size:13px;font-weight:550;border-radius:9px}.nav a.active{font-weight:700;box-shadow:inset 3px 0 0 var(--accent)}.who{margin:auto 0 0;display:flex;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:20px;gap:12px}.who .theme-switch{order:2}.who .role{width:100%;font-size:11px}.who>.btn{order:3;margin-left:auto;font-size:11px;padding:4px 8px;min-height:30px}.main{max-width:1440px;padding:36px 36px 60px}.main:has(.cal){padding-top:28px}.shell:has(.student){padding-left:0}.shell:has(.student) .topbar{position:sticky;width:100%;bottom:auto;flex-direction:row;align-items:center;padding:12px 24px;border-bottom:1px solid var(--line)}.shell:has(.student) .who{margin:0 0 0 auto;border:0;padding:0;flex-wrap:nowrap}.shell:has(.student) .who .role{width:auto}}@media(max-width:1099px){.topbar{padding:14px 20px;gap:14px}.topbar nav{order:3;width:100%;overflow-x:auto}.nav{flex-wrap:nowrap}.nav a{white-space:nowrap;font-size:13px}.brand-center{font-size:12px}.who .role{font-size:11px}.cal-side{top:150px}.main{padding-top:24px}.login-card,.login-card.wide{padding:40px 30px}.welcome-story{padding:44px 36px}.story-wordmark{margin-bottom:45px}}@media(max-width:760px){.login-wrap{grid-template-columns:1fr;min-height:100vh}.welcome-story{padding:28px 28px 32px}.story-wordmark{font-size:21px;margin-bottom:28px}.story-mark{width:28px;height:28px}.eyebrow,.story-preview,.story-footer{display:none}.welcome-story h2{font-size:29px}.story-copy{font-size:13px;margin-top:12px;max-width:none}.login-card,.login-card.wide{max-width:560px;padding:30px 24px 44px}.login-card .form-grid{grid-template-columns:1fr}.auth-heading{margin-top:0}.topbar{padding:12px 16px}.brand{font-size:15px}.brand-center{max-width:150px;display:block;font-size:10px}.who{gap:6px}.who .role{max-width:130px}.who>.btn{font-size:11px;padding:5px}.main{padding:22px 16px 40px}.page-head h1{font-size:23px}.cal-side{top:0}.kpi{padding:16px}.kpi strong{font-size:25px}.dialog-body{padding:22px}.login-links{gap:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.main:has(.client-directory){max-width:none;min-width:0}.client-directory{display:grid;gap:14px;min-width:0}.client-search-panel{display:flex;gap:24px;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px 24px}.client-search-field{display:grid;gap:8px;min-width:0;width:min(100%,780px)}.client-search-field>label{font-size:13px;font-weight:700}.client-search-box{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;padding:0 12px;gap:10px;background:var(--bg)}.client-search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.client-search-box>span{font-size:27px;color:var(--muted);line-height:1}.client-search-box input[type=search]{background:transparent;border:0;box-shadow:none;min-width:0;flex:1;padding:12px 0;outline:none;font-size:14px}.client-count{white-space:nowrap;font-size:14px;color:var(--muted);text-align:right}.client-count strong{font-size:28px;color:var(--fg);font-variant-numeric:tabular-nums;margin-right:3px}.client-count>span{display:block;font-size:12px;margin-top:4px}.client-table-tools,.client-table-actions,.client-page-size{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.client-table-tools{justify-content:space-between}.client-page-size{font-size:12px;color:var(--muted)}.client-page-size select{width:88px;min-height:36px;font-size:12px;padding:6px 10px}.client-table-actions .btn,.client-directory .btn-sm{font-size:12px;min-height:34px;padding:6px 10px}.client-table-actions [aria-pressed=true]{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.client-load-note{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--muted);padding:0 4px}.client-load-note[role=alert]{background:var(--warn-soft);color:var(--warn);border-radius:10px;padding:12px 16px}.client-resize-help{margin:0 2px;font-size:11px}.client-scroll{overflow:auto;max-width:100%;max-height:68vh;background:var(--surface);border:1px solid var(--line);border-radius:12px;scrollbar-gutter:stable;overscroll-behavior-x:contain}.client-table{table-layout:fixed;border-collapse:separate;border-spacing:0;min-width:0!important;max-width:none;margin:0}.client-table th{position:sticky;top:0;z-index:2;text-align:left;padding:16px 18px 16px 12px;white-space:nowrap;border-bottom:1px solid var(--line);background:var(--surface-2);overflow:visible;height:50px}.client-col-resizer{position:absolute;right:-5px;top:0;bottom:0;width:12px;min-height:100%;border:0;background:transparent;cursor:col-resize;touch-action:none;z-index:4;padding:0;border-radius:0;-webkit-user-select:none;user-select:none}.client-col-resizer:after{content:"";position:absolute;left:5px;top:13px;bottom:13px;width:2px;background:var(--line);border-radius:2px}.client-col-resizer:hover:after,.client-col-resizer:focus-visible:after{background:var(--accent);width:3px}.client-col-resizer:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.client-table td{vertical-align:top;padding:15px 12px;border-bottom:1px solid var(--line);font-size:13px;line-height:1.65;white-space:normal!important}.client-table tr:last-child td{border-bottom:0}.client-table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--surface-2) 35%,var(--surface))}.client-table tbody tr:hover{background:var(--accent-soft)}.client-cell-content{overflow-wrap:anywhere;white-space:pre-wrap;min-width:0}.client-cell-memo .client-cell-content,.client-cell-address .client-cell-content,.client-cell-goals .client-cell-content{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.client-expanded .client-cell-content{display:block;-webkit-line-clamp:unset;overflow:visible}.client-cell-price{text-align:right;font-variant-numeric:tabular-nums}.client-cell-id,.client-cell-year{font-variant-numeric:tabular-nums;color:var(--muted)}.client-name-cell{display:grid;gap:4px}.client-name-cell strong{font-size:14px}.client-private-badge{font-size:10px;color:var(--muted)}.client-table mark{background:#ffe8a3;color:#513800;border-radius:3px;padding:1px 0}.client-empty{text-align:center;padding:46px 20px!important}.client-empty p{color:var(--muted);margin:8px 0 16px;font-size:13px}.client-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:var(--muted);padding:4px 2px}.client-pagination nav{display:flex;align-items:center;gap:16px}@media(max-width:760px){.client-search-panel{padding:18px;align-items:stretch;flex-direction:column;gap:12px}.client-count{display:flex;gap:5px;align-items:baseline;text-align:left}.client-count strong{font-size:21px}.client-count>span{display:inline;margin:0 0 0 6px}.client-search-field{width:100%}.client-search-box input[type=search]{font-size:16px}.client-scroll{max-height:64vh}.client-table-tools{gap:12px}.client-table-actions{gap:6px}.client-table th{padding-top:14px;padding-bottom:14px}.client-table td{padding-top:12px;padding-bottom:12px}.client-resize-help{font-size:11px}.client-pagination nav{gap:10px}}.schedule-workspace .cal-side{max-height:none;overflow:visible;position:static;gap:16px;min-width:0;padding:0;transform:none;width:auto;box-shadow:none}.schedule-workspace .cal-filter-btn,.schedule-workspace .cal-scrim{display:none!important}.schedule-panel{position:relative;display:flex;flex-direction:column;min-width:0;max-width:100%;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden;align-self:start;box-sizing:border-box}.schedule-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;background:var(--surface-2);border-bottom:1px solid var(--line);font-size:11px;font-weight:650;color:var(--muted);flex:none;min-height:36px}.schedule-panel-heading .link{padding:0 4px;font-size:16px;line-height:1.2}.schedule-panel-content{min-height:0;min-width:0;flex:1;overflow:auto;padding:12px;scrollbar-gutter:stable}.schedule-panel-content>.cal-block{margin:0;border:0;padding:0}.schedule-workspace>.cal-main{display:flex;gap:0;padding:0}.schedule-workspace>.cal-main>.schedule-panel-content{display:flex;flex-direction:column;gap:12px;padding:16px;overflow:auto}.schedule-workspace .cal-toolbar{padding:0;gap:12px;align-items:flex-start;flex:none}.schedule-workspace .cal-title{font-size:21px}.schedule-workspace .cal-legend{margin:0;line-height:1.7;font-size:11px;flex:none}.schedule-workspace .tg{flex:1;min-height:200px;display:flex;flex-direction:column;border-radius:10px;scrollbar-gutter:stable}.schedule-workspace .tg-head,.schedule-workspace .tg-allday{flex:none}.schedule-workspace .tg-body{flex:1;min-height:120px;max-height:none}.schedule-workspace .mg,.schedule-workspace .agenda{flex-shrink:0}.schedule-search-filter{position:relative;min-width:0}.schedule-filter-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;min-height:42px;font:inherit;font-size:13px;color:var(--fg);padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:9px;cursor:pointer;overflow-wrap:anywhere;gap:6px}.schedule-filter-trigger[aria-expanded=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.schedule-filter-popup{margin-top:6px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 6px 18px #172d4b0b;display:grid;gap:8px}.schedule-filter-floating{z-index:10000;margin:0;display:flex;flex-direction:column;overflow:auto;box-sizing:border-box;box-shadow:0 12px 40px #172d4b30;overscroll-behavior:contain}.schedule-filter-floating>input,.schedule-filter-floating>label,.schedule-filter-floating>.schedule-filter-result-label,.schedule-filter-floating>.btn{flex-shrink:0}.schedule-filter-floating>.schedule-filter-options{flex:1;min-height:0;max-height:none;overflow:auto}.schedule-filter-popup input[type=search]{font-size:13px;min-height:38px;padding:8px;width:100%}.schedule-filter-result-label{font-size:10px;color:var(--muted)}.schedule-filter-options{max-height:190px;overflow:auto;display:grid;gap:3px}.schedule-filter-options>button{width:100%;text-align:left;display:grid;gap:3px;font:inherit;font-size:12px;white-space:normal;overflow-wrap:anywhere;padding:10px 8px;border:0;border-radius:6px;color:var(--fg);background:transparent;cursor:pointer}.schedule-filter-options>button span{font-size:10px;color:var(--muted)}.schedule-filter-options>button.keyboard-active{background:var(--surface-2)}.schedule-filter-options>button[aria-selected=true],.schedule-filter-options>button:hover{background:var(--accent-soft);color:var(--accent)}.ev{padding:0;overflow:visible}.ev-open{display:flex;flex-direction:column;align-items:flex-start;overflow:hidden;gap:0;width:100%;height:100%;padding:7px 5px;border:0;border-radius:3px;background:transparent;color:inherit;font:inherit;line-height:1.3;text-align:left;cursor:inherit}.ev-resize-handle{position:absolute;left:2px;right:2px;width:calc(100% - 4px);height:8px;padding:0;border:0;background:transparent;cursor:ns-resize;touch-action:none;z-index:6;border-radius:3px}.ev-resize-start{top:0}.ev-resize-end{bottom:0}.ev-resize-handle span{display:block;margin:auto;width:22px;max-width:70%;height:2px;background:currentColor;border-radius:3px;opacity:.45}.ev-resize-handle{opacity:0;transition:opacity .12s}.ev:hover>.ev-resize-handle,.ev:focus-within>.ev-resize-handle,.ev-resizing>.ev-resize-handle,.ev-resize-handle:focus-visible{opacity:1}.ev-resize-handle:hover,.ev-resize-handle:focus-visible{background:var(--accent-soft);outline:1px solid var(--accent)}.ev-resizing{z-index:12;box-shadow:0 0 0 2px var(--accent);opacity:.9}.ev-resizing .ev-time{font-weight:800}.schedule-workspace .cal-block.stack{gap:12px}.schedule-panel.cal-block.stack>.schedule-panel-content{display:grid;align-content:start;gap:12px}@media(max-width:1000px){.schedule-workspace>.cal-main>.schedule-panel-content{padding:12px}.schedule-workspace .cal-toolbar{flex-direction:column}.schedule-workspace .cal-title{font-size:19px}}@media(max-width:760px){.schedule-workspace{grid-template-columns:minmax(0,1fr);gap:16px}.schedule-workspace .cal-side{position:static!important;display:grid!important;width:100%!important;max-height:none!important;transform:none!important;inset:auto!important;background:transparent;padding:0!important;grid-template-columns:repeat(2,minmax(0,1fr));z-index:auto}.schedule-workspace .cal-side>.btn{grid-column:1/-1}.schedule-workspace>.cal-main{min-height:400px}.schedule-workspace .cal-title{font-size:18px}.schedule-filter-popup input[type=search]{font-size:16px}.ev-resize-handle{height:10px}}@media(max-width:480px){.schedule-workspace .cal-side{grid-template-columns:minmax(0,1fr)}.schedule-workspace .cal-toolbar .btn-row{flex-wrap:wrap}.schedule-workspace .cal-title{font-size:16px}}.schedule-workspace{position:relative;grid-template-columns:270px minmax(0,1fr);gap:24px;min-width:0}@media(max-width:1000px){.schedule-workspace{grid-template-columns:240px minmax(0,1fr);gap:18px}}:root[data-theme=dark] .welcome-story{background:#16233a;color:#dbe6fb}:root[data-theme=dark] .welcome-story:after{border-color:#25395c}:root[data-theme=dark] .story-copy,:root[data-theme=dark] .story-footer{color:#a8b8d4}:root[data-theme=dark] .story-preview{background:#1b2b45cc;border-color:#25395c}:root[data-theme=dark] .preview-head{border-color:#25395c}:root[data-theme=dark] .step-number{background:#22385c;color:#b9ccf3}:root[data-theme=dark] .eyebrow{color:#9bb4e6}:root[data-theme=dark] .client-table mark{background:#5c4a12;color:#fff1c2}.who-links{display:flex;gap:10px;font-size:11px;width:100%}.who-links a{color:var(--muted)}.login-tagline{color:var(--muted);font-size:13px}.login-foot{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:16px}.login-copy{width:100%;text-align:center;font-size:11px}.login-signup{display:grid;gap:8px;justify-items:center;text-align:center;font-size:13px}.hint.center{text-align:center}.steps{list-style:none;margin:0;padding:0;display:flex;gap:6px;font-size:12px;color:var(--muted)}.steps li{display:flex;align-items:center;gap:6px;flex:1;padding:8px 10px;border-radius:9px;background:var(--surface-2)}.steps li.on{background:var(--accent-soft);color:var(--accent);font-weight:700}.steps li.done{color:var(--fg)}.step-no{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--surface);font-size:11px;font-weight:700}.legal{max-width:720px}.legal h3{margin-top:8px}.legal ul{margin:0;padding-left:20px;display:grid;gap:4px}.legal p,.legal li{font-size:14px;line-height:1.8;word-break:keep-all}.join-code{font-family:var(--mono);font-size:22px;font-weight:700;letter-spacing:.08em}@media(max-width:1099px){.who-links{display:none}.who .role{white-space:nowrap}}@media(min-width:1100px){.brand-sep{display:none}}
