.access-toast{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;align-items:center;gap:10px;max-width:360px;padding:12px 16px;border-radius:var(--radius-md);background:var(--ink);color:#fff;box-shadow:var(--shadow-lg);font-size:14px;animation:access-toast-in .2s ease}.access-toast svg{color:var(--teal-bright);flex:0 0 auto}@keyframes access-toast-in{0%{opacity:0;transform:translateY(8px)}}@media(prefers-reduced-motion:reduce){.access-toast{animation:none}}@media(max-width:640px){.access-toast{left:16px;right:16px;bottom:76px;max-width:none}}.cr-pop{position:fixed;right:24px;bottom:24px;z-index:80;width:min(420px,calc(100vw - 32px));display:grid;grid-template-columns:auto 1fr;gap:12px;padding:16px;border-radius:var(--radius-lg);background:var(--ink);color:#fff;box-shadow:var(--shadow-lg);animation:cr-in .22s ease-out}.cr-pop>svg{color:var(--amber)}.cr-body{display:grid;gap:2px}.cr-body span{color:var(--ink-soft);font-size:14px}.cr-body .muted{color:var(--ink-muted)}.cr-actions{grid-column:1 / -1;display:flex;gap:8px;justify-content:flex-end}.cr-actions .btn-ghost{color:var(--ink-text)}@keyframes cr-in{0%{transform:translateY(12px);opacity:0}}@media(max-width:960px){.cr-pop{right:16px;bottom:96px}}.tt-grid{display:flex;flex-direction:column;gap:1rem}.tt-head{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:flex-end}.tt-head h3{margin:0 0 .25rem}.tt-pickers{display:flex;flex-wrap:wrap;gap:.75rem}.tt-pickers label{display:flex;flex-direction:column;gap:.25rem;min-width:11rem;font-size:.85rem}.tt-body{display:grid;grid-template-columns:minmax(0,1fr) 15rem;gap:1rem;align-items:start}.tt-scroll{overflow-x:auto;border:1px solid var(--border, #e5e7eb);border-radius:10px}.tt-table{border-collapse:collapse;width:100%;min-width:44rem}.tt-table th,.tt-table td{border-bottom:1px solid var(--border, #e5e7eb);border-right:1px solid var(--border, #e5e7eb);padding:.4rem;text-align:center;vertical-align:middle}.tt-table thead th{font-size:.8rem;background:var(--surface-muted, #f8fafc)}.tt-table thead th span{display:block;font-weight:600}.tt-table thead th small,.tt-chip small{color:var(--text-muted, #64748b);font-size:.72rem}.tt-table tbody th{text-align:left;font-weight:600;white-space:nowrap}.tt-break{width:2.5rem;background:repeating-linear-gradient(135deg,var(--surface-muted, #f1f5f9) 0 6px,transparent 6px 12px)}.tt-cell{min-width:8.5rem;height:4.4rem;padding:.3rem!important}.tt-drop{height:100%;display:flex;align-items:center;justify-content:center;border-radius:8px}.tt-drop.is-over{outline:2px dashed var(--accent, #6d28d9);outline-offset:-4px}.tt-drop.is-busy{opacity:.55}.tt-cell select{width:100%}.tt-class{position:relative;border:1px solid var(--border, #e5e7eb);border-radius:8px;background:var(--surface, #fff)}.tt-class-body{all:unset;cursor:pointer;display:flex;flex-direction:column;width:100%;padding:.35rem 1.2rem .35rem .4rem;box-sizing:border-box;font-size:.8rem;text-align:center}.tt-class-body span{color:var(--text-muted, #64748b);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tt-remove{all:unset;cursor:pointer;position:absolute;top:2px;right:3px;color:var(--danger, #dc2626);padding:2px}.tt-empty{all:unset;cursor:pointer;display:inline-flex;gap:.25rem;align-items:center;font-size:.8rem;color:var(--text-muted, #64748b);padding:.3rem .6rem;border-radius:6px}.tt-empty:hover,.tt-empty:focus-visible{background:var(--surface-muted, #f1f5f9)}.tt-subjects{display:flex;flex-direction:column;gap:.5rem}.tt-subjects h4{margin:0}.tt-chip{cursor:grab;display:grid;grid-template-columns:1fr auto;gap:0 .5rem;padding:.45rem .6rem;border:1px solid var(--border, #e5e7eb);border-left:3px solid var(--accent, #6d28d9);border-radius:8px;background:var(--surface, #fff);font-size:.82rem}.tt-chip span{grid-column:1;color:var(--text-muted, #64748b)}.tt-chip small{grid-column:2;grid-row:1 / span 2;align-self:center}.tt-hint{font-size:.75rem}@media(max-width:900px){.tt-body{grid-template-columns:1fr}}.tt-class{border-left:4px solid var(--accent, #6d28d9);width:100%}.tt-class--view{display:flex;flex-direction:column;gap:1px;padding:.3rem .45rem;font-size:.78rem;text-align:left}.tt-class--view span,.tt-course-name{color:var(--text-muted, #64748b);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:11rem}.tt-course-name{color:var(--text, #0f172a);font-size:.74rem}.tt-free{color:var(--text-muted, #94a3b8);font-size:.75rem}.tt-corner{width:7rem}.tt-today th[scope=row],.tt-today td.tt-cell{background:color-mix(in srgb,var(--accent, #6d28d9) 7%,transparent)}.tt-today-tag{display:block;font-style:normal;font-size:.7rem;color:var(--accent, #6d28d9)}.tt-note{margin:.25rem 0 .5rem;font-size:.85rem;color:var(--text-muted, #64748b)}.tt-steps{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}.tt-steps li{display:flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border-radius:999px;border:1px solid var(--border, #e5e7eb);font-size:.82rem;color:var(--text-muted, #64748b)}.tt-steps li span{display:inline-grid;place-items:center;width:1.3rem;height:1.3rem;border-radius:50%;background:var(--surface-muted, #f1f5f9);font-weight:600}.tt-steps li.is-current{border-color:var(--accent, #6d28d9);color:var(--text, #0f172a)}.tt-steps li.is-current span,.tt-steps li.is-done span{background:var(--accent, #6d28d9);color:#fff}.tt-todays{display:grid;gap:.35rem;margin:0;padding:.75rem 1rem;list-style:none;border-radius:10px;background:var(--surface-muted, #f8fafc)}.tt-todays time{display:inline-block;min-width:6.5rem;font-variant-numeric:tabular-nums;color:var(--text-muted, #64748b)}.tt-print{display:inline-flex;gap:.4rem;align-items:center}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}@media print{.tt-print,.tt-steps,.tt-subjects{display:none}.tt-scroll{overflow:visible}}.cal-page{--cal-line: var(--border);--cal-soft: color-mix(in srgb, var(--surface) 92%, var(--canvas));gap:18px}.cal-page button:where(:not(.dialog *)){background:var(--b-bg, transparent);color:var(--b-fg, inherit);border:var(--b-border, 0);min-height:var(--b-h, 0);padding:var(--b-pad, 0);border-radius:var(--b-r, 0);font-weight:var(--b-w, inherit);box-shadow:var(--b-shadow, none);display:inline-flex;align-items:center;gap:6px;text-align:left}.cal-page button:where(:not(.dialog *)):hover:not(:disabled){background:var(--b-bg-hover, var(--b-bg, transparent));color:var(--b-fg-hover, var(--b-fg, inherit))}.cal-page button:where(:not(.dialog *)):focus-visible{outline:2px solid var(--signal);outline-offset:2px}.cal-page .cal-primary-btn{--b-bg: linear-gradient(135deg, var(--signal), var(--signal-deep));--b-bg-hover: linear-gradient(135deg, var(--signal-deep), var(--signal-deep));--b-fg: var(--on-signal);--b-h: 42px;--b-pad: 0 18px;--b-r: 12px;--b-w: 700;--b-shadow: 0 8px 20px color-mix(in srgb, var(--signal) 32%, transparent);white-space:nowrap}.cal-page .cal-primary-btn.is-success{--b-bg: linear-gradient(135deg, #12a594, #0a6b62);--b-bg-hover: #0a6b62;--b-shadow: 0 8px 20px rgba(18, 165, 148, .3)}.cal-page .cal-ghost-btn{--b-bg: var(--surface);--b-bg-hover: var(--signal-soft);--b-fg: var(--text-primary);--b-border: 1px solid var(--border-strong);--b-h: 40px;--b-pad: 0 14px;--b-r: 12px;--b-w: 600;white-space:nowrap}.cal-page .cal-ghost-btn.is-danger{--b-fg: var(--coral-text);--b-bg-hover: var(--coral-soft)}.cal-page .cal-icon-btn{--b-bg: var(--surface);--b-bg-hover: var(--signal-soft);--b-border: 1px solid var(--border);--b-h: 38px;--b-r: 11px;width:38px;justify-content:center}.cal-page .cal-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;padding:30px 32px;border-radius:var(--radius-xl);color:#fff;background:radial-gradient(1200px 400px at 110% -20%,color-mix(in srgb,var(--signal) 55%,transparent),transparent 60%),radial-gradient(600px 300px at -10% 120%,rgba(25,194,177,.35),transparent 60%),linear-gradient(135deg,var(--ink) 0%,var(--ink-raised) 55%,#1a2a6b 100%);box-shadow:var(--shadow-lg);isolation:isolate}.cal-page .cal-hero-glow{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:linear-gradient(120deg,transparent 20%,#000 70%);mask-image:linear-gradient(120deg,transparent 20%,#000 70%)}.cal-page .cal-kicker{display:inline-flex;align-items:center;gap:8px;margin:0;padding:5px 12px;border-radius:999px;background:#ffffff1a;border:1px solid rgba(255,255,255,.16);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-bright)}.cal-page .cal-hero-title{margin:14px 0 6px;font-family:var(--font-display);font-size:clamp(30px,4vw,44px);font-weight:800;letter-spacing:-.035em;line-height:1.02}.cal-page .cal-hero-sub{margin:0;max-width:62ch;color:var(--ink-soft);font-size:15px}.cal-page .cal-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px}.cal-page .cal-stat{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:14px 16px;border-radius:16px;background:#ffffff12;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:cal-rise .42s ease both}.cal-page .cal-stat:nth-child(2){animation-delay:60ms}.cal-page .cal-stat:nth-child(3){animation-delay:.12s}.cal-page .cal-stat:nth-child(4){animation-delay:.18s}.cal-page .cal-stat-icon{grid-row:span 2;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--tone);color:#fff;box-shadow:0 6px 18px color-mix(in srgb,var(--tone) 45%,transparent)}.cal-page .cal-stat.tone-blue{--tone: #4f7cff}.cal-page .cal-stat.tone-teal{--tone: #12a594}.cal-page .cal-stat.tone-violet{--tone: #8e4ec6}.cal-page .cal-stat.tone-amber{--tone: #f59e0b}.cal-page .cal-stat-value{font-family:var(--font-display);font-size:26px;font-weight:800;line-height:1}.cal-page .cal-stat-label{font-size:12.5px;color:var(--ink-soft)}.cal-page .cal-stat-hint{position:absolute;top:-9px;right:10px;padding:2px 8px;border-radius:999px;background:#ff5a6e38;color:#ffc2ca;font-size:11px;font-weight:700}.cal-page .cal-hero-side{display:grid;gap:12px;align-content:start;width:260px}.cal-page .cal-today{display:grid;justify-items:center;padding:14px 18px 16px;border-radius:20px;background:#fff;color:var(--ink);box-shadow:0 18px 40px #00000059;transform:rotate(-2deg);animation:cal-pop .52s cubic-bezier(.2,1.4,.4,1) both}.cal-page .cal-today-month{width:100%;margin:-14px -18px 6px;padding:6px 0;border-radius:20px 20px 0 0;background:linear-gradient(135deg,#ff5a6e,#d42a40);color:#fff;text-align:center;font-size:12px;font-weight:800;letter-spacing:.18em;box-sizing:content-box;padding-inline:18px}.cal-page .cal-today-day{font-family:var(--font-display);font-size:56px;font-weight:800;line-height:1;letter-spacing:-.04em}.cal-page .cal-today-weekday{font-size:13px;font-weight:600;color:#556079}.cal-page .cal-next{--b-bg: rgba(255, 255, 255, .08);--b-bg-hover: rgba(255, 255, 255, .14);--b-border: 1px solid rgba(255, 255, 255, .16);--b-pad: 12px 14px;--b-r: 16px;--b-fg: #fff;display:grid;gap:4px;width:100%;cursor:pointer}.cal-page .cal-next.is-empty{padding:12px 14px;border-radius:16px;border:1px dashed rgba(255,255,255,.2)}.cal-page .cal-next-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--teal-bright)}.cal-page .cal-next-title{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;line-height:1.3}.cal-page .cal-next-meta{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-soft)}.cal-page .cal-principal-note{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:14px;background:linear-gradient(90deg,color-mix(in srgb,#2ee6a6 16%,var(--surface)),var(--surface));border:1px solid color-mix(in srgb,#2ee6a6 40%,var(--border));color:var(--text-primary);font-size:14px}.cal-page .cal-principal-note svg{flex:none;margin-top:2px;color:#0a8f66}.cal-page .cal-toast{position:fixed;left:50%;bottom:28px;z-index:90;transform:translate(-50%);padding:12px 20px;border-radius:999px;background:var(--ink);color:#fff;font-weight:600;box-shadow:var(--shadow-lg);animation:cal-toast 3.5s ease both}.cal-page .cal-toolbar{display:grid;gap:12px;padding:14px 16px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);position:sticky;top:calc(var(--header-height) + 8px);z-index:20}.cal-page .cal-toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.cal-page .cal-toolbar-row:first-child{justify-content:space-between}.cal-page .cal-nav{display:flex;align-items:center;gap:8px}.cal-page .cal-today-btn{--b-bg: var(--surface);--b-bg-hover: var(--signal-soft);--b-border: 1px solid var(--border);--b-h: 38px;--b-pad: 0 14px;--b-r: 11px;--b-w: 700}.cal-page .cal-month-label{margin:0 0 0 8px;font-family:var(--font-display);font-size:24px;font-weight:800;letter-spacing:-.02em;min-width:190px}.cal-page .cal-segment,.cal-page .cal-colour-toggle{display:inline-flex;padding:4px;gap:2px;border-radius:12px;background:var(--canvas);border:1px solid var(--border)}.cal-page .cal-segment button,.cal-page .cal-colour-toggle button{--b-h: 34px;--b-pad: 0 14px;--b-r: 9px;--b-w: 600;--b-fg: var(--text-secondary);--b-fg-hover: var(--text-primary)}.cal-page .cal-segment button.is-active,.cal-page .cal-colour-toggle button.is-active{--b-bg: var(--surface);--b-fg: var(--signal);--b-fg-hover: var(--signal);--b-shadow: var(--shadow-sm)}.cal-page .cal-colour-toggle{align-items:center}.cal-page .cal-colour-toggle>span{padding:0 8px;font-size:12px;font-weight:600;color:var(--text-secondary)}.cal-page .cal-colour-toggle button{--b-h: 30px;--b-pad: 0 10px;font-size:13px}.cal-page .cal-actions{display:flex;gap:8px}.cal-page .cal-filters select{min-height:40px;padding:8px 12px;font-size:14px;max-width:220px}.cal-page .cal-search{position:relative;display:flex;align-items:center;flex:1 1 260px;min-width:200px}.cal-page .cal-search svg{position:absolute;left:12px;color:var(--text-secondary)}.cal-page .cal-search input{width:100%;min-height:40px;padding:8px 12px 8px 36px;font-size:14px}.cal-page .cal-search.is-small input{min-height:36px}.cal-page .cal-clear{--b-fg: var(--coral-text);--b-pad: 6px 8px;--b-r: 8px;--b-bg-hover: var(--coral-soft);font-size:13px;font-weight:600}.cal-page .cal-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}.cal-page .cal-layout.is-wide{grid-template-columns:minmax(0,1fr)}.cal-page .cal-main{min-width:0;transition:opacity .2s ease}.cal-page .cal-main.is-loading{opacity:.55}.cal-page .cal-shortcuts{margin:-4px 0 0;font-size:12px;color:var(--text-secondary);text-align:right}.cal-page .cal-month{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);overflow:hidden}.cal-page .cal-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--cal-soft);border-bottom:1px solid var(--border)}.cal-page .cal-weekdays span{padding:10px 12px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.cal-page .cal-weekdays span.is-weekend{color:var(--coral-text)}.cal-page .cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(118px,1fr)}.cal-page .cal-cell{position:relative;display:flex;flex-direction:column;gap:4px;min-width:0;padding:8px 6px 6px;border-right:1px solid var(--cal-line);border-bottom:1px solid var(--cal-line);cursor:pointer;transition:background .14s ease,box-shadow .14s ease}.cal-page .cal-cell:nth-child(7n){border-right:0}.cal-page .cal-cell:hover{background:color-mix(in srgb,var(--signal) 4%,var(--surface))}.cal-page .cal-cell:focus-visible{outline:2px solid var(--signal);outline-offset:-2px}.cal-page .cal-cell.is-weekend{background:color-mix(in srgb,var(--canvas) 55%,var(--surface))}.cal-page .cal-cell.is-holiday{background:repeating-linear-gradient(135deg,transparent 0 10px,rgba(18,165,148,.06) 10px 20px),color-mix(in srgb,#12a594 7%,var(--surface))}.cal-page .cal-cell.is-outside{background:var(--cal-soft)}.cal-page .cal-cell.is-outside .cal-cell-num,.cal-page .cal-cell.is-outside .cal-chip{opacity:.45}.cal-page .cal-cell.is-selected{box-shadow:inset 0 0 0 2px var(--signal);background:color-mix(in srgb,var(--signal) 6%,var(--surface))}.cal-page .cal-cell-head{display:flex;align-items:center;gap:6px;padding:0 4px;min-height:26px}.cal-page .cal-cell-num{display:grid;place-items:center;min-width:26px;height:26px;border-radius:50%;font-weight:700;font-size:13.5px;font-variant-numeric:tabular-nums}.cal-page .cal-cell.is-today .cal-cell-num{background:linear-gradient(135deg,var(--signal),var(--signal-deep));color:var(--on-signal);box-shadow:0 4px 12px color-mix(in srgb,var(--signal) 40%,transparent)}.cal-page .cal-cell-today{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--signal)}.cal-page .cal-cell-add{--b-h: 22px;--b-r: 7px;--b-bg-hover: var(--signal);--b-fg: var(--text-secondary);--b-fg-hover: #fff;width:22px;margin-left:auto;justify-content:center;opacity:0;transition:opacity .12s ease}.cal-page .cal-cell:hover .cal-cell-add,.cal-page .cal-cell:focus-within .cal-cell-add{opacity:1}.cal-page .cal-chips{display:grid;gap:3px;min-width:0}.cal-page .cal-chip{--b-bg: color-mix(in srgb, var(--chip) 13%, var(--surface));--b-bg-hover: color-mix(in srgb, var(--chip) 22%, var(--surface));--b-fg: color-mix(in srgb, var(--chip) 70%, var(--text-primary));--b-pad: 3px 7px;--b-r: 7px;--b-w: 600;gap:5px;width:100%;min-width:0;font-size:12px;line-height:1.35;border-left:3px solid var(--chip);cursor:pointer;transition:transform .12s ease}.cal-page .cal-chip:hover{transform:translate(1px)}.cal-page .cal-chip.is-task{--b-bg: var(--surface);border:1px dashed color-mix(in srgb,var(--chip) 60%,transparent);border-left:3px solid var(--chip)}.cal-page .cal-chip.is-cont{--b-r: 0 7px 7px 0;border-left-color:color-mix(in srgb,var(--chip) 35%,transparent)}.cal-page .cal-chip.continues{margin-right:-7px;--b-r: 7px 0 0 7px}.cal-page .cal-chip.is-cont.continues{--b-r: 0}.cal-page .cal-chip.is-done .cal-chip-title{text-decoration:line-through;opacity:.6}.cal-page .cal-chip svg{flex:none}.cal-page .cal-chip-time{flex:none;font-variant-numeric:tabular-nums;opacity:.8}.cal-page .cal-chip-title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cal-page .cal-chip-title.is-faint{opacity:.7}.cal-page .cal-more{padding:0 6px;font-size:11.5px;font-weight:700;color:var(--signal)}.cal-page .cal-card{--b-bg: var(--surface);--b-bg-hover: color-mix(in srgb, var(--chip) 5%, var(--surface));--b-border: 1px solid var(--border);--b-pad: 12px 14px;--b-r: 14px;--b-fg: var(--text-primary);align-items:flex-start;gap:12px;width:100%;position:relative;overflow:hidden;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease}.cal-page .cal-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--chip)}.cal-page .cal-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.cal-page .cal-card.is-compact{--b-pad: 10px 12px}.cal-page .cal-card.is-done .cal-card-title{text-decoration:line-through;color:var(--text-secondary)}.cal-page .cal-card-icon{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--chip) 14%,var(--surface));color:var(--chip)}.cal-page .cal-card.is-compact .cal-card-icon{width:30px;height:30px;border-radius:9px}.cal-page .cal-card-body{display:grid;gap:4px;min-width:0}.cal-page .cal-card-top{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.cal-page .cal-card-type{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--chip)}.cal-page .cal-card-rel{margin-left:auto;font-size:11.5px;font-weight:700;color:var(--text-secondary)}.cal-page .cal-card-title{font-weight:700;font-size:15px;line-height:1.3}.cal-page .cal-card.is-compact .cal-card-title{font-size:14px}.cal-page .cal-card-meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;color:var(--text-secondary)}.cal-page .cal-card-meta span{display:inline-flex;align-items:center;gap:5px}.cal-page .cal-pill{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:700;background:var(--canvas);color:var(--text-secondary)}.cal-page .cal-pill.is-high{background:var(--coral-soft);color:var(--coral-text)}.cal-page .cal-pill.is-private{background:var(--violet-soft);color:#6e3fb3}.cal-page .cal-pill.status-open{background:var(--amber-soft);color:var(--amber-text)}.cal-page .cal-pill.status-in_progress{background:var(--signal-soft);color:var(--active-text)}.cal-page .cal-pill.status-done{background:var(--teal-soft);color:var(--teal-ink)}.cal-page .cal-rail{display:grid;gap:14px;position:sticky;top:calc(var(--header-height) + 130px)}.cal-page .cal-panel{padding:16px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.cal-page .cal-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px}.cal-page .cal-panel-head h3{margin:2px 0 0;font-size:16px;font-weight:800}.cal-page .cal-panel-kicker{margin:0;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--signal)}.cal-page .cal-panel-list{display:grid;gap:8px}.cal-page .cal-panel-empty{display:flex;align-items:center;gap:8px;margin:0;padding:14px;border-radius:12px;background:var(--cal-soft);color:var(--text-secondary);font-size:13.5px}.cal-page .cal-legend{display:grid;gap:4px;margin:0;padding:0;list-style:none}.cal-page .cal-legend button,.cal-page .cal-legend-static{--b-pad: 6px 8px;--b-r: 8px;--b-bg-hover: var(--cal-soft);display:flex;align-items:center;gap:8px;width:100%;font-size:13.5px;font-weight:600}.cal-page .cal-legend-static{padding:4px 8px;color:color-mix(in srgb,var(--chip) 75%,var(--text-primary))}.cal-page .cal-legend b{margin-left:auto;padding:0 8px;border-radius:999px;background:var(--canvas);font-size:12px}.cal-page .cal-dot{width:10px;height:10px;border-radius:50%;background:var(--chip);box-shadow:0 0 0 3px color-mix(in srgb,var(--chip) 20%,transparent)}.cal-page .cal-agenda{display:grid;gap:22px}.cal-page .cal-agenda-month{display:grid;gap:10px}.cal-page .cal-agenda-heading{display:flex;align-items:baseline;gap:12px;margin:0;font-family:var(--font-display);font-size:22px;font-weight:800}.cal-page .cal-agenda-heading span{font-family:var(--font);font-size:13px;font-weight:600;color:var(--text-secondary)}.cal-page .cal-agenda-day{display:grid;grid-template-columns:74px minmax(0,1fr);gap:14px;padding:10px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border)}.cal-page .cal-agenda-day.is-today{border-color:var(--signal);box-shadow:0 0 0 3px color-mix(in srgb,var(--signal) 15%,transparent)}.cal-page .cal-agenda-day.is-past{opacity:.7}.cal-page .cal-agenda-date{display:grid;justify-items:center;align-content:start;padding:8px 0;border-radius:12px;background:var(--cal-soft)}.cal-page .cal-agenda-num{font-family:var(--font-display);font-size:28px;font-weight:800;line-height:1}.cal-page .cal-agenda-wd{font-size:12px;font-weight:700;text-transform:uppercase;color:var(--text-secondary)}.cal-page .cal-agenda-badge{margin-top:6px;padding:1px 8px;border-radius:999px;background:var(--signal);color:var(--on-signal);font-size:10.5px;font-weight:800}.cal-page .cal-agenda-list{display:grid;gap:8px}.cal-page .cal-tasks{display:grid;gap:14px}.cal-page .cal-owner-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.cal-page .cal-owner-strip button{--b-bg: var(--surface);--b-bg-hover: var(--signal-soft);--b-border: 1px solid var(--border);--b-h: 36px;--b-pad: 0 12px 0 6px;--b-r: 999px;--b-w: 600;white-space:nowrap;font-size:13.5px}.cal-page .cal-owner-strip button:first-child{--b-pad: 0 12px}.cal-page .cal-owner-strip button.is-active{--b-bg: var(--ink);--b-bg-hover: var(--ink);--b-fg: #fff}.cal-page .cal-owner-strip b{padding:0 7px;border-radius:999px;background:color-mix(in srgb,currentColor 14%,transparent);font-size:12px}.cal-page .cal-avatar{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#8e4ec6,#3358e8);color:#fff;font-size:11px;font-weight:800}.cal-page .cal-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}.cal-page .cal-column{display:grid;gap:10px;padding:12px;border-radius:var(--radius-lg);background:var(--cal-soft);border:1px solid var(--border);border-top:4px solid var(--col);min-height:220px}.cal-page .cal-column.col-open{--col: #f59e0b}.cal-page .cal-column.col-in_progress{--col: #3358e8}.cal-page .cal-column.col-done{--col: #12a594}.cal-page .cal-column header{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--col)}.cal-page .cal-count{margin-left:auto;padding:1px 9px;border-radius:999px;background:var(--surface);color:var(--text-primary);font-size:12px}.cal-page .cal-column-empty{margin:0;padding:18px;text-align:center;border:1px dashed var(--border-strong);border-radius:12px;color:var(--text-secondary);font-size:13px}.cal-page .cal-task{position:relative;display:grid;gap:6px}.cal-page .cal-task.is-overdue .cal-card{--b-border: 1px solid color-mix(in srgb, #e5484d 45%, var(--border))}.cal-page .cal-overdue{position:absolute;top:-7px;right:10px;z-index:1;padding:1px 8px;border-radius:999px;background:#e5484d;color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.04em}.cal-page .cal-task-actions{display:flex;gap:6px;padding-left:4px}.cal-page .cal-task-actions button{--b-bg: var(--surface);--b-bg-hover: var(--signal-soft);--b-border: 1px solid var(--border);--b-h: 28px;--b-pad: 0 10px;--b-r: 8px;--b-w: 600;font-size:12.5px}.cal-page .cal-task-actions button.is-done{--b-fg: var(--teal-ink);--b-bg-hover: var(--teal-soft)}.cal-page .cal-empty{display:grid;justify-items:center;gap:6px;padding:48px 24px;border-radius:var(--radius-lg);background:var(--surface);border:1px dashed var(--border-strong);text-align:center;color:var(--text-secondary)}.cal-page .cal-empty h3{margin:6px 0 0;color:var(--text-primary)}.cal-page .cal-empty p{margin:0;max-width:46ch}.cal-page .cal-drawer-backdrop,.cal-page .cal-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;background:#070e2280;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:cal-fade .16s ease both}.cal-page .cal-drawer-backdrop{justify-content:flex-end}.cal-page .cal-drawer{display:flex;flex-direction:column;width:min(520px,100%);height:100%;background:var(--surface);box-shadow:var(--shadow-lg);animation:cal-slide .24s cubic-bezier(.2,.9,.3,1) both}.cal-page .cal-drawer-head{position:relative;padding:26px 26px 20px;color:#fff;background:radial-gradient(400px 200px at 100% 0%,rgba(255,255,255,.22),transparent 60%),linear-gradient(135deg,var(--chip),color-mix(in srgb,var(--chip) 55%,var(--ink)))}.cal-page .cal-drawer-head h2{margin:12px 40px 6px 0;font-family:var(--font-display);font-size:26px;font-weight:800;line-height:1.12;letter-spacing:-.02em}.cal-page .cal-drawer-close{--b-bg: rgba(255, 255, 255, .16);--b-bg-hover: rgba(255, 255, 255, .28);--b-fg: #fff;--b-h: 34px;--b-r: 10px;width:34px;justify-content:center;position:absolute;top:18px;right:18px}.cal-page .cal-modal-head .cal-drawer-close{--b-bg: var(--canvas);--b-bg-hover: var(--border);--b-fg: var(--text-primary);position:static}.cal-page .cal-drawer-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#ffffff2e;font-size:12px;font-weight:700}.cal-page .cal-drawer-when{margin:0;font-size:14px;opacity:.92}.cal-page .cal-drawer-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.cal-page .cal-drawer-tags span{padding:3px 10px;border-radius:999px;background:#0000002e;font-size:12px;font-weight:600}.cal-page .cal-drawer-body{flex:1;overflow-y:auto;display:grid;align-content:start;gap:4px;padding:18px 22px}.cal-page .cal-detail-row{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:10px 4px;border-bottom:1px solid var(--border)}.cal-page .cal-detail-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:color-mix(in srgb,var(--chip) 12%,var(--surface));color:var(--chip)}.cal-page .cal-detail-label{margin:0 0 2px;font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--text-secondary)}.cal-page .cal-detail-value{font-weight:600;font-size:14.5px}.cal-page .cal-detail-sub{margin:2px 0 0;font-size:13px;font-weight:500;color:var(--text-secondary)}.cal-page .cal-code{margin-left:8px;padding:1px 8px;border-radius:6px;background:var(--canvas);font-size:11.5px;font-weight:700;color:var(--text-secondary)}.cal-page .cal-people{display:flex;flex-wrap:wrap;gap:6px}.cal-page .cal-person{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 3px;border-radius:999px;background:var(--canvas);font-size:13px;font-weight:600}.cal-page .cal-person.is-removable{--b-bg: var(--signal-soft);--b-bg-hover: var(--coral-soft);--b-pad: 3px 10px 3px 3px;--b-r: 999px;font-size:13px}.cal-page .cal-drawer-desc{padding:14px 4px}.cal-page .cal-drawer-desc p:last-child{margin:4px 0 0;white-space:pre-wrap;line-height:1.6}.cal-page .cal-drawer-foot,.cal-page .cal-modal-foot{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:14px 22px;border-top:1px solid var(--border);background:var(--cal-soft)}.cal-page .cal-drawer-foot .cal-ghost-btn:first-child{margin-right:auto}.cal-page .cal-modal-backdrop{align-items:flex-start;justify-content:center;overflow-y:auto;padding:40px 16px}.cal-page .cal-modal{display:flex;flex-direction:column;width:min(760px,100%);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-lg);animation:cal-pop .26s cubic-bezier(.2,1.2,.4,1) both}.cal-page .cal-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:22px 24px 8px}.cal-page .cal-modal-head h2{margin:4px 0 0;font-family:var(--font-display);font-size:24px;font-weight:800}.cal-page .cal-modal-body{display:grid;gap:16px;padding:12px 24px 20px}.cal-page .cal-modal-foot{border-radius:0 0 var(--radius-xl) var(--radius-xl)}.cal-page .cal-kind-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cal-page .cal-kind-switch button,.cal-page .cal-visibility button,.cal-page .cal-type-grid button{--b-bg: var(--surface);--b-bg-hover: var(--cal-soft);--b-border: 1px solid var(--border-strong);--b-r: 14px;cursor:pointer}.cal-page .cal-kind-switch button{--b-pad: 14px;gap:12px;align-items:flex-start;font-size:13px;color:var(--text-secondary)}.cal-page .cal-kind-switch strong{display:block;color:var(--text-primary);font-size:15px}.cal-page .cal-kind-switch button.is-active,.cal-page .cal-visibility button.is-active{--b-bg: var(--signal-soft);--b-bg-hover: var(--signal-soft);--b-border: 2px solid var(--signal)}.cal-page .cal-kind-switch button.is-active svg{color:var(--signal)}.cal-page .cal-title-field input{font-size:17px;font-weight:600}.cal-page .cal-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px}.cal-page .cal-type-grid button{--b-pad: 9px 10px;--b-r: 12px;--b-w: 600;font-size:13px}.cal-page .cal-type-grid button svg{color:var(--chip)}.cal-page .cal-type-grid button.is-active{--b-bg: color-mix(in srgb, var(--chip) 14%, var(--surface));--b-bg-hover: color-mix(in srgb, var(--chip) 14%, var(--surface));--b-border: 2px solid var(--chip);--b-fg: color-mix(in srgb, var(--chip) 70%, var(--text-primary))}.cal-page .cal-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}.cal-page .cal-form-grid .is-wide,.cal-page .cal-modal-body>.is-wide{grid-column:1 / -1}.cal-page .cal-field-label{margin:0;font-size:13px;font-weight:700}.cal-page .cal-check{display:flex;align-items:center;gap:8px;font-weight:600}.cal-page .cal-check.is-inline{grid-column:1 / -1}.cal-page .cal-check input{width:17px;height:17px;min-height:0;padding:0}.cal-page .cal-visibility{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cal-page .cal-visibility button{--b-pad: 12px;display:grid;gap:2px;justify-items:start;font-size:12.5px;color:var(--text-secondary)}.cal-page .cal-visibility button strong{font-size:14px;color:var(--text-primary)}.cal-page .cal-visibility button svg{color:var(--signal)}.cal-page .cal-assignees{display:grid;gap:8px;padding:14px;border-radius:14px;background:var(--cal-soft);border:1px solid var(--border)}.cal-page .cal-assignee-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 12px;max-height:180px;overflow-y:auto}.cal-page .cal-assignee-list .cal-check{padding:5px 4px;font-size:13.5px}.cal-page .cal-assignee-list .muted{margin-left:auto;font-size:12px}.cal-page .cal-form-error{margin:0;padding:10px 14px;border-radius:12px;background:var(--coral-soft);color:var(--coral-text);font-weight:600}.cal-page .required-mark{color:var(--coral-strong)}@keyframes cal-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes cal-pop{0%{opacity:0;transform:scale(.94)}}@keyframes cal-fade{0%{opacity:0}}@keyframes cal-slide{0%{transform:translate(40px);opacity:0}}@keyframes cal-toast{0%{opacity:0;transform:translate(-50%,12px)}8%,88%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,6px)}}.cal-page .cal-today{animation-name:cal-pop}@media(max-width:1280px){.cal-page .cal-layout{grid-template-columns:minmax(0,1fr)}.cal-page .cal-rail{position:static;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}@media(max-width:960px){.cal-page .cal-hero{grid-template-columns:1fr}.cal-page .cal-hero-side{width:auto;grid-template-columns:auto 1fr;align-items:stretch}.cal-page .cal-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cal-page .cal-board{grid-template-columns:1fr}.cal-page .cal-toolbar{position:static}}@media(max-width:720px){.cal-page .cal-hero{padding:22px 18px}.cal-page .cal-grid{grid-auto-rows:minmax(64px,auto)}.cal-page .cal-chip-title,.cal-page .cal-chip-time{display:none}.cal-page .cal-chip{--b-pad: 2px 4px;justify-content:center}.cal-page .cal-cell-today{display:none}.cal-page .cal-weekdays span{padding:8px 4px;text-align:center;font-size:10.5px}.cal-page .cal-form-grid,.cal-page .cal-visibility,.cal-page .cal-kind-switch,.cal-page .cal-assignee-list{grid-template-columns:1fr}.cal-page .cal-month-label{min-width:0;font-size:20px}.cal-page .cal-agenda-day{grid-template-columns:56px minmax(0,1fr)}}@media print{.cal-page .cal-toolbar .cal-actions,.cal-page .cal-filters,.cal-page .cal-rail,.cal-page .cal-shortcuts,.cal-page .cal-cell-add{display:none!important}.cal-page .cal-hero{box-shadow:none}.cal-page .cal-layout{grid-template-columns:1fr}}.cal-page .cal-modal-body label:not(.cal-check):not(.cal-search){display:flex;flex-wrap:wrap;align-items:baseline;column-gap:4px;row-gap:6px}.cal-page .cal-modal-body label:not(.cal-check):not(.cal-search)>:is(input,select,textarea){flex:1 0 100%;min-width:0}.cal-page .cal-modal-body label .muted{font-weight:500}.hod-page{display:grid;gap:24px}.hod-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.hod-kicker{margin:0 0 4px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--role, var(--signal))}.hod-hero h1{margin:0 0 4px;font-family:var(--font-display);font-size:clamp(22px,4vw,30px);font-weight:800;line-height:1.1;color:var(--text-primary)}.hod-sub{margin:0;color:var(--text-secondary)}.hod-refresh{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.hod-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.hod-kpi{display:grid;gap:2px;padding:16px 18px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border)}.hod-kpi-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.hod-kpi-value{font-family:var(--font-display);font-size:28px;font-weight:800;color:var(--text-primary);font-variant-numeric:tabular-nums}.hod-kpi-link{font-size:12px;color:var(--signal);text-decoration:none}.hod-kpi-link:hover{text-decoration:underline}.hod-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:20px}.hod-action-list{margin:0;padding:0;list-style:none;display:grid;gap:4px}.hod-action-row{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-md);color:var(--text-primary);text-decoration:none;transition:background var(--transition)}.hod-action-row:hover{background:var(--ivory)}.hod-action-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:10px}.hod-action-label{font-weight:500;font-size:14px}.hod-action-count{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums;font-family:var(--font-display)}.faculty-quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}.faculty-quick-link{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 12px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);color:var(--text-secondary);text-decoration:none;font-size:13px;font-weight:600;transition:background var(--transition),border-color var(--transition),color var(--transition)}.faculty-quick-link:hover{background:var(--signal-soft);border-color:var(--signal);color:var(--signal)}.admin-page{padding:8px 0 40px;display:grid;gap:28px}.admin-quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:12px}.admin-quick-link{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 12px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);color:var(--text-primary);text-decoration:none;font-size:13px;font-weight:600;text-align:center;transition:background .15s,border-color .15s,color .15s}.admin-quick-link svg{color:var(--signal)}.admin-quick-link:hover{background:var(--signal-soft);border-color:var(--signal);color:var(--signal)}.admin-alert-row{display:flex;align-items:center;gap:10px;padding:14px 18px;border-radius:var(--radius-lg);background:var(--amber-soft);border:1px solid var(--amber);color:var(--amber-text, var(--text-primary));font-size:14px}.admin-alert-row svg{color:var(--amber);flex-shrink:0}.admin-alert-row a{margin-left:auto;font-weight:600;color:var(--signal);text-decoration:none;white-space:nowrap}.admin-alert-row a:hover{text-decoration:underline}.admin-tenant-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.admin-tenant-tile{flex:1 1 140px;display:flex;flex-direction:column;gap:4px;padding:18px 20px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border)}.admin-tenant-tile span{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.admin-tenant-tile strong{font-size:28px;font-weight:800;font-family:var(--font-display);color:var(--text-primary);line-height:1}.admin-tenant-tile--active strong{color:var(--teal-bright, var(--signal))}.admin-tenant-link{font-size:13px;font-weight:600;color:var(--signal);text-decoration:none;margin-left:auto;white-space:nowrap}.admin-tenant-link:hover{text-decoration:underline}.quick-create{display:flex;flex-direction:column;gap:16px}.sec-page{display:grid;gap:20px}.sec-pulses{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.sec-tabs{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:999px;background:var(--ink-raised);border:1px solid var(--ink-line);justify-self:start}.sec-tab{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;color:var(--ink-soft);font-size:14px;font-weight:600;transition:background var(--transition),color var(--transition)}.sec-tab:hover{color:#fff;background:var(--ink-hover)}.sec-tab.is-active{background:#fff;color:var(--ink)}.sec-pulse{display:grid;align-content:start;gap:8px;min-width:0;overflow:hidden;padding:18px;border-radius:18px;background:var(--ink-raised);border:1px solid var(--ink-line)}.sec-pulse span{font-size:13px;font-weight:600;color:var(--ink-muted)}.sec-pulse strong{font-family:var(--font-display);font-size:38px;font-weight:800;line-height:1;color:#fff;font-variant-numeric:tabular-nums}.sec-pulse:first-child strong{color:var(--teal-bright)}.sec-pulse p{margin:0;font-size:13px;color:var(--ink-soft)}.sec-panel{display:grid;gap:14px;align-content:start;padding:24px;border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.sec-panel-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px}.sec-panel-head h2{margin:0;font-family:var(--font-display);font-size:21px;letter-spacing:-.01em}.sec-panel-head a{font-size:14px;font-weight:600}.sec-lowest h3{margin:4px 0 8px;font-size:14px}.sec-lowest ul,.sec-changes{list-style:none;margin:0;padding:0;display:grid;gap:8px}.sec-lowest li,.sec-changes li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:12px;background:var(--canvas);font-size:14px}.sec-lowest li span,.sec-changes time{color:var(--text-secondary);font-size:13px}.sec-agenda{width:100%;border-collapse:collapse;font-size:14px}.sec-agenda th{padding:10px 8px;text-align:left;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.sec-agenda td{padding:12px 8px;border-top:1px solid var(--border);vertical-align:top}.sec-agenda td a{font-weight:700}.sec-count{display:inline-grid;place-items:center;min-width:44px;height:36px;padding:0 8px;border-radius:10px;background:var(--amber);color:var(--amber-ink);font-family:var(--font-display);font-size:16px;font-weight:800}@media(max-width:720px){.sec-agenda thead{display:none}.sec-agenda tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:12px 0;border-top:1px solid var(--border)}.sec-agenda td{padding:0;border:0}.sec-agenda td:last-child{grid-column:1 / -1}}.sec-hero-top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px}.sec-hero-top .hero-copy{flex:1 1 420px;min-width:0}.live-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 6px 6px 14px;border-radius:999px;background:var(--ink-raised);border:1px solid var(--ink-line);color:var(--ink-soft);font-size:13px}.live-text strong{color:#fff}.live-hint{color:var(--ink-muted)}.live-dot{position:relative;width:10px;height:10px;border-radius:50%;background:var(--teal-bright);flex:none}.is-live .live-dot:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border-radius:50%;border:2px solid var(--teal-bright);animation:live-ping 1.8s ease-out infinite}.is-paused .live-dot{background:var(--amber)}.is-stale .live-dot{background:var(--coral)}@keyframes live-ping{0%{transform:scale(.6);opacity:.9}to{transform:scale(1.6);opacity:0}}button.live-btn{display:inline-grid;place-items:center;width:34px;height:34px;min-height:0;padding:0;border-radius:50%;background:var(--ink-hover);color:#fff}button.live-btn:hover:not(:disabled){background:var(--ink-line)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sec-pulse-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.sec-pulse-row .pulse-value{flex:0 0 auto;white-space:nowrap}.pulse-spark{flex:1 1 auto;min-width:0;max-width:96px;height:28px;overflow:visible}.pulse-value{animation:pulse-flash .9s ease-out}@keyframes pulse-flash{0%{text-shadow:0 0 18px rgba(107,227,212,.9)}to{text-shadow:none}}.pulse-spark path{fill:none;stroke:var(--teal-bright);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.pulse-delta{font-weight:700;color:var(--ink-soft)}.pulse-delta.is-good{color:var(--teal-bright)}.pulse-delta.is-bad{color:#ff9aa6}.sec-panel-kicker{margin:0 0 2px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.sec-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:20px}.sec-att-grid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:28px;align-items:start}.sec-att-lower{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:28px;padding-top:16px;border-top:1px solid var(--border)}.sec-chart-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px;margin-bottom:8px}.sec-chart-head h3{margin:0;font-size:15px}.sec-chart-head span{font-size:13px;color:var(--text-secondary)}.chart-empty{margin:0;padding:18px 0}.donut{display:flex;flex-wrap:wrap;align-items:center;gap:20px}.donut-figure{position:relative;flex:none}.donut-track{fill:none;stroke:var(--canvas-deep)}.donut-track.is-empty{stroke-dasharray:8 6;stroke:var(--border)}.donut-arc{fill:none;cursor:pointer;transition:stroke-dasharray .7s cubic-bezier(.2,.8,.2,1),stroke-dashoffset .7s cubic-bezier(.2,.8,.2,1),stroke-width .16s ease,opacity .16s ease}.donut-arc.is-dim{opacity:.35}.donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center;pointer-events:none;padding:30px}.donut-center strong{font-family:var(--font-display);font-size:30px;font-weight:800;line-height:1.05;font-variant-numeric:tabular-nums}.donut-center span{font-size:12px;font-weight:600;color:var(--text-secondary)}.donut-center em{font-style:normal;font-size:13px;font-weight:700}.donut-empty{max-width:120px;font-size:13px;font-weight:500;color:var(--text-secondary);text-align:center;line-height:1.4}.donut-legend{flex:1 1 180px;min-width:0;display:grid;gap:4px;margin:0;padding:0;list-style:none}.donut-legend-row{display:grid;grid-template-columns:12px minmax(0,1fr) auto 48px;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;color:var(--text-primary);font-weight:500;font-size:14px;cursor:default;outline-offset:0}a.donut-legend-row{cursor:pointer}.donut-legend-row:hover,.donut-legend-row.is-active{background:var(--ivory);color:var(--text-primary)}.donut-legend-row i{width:12px;height:12px;border-radius:4px}.donut-legend-label small{display:block;font-size:12px;color:var(--text-secondary)}.donut-legend-row b{font-variant-numeric:tabular-nums}.donut-legend-share{text-align:right;font-size:12px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.barlist{display:grid;gap:4px}.barlist-row{display:grid;grid-template-columns:minmax(96px,150px) minmax(0,1fr) 56px;align-items:center;gap:4px 12px;padding:8px 10px;border-radius:10px;color:var(--text-primary);font-weight:500;font-size:14px;transition:background var(--transition),opacity var(--transition)}.barlist-row:hover,.barlist-row.is-active{background:var(--ivory);color:var(--text-primary)}.barlist-row.is-dim{opacity:.6}.barlist-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.barlist-track{position:relative;height:12px;border-radius:999px;background:var(--canvas-deep)}.barlist-fill{position:absolute;inset:0 auto 0 0;border-radius:999px;background:var(--signal);transition:width .7s cubic-bezier(.2,.8,.2,1)}.barlist-guide{position:absolute;top:-4px;bottom:-4px;border-left:2px dashed var(--text-primary);opacity:.55}.barlist-value{text-align:right;font-variant-numeric:tabular-nums}.barlist-detail{grid-column:2 / -1;max-height:0;overflow:hidden;font-size:12px;color:var(--text-secondary);transition:max-height .2s ease}.barlist-detail.is-open{max-height:40px}.barlist-key{display:flex;align-items:center;gap:8px;margin:6px 0 0;font-size:12px;color:var(--text-secondary)}.barlist-key-line{width:18px;border-top:2px dashed var(--text-primary);opacity:.55}.trend{position:relative;width:100%;min-width:0}.trend svg{display:block;overflow:visible;touch-action:pan-y}.trend-grid line{stroke:var(--border)}.trend-grid text,.trend-x{font-size:11px;fill:var(--text-secondary)}.trend-line{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.trend-guide{stroke:var(--text-primary);stroke-dasharray:4 4;opacity:.45}.trend-cross line{stroke:var(--text-primary);opacity:.35}.trend-cross circle{stroke:var(--surface);stroke-width:3}.chart-tip{position:absolute;top:0;transform:translate(-50%,-8px);display:grid;gap:2px;min-width:150px;padding:8px 12px;border-radius:10px;background:var(--ink);color:#fff;font-size:13px;box-shadow:var(--shadow-lg);pointer-events:none;white-space:nowrap}.chart-tip span{color:var(--ink-soft)}.sec-progress{padding-top:14px;border-top:1px solid var(--border)}.sec-progress p{margin:8px 0 0;font-size:13px}.sec-progress-track{height:12px;border-radius:999px;background:var(--canvas-deep);overflow:hidden}.sec-progress-track span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--signal),#19c2b1);transition:width .7s cubic-bezier(.2,.8,.2,1)}.sec-money-tile{display:grid;gap:2px;padding:16px 18px;border-radius:16px;background:var(--ink);color:#fff}.sec-money-tile:hover{background:var(--ink-raised);color:#fff}.sec-money-tile span{font-size:13px;color:var(--ink-muted)}.sec-money-tile strong{font-family:var(--font-display);font-size:32px;font-weight:800;line-height:1.1;color:var(--amber)}.sec-money-tile em{font-style:normal;font-size:13px;color:var(--ink-soft)}@media(max-width:900px){.sec-att-grid,.sec-att-lower{grid-template-columns:minmax(0,1fr)}}@media(max-width:560px){.donut{justify-content:center}.barlist-row{grid-template-columns:minmax(0,1fr) 52px}.barlist-track{grid-column:1 / -1;grid-row:2}.barlist-value{grid-row:1;grid-column:2}.live-hint{display:none}}.trend-dot{stroke:var(--surface);stroke-width:2}.donut-figure svg{overflow:visible}.fin-pulse.is-good strong{color:var(--teal-bright)}.fin-pulse.is-bad strong{color:#ff9aa6}.sec-pulses .fin-pulse:first-child strong{color:var(--amber)}.fin-split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:28px;align-items:start}.fin-mix{grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:1500px){.fin-mix{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:760px){.fin-mix{grid-template-columns:minmax(0,1fr)}}.fin-mix .donut{justify-content:center}.fin-mix .donut-legend{flex-basis:250px}.fin-good{color:var(--success, #0f8a7c)}.fin-bad{color:var(--coral-text)}.fin-note{margin:0;font-size:13px}.columns{position:relative;width:100%;min-width:0}.columns svg{display:block;overflow:visible}.columns-hit{fill:transparent}.columns-bar{transition:y .7s cubic-bezier(.2,.8,.2,1),height .7s cubic-bezier(.2,.8,.2,1),opacity .16s ease}.columns-group.is-dim .columns-bar{opacity:.35}.columns-legend{display:flex;flex-wrap:wrap;gap:16px;margin:6px 0 0;padding:0;list-style:none;font-size:13px;color:var(--text-secondary)}.columns-legend li{display:inline-flex;align-items:center;gap:6px}.columns-swatch{display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:3px}.fin-figure-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.fin-figure-row div{display:grid;gap:2px;padding:12px 14px;border-radius:14px;background:var(--canvas)}.fin-figure-row span{font-size:12px;font-weight:600;color:var(--text-secondary)}.fin-figure-row strong{font-family:var(--font-display);font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}.fin-figure-row strong.is-bad{color:var(--coral-text)}.fin-ageing{display:flex;gap:3px;height:14px;border-radius:999px;overflow:hidden}.fin-ageing span{flex-basis:0;min-width:6px}.fin-table-wrap{overflow-x:auto}.fin-table{width:100%;border-collapse:collapse;font-size:14px}.fin-table th{padding:10px 8px;text-align:left;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);white-space:nowrap}.fin-table td{padding:11px 8px;border-top:1px solid var(--border);vertical-align:middle}.fin-table td small{display:block;font-size:12px;color:var(--text-secondary)}.fin-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.fin-table tbody tr:hover{background:var(--ivory)}.fin-table tfoot td{font-weight:700;border-top:2px solid var(--border-strong, var(--border))}.fin-rate{display:grid;grid-template-columns:minmax(80px,1fr) 52px;align-items:center;gap:10px}.fin-rate b{text-align:right;font-variant-numeric:tabular-nums}.fin-rate-track{position:relative;height:10px;border-radius:999px;background:var(--canvas-deep);overflow:hidden}.fin-rate-track span{display:block;height:100%;border-radius:999px;transition:width .7s cubic-bezier(.2,.8,.2,1)}.fin-mode{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--canvas);font-size:12px;font-weight:600;white-space:nowrap}.fin-activity{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,2fr);gap:20px}.fin-queue{display:grid;gap:6px;margin:0;padding:0;list-style:none}.fin-queue li{display:flex;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:12px;background:var(--canvas);font-size:14px;color:var(--text-secondary)}.fin-queue li.is-waiting{color:var(--text-primary)}.fin-queue li.is-waiting b{color:var(--amber-ink, #7a4b00)}@media(max-width:1000px){.fin-split,.fin-activity{grid-template-columns:minmax(0,1fr)}}.ai-panel{--ai-accent: #ffb020;display:grid;grid-template-rows:auto auto minmax(0,1fr);min-height:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.ai-panel.is-drawer{height:100%;border-radius:0;border:0}.ai-panel.is-page{height:min(78vh,820px);box-shadow:var(--shadow-md)}.ai-panel-head{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--ink);color:#fff}.ai-panel-title{flex:1;min-width:0}.ai-panel-title h2{margin:0;font-size:18px;color:#fff}.ai-panel-title p{margin:0;font-size:12px;color:var(--ink-muted)}.ai-mark{width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff3d1,var(--ai-accent) 55%,#b86e00);box-shadow:0 0 0 4px color-mix(in srgb,var(--ai-accent) 22%,transparent)}.ai-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:6px;background:var(--ink);border-top:1px solid var(--ink-line)}.ai-mode{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:6px 10px;border-radius:10px;background:transparent;color:var(--ink-soft);font-size:14px;font-weight:600}.ai-mode:hover:not(:disabled){background:var(--ink-hover);color:#fff}.ai-mode.is-active,.ai-mode.is-active:hover{background:#fff;color:var(--ink)}.ai-panel-body{min-height:0;min-width:0;display:grid;grid-template-columns:minmax(0,1fr)}.ai-icon-btn{display:inline-grid;place-items:center;min-height:32px;width:32px;padding:0;border-radius:8px;background:transparent;color:var(--text-secondary)}.ai-icon-btn:hover:not(:disabled){background:var(--ivory);color:var(--text-primary)}.ai-icon-btn.on-ink{color:var(--ink-soft)}.ai-icon-btn.on-ink:hover:not(:disabled){background:var(--ink-hover);color:#fff}.ai-link-btn{display:inline-flex;align-items:center;gap:4px;min-height:0;padding:4px 0;background:none;color:var(--signal);font-size:13px;font-weight:700}.ai-link-btn:hover:not(:disabled){background:none;color:var(--signal-deep)}.ai-chat{display:grid;grid-template-rows:minmax(0,1fr) auto auto;min-height:0}.ai-thread{overflow-y:auto;padding:18px 16px 8px;display:grid;align-content:start;gap:14px;background:var(--ivory)}.ai-welcome h3{margin:4px 0 6px;font-size:20px}.ai-welcome p{margin:0 0 14px;color:var(--text-secondary);font-size:14px;max-width:60ch}.ai-starters{display:grid;gap:8px}.ai-starter{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 12px;text-align:left;background:var(--surface);color:var(--text-primary);border:1px solid var(--border);font-weight:600;font-size:14px}.ai-starter svg{color:var(--amber-text);flex:none}.ai-starter:hover:not(:disabled){background:var(--surface);border-color:var(--ai-accent)}.ai-msg{max-width:92%;font-size:14.5px;line-height:1.55}.ai-msg.is-user{justify-self:end;padding:10px 14px;border-radius:16px 16px 4px;background:var(--ink);color:#fff}.ai-msg.is-user p{margin:0;white-space:pre-wrap}.ai-msg.is-ai{justify-self:start;padding:12px 14px;border-radius:4px 16px 16px;background:var(--surface);border:1px solid var(--border);color:var(--text-primary)}.ai-msg.is-error{border-color:var(--coral);background:var(--coral-soft)}.ai-msg-icon{color:var(--coral-text);float:left;margin:3px 6px 0 0}.ai-rich p{margin:0 0 8px}.ai-rich ul{margin:0 0 8px;padding-left:18px}.ai-rich li{margin:2px 0}.ai-rich>:last-child{margin-bottom:0}.ai-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0}.ai-chip{padding:6px 10px;border-radius:10px;background:var(--ivory);border:1px solid var(--border)}.ai-chip dt{font-size:11.5px;color:var(--text-secondary);font-weight:600}.ai-chip dd{margin:0;font-family:var(--font-display);font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}.ai-chip.tone-good dd{color:var(--teal-ink)}.ai-chip.tone-warn dd{color:var(--amber-text)}.ai-chip.tone-bad dd{color:var(--coral-text)}.ai-msg-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px}.ai-msg-foot:empty{display:none}.ai-source{font-size:12.5px}.ai-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.ai-suggestions.is-centered{justify-content:center}.ai-suggestion{min-height:34px;padding:6px 12px;border-radius:999px;background:var(--surface);color:var(--text-primary);border:1px solid var(--border-strong);font-size:13px;font-weight:600}.ai-suggestion:hover:not(:disabled){background:var(--amber-soft);border-color:var(--ai-accent)}.ai-typing{display:inline-flex;gap:4px;padding:4px 2px}.ai-typing i{width:7px;height:7px;border-radius:50%;background:var(--text-secondary);animation:ai-dot 1s infinite ease-in-out}.ai-typing i:nth-child(2){animation-delay:.15s}.ai-typing i:nth-child(3){animation-delay:.3s}@keyframes ai-dot{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.ai-composer{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--border);background:var(--surface)}.ai-composer textarea{flex:1;resize:none;max-height:120px;min-height:44px;padding:11px 12px;border-radius:12px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-primary)}.ai-composer.is-listening textarea{border-color:var(--teal);box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 25%,transparent)}.ai-mic,.ai-send{width:44px;padding:0;display:inline-grid;place-items:center;flex:none}.ai-mic{background:var(--ivory);color:var(--text-primary);border:1px solid var(--border-strong)}.ai-mic[aria-pressed=true]{background:var(--teal);color:#032a26;border-color:var(--teal)}.ai-composer-note{padding:0 14px}.ai-error{margin:6px 0 0;color:var(--coral-text);font-size:13px;font-weight:600}.ai-warn{display:flex;gap:6px;align-items:flex-start;margin:4px 0 0;padding:8px 10px;border-radius:10px;background:var(--amber-soft);color:var(--amber-text);font-size:13px;font-weight:600}.ai-outcome{display:inline-flex;align-items:center;gap:6px;margin:10px 0 0;padding:6px 10px;border-radius:999px;font-size:13px;font-weight:700}.ai-outcome.is-booked{background:var(--teal-soft);color:var(--teal-ink)}.ai-outcome.is-dismissed{background:var(--ivory);color:var(--text-secondary)}@media(prefers-reduced-motion:reduce){.ai-typing i{animation:none;opacity:.6}}.ai-panel,.ai-chat,.ai-thread{grid-template-columns:minmax(0,1fr);min-width:0}.ai-thread>*{min-width:0}:root[data-theme=dark] .ai-msg.is-user{background:color-mix(in srgb,var(--primary-burgundy) 45%,var(--ink-raised))}@media(max-width:420px){.ai-mode{font-size:13px;padding:6px 4px}}.ai-action{display:grid;gap:10px;margin-top:12px;padding:14px;border-radius:14px;border:1px solid color-mix(in srgb,#ffb020 45%,var(--border));background:color-mix(in srgb,var(--amber-soft) 55%,var(--surface))}.ai-action-head{display:flex;align-items:center;gap:8px;color:var(--amber-text)}.ai-action-head strong{color:var(--text-primary)}.ai-action-head .muted{margin-left:auto;font-size:13px}.ai-field{display:grid;gap:4px;min-width:0;border:0;padding:0;margin:0}.ai-field>span,.ai-field>legend{font-size:12.5px;font-weight:700;color:var(--text-secondary);padding:0}.ai-field input,.ai-field select,.ai-field textarea{width:100%;min-height:40px;padding:8px 10px;border-radius:10px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-primary)}.ai-field textarea{resize:vertical}.ai-field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:10px}.ai-people{gap:6px}.ai-person{display:grid;grid-template-columns:1fr 1.2fr auto;gap:6px;align-items:center}.ai-action-buttons{display:flex;flex-wrap:wrap;gap:8px}.ai-page{gap:20px}.ai-hero .hero-title{max-width:26ch}.ai-abilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px;margin:0;padding:0;list-style:none}.ai-abilities li{display:flex;gap:10px;align-items:flex-start}.ai-abilities svg{flex:none;margin-top:2px;color:#ffb020}.ai-abilities strong{display:block;color:#fff;font-size:14px}.ai-abilities span{color:var(--ink-muted);font-size:13px}.ai-workspace{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:20px;align-items:start}.ai-side{display:grid;gap:12px}.ai-notify{justify-self:start}.ai-agenda{display:grid;gap:18px;padding:18px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border)}.ai-agenda h3{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:16px}.ai-agenda ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}.ai-count{margin-left:auto;padding:2px 9px;border-radius:999px;background:var(--ivory);font-size:12px;font-family:var(--font)}.ai-agenda-empty{margin:0;font-size:14px}.ai-agenda-item{display:grid;grid-template-columns:78px minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px;border-radius:12px;background:var(--ivory)}.ai-agenda-item.is-soon{background:var(--amber-soft);box-shadow:inset 3px 0 #ffb020}.ai-agenda-item time{display:grid}.ai-agenda-item time strong{font-family:var(--font-display);font-size:16px;font-variant-numeric:tabular-nums}.ai-agenda-item time span{font-size:12px;color:var(--text-secondary)}.ai-agenda-title{margin:0;font-weight:700;font-size:14px;overflow-wrap:anywhere}.ai-agenda-item .muted,.ai-task .muted{margin:2px 0 0;font-size:12.5px}.ai-agenda-actions{display:flex;gap:2px}.ai-task{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:8px 4px;border-bottom:1px solid var(--border)}.ai-task:last-child{border-bottom:0}.ai-task.is-high .ai-agenda-title:after{content:" · high";color:var(--coral-text);font-weight:700;font-size:12px}.ai-task.is-overdue .muted{color:var(--coral-text)}.ai-check{width:26px;min-height:26px;padding:0;border-radius:8px;display:grid;place-items:center;background:var(--surface);border:1.5px solid var(--border-strong);color:transparent}.ai-check:hover:not(:disabled){background:var(--teal-soft);border-color:var(--teal);color:var(--teal-ink)}.ai-fab{position:fixed;right:24px;bottom:24px;z-index:60;display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:0 20px 0 16px;border-radius:999px;background:var(--ink);color:#fff;border:1px solid color-mix(in srgb,#ffb020 60%,var(--ink-line));box-shadow:var(--shadow-lg),0 0 0 6px color-mix(in srgb,#ffb020 14%,transparent)}.ai-fab svg{color:#ffb020}.ai-fab:hover:not(:disabled){background:var(--ink-hover)}.ai-drawer-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;justify-content:flex-end}.ai-scrim{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0;padding:0;border-radius:0;background:var(--ink-scrim);cursor:default}.ai-scrim:hover:not(:disabled){background:var(--ink-scrim)}.ai-drawer{position:relative;width:min(460px,100vw);height:100%;box-shadow:var(--shadow-lg);animation:ai-slide .22s ease-out}@keyframes ai-slide{0%{transform:translate(24px);opacity:.6}}.ai-toasts{position:fixed;right:24px;bottom:92px;z-index:80;display:grid;gap:10px;width:min(360px,calc(100vw - 32px))}.ai-toast{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding:14px;border-radius:14px;background:var(--ink);color:#fff;border:1px solid #ffb020;box-shadow:var(--shadow-lg)}.ai-toast>svg{color:#ffb020;margin-top:2px}.ai-toast p{margin:2px 0 6px;font-size:13px;color:var(--ink-soft)}.ai-toast-actions{display:flex;gap:14px}.ai-toast .ai-link-btn{color:#ffcf70}.ai-toast .ai-icon-btn{color:var(--ink-soft)}@media(max-width:1080px){.ai-workspace{grid-template-columns:minmax(0,1fr)}.ai-panel.is-page{height:72vh}}@media(max-width:720px){.ai-fab{right:16px;bottom:84px}.ai-fab span{display:none}.ai-fab{padding:0;width:52px;justify-content:center}.ai-toasts{right:16px;bottom:148px}.ai-person{grid-template-columns:1fr auto}.ai-person input[type=email]{grid-column:1}}@media(prefers-reduced-motion:reduce){.ai-drawer{animation:none}}.ai-toasts.is-beside-drawer{right:min(484px,calc(100vw - 376px))}@media(max-width:1080px){.ai-abilities{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.ai-abilities{grid-template-columns:minmax(0,1fr)}.ai-toasts.is-beside-drawer{display:none}}.ai-field>input,.ai-field>select,.ai-field>textarea,.ai-person>input{min-width:0;box-sizing:border-box}.ai-voice,.ai-live{display:flex;flex-direction:column;align-items:center;gap:14px;min-height:0;padding:22px 18px;overflow-y:auto;text-align:center;background:radial-gradient(120% 70% at 50% 0%,color-mix(in srgb,#ffb020 10%,var(--surface)),var(--surface) 70%)}.ai-orb{position:relative;flex:none;width:168px;height:168px;display:grid;place-items:center;margin-top:8px}.ai-orb-core{width:104px;height:104px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff6dc,#ffb020 50%,#a85f00);box-shadow:0 18px 44px #a85f0059;transition:transform .3s ease,background .3s ease}.ai-orb-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid color-mix(in srgb,#ffb020 45%,transparent);opacity:0}.ai-orb.is-listening .ai-orb-core{background:radial-gradient(circle at 35% 30%,#e8fffb,var(--teal) 55%,#0a6b62);transform:scale(1.05)}.ai-orb.is-listening .ai-orb-ring{border-color:color-mix(in srgb,var(--teal) 55%,transparent);animation:ai-ripple 1.6s ease-out infinite}.ai-orb.is-listening .ai-orb-ring+.ai-orb-ring{animation-delay:.8s}.ai-orb.is-thinking .ai-orb-core{animation:ai-breathe 1.1s ease-in-out infinite}.ai-orb.is-speaking .ai-orb-core{animation:ai-talk .42s ease-in-out infinite alternate}.ai-orb.is-speaking .ai-orb-ring{animation:ai-ripple 2.2s ease-out infinite}@keyframes ai-ripple{0%{transform:scale(.65);opacity:.9}to{transform:scale(1.12);opacity:0}}@keyframes ai-breathe{50%{transform:scale(.92);filter:saturate(.7)}}@keyframes ai-talk{0%{transform:scale(.97)}to{transform:scale(1.07)}}.ai-voice-state{margin:0;font-family:var(--font-display);font-size:20px;font-weight:700}.ai-voice-heard{margin:0;min-height:22px;max-width:46ch;color:var(--text-secondary);font-size:15px}.ai-voice-answer{max-width:56ch;padding:14px 16px;border-radius:14px;text-align:left;background:var(--surface);border:1px solid var(--border);font-size:14.5px;line-height:1.55}.ai-voice-controls{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px}.ai-voice-mic{width:72px;height:72px;min-height:72px;padding:0;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#ffb020;box-shadow:0 0 0 6px color-mix(in srgb,#ffb020 16%,transparent)}.ai-voice-mic:hover:not(:disabled){background:var(--ink-hover)}.ai-voice-mic.is-on{background:var(--teal);color:#032a26;box-shadow:0 0 0 8px color-mix(in srgb,var(--teal) 25%,transparent)}.ai-stage{position:relative;flex:none;width:100%;max-width:420px;aspect-ratio:4 / 3;border-radius:20px;overflow:hidden;display:grid;place-items:center;background:radial-gradient(90% 90% at 50% 20%,var(--ink-raised),var(--ink));border:1px solid var(--ink-line)}.ai-stage.is-listening{box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 60%,transparent)}.ai-stage.is-speaking{box-shadow:0 0 0 3px color-mix(in srgb,#ffb020 60%,transparent)}.ai-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s ease}.ai-video.is-live{opacity:1}.ai-stage-cover{position:relative;display:grid;justify-items:center;gap:12px}.ai-stage-cover .ai-face{width:150px}.ai-stage-tag{position:absolute;left:12px;bottom:12px;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,#000 45%,transparent);color:#fff;font-size:12px;font-weight:600}.ai-stage-tag.is-listening{color:var(--teal-bright)}.ai-stage-tag.is-speaking{color:#ffcf70}.ai-captions{display:grid;gap:6px;max-width:56ch;min-height:44px}.ai-captions p{margin:0}.ai-caption-you{color:var(--text-secondary);font-size:14px}.ai-caption-ai{font-size:15.5px;line-height:1.5;font-weight:600}.ai-face{width:min(62%,220px);height:auto;overflow:visible}.ai-face-halo{fill:none;stroke:color-mix(in srgb,#ffb020 30%,transparent);stroke-width:3;transform-origin:120px 120px}.ai-face-halo.is-inner{stroke:color-mix(in srgb,#ffb020 16%,transparent);stroke-width:10}.ai-face-hair{fill:#2a1d14}.ai-face-eyes ellipse{fill:#1d1712;transform-box:fill-box;transform-origin:center;animation:ai-blink 5s infinite}.ai-face-brow{fill:none;stroke:#2a1d14;stroke-width:3.5;stroke-linecap:round}.ai-face-cheek{fill:#f4a58a;opacity:.45}.ai-face-mouth{fill:#a8443a;transform-box:fill-box;transform-origin:center;transition:transform .16s ease}.ai-face-head{transform-origin:120px 130px;transition:transform .4s ease}.ai-face-wave rect{fill:#ffb020;opacity:0;transform-box:fill-box;transform-origin:center bottom}.ai-face.is-speaking .ai-face-mouth{animation:ai-mouth .26s ease-in-out infinite alternate}.ai-face.is-speaking .ai-face-wave rect{opacity:1;animation:ai-bar .5s ease-in-out infinite alternate}.ai-face.is-speaking .ai-face-halo{animation:ai-halo 1.8s ease-out infinite}.ai-face.is-listening .ai-face-head{transform:rotate(-4deg) translateY(2px)}.ai-face.is-listening .ai-face-halo{stroke:color-mix(in srgb,var(--teal) 60%,transparent);animation:ai-halo 1.4s ease-out infinite}.ai-face.is-thinking .ai-face-eyes ellipse{animation:ai-scan 1.2s ease-in-out infinite}@keyframes ai-blink{0%,94%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}@keyframes ai-mouth{0%{transform:scale(.8,.6)}to{transform:scale(1.05,2.4)}}@keyframes ai-bar{0%{transform:scaleY(.35)}to{transform:scaleY(1.4)}}@keyframes ai-halo{0%{transform:scale(.94);opacity:1}to{transform:scale(1.06);opacity:.2}}@keyframes ai-scan{0%,to{transform:translate(-3px)}50%{transform:translate(3px)}}@media(prefers-reduced-motion:reduce){.ai-orb *,.ai-face *,.ai-face{animation:none!important;transition:none!important}}.ai-voice-draft{width:min(100%,560px);text-align:left}.ai-voice>*,.ai-live>*{flex:none;max-width:100%}.ai-voice-controls,.ai-suggestions.is-centered,.ai-captions{width:100%}.ai-live.has-draft .ai-stage{max-width:280px}.ai-voice.has-draft .ai-orb{width:112px;height:112px}.ai-voice.has-draft .ai-orb-core{width:72px;height:72px}.ai-voice-draft .ai-action{margin-top:0}.ai-stage.is-studio{background:radial-gradient(70% 60% at 50% 30%,rgba(255,255,255,.22),transparent 70%),linear-gradient(180deg,#2f6fdb,#1d4fb3 55%,#12357d);border-color:#1d4fb3}.ai-video-source{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.ci-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);transition:border-color var(--transition),background var(--transition)}.ci-card--open{border-color:var(--signal);background:var(--signal-soft)}.ci-card--in{border-color:var(--status-good, #16a34a);background:color-mix(in srgb,var(--status-good, #16a34a) 8%,transparent)}.ci-card--done{opacity:.75}.ci-card--closed{opacity:.65}.ci-card--loading{flex-direction:column;gap:8px;align-items:stretch}.ci-icon{flex-shrink:0;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center}.ci-icon--signal{background:var(--signal-soft);color:var(--signal)}.ci-icon--good{background:color-mix(in srgb,var(--status-good, #16a34a) 15%,transparent);color:var(--status-good, #16a34a)}.ci-icon--muted{background:var(--surface-2, #1a2140);color:var(--text-muted)}.ci-body{flex:1;min-width:0}.ci-title{font-size:13px;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ci-sub{font-size:11px;color:var(--text-muted);margin:2px 0 0;display:flex;align-items:center;gap:4px}.ci-error{font-size:11px;color:var(--status-critical, #dc2626);margin:2px 0 0}.ci-late-badge{font-size:10px;font-weight:700;padding:1px 6px;border-radius:20px;background:color-mix(in srgb,var(--status-warning, #ca8a04) 15%,transparent);color:var(--status-warning, #ca8a04);letter-spacing:.03em}.ci-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;border:none;border-radius:var(--radius-sm, 6px);padding:7px 13px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:filter var(--transition)}.ci-btn:disabled{opacity:.6;cursor:not-allowed}.ci-btn--in{background:var(--signal);color:var(--on-signal)}.ci-btn--in:not(:disabled):hover{filter:brightness(1.1)}.ci-btn--out{background:var(--surface-2, #1a2140);color:var(--text-secondary);border:1px solid var(--border)}.ci-btn--out:not(:disabled):hover{background:var(--border)}.ci-shimmer{border-radius:6px;background:linear-gradient(90deg,var(--surface) 25%,var(--surface-2, #1a2140) 50%,var(--surface) 75%);background-size:200% 100%;animation:ci-shimmer 1.4s ease infinite}.ci-shimmer--title{height:14px;width:55%}.ci-shimmer--body{height:11px;width:40%;opacity:.6}@keyframes ci-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sa-page .page-actions{display:flex;gap:.5rem;flex-wrap:wrap}.sa-filters{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:flex-end}.sa-filters label,.sa-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.sa-filters-inline{margin-bottom:.75rem}.sa-grow{flex:1 1 14rem}.sa-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem}.sa-kpi{display:flex;flex-direction:column;gap:.25rem;padding:.9rem 1rem}.sa-kpi strong{font-size:1.6rem;line-height:1.1}.sa-kpi-warning strong,.sa-warn{color:var(--warning, #b45309)}.sa-kpi-danger strong,.sa-bad{color:var(--danger, #b91c1c)}.sa-section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.sa-section-head h2{margin:0;font-size:1.05rem}.sa-sub{display:block;font-size:.8rem}.sa-pager{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-top:.75rem}.sa-roster-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,26rem),1fr));gap:1rem;align-items:start}.sa-form{display:flex;flex-direction:column;gap:.75rem}.sa-form-row{display:flex;flex-wrap:wrap;gap:.75rem}.sa-form-row input[type=number]{width:7rem}.sa-days{display:flex;flex-wrap:wrap;gap:.5rem;border:0;padding:0;margin:0}.sa-days legend{font-size:.85rem;margin-bottom:.25rem}.sa-form .sa-day{flex-direction:row;align-items:center;gap:.3rem;padding:.3rem .6rem;border:1px solid var(--border, #d6d3d1);border-radius:999px}.sa-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.sa-error{color:var(--danger, #b91c1c);margin:0}.sa-segment{display:flex;flex-wrap:wrap;gap:.4rem}.sa-options{list-style:none;margin:0;padding:.25rem;max-height:12rem;overflow-y:auto;border:1px solid var(--border, #d6d3d1);border-radius:8px}.sa-options button{width:100%;text-align:left}.sa-options li.muted{padding:.4rem .6rem}.sa-picked{display:flex;flex-wrap:wrap;gap:.4rem}.sa-tag{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .3rem .2rem .6rem;border-radius:999px;background:var(--surface-muted, #f1f5f9);font-size:.85rem}.sa-tag button{padding:.15rem;min-height:0;background:transparent;color:inherit;border:0}.sa-shift-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.sa-shift-list li{display:flex;justify-content:space-between;gap:.75rem;padding:.6rem .75rem;border:1px solid var(--border, #d6d3d1);border-radius:8px}.sa-row-actions{display:flex;gap:.25rem;align-items:flex-start}.sa-type{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #64748b);margin-right:.25rem}.sa-preview{max-height:28rem;overflow-y:auto}.sa-week{margin-top:.75rem}.sa-chip-detail{display:block;font-size:.75rem;color:var(--text-muted, #64748b);margin-top:.15rem}.tp-shell{display:flex;flex-direction:column;gap:0}.tp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.tp-row{display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);transition:background var(--transition),border-color var(--transition)}.tp-row--open{border-color:var(--signal);background:var(--signal-soft)}.tp-row--marked{opacity:.65}.tp-row--closed{opacity:.5}.tp-time{display:flex;flex-direction:column;gap:1px;font-size:12px;font-weight:600;color:var(--text-secondary);white-space:nowrap;font-variant-numeric:tabular-nums}.tp-time-sep{display:none}.tp-time-end{font-weight:400;font-size:11px;color:var(--text-muted)}.tp-info{display:flex;flex-direction:column;gap:2px;min-width:0}.tp-course{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.tp-course-code{font-size:11px;font-weight:700;color:var(--signal);background:var(--signal-soft);border-radius:4px;padding:1px 5px;letter-spacing:.04em}.tp-meta{display:flex;gap:8px;font-size:11px;color:var(--text-muted)}.tp-meta span:after{content:"·";margin-left:8px}.tp-meta span:last-child:after{content:"";margin:0}.tp-action{flex-shrink:0}.tp-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:3px 8px;border-radius:20px;white-space:nowrap}.tp-badge--upcoming{background:var(--surface-2, #1a2140);color:var(--text-muted)}.tp-badge--open{background:var(--signal);color:var(--on-signal)}.tp-badge--marked{background:var(--status-good, #16a34a);color:#fff}.tp-badge--closed{background:var(--surface-2, #1a2140);color:var(--text-muted)}.tp-btn-mark{display:inline-flex;align-items:center;gap:4px;background:none;border:none;padding:0;cursor:pointer;font-family:inherit}.tp-btn-mark:hover .tp-badge--open{filter:brightness(1.1)}.tp-btn-mark svg{color:var(--signal)}.tp-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;gap:8px;text-align:center}.tp-empty-icon{color:var(--text-muted)}.tp-empty-text{font-size:13px;color:var(--text-muted);margin:0}.tp-loading{gap:8px;padding:4px 0}.tp-shimmer{height:52px;border-radius:var(--radius);background:linear-gradient(90deg,var(--surface) 25%,var(--surface-2, #1a2140) 50%,var(--surface) 75%);background-size:200% 100%;animation:shimmer 1.4s ease infinite}.tp-shimmer--short{height:52px;opacity:.6}.faculty-all-clear{display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px 0;color:var(--teal)}.faculty-all-clear p{margin:0;color:var(--text-secondary);font-size:14px}.student-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.student-hero-text{flex:1 1 260px}.student-hero-ring{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:8px}.student-att-warn{margin:0;font-size:12px;font-weight:600;color:var(--coral);text-align:center}.student-kpi{position:relative}.student-kpi-icon{color:var(--signal);margin-bottom:4px}.student-alerts{border-left:3px solid var(--amber)}.student-alert-list{margin:0;padding:0;list-style:none;display:grid;gap:4px}.student-alert-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-md);color:var(--text-primary);text-decoration:none;font-size:14px;font-weight:500;transition:background var(--transition)}.student-alert-row:hover{background:var(--ivory)}.student-alert-row svg{color:var(--amber);flex-shrink:0}.student-alert-count{margin-left:auto;font-weight:700;font-size:18px;color:var(--amber);font-variant-numeric:tabular-nums}@media(max-width:560px){.student-hero{flex-direction:column-reverse;align-items:flex-start}}.examiner-page{max-width:720px;margin:0 auto;display:grid;gap:32px;padding:8px 0 40px}.examiner-hero{display:flex;gap:20px;align-items:flex-start}.examiner-icon-wrap{flex-shrink:0;width:56px;height:56px;border-radius:16px;background:var(--signal-soft);color:var(--signal);display:grid;place-items:center}.examiner-kicker{margin:0 0 4px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.examiner-hero h1{margin:0 0 8px;font-family:var(--font-display);font-size:clamp(22px,4vw,30px);font-weight:800;line-height:1.1}.examiner-sub{margin:0;color:var(--text-secondary);max-width:540px;line-height:1.6}.examiner-cards{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.examiner-card{display:grid;gap:10px;padding:24px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);color:var(--text-secondary)}.examiner-card--primary{background:var(--ink);border-color:var(--ink-line);color:var(--ink-soft)}.examiner-card--primary h2{color:#fff}.examiner-card--primary svg{color:var(--teal-bright)}.examiner-card svg{color:var(--signal)}.examiner-card h2{margin:0;font-size:16px;font-weight:700;color:var(--text-primary)}.examiner-card p{margin:0;font-size:14px;line-height:1.6}.examiner-card code{font-family:monospace;font-size:13px;background:var(--canvas-deep);padding:2px 6px;border-radius:4px;color:var(--signal)}.examiner-card--primary code{background:var(--ink-raised);color:var(--teal-bright)}.tenant-brand-editor{display:grid;gap:18px;margin-bottom:20px;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);scroll-margin-top:calc(var(--header-height) + 16px)}.tenant-brand-editor-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.tenant-brand-editor-head .form-section-title{margin:0 0 4px}.tenant-brand-editor-head p{margin:0;font-size:14px}.brand-presets{margin:0;padding:0;border:0}.brand-presets legend{margin-bottom:8px;font-size:13px;font-weight:700;color:var(--text-primary)}.brand-preset-row{display:flex;flex-wrap:wrap;gap:8px}button.brand-preset-chip{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:6px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);font-size:13px;font-weight:600}button.brand-preset-chip:hover:not(:disabled){background:var(--ivory);border-color:var(--signal)}button.brand-preset-chip[aria-pressed=true]{border-color:var(--signal);box-shadow:0 0 0 2px color-mix(in srgb,var(--signal) 30%,transparent)}.brand-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:24px;align-items:start}.brand-fields{display:grid;gap:14px}.brand-field-hint{margin-top:-4px;font-size:12px;font-weight:500;color:var(--text-secondary)}.brand-color-row{display:flex;gap:8px;align-items:center}.brand-color-row input:not([type=color]){flex:1;min-width:0;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;text-transform:lowercase}.brand-color-row input[type=color]{width:46px;min-height:46px;padding:3px;cursor:pointer}.brand-preview-col{position:sticky;top:calc(var(--header-height) + 16px);display:grid;gap:10px}.brand-preview-title{margin:0;font-size:13px;font-weight:700}.brand-adjust-note{margin:0;padding:10px 12px;border-radius:var(--radius-sm);background:var(--amber-soft);color:var(--amber-text);font-size:13px;font-weight:600}.brand-editor-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.brand-mock{display:grid;grid-template-columns:34% minmax(0,1fr);min-height:230px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md);font-size:12px}.brand-mock-side{display:grid;align-content:start;gap:4px;padding:12px 8px;background:var(--pv-ink);color:var(--pv-ink-text)}.brand-mock-side strong{margin:0 6px 8px;color:#fff;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-mock-nav{padding:6px 8px;border-radius:8px}.brand-mock-nav.is-active{background:var(--pv-primary);color:#fff;font-weight:700}.brand-mock-main{display:grid;grid-template-rows:auto 1fr;background:var(--pv-canvas)}.brand-mock-bar{padding:10px 12px;background:var(--pv-ink);border-left:1px solid var(--pv-ink-raised);color:var(--pv-ink-muted)}.brand-mock-body{display:grid;align-content:start;gap:10px;padding:12px}.brand-mock-hero{display:grid;gap:2px;padding:12px;border-radius:10px;background:linear-gradient(135deg,var(--pv-deep),var(--pv-primary));color:#fff}.brand-mock-hero strong{font-size:15px}.brand-mock-kicker{color:var(--pv-gold);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.brand-mock-card{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px;border-radius:10px;background:#fff;border:1px solid #e2e4ea}.brand-mock-chip{padding:3px 8px;border-radius:999px;background:var(--pv-soft);color:var(--pv-primary);font-weight:700}.brand-mock-link{color:var(--pv-primary);font-weight:700}.brand-mock-accent{color:var(--pv-accent);font-weight:700}.brand-mock-btn{margin-left:auto;padding:5px 12px;border-radius:8px;background:var(--pv-primary);color:#fff;font-weight:700}@media(max-width:900px){.brand-editor-grid{grid-template-columns:1fr}.brand-preview-col{position:static}}.lv-page .page-actions{display:flex;gap:.5rem}.lv-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}.lv-between{justify-content:space-between}.lv-grow{flex:1 1 14rem}.lv-field{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.lv-inline{flex-direction:row;align-items:center;gap:.5rem}.lv-sub{display:block;font-size:.8rem}.lv-form{display:flex;flex-direction:column;gap:.9rem}.lv-form h2,.lv-classes h3{margin:0;font-size:1.05rem}.lv-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.lv-problem{color:var(--danger, #b91c1c);margin:0}.lv-plan{display:flex;flex-direction:column;gap:.6rem;padding-top:.25rem;border-top:1px solid var(--border, #e7e5e4)}.lv-plan p{margin:0}.lv-classes{display:flex;flex-direction:column;gap:.6rem}.lv-fill{justify-content:space-between}.lv-classes select{min-width:14rem;max-width:100%}tr.lv-needs td{background:color-mix(in srgb,var(--warning, #b45309) 7%,transparent)}.lv-balances{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem}.lv-balance{display:flex;flex-direction:column;gap:.15rem;padding:.9rem 1rem}.lv-balance strong{font-size:1.6rem;line-height:1.1}.lv-card{display:flex;flex-direction:column;gap:.5rem}.lv-card-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.lv-card-head h3{margin:0;font-size:1rem}.lv-card-head p{margin:0}.lv-person{margin:0 0 .2rem}.lv-reason{margin:0;white-space:pre-wrap}.lv-subs summary{cursor:pointer;font-weight:600;font-size:.9rem;margin-bottom:.4rem}.lv-pill{display:inline-block;padding:.15rem .6rem;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap;background:var(--surface-muted, #f1f5f9)}.lv-pill-success{background:color-mix(in srgb,var(--success, #15803d) 14%,transparent);color:var(--success, #15803d)}.lv-pill-warning{background:color-mix(in srgb,var(--warning, #b45309) 14%,transparent);color:var(--warning, #b45309)}.lv-pill-danger{background:color-mix(in srgb,var(--danger, #b91c1c) 14%,transparent);color:var(--danger, #b91c1c)}.lv-tabs{display:flex;gap:.4rem;flex-wrap:wrap}.lv-checks,.lv-insts{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;border:0;padding:0;margin:0}.lv-insts legend{font-size:.85rem;margin-bottom:.3rem}.lv-check{display:flex;gap:.45rem;align-items:flex-start;font-size:.9rem}.lv-check input{margin-top:.2rem}.lv-rules{font-size:.85rem}.lv-row-actions{white-space:nowrap}tr.lv-inactive td{opacity:.6}.lv-field textarea{width:100%}.lv-trail{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.lv-step{display:flex;align-items:center;gap:.45rem;padding:.35rem .7rem;border-radius:10px;border:1px solid var(--border, #e2e4ea);background:var(--surface);font-size:.8rem}.lv-step span{display:grid;line-height:1.25}.lv-step small{color:var(--text-secondary)}.lv-step-approved{border-color:color-mix(in srgb,var(--success, #15803d) 35%,transparent);color:var(--success, #15803d)}.lv-step-rejected{border-color:color-mix(in srgb,var(--danger, #b91c1c) 35%,transparent);color:var(--danger, #b91c1c)}.lv-step.is-waiting{border-color:color-mix(in srgb,var(--warning, #b45309) 45%,transparent);background:color-mix(in srgb,var(--warning, #b45309) 8%,transparent);color:var(--warning, #b45309)}.lv-step-viewer{border-style:dashed;color:var(--text-secondary)}.lv-step strong{color:var(--text-primary)}.lv-wf-list{display:grid;gap:.9rem}.lv-wf-card{display:flex;flex-direction:column;gap:.6rem}.lv-flow{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.lv-flow li{display:flex;align-items:center;gap:.5rem}.lv-flow li>svg{color:var(--text-secondary);flex-shrink:0}.lv-flow-start,.lv-flow-step{padding:.35rem .75rem;border-radius:999px;font-size:.85rem;font-weight:600}.lv-flow-start{background:var(--canvas);color:var(--text-secondary)}.lv-flow-step{display:inline-flex;align-items:center;gap:.4rem;background:var(--signal-soft);color:var(--signal)}.lv-flow-step small{display:inline-grid;place-items:center;width:1.2rem;height:1.2rem;border-radius:50%;background:var(--signal);color:var(--on-signal);font-size:.7rem}.lv-flow-view{display:flex;align-items:center;gap:.4rem;margin:0;font-size:.85rem;color:var(--text-secondary)}.lv-wf-steps{border:0;padding:0;margin:0;display:grid;gap:.6rem}.lv-wf-steps legend,.lv-wf-editor .lv-checks legend{font-size:.85rem;font-weight:700;margin-bottom:.4rem}.lv-wf-steps ol{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.lv-wf-steps li{display:flex;align-items:center;gap:.6rem;padding:.4rem .5rem .4rem .75rem;border:1px solid var(--border, #e2e4ea);border-radius:12px}.lv-wf-steps li strong{flex:1}.lv-wf-num{display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--signal-soft);color:var(--signal);font-size:.75rem;font-weight:800}.lv-wf-tools{display:flex;gap:.15rem}.lv-wf-steps select{min-width:12rem}.di-undo-list{margin:0;padding-left:1.2rem;display:grid;gap:4px}.di-undone{flex-basis:100%;margin:0;font-size:13px}.di-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px;align-items:start}.di-side{display:grid;gap:20px;position:sticky;top:16px}.di-steps{list-style:none;margin:0;padding:0;display:grid;gap:18px}.di-step{display:grid;gap:12px;padding-left:14px;border-left:3px solid var(--border)}.di-step.is-open{border-left-color:var(--signal)}.di-step-title{font-weight:700;font-size:15px}.di-step:not(.is-open) .di-step-title{color:var(--text-secondary)}.di-picker,.di-group{display:grid;gap:10px}.di-group header h3{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.di-group header p{margin:2px 0 0;font-size:13px}.di-search{display:flex;align-items:center;gap:8px;color:var(--text-secondary)}.di-search input{flex:1}.di-kind-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}button.di-kind{display:flex;gap:10px;align-items:flex-start;text-align:left;padding:12px;min-height:0;background:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:none;font-weight:400}button.di-kind:hover:not(:disabled){background:var(--ivory);border-color:color-mix(in srgb,var(--signal) 45%,var(--border));color:var(--text-primary)}button.di-kind.is-active{border-color:var(--signal);background:var(--signal-soft);box-shadow:0 0 0 2px color-mix(in srgb,var(--signal) 25%,transparent)}.di-kind-step{flex:0 0 26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:var(--canvas-deep);color:var(--text-secondary)}.di-kind.is-active .di-kind-step{background:var(--signal);color:var(--on-signal)}.di-kind-body{display:grid;gap:2px;font-size:13px}.di-kind-body strong{font-size:14px}.di-needs{margin-top:4px;font-size:12px;color:var(--amber-text)}.di-template{display:grid;gap:12px}.di-template-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.di-template-head h3{margin:0;font-size:16px}.di-template-head p{margin:4px 0 0;max-width:60ch;font-size:13px}.di-columns .table td,.di-columns .table th{font-size:13px;padding:8px 10px}.di-example{color:var(--text-secondary)}.di-tips{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:13px;color:var(--text-secondary)}.di-tips svg{vertical-align:-2px;color:var(--signal)}.di-upload{display:grid;gap:12px}.di-drop{display:grid;justify-items:center;gap:6px;padding:26px 16px;border:2px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--ivory);color:var(--text-secondary);text-align:center;transition:border-color var(--transition),background var(--transition)}.di-drop.is-dragging{border-color:var(--signal);background:var(--signal-soft)}.di-drop.has-file{border-style:solid;border-color:color-mix(in srgb,var(--teal) 60%,var(--border));background:var(--teal-soft)}.di-drop strong{color:var(--text-primary)}.di-file{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}.di-browse input{position:absolute;width:1px;height:1px;opacity:0}.di-browse .secondary-like{display:inline-block;padding:8px 16px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text-primary);font-weight:600;cursor:pointer}.di-browse:focus-within .secondary-like{outline:3px solid color-mix(in srgb,var(--signal) 40%,transparent);outline-offset:2px}.di-limit{font-size:12px}.di-preview{padding:10px 12px;border-radius:var(--radius-sm);font-size:14px}.di-preview p{margin:0;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.di-preview.is-good{background:var(--teal-soft);color:var(--teal-ink)}.di-preview.is-bad{background:var(--coral-soft);color:var(--coral-text)}.di-inline-error{margin:0;color:var(--coral-text);font-size:14px}.di-actions,.di-detail-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.di-detail-actions button{display:inline-flex;gap:6px;align-items:center}.di-progress{display:grid;gap:8px}.di-bar{height:10px;border-radius:999px;background:var(--canvas-deep);overflow:hidden}.di-progress.is-compact .di-bar{height:6px}.di-bar span{display:block;height:100%;border-radius:inherit;background:var(--signal);transition:width .4s ease}.di-bar.tone-success span{background:var(--teal)}.di-bar.tone-warning span{background:var(--amber)}.di-bar.tone-danger span{background:var(--coral)}.di-bar.is-running span{background-image:linear-gradient(90deg,var(--signal) 0%,color-mix(in srgb,var(--signal) 60%,#fff) 50%,var(--signal) 100%);background-size:200% 100%;animation:di-shimmer 1.6s linear infinite}@keyframes di-shimmer{0%{background-position:200% 0}to{background-position:0 0}}@media(prefers-reduced-motion:reduce){.di-bar.is-running span{animation:none}}.di-progress-meta{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.di-stages{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;font-size:12px}.di-stages li{padding-top:6px;border-top:3px solid var(--border);color:var(--text-secondary)}.di-stages li.is-done{border-top-color:var(--teal)}.di-stages li.is-current{border-top-color:var(--signal);color:var(--text-primary);font-weight:700}.di-counters{margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.di-counters div{padding:10px;border-radius:var(--radius-sm);background:var(--ivory);border:1px solid var(--border)}.di-counters dt{font-size:12px;color:var(--text-secondary)}.di-counters dd{margin:2px 0 0;font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.di-counters .tone-good dd{color:var(--teal-ink)}.di-counters .tone-warn{background:var(--amber-soft)}.di-counters .tone-warn dd{color:var(--amber-text)}.di-counters .tone-bad{background:var(--coral-soft)}.di-counters .tone-bad dd{color:var(--coral-text)}.di-detail-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.di-detail-head h2{margin:0;font-size:18px;word-break:break-all}.di-detail-head p{margin:4px 0 0;font-size:13px}.di-kicker{margin:0;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--signal)}.di-detail-status{display:flex;align-items:center;gap:8px}.di-live{font-size:11px;color:var(--text-secondary)}.di-live-live:before{content:"";display:inline-block;width:7px;height:7px;margin-right:4px;border-radius:50%;background:var(--teal)}.di-warning,.di-flash{margin:0;padding:8px 12px;border-radius:var(--radius-sm);font-size:13px}.di-warning{background:var(--amber-soft);color:var(--amber-text)}.di-flash{background:var(--signal-soft);color:var(--active-text)}.di-issues{display:grid;gap:10px}.di-issues h3{margin:0;font-size:15px}.di-help{display:block;font-size:12px;color:var(--text-secondary)}.di-jobs-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.di-segment{display:inline-flex;gap:4px}.di-segment button{min-height:32px;padding:4px 12px;font-size:13px}.di-active{list-style:none;margin:0;padding:0;display:grid;gap:8px}button.di-job{width:100%;display:grid;gap:6px;text-align:left;padding:12px;background:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:none;font-weight:400}button.di-job:hover:not(:disabled),button.di-job.is-selected{background:var(--ivory);color:var(--text-primary);border-color:var(--signal)}.di-job-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.di-job-file{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}.di-history tr.is-selected td{background:var(--signal-soft)}.di-bad{color:var(--coral-text)}@media(max-width:1180px){.di-layout{grid-template-columns:1fr}.di-side{position:static}}@media(max-width:640px){.di-counters{grid-template-columns:repeat(2,minmax(0,1fr))}.di-stages{font-size:11px}.di-detail-head{flex-direction:column}}.di-page{--di-ease: cubic-bezier(.2, .7, .2, 1)}.di-wizard{padding:26px;gap:22px}.di-wizard-head h2{margin:0}.di-wizard-head p{margin:4px 0 0;font-size:14px}.di-step{position:relative;padding:0 0 4px 44px;border-left:none}.di-step:before{content:"";position:absolute;left:15px;top:34px;bottom:-18px;width:2px;background:var(--border)}.di-step:last-child:before{display:none}.di-step-title{display:flex;align-items:center;gap:12px;margin-left:-44px;font-size:16px;min-height:32px}.di-step-num{flex:0 0 32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:800;background:var(--canvas-deep);color:var(--text-secondary);transition:background var(--transition),color var(--transition)}.di-step.is-open .di-step-num{background:var(--signal);color:var(--on-signal);box-shadow:0 0 0 4px var(--signal-soft)}.di-step.is-done .di-step-num{background:var(--teal);box-shadow:0 0 0 4px var(--teal-soft)}.di-step.is-done:before{background:var(--teal)}.di-step:not(.is-open)>:not(.di-step-title){opacity:.6}button.di-kind{padding:14px;transition:border-color var(--transition),background var(--transition),transform .18s var(--di-ease),box-shadow .18s var(--di-ease)}button.di-kind:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-sm)}button.di-kind:focus-visible,button.di-job:focus-visible,.di-history tr:focus-visible{outline:3px solid color-mix(in srgb,var(--signal) 45%,transparent);outline-offset:2px}.di-group+.di-group{margin-top:6px}.di-columns{border-radius:var(--radius-md);overflow:auto;max-height:340px}.di-columns code{font-size:12.5px;padding:2px 6px;border-radius:6px;background:var(--ivory);border:1px solid var(--border)}.di-tips{padding:12px 14px;border-radius:var(--radius-md);background:var(--ivory);border:1px solid var(--border)}.di-drop{padding:34px 18px}.di-drop:hover{border-color:color-mix(in srgb,var(--signal) 50%,var(--border-strong))}.di-drop>svg{color:var(--signal);transition:transform .2s var(--di-ease)}.di-drop.is-dragging>svg{transform:translateY(-4px) scale(1.08)}.di-actions{padding-top:4px;border-top:1px solid var(--border)}.di-actions>button{min-width:160px}.di-detail,.di-jobs{animation:di-rise .22s var(--di-ease)}.di-detail{border-top:4px solid var(--signal)}@keyframes di-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.di-counters dd{font-size:22px;letter-spacing:-.02em}.di-history td{vertical-align:middle}.di-history tbody tr{cursor:pointer}.di-empty{display:grid;justify-items:center;gap:4px;padding:28px 12px;text-align:center;border:1px dashed var(--border-strong);border-radius:var(--radius-md)}.di-empty-icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;margin-bottom:4px;background:var(--signal-soft);color:var(--signal);font-weight:800}@media(prefers-reduced-motion:reduce){.di-detail,.di-jobs,button.di-kind,.di-drop>svg{animation:none;transition:none}}@media(max-width:640px){.di-wizard{padding:18px}.di-step{padding-left:0}.di-step-title{margin-left:0}.di-step:before{display:none}}.di-inst{display:grid;gap:6px;padding:12px 14px;border-radius:var(--radius-md);background:var(--signal-soft);font-weight:600}.di-inst>span:first-child,.di-inst-note{display:flex;align-items:center;gap:6px}.di-inst.is-missing select{border-color:var(--amber)}.di-inst-hint{font-weight:400;font-size:13px}.di-inst-note{margin:0;font-size:13px}.di-inst-tag{display:inline-block;margin-left:4px;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:700;background:var(--canvas-deep);color:var(--text-secondary)}.di-inst-filter{max-width:180px;min-height:32px;font-size:13px}.ac-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px;align-items:start}.ac-roles{position:sticky;top:16px;padding:16px}.ac-roles h2,.ac-editor h2{margin:0;font-size:18px}.ac-roles ul,.ac-group ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}button.ac-role{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;background:transparent;color:var(--text-primary);border:1px solid transparent;border-radius:var(--radius-sm);box-shadow:none;font-weight:600;text-align:left}button.ac-role:hover:not(:disabled){background:var(--ivory);color:var(--text-primary)}button.ac-role.is-active{background:var(--signal-soft);border-color:color-mix(in srgb,var(--signal) 35%,transparent);color:var(--active-text)}.ac-count{font-size:12px;font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums}.ac-editor{gap:16px}.ac-editor-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.ac-kicker{margin:0;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--signal)}.ac-status{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:13px;font-weight:600;background:var(--ivory);color:var(--text-secondary)}.ac-status.is-saved{background:var(--teal-soft);color:var(--teal-ink)}.ac-status.is-error{background:var(--coral-soft);color:var(--coral-text)}.ac-spin{animation:ac-spin .9s linear infinite}@keyframes ac-spin{to{transform:rotate(360deg)}}.ac-live{margin:0;display:flex;align-items:center;gap:6px;font-size:13px}.ac-search{display:flex;align-items:center;gap:8px;color:var(--text-secondary)}.ac-group{display:grid;gap:8px}.ac-group>header{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;padding-bottom:6px;border-bottom:1px solid var(--border)}.ac-group h3{margin:0;font-size:14px;text-transform:uppercase;letter-spacing:.05em}.ac-group h3 .muted{margin-left:6px;text-transform:none;letter-spacing:0;font-weight:500}.ac-group-actions{display:flex;gap:6px}.ac-group-actions button{min-height:32px;padding:4px 12px;font-size:13px}.ac-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);transition:background var(--transition),border-color var(--transition)}.ac-row.is-on{border-color:color-mix(in srgb,var(--teal) 40%,var(--border));background:color-mix(in srgb,var(--teal-soft) 45%,var(--surface))}.ac-row-main{display:flex;align-items:center;gap:10px}.ac-switch{display:inline-flex;align-items:center;gap:10px;margin:0;cursor:pointer;font-weight:600}.ac-switch input{position:absolute;opacity:0;width:1px;height:1px}.ac-track{position:relative;width:38px;height:22px;border-radius:999px;background:var(--border-strong);transition:background var(--transition);flex:0 0 auto}.ac-track:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform .16s ease}.ac-switch input:checked+.ac-track{background:var(--teal)}.ac-switch input:checked+.ac-track:after{transform:translate(16px)}.ac-switch input:focus-visible+.ac-track{outline:3px solid color-mix(in srgb,var(--signal) 45%,transparent);outline-offset:2px}.ac-switch input:disabled+.ac-track{opacity:.6}.ac-lock{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary)}.ac-actions{display:flex;gap:6px;flex-wrap:wrap}button.ac-chip{min-height:30px;padding:4px 12px;border-radius:999px;font-size:13px;font-weight:600;background:var(--surface);color:var(--text-secondary);border:1px solid var(--border-strong);box-shadow:none}button.ac-chip:hover:not(:disabled){background:var(--ivory);color:var(--text-primary)}button.ac-chip.is-on{background:var(--signal);border-color:var(--signal);color:var(--on-signal)}.ac-viewonly{font-size:12px}@media(max-width:960px){.ac-layout{grid-template-columns:1fr}.ac-roles{position:static}.ac-roles ul{display:flex;gap:6px;overflow-x:auto}button.ac-role{white-space:nowrap}}@media(prefers-reduced-motion:reduce){.ac-spin{animation:none}}.ap-page{min-height:100vh;background:var(--canvas)}.ap-head{display:flex;align-items:center;gap:16px;padding:28px max(16px,calc((100vw - 880px)/2));background:var(--ink);color:#fff}.ap-head h1{margin:0;font-size:clamp(24px,4vw,34px);line-height:1.1}.ap-head p{margin:4px 0 0;color:var(--ink-soft)}.ap-head .ap-kicker{margin:0 0 4px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--amber)}.ap-body{width:min(880px,100%);margin:0 auto;padding:24px 16px 48px}.ap-form{gap:22px}.ap-form>button[type=submit]{justify-self:start;min-width:220px}.ap-note{margin:0;padding:12px 14px;border-radius:12px;background:var(--signal-soft);color:var(--text-primary)}.ap-section{border:0;padding:0;margin:0;display:grid;gap:12px}.ap-section legend{font-family:var(--font-display);font-size:18px;font-weight:700;margin-bottom:10px}.ap-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.ap-grid input,.ap-grid select,.ap-grid textarea{width:100%}.ap-wide{grid-column:1 / -1}.ap-programs{display:grid;gap:8px}.ap-program{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border-strong);border-radius:14px;cursor:pointer;font-weight:500}.ap-program span{display:grid;gap:2px}.ap-program small{color:var(--text-secondary);font-size:13px}.ap-program.is-picked{border-color:var(--signal);background:var(--signal-soft)}.ap-program.is-full{opacity:.55;cursor:not-allowed}.ap-closed{text-align:center;font-weight:600}.ap-done{justify-items:center;text-align:center}.ap-done svg{color:var(--teal-ink)}.ap-done h2,.ap-done p{margin:0}.ap-number{font-family:var(--font-display);font-size:34px;letter-spacing:.04em}.ad-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.ad-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--canvas-deep);color:var(--text-secondary);font-size:12px;font-weight:800}.tabs button[aria-selected=true] .ad-count{background:var(--signal-soft);color:var(--signal)}.ad-search{flex:1 1 260px;max-width:420px}.ad-card{gap:10px}.ad-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.ad-card-head h3,.ad-card-head p{margin:0}.ad-card-head h3{font-size:17px}.ad-meta,.ad-note{margin:0;font-size:14px}.ad-note{padding:8px 12px;border-radius:10px;background:var(--canvas)}.ad-link{margin:0;font-size:14px;word-break:break-all}.ad-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin:0}.ad-facts div{padding:10px 12px;border-radius:10px;background:var(--canvas)}.ad-facts dt{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.ad-facts dd{margin:4px 0 0;font-weight:600}.pg-dialog{width:min(560px,calc(100vw - 32px));gap:16px}.pg-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.pg-head h2,.pg-head p{margin:0}.pg-test{flex-shrink:0;padding:4px 10px;border-radius:999px;background:var(--amber-soft);color:var(--amber-text);font-size:12px;font-weight:800}.pg-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:6px}.pg-methods button{min-height:48px;font-size:14px}.pg-pay{width:100%;min-height:52px;font-size:16px}.pg-alert{display:flex;align-items:center;gap:8px;margin:0;padding:10px 12px;border-radius:12px;background:var(--coral-soft);color:var(--coral-text);font-weight:600}.pg-upi{display:grid;justify-items:center;gap:8px;text-align:center}.pg-qr{padding:10px;border-radius:16px;border:1px solid var(--border-strong);background:#fff}.pg-timer{margin:0;font-size:16px}.pg-timer strong{font-family:var(--font-display);font-size:24px;font-variant-numeric:tabular-nums}.pg-timer.is-urgent strong{color:var(--coral-strong)}.pg-small{margin:0;font-size:12px}.pg-simulate{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}.pg-simulate>span{font-size:12px;font-weight:700;color:var(--text-secondary)}.pg-card,.pg-bankpage{display:grid;gap:12px}.pg-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pg-card input{width:100%}.pg-cards ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:2px}.pg-cards li{display:flex;align-items:center;gap:8px;font-size:13px}.pg-cards summary{cursor:pointer;font-weight:600;font-size:14px}.pg-banks{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.pg-bankname{margin:0;font-weight:800}.pg-bankpage p{margin:0}.pg-success{display:grid;justify-items:center;gap:8px;text-align:center}.pg-success svg{color:var(--teal-ink)}.pg-success h3,.pg-success p{margin:0}.pg-success .ad-facts{width:100%;text-align:left}.pg-password{padding:10px 12px;border-radius:10px;background:var(--amber-soft);font-size:14px}.pg-foot{display:flex;justify-content:flex-end}.ac-page .page-actions{display:flex;gap:.5rem}.ac-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}.ac-between{justify-content:space-between;align-items:center}.ac-field,.ac-page .lv-field{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;flex:1 1 11rem;min-width:0}.ac-field.ac-narrow{flex:0 1 8rem}.ac-field.ac-wide{flex:2 1 18rem}.ac-inline{flex-direction:row;align-items:center;gap:.5rem;flex:0 0 auto}.ac-form{display:flex;flex-direction:column;gap:1rem}.ac-form h2,.ac-section h2{margin:0;font-size:1.05rem}.ac-section{display:flex;flex-direction:column;gap:.75rem}.ac-section h3{margin:0;font-size:.95rem}.ac-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.ac-problem{color:var(--danger, #b91c1c);margin:0;font-size:.875rem}.ac-hint{margin:0;font-size:.85rem}.ac-num,.table td.ac-num,.table th.ac-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.ac-sub{display:block;font-size:.8rem}.ac-row-actions{white-space:nowrap;text-align:right}.ac-row-actions button+button{margin-left:.25rem}tr.ac-muted td{opacity:.6}tr.ac-total td{font-weight:700;border-top:2px solid var(--border)}.ac-picker{position:relative;display:flex;flex-direction:column;gap:.4rem;max-width:34rem}.ac-search{display:flex;align-items:center;gap:.4rem}.ac-search input{flex:1}.ac-hits{list-style:none;margin:0;padding:.25rem;border:1px solid var(--border);border-radius:var(--radius-md, 10px);background:var(--surface);box-shadow:var(--shadow-sm);max-height:18rem;overflow:auto}.ac-hit{display:grid;grid-template-columns:7rem 1fr auto;gap:.75rem;width:100%;text-align:left;background:transparent;color:var(--text-primary);box-shadow:none;border:0;padding:.5rem .6rem;min-height:0;font-weight:400}.ac-hit:hover{background:var(--canvas-deep)}.ac-hit-empty{padding:.5rem .6rem}.ac-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.75rem}.ac-figure{display:flex;flex-direction:column;gap:.2rem;padding:.85rem 1rem}.ac-figure span{font-size:.8rem;color:var(--text-secondary)}.ac-figure strong{font-size:1.2rem;font-variant-numeric:tabular-nums}.ac-figure.ac-alert strong{color:var(--danger, #b91c1c)}.ac-student{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;align-items:baseline}.ac-student h2{margin:0;font-size:1.15rem}.ac-progress{height:8px;border-radius:999px;background:var(--canvas-deep);overflow:hidden}.ac-progress>span{display:block;height:100%;background:var(--accent, #2563eb);transition:width .3s ease}.ac-lines input[type=number]{width:8.5rem;text-align:right}.ac-lines select{min-width:12rem}.ac-steps{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(18rem,1fr);gap:1rem;align-items:start}@media(max-width:960px){.ac-steps{grid-template-columns:1fr}}.ac-receipt{display:flex;flex-direction:column;gap:1rem;max-width:48rem}.ac-receipt-head{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--border);padding-bottom:.75rem}.ac-receipt-head h2{margin:0;font-size:1.15rem}.ac-receipt-head p{margin:.2rem 0 0}.ac-receipt-no{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem}.ac-receipt-flag{font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--danger, #b91c1c)}.ac-receipt-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.5rem 1.5rem;margin:0}.ac-receipt-meta dt{font-size:.75rem;color:var(--text-secondary)}.ac-receipt-meta dd{margin:0;font-weight:600}.ac-receipt-foot{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;font-size:.85rem;color:var(--text-secondary)}@media print{body *{visibility:hidden}.ac-print-area,.ac-print-area *{visibility:visible}.ac-print-area{position:absolute;inset:0 auto auto 0;width:100%;max-width:none;box-shadow:none;border:0}.ac-no-print{display:none!important}}.rp-tabs{flex-wrap:wrap}.rp-tools{align-items:flex-end;flex-wrap:wrap;gap:.75rem}.rp-tools .filter-bar{margin:0}.rp-search input{min-width:12rem}.rp-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem 1rem}.rp-head h2{margin:0}.rp-sort{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:.25rem;font:inherit}.ac-num .rp-sort{justify-content:flex-end}.rp-sort:focus-visible{outline:2px solid var(--signal, currentColor);outline-offset:2px}.rp-table tr.rp-group td{font-weight:600;background:var(--surface-muted, transparent)}.rp-table tr.rp-total td{font-weight:700;border-top:2px solid var(--border)}.rp-checks{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.rp-checks li{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;padding:.45rem .75rem;border-radius:8px;border:1px solid var(--border)}.rp-checks li.is-ok svg{color:var(--success, green)}.rp-checks li.is-off{border-color:var(--danger)}.rp-checks li.is-off svg{color:var(--danger)}.rp-letterhead{display:none;margin:0;text-align:center;font-size:1.1rem;font-weight:700}.rp-notes{margin:0;padding-left:1.1rem;font-size:.85rem}@media print{.rp-letterhead{display:block}.rp-table{font-size:.8rem}.rp-checks li{border:0;padding:.1rem 0}}.fa-layout{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:1rem;align-items:start}.fa-table input[type=number]{width:8rem;text-align:right}.fa-table input[type=date]{width:10rem}.fa-scroll{max-height:34rem;overflow:auto}.fa-roster tbody tr{cursor:pointer}.fa-roster tbody tr.is-selected td{background:var(--surface-muted, rgba(0, 0, 0, .04))}.fa-footer{position:sticky;bottom:.5rem;z-index:2}@media(max-width:1100px){.fa-layout{grid-template-columns:minmax(0,1fr)}}.ac-link{padding:0;font-weight:600;color:var(--signal);text-decoration:underline;text-underline-offset:2px}.dialog.ac-wide{width:min(44rem,94vw);max-height:88vh;overflow-y:auto}.ac-docs{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.ac-docs li{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .5rem;border:1px solid var(--border);border-radius:999px;font-size:.85rem}.ac-choices{display:flex;flex-direction:column;gap:.5rem}.ac-choices label{display:flex;gap:.5rem;align-items:flex-start;font-size:.9rem}.ac-choices label input{margin-top:.2rem}.ac-scroll{max-height:9.5rem;overflow-y:auto;padding:.5rem;border:1px solid var(--border);border-radius:8px}fieldset.ac-field{border:0;padding:0;margin:0}fieldset.ac-field legend{margin-bottom:.25rem}.ac-total{display:flex;justify-content:flex-end;gap:.5rem;font-size:1rem}.ac-ok{color:var(--success)}.ac-ledger-row{cursor:pointer}.ac-ledger-row:hover td{background:var(--signal-soft)}@media print{.ac-print-area .ac-ledger-table{font-size:.8rem}}.ac-tree-name{display:inline-flex;align-items:center;gap:.35rem}.ac-tree-group{font-weight:600}.ac-kind{font-size:.75rem;padding:.05rem .45rem;border-radius:999px;border:1px solid var(--border);color:var(--text-secondary)}.ac-lines-grid td input,.ac-lines-grid td select{width:100%;min-width:6rem}.ac-lines-grid td.ac-num input{text-align:right}.ac-off{color:var(--danger);font-weight:600}.ac-voucher-head{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.75rem}.ac-voucher-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.5rem 1rem;margin:0}.ac-voucher-meta dt{font-size:.8rem;color:var(--text-secondary)}.ac-voucher-meta dd{margin:0}.ac-map-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.75rem 1rem}.ac-selected td{background:var(--signal-soft)}.ac-balance-row td{font-weight:600;background:var(--surface-muted, transparent)}@media print{.ac-no-print,.tabs,nav,aside{display:none!important}}.ac-match-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(26rem,1fr));gap:1rem;align-items:start}.ac-side-title{margin:.75rem .75rem 0;font-size:1rem}.ac-match-grid .ac-sub{margin:0 .75rem}.ac-match-grid td .ac-sub{margin:0}.ac-match-bar{position:sticky;top:.5rem;z-index:2;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;padding:.6rem .9rem;box-shadow:var(--shadow-sm)}.ac-match-bar span{font-variant-numeric:tabular-nums}.ac-closing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(22rem,1fr));gap:1rem 1.5rem;align-items:start}.ac-closing-grid h3{margin-top:0}.ac-recon{max-width:40rem}.ac-recon td:first-child{width:70%}.au-when{white-space:nowrap}.au-reason{max-width:18rem}.au-change{display:grid;gap:.75rem}.au-diff code{font-size:.8rem}.au-diff tr.is-changed td{background:var(--signal-soft)}.au-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.35rem 1rem;margin:0}.au-details dt{font-size:.78rem;color:var(--text-secondary)}.au-details dd{margin:0;word-break:break-word}.au-entity{margin:0;font-size:.8rem}.ap-summary{display:flex;flex-wrap:wrap;gap:.5rem}.ap-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:999px;border:1px solid var(--border);background:var(--surface, transparent);font:inherit;cursor:pointer}.ap-chip strong{font-variant-numeric:tabular-nums}.ap-group h2{margin:0;font-size:1.05rem}.ie-map-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.6rem 1rem}.ie-mapper>p{margin:0 0 .5rem}.ie-missing select{border-color:var(--danger)}.ie-summary{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.ie-rows{max-height:22rem;overflow:auto}.ie-rows tr.ie-bad td{background:var(--signal-soft)}.ie-links{margin:0;padding-left:1.1rem;display:grid;gap:.3rem}.ie-page h3{margin:0}.pd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(22rem,1fr));gap:1rem;align-items:start}.pd-panel h3{margin:0}.pd-steps{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.pd-steps li{display:flex;align-items:center;gap:.45rem;color:var(--text-secondary)}.pd-steps li.is-ok{color:inherit}.pd-steps li.is-ok svg{color:var(--success, green)}.pd-history{margin:0;padding-left:1.1rem;display:grid;gap:.2rem;font-size:.875rem}.pd-carry summary{cursor:pointer;font-weight:600;margin-bottom:.5rem}.pd-counts{align-self:center}.rc-filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:1rem}.rc-filters input[type=search]{flex:1 1 14rem;max-width:22rem}.rc-count{display:inline-block;min-width:1.5rem;margin-left:.25rem;padding:0 .4rem;border-radius:999px;font-size:.75rem;background:color-mix(in srgb,currentColor 14%,transparent)}.rc-table td{vertical-align:top}.rc-code{font-weight:600;white-space:nowrap}.rc-meta{display:block;font-size:.78rem}.rc-dates{white-space:nowrap;font-variant-numeric:tabular-nums}.rc-chip{display:inline-block;margin:0 .3rem .3rem 0;padding:.15rem .55rem;border-radius:999px;border:1px solid var(--border, #e5e7eb);font-size:.8rem}.rc-missing{color:var(--danger, #dc2626);font-size:.82rem;margin-right:.4rem}.rc-num{font-weight:600;margin-right:.4rem}.rc-act{display:inline-flex;gap:.25rem;align-items:center;font-size:.8rem;padding:.15rem .45rem}.rc-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:1rem;background:#0f172a73}.rc-dialog{width:min(52rem,100%);max-height:calc(100vh - 2rem);display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;border-radius:14px;background:var(--surface, #fff);box-shadow:0 20px 50px #0f172a40}.rc-dialog--narrow{width:min(32rem,100%)}.rc-dialog header,.rc-dialog footer{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.rc-dialog footer{justify-content:flex-end;padding-top:.5rem;border-top:1px solid var(--border, #e5e7eb)}.rc-dialog h2{margin:0;font-size:1.05rem}.rc-tools{display:flex;gap:.75rem;align-items:center;justify-content:space-between}.rc-list{overflow:auto;min-height:8rem;border:1px solid var(--border, #e5e7eb);border-radius:10px}.rc-list tr.is-on td{background:color-mix(in srgb,var(--accent, #6d28d9) 4%,transparent)}.rc-tag{margin-left:.5rem;padding:.05rem .45rem;border-radius:999px;font-size:.72rem;color:#15803d;background:color-mix(in srgb,#16a34a 14%,transparent)}.rc-tag--muted{color:var(--text-muted, #64748b);background:var(--surface-muted, #f1f5f9)}.rc-sub{margin:.25rem 0 0;font-size:.9rem}.rc-teachers{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.rc-teachers li{display:flex;justify-content:space-between;align-items:center;padding:.45rem .6rem;border:1px solid var(--border, #e5e7eb);border-radius:8px}.rc-remove{color:var(--danger, #dc2626)}.rc-add,.rc-field{display:grid;gap:.6rem}.rc-add label,.rc-field{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:18px;box-shadow:var(--shadow-sm);width:auto;display:grid;gap:12px}.card.wide,.card.tile{width:auto}.card.tile{text-decoration:none;color:inherit;align-content:start;min-height:148px;transition:border-color var(--transition),box-shadow var(--transition)}.card.tile:hover{border-color:#d7b3bb;box-shadow:var(--shadow-md)}.card.tile h2{margin:0;font-size:16px}.card.tile p{margin:0}.workspace{display:grid;gap:16px}.page-header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.page-title{margin:0;font-size:28px;font-weight:700;letter-spacing:-.02em}.page-description{margin:6px 0 0;color:#3e4c66;max-width:68ch}.screen-brief{display:grid;gap:18px;padding:22px 24px;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--primary-burgundy);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.brief-kicker{margin:0 0 6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--signal)}.brief-title{margin:0;font-size:clamp(26px,3vw,34px);letter-spacing:-.03em;line-height:1.15}.brief-summary{margin:8px 0 0;max-width:68ch;font-size:15px;line-height:1.5;color:#243049}.brief-action{margin-top:14px}.brief-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:0}.brief-facts div{margin:0;padding:12px 14px;background:var(--background);border-radius:10px}.brief-facts dt{margin:0;font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:var(--text-secondary)}.brief-facts dd{margin:6px 0 0;display:grid;gap:2px}.brief-facts strong{font-size:26px;letter-spacing:-.03em;line-height:1}.brief-facts span,.field-help,.record-purpose,.screen-note,.record-identity{font-size:12px;font-weight:500;color:var(--text-secondary);line-height:1.4}.brief-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.brief-steps li{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start}.brief-steps li>span{width:22px;height:22px;border-radius:999px;display:grid;place-items:center;background:var(--soft-red);color:var(--signal);font-size:12px;font-weight:700}.brief-steps strong{display:block;font-size:13px}.brief-steps p{margin:2px 0 0;font-size:12px;color:var(--text-secondary)}.brief-asof,.screen-note,.record-purpose,.record-identity{margin:4px 0 0}.screen-note{margin:0;max-width:72ch;font-size:14px;color:#243049}.dashboard .panel,.policy-notes{min-height:0}.decision-list,.change-feed,.metric-lines,.policy-notes ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}.decision-list article{display:grid;gap:6px;padding-bottom:12px;border-bottom:1px solid var(--border)}.decision-list article:last-child{border-bottom:0;padding-bottom:0}.decision-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.decision-head h3,.decision-list p,.change-feed strong{margin:0;font-size:14px}.decision-list ul{margin:0;padding:0;list-style:none;display:grid;gap:4px}.decision-list li,.metric-lines li,.change-feed li{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;font-size:13px}.decision-list li span,.change-feed span,.change-feed time,.metric-lines p{color:var(--text-secondary);font-size:12px;margin:0}.change-feed li{display:grid;gap:2px;padding-bottom:10px;border-bottom:1px solid var(--border)}.metric-lines li{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center}.metric-lines strong{font-size:22px}.list-bar{align-items:start}.record-purpose{max-width:68ch}.page-actions{display:flex;gap:8px;flex-wrap:wrap}.toolbar,.filter-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:end;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px}.toolbar label,.filter-bar label{flex:1 1 180px;min-width:160px;margin:0}.toolbar button,.filter-bar button{flex:0 0 auto}.list-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:42px}.list-bar h2{margin:0;font-size:18px}.list-pager{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:12px}.list-pager .muted{margin-right:auto}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-section{display:grid;gap:12px}.tenant-create{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;margin-bottom:20px}.form-hint{margin:0 0 12px;font-size:.875rem;color:var(--muted);line-height:1.45;max-width:52rem}.brand-swatch{width:14px;height:14px;border-radius:4px;border:1px solid rgba(0,0,0,.12);display:inline-block}.brand-table-swatches{display:inline-flex;align-items:center;gap:6px;font-size:12px}.table-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.form-section-title{margin:0;font-size:14px;font-weight:700;color:var(--text-primary)}.form-footer{display:flex;justify-content:flex-end;gap:8px;padding-top:8px;border-top:1px solid var(--border)}.required-mark{color:var(--danger)}.dashboard{gap:18px}.command-hero{display:grid;grid-template-columns:1.4fr .8fr;gap:20px;align-items:stretch;padding:28px;border-radius:var(--radius-lg);background:radial-gradient(circle at 85% 20%,color-mix(in srgb,var(--red-accent) 30%,transparent),transparent 40%),linear-gradient(135deg,var(--deep-burgundy) 0%,var(--primary-burgundy) 62%,var(--deep-burgundy) 100%);color:#fff;box-shadow:var(--shadow-md)}.command-kicker{margin:0 0 10px;font-size:11px;letter-spacing:.12em;font-weight:700;color:var(--light-gold);text-transform:uppercase}.command-greeting{margin:0 0 6px;font-size:14px;opacity:.92}.command-title{margin:0 0 8px;font-size:clamp(28px,3vw,36px);font-weight:700;letter-spacing:-.02em}.command-copy{margin:0 0 16px;max-width:48ch;opacity:.9;font-size:14px}.command-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--light-gold) 55%,transparent);background:color-mix(in srgb,var(--deep-burgundy) 70%,transparent);color:var(--light-gold);font-size:12px;font-weight:600}.command-metric{align-self:center;justify-self:end;width:min(260px,100%);background:#00000038;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);padding:18px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.command-metric .label{margin:0 0 8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--light-gold);font-weight:700}.command-metric .value{margin:0;font-size:28px;font-weight:700}.command-metric .meta{margin:8px 0 0;font-size:12px;opacity:.85}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px;box-shadow:var(--shadow-sm);display:grid;gap:10px;min-height:112px}.kpi-card a{color:inherit;text-decoration:none}.kpi-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center}.kpi-icon.tone-red{background:var(--soft-red);color:var(--signal)}.kpi-icon.tone-gold{background:#f7f0d8;color:#8a6d12}.kpi-icon.tone-blue{background:var(--info-soft);color:var(--info)}.kpi-icon.tone-green{background:var(--success-soft);color:var(--success)}.kpi-icon.tone-orange{background:#fff1e6;color:#c45c12}.kpi-icon.tone-neutral{background:#eef1f5;color:var(--text-secondary)}.kpi-value{margin:0;font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.1}.kpi-label{margin:0;font-size:13px;font-weight:600;color:var(--text-primary)}.kpi-meta{margin:0;font-size:12px;color:var(--text-secondary)}.dashboard-panels{display:grid;grid-template-columns:1.45fr .9fr;gap:14px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:18px;display:grid;gap:14px;min-height:280px}.panel-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.panel-header h2{margin:0;font-size:16px;font-weight:700}.bar-list{display:grid;gap:12px}.bar-row{display:grid;gap:6px}.bar-meta{display:flex;justify-content:space-between;gap:12px;font-size:13px}.bar-meta strong{font-weight:600}.bar-track{height:10px;border-radius:999px;background:#f0f2f5;overflow:hidden}.bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),var(--primary-burgundy))}.inbox-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.inbox-item{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start;padding:12px;border:1px solid var(--border);border-radius:10px;text-decoration:none;color:inherit;transition:border-color var(--transition),background var(--transition)}.inbox-item:hover{background:var(--ivory);border-color:#d7b3bb;color:inherit}.inbox-item.unread{border-color:#d7b3bb;background:#fffafb}.inbox-item h3{margin:0 0 4px;font-size:14px}.inbox-item p{margin:0;font-size:12px;color:var(--text-secondary)}.inbox-tags{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.status-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:lowercase}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-neutral{background:#eef1f5;color:var(--text-secondary)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-gold{background:#f7f0d8;color:#8a6d12}.open-reqs{margin:0;padding-left:18px;color:var(--text-secondary);font-size:13px}.table-shell{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:auto;box-shadow:var(--shadow-sm)}.table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.table-shell .table{border:0;border-radius:0;box-shadow:none}.table th,.table td{border-bottom:1px solid var(--border);padding:10px 12px;text-align:left;font-size:13px}.table th{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);background:#fafbfc;font-weight:700}.table tbody tr{transition:background var(--transition)}.table tbody tr.is-clickable{cursor:pointer}.table tbody tr:hover{background:#fbf6f7}.table tbody tr:last-child td{border-bottom:0}.table th.col-status,.table td.col-status{width:132px;white-space:nowrap}.empty-state{display:grid;justify-items:start;gap:8px;padding:20px;border:1px dashed var(--border);border-radius:var(--radius-md);background:#fafbfc}.empty-state .empty-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--soft-red);color:var(--signal)}.empty-state h3{margin:0;font-size:15px}.empty-state p{margin:0;color:var(--text-secondary);font-size:13px}.banner{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:10px;border:1px solid var(--border);font-size:13px}.banner.error{background:var(--danger-soft);border-color:#f3c3c3;color:var(--danger)}.banner.success{background:var(--success-soft);border-color:#bfe4cf;color:var(--success)}.skeleton-grid{display:grid;gap:12px}.skeleton{background:linear-gradient(90deg,#eceff3 25%,#f7f8fa,#eceff3 75%);background-size:200% 100%;animation:shimmer 1.2s infinite linear;border-radius:10px}.skeleton.hero{height:180px}.skeleton.kpi{height:112px}.skeleton.panel{height:280px}.skeleton.row{height:42px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.timetable-board{display:grid;gap:14px}.day-group{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.day-group-header{padding:10px 14px;background:#fafbfc;border-bottom:1px solid var(--border);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.slot-list{display:grid}.slot-row{display:grid;grid-template-columns:148px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border)}.slot-row:last-child{border-bottom:0}.slot-time{font-size:12px;font-weight:600;color:var(--signal)}.slot-title{margin:0;font-size:14px;font-weight:600}.slot-meta{margin:2px 0 0;font-size:12px;color:var(--text-secondary)}.conflict-box{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;background:var(--success-soft);color:var(--success);font-size:13px;font-weight:600}.conflict-box.warn{background:var(--warning-soft);color:var(--warning)}.module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;align-items:stretch}.metric-grid,.action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.metric-value{font-size:1.6rem;font-weight:700;margin:0}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#17203373;display:grid;place-items:center;padding:16px;z-index:60}.dialog{width:min(440px,100%)}.plan-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}label.inline{display:flex;flex-direction:row;align-items:center;gap:8px;align-self:end}label.inline input[type=checkbox]{width:16px;height:16px;min-height:16px;padding:0}.kind-label{display:inline-block;font-weight:700;letter-spacing:.04em;border:1px solid var(--border);padding:2px 8px;background:var(--surface);border-radius:999px;font-size:11px}.kind-label.back-attendance,.session-back .kind-label{border-color:#b45309;background:#fff7ed;color:#9a3412}.row-back-attendance,.session-back{background:#fff7ed}.row-back-attendance td,.session-back td{border-color:#fed7aa}.hall-ticket-sheet{display:grid;gap:12px}.hall-ticket-card{border:1px solid var(--border);padding:16px;background:var(--surface)}.hall-ticket-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.hall-ticket-photo{width:72px;height:88px;border:1px dashed var(--border);display:grid;place-items:center;font-size:11px;color:var(--muted);flex-shrink:0}.hall-ticket-card h3{margin:0 0 8px;font-size:16px}.stat-strip{display:flex;flex-wrap:wrap;gap:16px;margin:12px 0}@media print{.app-shell,.sidebar,.topbar,.toolbar,.tabs,.banner,button,.page-header-actions{display:none!important}.workspace,.hall-ticket-sheet,.print-only-block{display:block!important;width:100%!important}.hall-ticket-card,.marksheet-sheet{break-inside:avoid;page-break-inside:avoid;border:1px solid #111;margin-bottom:16px}.screen-only{display:none!important}}.tabs{margin:0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.toolbar.tabs{align-items:center}.toolbar.tabs button,.tabs button,.step-strip button{min-height:40px}.stepper button{font-size:.85rem}.step-strip{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.step-strip button{display:inline-flex;align-items:center;gap:8px}.step-index{width:22px;height:22px;border-radius:999px;display:inline-grid;place-items:center;background:#ffffff38;font-size:12px;font-weight:700}button.secondary .step-index{background:var(--soft-red);color:var(--signal)}.record-list{display:grid;gap:16px;align-content:start}.record-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#17203373;z-index:55;display:flex;justify-content:flex-end}.record-panel{width:min(520px,100%);height:100%;background:var(--surface);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:16px;padding:20px;overflow:auto}.record-panel h3{margin:0;font-size:18px}.context-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.context-facts div{display:grid;gap:2px;align-content:start}.context-facts span{font-size:12px;font-weight:600;color:var(--text-secondary)}.rule-card{display:grid;gap:12px}.rule-card h3{margin:0;font-size:15px}.field-error{color:var(--danger);font-size:12px;font-weight:500}.mark-grid input{width:6rem}.mark-grid input[aria-invalid=true]{border-color:var(--danger)}.change-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 20px}.overview-dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;margin:0}.overview-dl div{display:grid;gap:2px;align-content:start}.overview-dl dt{font-size:12px;font-weight:600;color:var(--text-secondary)}.overview-dl dd{margin:0}.pref-table{width:100%;background:var(--surface);border-collapse:collapse}.pref-table th,.pref-table td{border:1px solid var(--border);padding:8px 12px;text-align:left;vertical-align:top}:root{--primary-burgundy: #3163d4;--deep-burgundy: #1e3f8f;--primary-red: #0f8a82;--red-accent: #0f8a82;--soft-red: #e8f1fc;--active-bg: #e8f1fc;--active-text: #3163d4;--gold: #f89b85;--light-gold: #f89b85;--ink: color-mix(in srgb, var(--deep-burgundy) 34%, #06080f);--ink-raised: color-mix(in srgb, #ffffff 6%, var(--ink));--ink-hover: color-mix(in srgb, #ffffff 11%, var(--ink));--ink-line: color-mix( in srgb, var(--primary-burgundy) 22%, color-mix(in srgb, #ffffff 12%, var(--ink)) );--ink-text: color-mix(in srgb, #ffffff 86%, var(--ink));--ink-muted: color-mix(in srgb, #ffffff 70%, var(--ink));--ink-soft: color-mix(in srgb, #ffffff 80%, var(--ink));--ink-faint: color-mix(in srgb, #ffffff 58%, var(--ink));--ink-scrim: color-mix(in srgb, var(--ink) 55%, transparent);--signal: var(--primary-burgundy);--signal-deep: var(--deep-burgundy);--signal-soft: var(--soft-red);--on-signal: #ffffff;--teal: #19c2b1;--teal-bright: #6be3d4;--teal-ink: #0a6b62;--teal-soft: #ddf6f2;--amber: #ffb020;--amber-ink: #2a1a00;--amber-text: #8a5300;--amber-soft: #fff3db;--coral: #ff5a6e;--coral-strong: #d42a40;--coral-text: #b42318;--coral-soft: #ffe6e3;--violet: #9b7bff;--violet-soft: #efeaff;--canvas: color-mix(in srgb, var(--soft-red) 45%, #f2f3f6);--canvas-deep: color-mix(in srgb, var(--soft-red) 70%, #e6e8ed);--background: var(--canvas);--surface: #ffffff;--text-primary: #12141c;--text-secondary: #4f5566;--border: color-mix(in srgb, var(--primary-burgundy) 8%, #e2e4ea);--border-strong: color-mix(in srgb, var(--primary-burgundy) 12%, #cfd3dc);--ivory: color-mix(in srgb, var(--soft-red) 30%, #f8f9fb);--success: var(--teal-ink);--success-soft: var(--teal-soft);--warning: var(--amber-text);--warning-soft: var(--amber-soft);--danger: var(--coral-text);--danger-soft: var(--coral-soft);--info: var(--signal);--info-soft: var(--signal-soft);--muted: var(--text-secondary);--shadow-sm: 0 1px 2px rgba(11, 18, 36, .05);--shadow-md: 0 12px 30px rgba(11, 18, 36, .08);--shadow-lg: 0 20px 44px rgba(11, 18, 36, .14);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 22px;--sidebar-width: 272px;--header-height: 68px;--font: "Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Bricolage Grotesque", "Instrument Sans", system-ui, sans-serif;--transition: .16s ease;color:var(--text-primary);background:var(--canvas);font-family:var(--font);line-height:1.5;font-size:15px;-webkit-font-smoothing:antialiased}.role-faculty{--role: #4f7cff}.role-hod{--role: #9b7bff}.role-student{--role: #19c2b1}.role-secretary{--role: #ffb020}.role-principal{--role: #2ee6a6}.role-admin{--role: #5aa9ff}.role-super-admin{--role: #ff8a4c}.role-coe{--role: #ff5a6e}.role-external-examiner{--role: #ff8a99}.role-platform-master,.role-none{--role: #c7cfe2}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--canvas);color:var(--text-primary)}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em}a{color:var(--signal);text-decoration:none;font-weight:600}a:hover{color:var(--signal-deep)}:focus-visible{outline:3px solid color-mix(in srgb,var(--signal) 55%,white);outline-offset:2px}button,input,select,textarea{font:inherit}button{border:0;background:var(--signal);color:var(--on-signal);border-radius:12px;padding:10px 18px;min-height:44px;font-weight:700;cursor:pointer;transition:background var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition),transform var(--transition)}button:hover:not(:disabled){background:var(--signal-deep)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed}a.btn-secondary,button.secondary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:12px;background:var(--surface);color:var(--text-primary);border:1px solid var(--border-strong);font-weight:600;text-decoration:none}button.secondary:hover:not(:disabled),.btn-secondary:hover:not(:disabled){background:var(--ivory);border-color:var(--text-secondary);color:var(--text-primary)}button.btn-gold,.btn-gold,.btn-urgent{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 22px;border-radius:14px;background:var(--amber);color:var(--amber-ink);font-weight:800;box-shadow:0 10px 28px #ffb0204d}button.btn-gold:hover:not(:disabled),.btn-urgent:hover{background:#ffbf47;color:var(--amber-ink)}.btn-on-ink{display:inline-flex;align-items:center;gap:8px;min-height:50px;padding:0 20px;border-radius:14px;background:var(--ink-raised);border:1px solid var(--ink-line);color:#fff;font-weight:600}.btn-on-ink:hover{background:var(--ink-hover);color:#fff}button.btn-danger,.btn-danger{background:var(--coral-strong);color:#fff}button.btn-danger:hover:not(:disabled){background:#b81f34}button.btn-ghost,.btn-ghost{background:transparent;color:var(--text-secondary);min-height:40px;padding:6px 10px;font-weight:600}button.btn-ghost:hover:not(:disabled){background:var(--canvas);color:var(--text-primary)}label{display:grid;gap:6px;font-size:13px;font-weight:700;color:var(--text-primary)}input,select,textarea{padding:11px 14px;min-height:46px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface);color:var(--text-primary);font-weight:500;transition:border-color var(--transition),box-shadow var(--transition)}input[type=checkbox],input[type=radio]{min-height:0;width:18px;height:18px;accent-color:var(--signal)}input:hover,select:hover,textarea:hover{border-color:var(--text-secondary)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--signal);box-shadow:0 0 0 4px color-mix(in srgb,var(--signal) 16%,transparent)}input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--coral-strong);background:snow}.muted{color:var(--text-secondary)}.error{color:var(--coral-text);margin:0;font-weight:600}.success{color:var(--teal-ink);margin:0;font-weight:600}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 14px;border-radius:10px;background:var(--amber);color:var(--amber-ink)}.skip-link:focus{top:12px}.stack-lg{display:grid;gap:20px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.auth-layout{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--canvas)}.auth-restoring{display:grid;justify-items:center;gap:14px;color:var(--text-secondary);font-weight:600}.auth-restoring .brand-mark{animation:pulse-mark 1.4s ease-in-out infinite}@keyframes pulse-mark{50%{transform:scale(.92);opacity:.7}}.login-split{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.login-brand{position:relative;overflow:hidden;background:var(--ink);color:#fff;padding:44px 56px;display:flex;flex-direction:column;justify-content:space-between;gap:32px}.login-brand:after{content:"";position:absolute;right:-160px;bottom:-160px;width:420px;height:420px;border-radius:50%;border:56px solid color-mix(in srgb,var(--signal) 35%,transparent);pointer-events:none}.login-brand-top{display:flex;align-items:center;gap:12px}.login-brand-top strong{display:block;font-family:var(--font-display);font-size:19px}.login-brand-top span{display:block;font-size:13px;color:var(--ink-muted)}.login-brand-copy{position:relative;z-index:1;display:grid;gap:18px;max-width:600px}.login-brand-copy h1{margin:0;font-size:clamp(36px,4.4vw,60px);font-weight:800;line-height:1;letter-spacing:-.035em}.login-brand-copy p{margin:0;max-width:46ch;font-size:18px;color:var(--ink-soft)}.login-features{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.login-features li{display:grid;gap:4px;padding:16px;border-radius:16px;background:var(--ink-raised);border:1px solid var(--ink-line)}.login-features strong{font-family:var(--font-display);font-size:24px;color:var(--teal-bright)}.login-features li:nth-child(2) strong{color:#ffc75a}.login-features li:nth-child(3) strong{color:color-mix(in srgb,var(--primary-burgundy) 35%,#ffffff)}.login-features span{font-size:13px;color:var(--ink-soft)}.login-brand-footer{position:relative;z-index:1;margin:0;font-size:12px;color:var(--ink-faint)}.login-panel{display:grid;place-items:center;padding:40px 24px;background:var(--surface)}.login-form{width:min(400px,100%);display:grid;gap:18px}.login-form h1{margin:0;font-size:36px;font-weight:800;letter-spacing:-.02em}.login-form .lead{margin:4px 0;color:var(--text-secondary)}.login-form input{min-height:52px;font-size:16px}.login-form button[type=submit]{width:100%;min-height:54px;margin-top:4px;border-radius:14px;font-size:16px;font-weight:800;box-shadow:0 12px 28px color-mix(in srgb,var(--signal) 32%,transparent)}.login-links{margin:0;font-size:14px}.login-note{margin:0;padding:14px;border-radius:12px;background:var(--ivory);font-size:13px;color:var(--text-secondary)}.login-note strong{color:var(--text-primary)}.login-compliance,.login-dev-hint{margin:0;font-size:12px;color:var(--text-secondary)}.exam-entry{width:min(880px,100%);display:grid;gap:16px}.criteria-editor,.criteria-marks{display:grid;gap:8px}.marksheet-sheet{border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;margin-top:12px}.password-field{position:relative}.password-field input{width:100%;padding-right:52px}.password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:transparent;color:var(--text-secondary);min-height:40px;padding:4px 10px}.password-toggle:hover:not(:disabled){background:var(--canvas);color:var(--text-primary)}.brand-mark{display:inline-flex;color:var(--signal);flex-shrink:0}.brand-mark-glow svg{filter:drop-shadow(0 6px 16px color-mix(in srgb,var(--signal) 55%,transparent))}.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);background:var(--canvas)}.app-main{min-width:0;display:flex;flex-direction:column;min-height:100vh}.app-content{flex:1;width:100%;max-width:1440px;padding:24px 32px 48px;outline:none}.sidebar{position:sticky;top:0;height:100vh;background:var(--ink);color:var(--ink-text);display:flex;flex-direction:column;gap:16px;padding:18px 14px 16px;z-index:40}.sidebar-backdrop{display:none}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:0 6px}.sidebar-brand strong{display:block;font-family:var(--font-display);font-size:16px;color:#fff}.sidebar-brand span{display:block;font-size:12px;color:var(--ink-muted)}.sidebar-close{display:none;margin-left:auto}.sidebar .sidebar-close{color:var(--ink-text)}.sidebar .sidebar-close:hover:not(:disabled){background:var(--ink-hover);color:#fff}.role-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--ink-raised);border:1px solid var(--ink-line)}.role-dot{width:10px;height:10px;border-radius:50%;background:var(--role);box-shadow:0 0 0 4px color-mix(in srgb,var(--role) 22%,transparent)}.role-card-text{display:grid;min-width:0}.role-card-kicker{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.role-card strong{color:#fff;font-size:14px}.role-card-select{position:relative;display:flex;align-items:center;color:#fff}.role-card-select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;min-height:28px;padding:0 24px 0 0;border:0;background:transparent;color:#fff;font-size:14px;font-weight:700;cursor:pointer}.role-card-select select:focus{box-shadow:none}.role-card-select option{color:var(--text-primary)}.role-card-select svg{position:absolute;right:0;pointer-events:none;color:var(--ink-muted)}.role-card-error{grid-column:1 / -1;margin:0;font-size:12px;color:#ff8a99}.sidebar-nav{flex:1;overflow-y:auto;margin:0 -6px;padding:0 6px 8px;display:grid;align-content:start;gap:18px;scrollbar-width:thin;scrollbar-color:var(--ink-line) transparent}.nav-section-title{margin:0 12px 6px;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint)}.nav-section ul,.nav-group-items{list-style:none;margin:0;padding:0;display:grid;gap:2px}.nav-item{display:flex;align-items:center;gap:12px;min-height:42px;padding:0 12px;border-radius:12px;color:var(--ink-text);font-size:14px;font-weight:500;text-decoration:none;transition:background var(--transition),color var(--transition)}.nav-item:hover{background:var(--ink-hover);color:#fff}.nav-item.is-active{background:var(--signal);color:var(--on-signal);font-weight:700;box-shadow:0 8px 20px color-mix(in srgb,var(--signal) 38%,transparent)}.nav-item svg{flex-shrink:0}.nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-count{min-width:22px;height:22px;padding:0 7px;border-radius:11px;display:grid;place-items:center;background:var(--amber);color:var(--amber-ink);font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}.nav-item.is-active .nav-count{background:#fff;color:var(--ink)}button.nav-group-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;min-height:34px;margin-top:4px;padding:6px 12px;border-radius:10px;background:transparent;color:var(--ink-muted);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}button.nav-group-toggle:hover:not(:disabled){background:var(--ink-hover);color:#fff}button.nav-group-toggle svg{transition:transform var(--transition);transform:rotate(-90deg)}button.nav-group-toggle svg.is-open{transform:rotate(0)}.nav-group-items .nav-item{padding-left:20px}.sidebar-user{display:flex;align-items:center;gap:10px;padding:10px;border-radius:14px;background:var(--ink-raised)}.sidebar-avatar,.user-avatar{width:38px;height:38px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;background:var(--role);color:var(--ink);font-size:13px;font-weight:800}.sidebar-user-text{flex:1;min-width:0;display:grid;line-height:1.3}.sidebar-user-text strong,.sidebar-user-text span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-text strong{color:#fff;font-size:13px}.sidebar-user-text span{color:var(--ink-muted);font-size:12px}button.sidebar-signout{width:40px;min-height:40px;padding:0;display:grid;place-items:center;background:transparent;color:var(--ink-muted)}button.sidebar-signout:hover:not(:disabled){background:var(--ink-hover);color:#fff}.app-header{position:sticky;top:0;z-index:30;min-height:var(--header-height);display:flex;align-items:center;gap:14px;padding:12px 32px;background:var(--ink);border-bottom:1px solid var(--ink-line);color:#fff}button.header-menu-btn{display:none;width:44px;min-height:44px;padding:0;place-items:center;border-radius:12px;background:var(--ink-raised);border:1px solid var(--ink-line);color:#fff}.breadcrumbs{display:flex;align-items:center;gap:6px;min-width:0;font-size:13px;color:var(--ink-muted);white-space:nowrap}.breadcrumb-item{display:inline-flex;align-items:center;gap:6px;min-width:0}.breadcrumb-sep{color:var(--ink-faint)}.breadcrumbs a{color:var(--ink-muted);font-weight:500}.breadcrumbs a:hover{color:#fff}.breadcrumb-current{color:#fff;font-weight:600;overflow:hidden;text-overflow:ellipsis}.app-header-search{flex:1 1 280px;max-width:480px;margin-left:auto}.app-header-right{display:flex;align-items:center;gap:10px}.header-chip{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:18px;background:var(--ink-raised);color:var(--ink-text);font-size:13px;font-weight:600;white-space:nowrap}.header-icon-btn{position:relative;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--ink-raised);border:1px solid var(--ink-line);color:#fff}.header-icon-btn:hover{background:var(--ink-hover);color:#fff}.header-dot{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;display:grid;place-items:center;background:var(--coral);border:2px solid var(--ink);color:#fff;font-size:11px;font-weight:800}.user-menu{position:relative}button.user-menu-trigger{display:flex;align-items:center;gap:10px;min-height:44px;padding:3px 10px 3px 3px;border-radius:24px;background:var(--ink-raised);border:1px solid var(--ink-line);color:#fff;font-weight:500}button.user-menu-trigger:hover:not(:disabled){background:var(--ink-hover)}.user-meta{display:grid;text-align:left;line-height:1.25}.user-meta strong{font-size:13px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta span{font-size:12px;color:var(--ink-muted)}.user-menu-dropdown{position:absolute;right:0;top:calc(100% + 8px);min-width:260px;padding:8px;border-radius:16px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);color:var(--text-primary);display:grid;gap:2px;z-index:50}.user-menu-heading{display:grid;padding:10px 12px 12px;margin-bottom:4px;border-bottom:1px solid var(--border);font-size:14px}.user-menu-heading .muted{font-size:13px}.user-menu-item,button.user-menu-item{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:0 12px;border-radius:10px;background:transparent;color:var(--text-primary);font-size:14px;font-weight:600;text-align:left}.user-menu-item:hover,button.user-menu-item:hover:not(:disabled){background:var(--canvas);color:var(--text-primary)}button.user-menu-item.danger{color:var(--coral-text)}.global-search{position:relative}.global-search-field{display:flex;align-items:center;gap:10px;height:44px;padding:0 14px;border-radius:12px;background:var(--ink-raised);border:1px solid var(--ink-line);color:var(--ink-muted)}.global-search-field:focus-within{border-color:color-mix(in srgb,var(--signal) 70%,white);box-shadow:0 0 0 4px color-mix(in srgb,var(--signal) 25%,transparent)}.global-search input{flex:1;min-width:0;min-height:0;padding:0;border:0;background:transparent;color:#fff;font-size:14px}.global-search input::placeholder{color:var(--ink-muted)}.global-search input:focus{box-shadow:none}.search-kbd{padding:2px 8px;border-radius:6px;border:1px solid var(--ink-line);font-size:11px;font-weight:700;color:var(--ink-muted);white-space:nowrap}.search-results{position:absolute;left:0;right:0;top:calc(100% + 8px);max-height:420px;overflow:auto;padding:8px;border-radius:16px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:60;display:grid;gap:2px}.search-results .muted{margin:8px}.search-hit{display:block;padding:10px 12px;border-radius:10px;color:var(--text-primary);font-weight:600;font-size:14px}.search-hit:hover{background:var(--canvas);color:var(--text-primary)}.mobile-tabs{display:none}button.sidebar-hide{display:inline-grid;margin-left:auto;place-items:center;width:34px;min-height:34px;padding:0;border-radius:10px;color:var(--ink-muted)}.sidebar button.sidebar-hide:hover:not(:disabled){background:var(--ink-hover);color:#fff}.app-shell.is-nav-hidden{grid-template-columns:minmax(0,1fr)}.app-shell.is-nav-hidden .sidebar{display:none}.app-shell.is-nav-hidden button.header-menu-btn{display:inline-grid}@media(max-width:960px){button.sidebar-hide{display:none}.app-shell.is-nav-hidden .sidebar{display:flex}}.workspace{display:grid;gap:20px}.page-header{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:18px;padding:26px 28px;border-radius:var(--radius-xl);background:var(--ink);color:#fff;box-shadow:var(--shadow-md)}.page-header:after{content:"";position:absolute;right:-90px;top:-90px;width:220px;height:220px;border-radius:50%;border:34px solid color-mix(in srgb,var(--role, var(--signal)) 26%,transparent);pointer-events:none}.page-header>*{position:relative;z-index:1}.page-title{margin:0;font-size:clamp(26px,3vw,36px);font-weight:800;line-height:1.08;letter-spacing:-.03em}.page-description{margin:8px 0 0;max-width:70ch;color:var(--ink-soft);font-size:15px}.page-actions{display:flex;flex-wrap:wrap;gap:10px}.page-header .btn-secondary,.page-header button.secondary{background:var(--ink-raised);border-color:var(--ink-line);color:#fff}.page-header .btn-secondary:hover:not(:disabled),.page-header button.secondary:hover:not(:disabled){background:var(--ink-hover);color:#fff}.card,.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:22px;box-shadow:var(--shadow-sm);display:grid;gap:14px;align-content:start}.panel{min-height:0}.card h2,.panel-header h2{margin:0;font-size:21px;font-weight:700}.card.tile{min-height:150px;color:inherit;text-decoration:none;transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.card.tile:hover{border-color:color-mix(in srgb,var(--signal) 40%,var(--border));box-shadow:var(--shadow-md);transform:translateY(-2px);color:inherit}.card.tile h2{font-size:17px}.module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.kpi-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center}.kpi-icon.tone-red,.kpi-icon.tone-blue{background:var(--signal-soft);color:var(--signal)}.kpi-icon.tone-gold,.kpi-icon.tone-orange{background:var(--amber-soft);color:var(--amber-text)}.kpi-icon.tone-green{background:var(--teal-soft);color:var(--teal-ink)}.kpi-icon.tone-neutral{background:var(--violet-soft);color:#5b3fd0}.toolbar,.filter-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:end;padding:16px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.toolbar label,.filter-bar label{flex:1 1 180px;min-width:0}.toolbar select,.toolbar input:not([type=checkbox]):not([type=radio]),.filter-bar select,.filter-bar input:not([type=checkbox]):not([type=radio]){width:100%;min-width:0}.tabs,.toolbar.tabs{display:flex;flex-wrap:wrap;gap:4px;align-items:center;align-self:start;justify-self:start;max-width:100%;padding:5px;border-radius:14px;background:var(--canvas-deep);border:0;box-shadow:none}.tabs button,.toolbar.tabs button{min-height:40px;padding:0 16px;border-radius:10px;background:var(--surface);color:var(--text-primary);font-weight:700;box-shadow:0 1px 3px #0b12241f}.tabs button:hover:not(:disabled),.toolbar.tabs button:hover:not(:disabled){background:var(--surface)}.tabs button.secondary,.toolbar.tabs button.secondary{background:transparent;border:0;color:var(--text-secondary);font-weight:600;box-shadow:none}.tabs button.secondary:hover:not(:disabled),.toolbar.tabs button.secondary:hover:not(:disabled){background:color-mix(in srgb,var(--surface) 60%,transparent);color:var(--text-primary)}.step-index{width:24px;height:24px;border-radius:50%;background:#ffffff3d;font-size:12px;font-weight:800}button.secondary .step-index{background:var(--signal-soft);color:var(--signal)}.status-badge{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:13px;font-size:12px;font-weight:700;letter-spacing:0;text-transform:none;white-space:nowrap}.badge-neutral{background:#eef1f6;color:#3b4560}.badge-gold{background:var(--amber-soft);color:var(--amber-text)}.table-shell{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:auto;box-shadow:var(--shadow-sm)}.table th,.table td{padding:13px 14px;border-bottom:1px solid #eef1f6;font-size:14px}.table th{position:sticky;top:0;z-index:1;background:var(--ivory);color:var(--text-secondary);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.table td{font-variant-numeric:tabular-nums}.table tbody tr:hover{background:color-mix(in srgb,var(--signal) 5%,white)}.table tbody tr.is-clickable td:first-child{font-weight:700}.empty-state{justify-items:center;text-align:center;gap:8px;padding:32px 20px;border:2px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--ivory)}.empty-state .empty-icon{width:48px;height:48px;border-radius:14px;background:var(--signal-soft);color:var(--signal)}.empty-state h3{font-size:17px}.empty-state p{max-width:52ch;font-size:14px}.banner{align-items:center;padding:14px 16px;border-radius:14px;font-size:14px;font-weight:600}.banner.error{background:var(--coral-soft);border-color:#ffb4ab;color:#7a1a10}.banner.success{background:var(--teal-soft);border-color:#a8e6dd;color:#064a43}.skeleton{background:linear-gradient(90deg,#e3e8f2 25%,#f3f5fa,#e3e8f2 75%);background-size:200% 100%;border-radius:var(--radius-lg)}.skeleton.hero{height:220px;background:linear-gradient(90deg,var(--ink) 25%,var(--ink-hover) 50%,var(--ink) 75%);background-size:200% 100%}.record-backdrop{background:var(--ink-scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.record-panel{width:min(540px,100%);padding:24px;gap:18px;border-radius:22px 0 0 22px;box-shadow:var(--shadow-lg)}.record-panel h3{font-size:22px}.dialog{border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.screen-brief{border-radius:var(--radius-xl)}.quick-create{display:grid;gap:14px;justify-items:start}.quick-create>:not(button){justify-self:stretch}.inbox-item{border-radius:var(--radius-lg)}.inbox-item.unread{border-color:color-mix(in srgb,var(--signal) 30%,var(--border));background:color-mix(in srgb,var(--signal) 4%,white);box-shadow:inset 4px 0 0 var(--signal)}.dashboard{display:grid;gap:20px}.hero-band{position:relative;overflow:hidden;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;margin:-24px -32px 0;padding:36px 32px 104px;background:var(--ink);color:#fff}.hero-band:before{content:"";position:absolute;right:-120px;top:-140px;width:380px;height:380px;border-radius:50%;border:52px solid color-mix(in srgb,var(--role, var(--signal)) 18%,transparent);pointer-events:none}.hero-band>*{position:relative;z-index:1}.hero-band-stack{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch;align-items:start;gap:22px;padding-bottom:32px}.hero-copy{display:grid;gap:10px;max-width:760px}.hero-kicker{margin:0;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--role, var(--amber))}.hero-title{margin:0;font-size:clamp(34px,4.2vw,50px);font-weight:800;line-height:1.02;letter-spacing:-.035em}.hero-summary{margin:0;max-width:62ch;font-size:17px;color:var(--ink-soft)}.hero-summary strong{color:#fff}.hero-asof{color:var(--ink-muted)}.hero-actions{display:flex;flex-wrap:wrap;gap:10px}.hero-overlap{margin-top:-84px;position:relative;z-index:2}.hero-band .filter-bar{background:var(--ink-raised);border-color:var(--ink-line);box-shadow:none}.hero-band .filter-bar label{color:var(--ink-soft)}.hero-band .filter-bar select,.hero-band .filter-bar input{background:var(--ink);border-color:var(--ink-line);color:#fff;color-scheme:dark}.metric-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.metric-tile{display:grid;align-content:start;gap:8px;min-height:132px;padding:20px;border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);color:var(--text-primary);font-weight:500;transition:transform var(--transition),box-shadow var(--transition)}a.metric-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);color:var(--text-primary)}.metric-tile-label{font-size:13px;font-weight:600;color:var(--text-secondary)}.metric-tile-value{font-family:var(--font-display);font-size:40px;font-weight:800;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.metric-tile-hint{font-size:13px;color:var(--text-secondary)}.metric-tile.is-lead{background:var(--signal);border-color:var(--signal);color:var(--on-signal);box-shadow:0 16px 36px color-mix(in srgb,var(--signal) 34%,transparent)}a.metric-tile.is-lead:hover{color:#fff}.metric-tile.is-lead .metric-tile-label,.metric-tile.is-lead .metric-tile-hint{color:#ffffffd1}.hero-overlap-tight{margin-top:0}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:20px;align-items:start}.panel-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px}.panel-meta{font-size:13px;color:var(--text-secondary)}.panel-empty{margin:0;color:var(--text-secondary)}.panel-link{display:inline-flex;align-items:center;gap:4px;font-size:14px}.queue-list,.timeline,.figure-list,.setup-list,.session-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.queue-row{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:14px;background:var(--ivory);color:var(--text-primary);font-weight:500;transition:background var(--transition),transform var(--transition)}.queue-row:hover{background:color-mix(in srgb,var(--signal) 8%,white);color:var(--text-primary);transform:translate(2px)}.queue-count{flex-shrink:0;min-width:48px;height:46px;padding:0 8px;border-radius:12px;display:grid;place-items:center;background:var(--signal-soft);color:var(--signal-deep);font-family:var(--font-display);font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}.queue-row.is-top .queue-count{background:var(--amber);color:var(--amber-ink)}.queue-row.is-done .queue-count{background:var(--teal-soft);color:var(--teal-ink)}.queue-row.is-done{opacity:.75}.queue-text{flex:1;min-width:0;display:grid;gap:2px}.queue-text strong{font-size:15px}.queue-text span{font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-go{color:var(--text-secondary);flex-shrink:0}.all-clear{display:flex;gap:14px;align-items:center;padding:18px;border-radius:16px;background:var(--teal-soft);color:var(--teal-ink)}.all-clear strong{color:#064a43}.all-clear p{margin:2px 0 0;color:#2f6a63;font-size:14px}.timeline li{position:relative;display:grid;grid-template-columns:14px minmax(0,1fr);gap:12px;padding-bottom:6px}.timeline li:before{content:"";position:absolute;left:6px;top:16px;bottom:-6px;width:2px;background:var(--border)}.timeline li:last-child:before{display:none}.timeline-dot{width:14px;height:14px;margin-top:3px;border-radius:50%;background:var(--surface);border:3px solid var(--signal)}.timeline-text{display:grid;gap:2px}.timeline-text strong{font-size:14px}.timeline-text span{font-size:13px;color:var(--text-secondary)}.figure-list li{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #eef1f6}.figure-list li:first-child{border-top:0}.figure-list strong{font-family:var(--font-display);font-size:24px;font-weight:800;font-variant-numeric:tabular-nums}.figure-text{display:grid;font-size:14px;font-weight:600}.figure-text small{font-size:12px;font-weight:500;color:var(--text-secondary)}.panel-setup{background:#fff7f2;border-color:#ffd9c4}.setup-list li{display:flex;gap:12px;align-items:flex-start;font-size:14px}.setup-index{flex-shrink:0;width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:#ff8a4c;color:#2a1000;font-weight:800;font-size:13px}.dashboard-asof{margin:0;font-size:12px;color:var(--text-secondary)}.cycle-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px}.cycle-phase{display:grid;gap:12px;align-content:start;padding:16px;border-radius:18px;background:var(--ink-raised);border:1px solid var(--ink-line)}.cycle-phase-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.cycle-phase-head span{font-size:12px;font-weight:700;color:var(--ink-muted)}.cycle-steps{display:flex;flex-wrap:wrap;gap:6px}.cycle-step{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 10px;border-radius:10px;border:1px solid var(--ink-line);color:var(--ink-text);font-size:12px;font-weight:700}.cycle-step:hover{background:var(--ink-hover);color:#fff}.cycle-step-no{color:var(--ink-muted);font-variant-numeric:tabular-nums}.cycle-step.is-waiting{background:#3a2a0a;border:1px dashed var(--amber);color:#ffc75a}.cycle-step-count{min-width:20px;height:20px;padding:0 6px;border-radius:10px;display:grid;place-items:center;background:var(--amber);color:var(--amber-ink);font-size:11px;font-weight:800}.session-list li{display:grid;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #eef1f6}.session-list li:first-child{border-top:0}.session-time{font-size:13px;font-weight:700;color:#3b4560;font-variant-numeric:tabular-nums}.session-text{display:grid;gap:2px;min-width:0}.session-text span{font-size:13px;color:var(--text-secondary)}.quick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.quick-tile{display:flex;align-items:center;min-height:56px;padding:0 16px;border-radius:14px;background:var(--ink);color:#fff;font-weight:700;transition:background var(--transition),transform var(--transition)}.quick-tile:hover{background:var(--ink-hover);color:#fff;transform:translateY(-2px)}@media(max-width:1200px){.header-chip{display:none}.login-features{grid-template-columns:1fr}}@media(max-width:960px){.app-shell{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;left:0;top:0;bottom:0;height:auto;width:min(var(--sidebar-width),86vw);transform:translate(-105%);transition:transform .22s ease;box-shadow:0 0 60px #00000059;z-index:70}.sidebar.is-open{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--ink-scrim);opacity:0;pointer-events:none;transition:opacity .22s ease;z-index:65}.sidebar-backdrop.is-open{opacity:1;pointer-events:auto}.sidebar-close,button.header-menu-btn{display:inline-grid}.app-header{padding:10px 16px;gap:10px}.breadcrumbs{display:none}.app-header-search{flex:1 1 0;min-width:0;margin-left:0;max-width:none}.app-header-right{gap:8px}.user-meta,.user-menu-trigger>svg{display:none}button.user-menu-trigger{padding:3px}.app-content{padding:16px 16px 104px}.hero-band{margin:-16px -16px 0;padding:26px 16px 96px}.hero-band-stack{padding-bottom:24px}.hero-actions,.hero-actions>*{width:100%}.hero-actions>*{justify-content:center}.login-split{grid-template-columns:1fr}.login-brand{padding:28px 20px;gap:20px}.login-brand-copy h1{font-size:34px}.login-brand-copy p,.login-features,.login-brand-footer{display:none}.form-grid,.brief-steps,.slot-row{grid-template-columns:1fr}.mobile-tabs{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:6px 6px calc(10px + env(safe-area-inset-bottom));background:var(--ink);border-top:1px solid var(--ink-line)}.mobile-tab,button.mobile-tab{display:grid;justify-items:center;align-content:center;gap:3px;min-height:56px;padding:4px 2px;border-radius:12px;background:transparent;color:var(--ink-muted);font-size:11px;font-weight:700}.mobile-tab:hover,button.mobile-tab:hover:not(:disabled){background:var(--ink-hover);color:#fff}.mobile-tab.is-active{background:var(--signal);color:var(--on-signal)}.mobile-tab-icon{position:relative;display:grid}.mobile-tab-count{position:absolute;top:-6px;right:-12px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;display:grid;place-items:center;background:var(--amber);color:var(--amber-ink);font-size:10px;font-weight:800}.mobile-tab-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:720px){.page-header{padding:22px 18px;border-radius:18px}.metric-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric-tile{min-height:0;padding:14px}.metric-tile-value{font-size:30px}.metric-tile-hint{display:none}.card,.panel{padding:18px;border-radius:18px}.session-list li{grid-template-columns:minmax(0,1fr) auto}.session-time{grid-column:1 / -1}.figure-list li{grid-template-columns:56px minmax(0,1fr) auto}.search-kbd{display:none}.table th,.table td{padding:11px 10px}}@media print{.sidebar,.app-header,.mobile-tabs{display:none!important}.app-shell{display:block}}:root[data-theme=dark]{color-scheme:dark;--canvas: var(--ink);--canvas-deep: color-mix(in srgb, #000000 30%, var(--ink));--background: var(--canvas-deep);--surface: var(--ink-raised);--ivory: color-mix(in srgb, #ffffff 3%, var(--ink));--border: var(--ink-line);--border-strong: color-mix( in srgb, var(--primary-burgundy) 30%, color-mix(in srgb, #ffffff 18%, var(--ink)) );--text-primary: #eceef3;--text-secondary: #b4b9c6;--muted: #b4b9c6;--signal-soft: color-mix(in srgb, var(--primary-burgundy) 24%, transparent) !important;--soft-red: color-mix(in srgb, var(--primary-burgundy) 24%, transparent) !important;--active-bg: color-mix(in srgb, var(--primary-burgundy) 24%, transparent) !important;--active-text: var(--signal-on-dark) !important;--signal-on-dark: color-mix(in srgb, var(--primary-burgundy) 42%, #ffffff);--signal: var(--signal-on-dark);--signal-deep: color-mix(in srgb, var(--primary-burgundy) 26%, #ffffff);--on-signal: #0d0f15;--teal-ink: #5fe0d0;--amber-text: #ffc75a;--coral-text: #ff9aa6;--teal-soft: rgba(25, 194, 177, .14);--amber-soft: rgba(255, 176, 32, .14);--coral-soft: rgba(255, 90, 110, .14);--violet-soft: rgba(155, 123, 255, .16);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 12px 30px rgba(0, 0, 0, .5);--shadow-lg: 0 20px 44px rgba(0, 0, 0, .65);color:var(--text-primary);background:var(--canvas)}[data-theme=dark] a:not([class]){color:var(--signal-on-dark)}[data-theme=dark] .page-description,[data-theme=dark] .brief-summary,[data-theme=dark] .screen-note,[data-theme=dark] .session-time,[data-theme=dark] .cal-page .cal-today-weekday{color:var(--text-secondary)}[data-theme=dark] .all-clear strong{color:var(--teal-ink)}[data-theme=dark] .all-clear p{color:var(--text-secondary)}[data-theme=dark] .cal-page .cal-pill.is-private{color:#c4a8ff}[data-theme=dark] .cal-page .cal-principal-note svg{color:var(--teal-ink)}[data-theme=dark] .table th,[data-theme=dark] .empty-state,[data-theme=dark] .day-group-header,[data-theme=dark] .kpi-icon.tone-neutral,[data-theme=dark] .bar-track,[data-theme=dark] .cal-page .cal-today{background:var(--ivory)}[data-theme=dark] .table tbody tr:hover,[data-theme=dark] .inbox-item.unread{background:var(--ink-hover)}[data-theme=dark] .card.tile:hover,[data-theme=dark] .inbox-item:hover,[data-theme=dark] .inbox-item.unread{border-color:var(--border-strong)}[data-theme=dark] .badge-neutral,[data-theme=dark] .kpi-icon.tone-neutral{background:#a9b4cf24;color:var(--text-primary)}[data-theme=dark] .badge-gold,[data-theme=dark] .kpi-icon.tone-gold{background:#ffb02024;color:#ffd27a}[data-theme=dark] .kpi-icon.tone-orange{background:#ff8a4c24;color:#ffb489}[data-theme=dark] .banner.error{border-color:#ff5a6e66;color:var(--coral-text)}[data-theme=dark] .banner.success{border-color:#19c2b166;color:var(--teal-ink)}[data-theme=dark] .panel-setup{background:#ff8a4c14;border-color:#ff8a4c4d}[data-theme=dark] .session-back,[data-theme=dark] .session-back .kind-label{background:#ff8a4c1a;color:#ffb489}[data-theme=dark] .session-back td{border-color:#ff8a4c4d}[data-theme=dark] input[aria-invalid=true],[data-theme=dark] select[aria-invalid=true]{background:#ff5a6e14}[data-theme=dark] .skeleton{background:linear-gradient(90deg,var(--ink-raised) 25%,var(--ink-hover) 50%,var(--ink-raised) 75%);background-size:200% 100%}[data-theme=dark] select option{background:var(--surface);color:var(--text-primary)}button.theme-toggle{width:100%;min-height:40px;margin-bottom:8px;padding:8px 12px;display:flex;align-items:center;gap:10px;border:1px solid var(--ink-line);border-radius:12px;background:transparent;color:var(--ink-text);font-size:13px;font-weight:600}button.theme-toggle:hover:not(:disabled){background:var(--ink-hover);color:#fff}.theme-toggle-state{margin-left:auto;color:var(--ink-muted);font-weight:500;font-size:12px}button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.toolbar button,.filter-bar button,.toolbar .btn-secondary,.filter-bar .btn-secondary{min-height:46px}.tabs button,.toolbar.tabs button{min-height:40px}label:has(>input[type=checkbox]),label:has(>input[type=radio]){display:flex;flex-direction:row;align-items:center;gap:8px;font-weight:600}label>input[type=checkbox],label>input[type=radio]{flex-shrink:0;margin:0}.toolbar label:has(>input[type=checkbox]),.filter-bar label:has(>input[type=checkbox]){flex:0 0 auto;min-width:0;min-height:46px}.empty-state .empty-icon{display:grid;place-items:center}.sidebar-close{place-items:center}.app-content{margin-inline:auto}.table th,.table td,.table td .table-actions,.table td .status-badge{vertical-align:middle}.page-header>div:first-child{flex:1 1 320px;min-width:0}.page-actions{align-items:center}.list-pager button,.list-bar button{min-height:40px}
