.ui-daily-report-card[data-v-16fa1cc1]{overflow:hidden;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-card);box-shadow:var(--sh-sm)}.ui-daily-report-card>button[data-v-16fa1cc1]{display:flex;width:100%;min-height:72px;align-items:center;gap:var(--sp-3);border:0;padding:var(--sp-3);background:transparent;color:inherit;text-align:left}.ui-daily-report-card>button[data-v-16fa1cc1]:disabled{cursor:default}.ui-daily-report-card>button>span[data-v-16fa1cc1]{display:grid;min-width:0;gap:var(--sp-1);flex:1}.ui-daily-report-card.today-highlight[data-v-16fa1cc1]{border-left:3px solid var(--info-fg);background:var(--color-current-day-bg);box-shadow:var(--sh-current-day)}.ui-daily-report-card.today-overdue[data-v-16fa1cc1]{border-left-color:var(--danger-fg)}.timeline-chevron[data-v-16fa1cc1]{color:var(--ink-4);font-size:24px;font-weight:400}.student-report-detail[data-v-16fa1cc1]{border-top:1px solid var(--line);animation:ui-detail-in-16fa1cc1 var(--t-base) var(--ease-standard) both}@keyframes ui-detail-in-16fa1cc1{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}p[data-v-b7da4393]{margin:0}.ui-empty-state__icon[data-v-b7da4393]{display:grid;place-items:center;margin-bottom:4px}p[data-v-fab7f3be]{margin:0}.delete-report-btn[data-v-141739bd]{margin-top:16px;padding:8px 16px;border:1px solid #dc2626;border-radius:6px;background:transparent;color:#dc2626;font-size:14px;cursor:pointer}.delete-report-btn[data-v-141739bd]:hover{background:#fef2f2}.delete-confirm-overlay[data-v-141739bd]{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.delete-confirm-box[data-v-141739bd]{background:#fff;border-radius:12px;padding:24px;max-width:360px;width:90%;box-shadow:0 10px 40px #00000026}.delete-confirm-box h3[data-v-141739bd]{margin:0 0 12px;font-size:17px;color:#1a1b1c}.delete-confirm-box p[data-v-141739bd]{margin:0 0 8px;font-size:14px;color:#6b7280;line-height:1.5}.delete-error[data-v-141739bd]{color:#dc2626!important}.delete-confirm-actions[data-v-141739bd]{display:flex;gap:12px;margin-top:20px;justify-content:flex-end}.delete-cancel[data-v-141739bd],.delete-confirm[data-v-141739bd]{padding:8px 20px;border-radius:6px;font-size:14px;cursor:pointer;border:none}.delete-cancel[data-v-141739bd]{background:#f3f4f6;color:#374151}.delete-cancel[data-v-141739bd]:disabled{opacity:.5;cursor:not-allowed}.delete-confirm[data-v-141739bd]{background:#dc2626;color:#fff}.delete-confirm[data-v-141739bd]:disabled{opacity:.5;cursor:not-allowed}.monthly-daily-summary[data-v-2f3e75ad]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3);margin-block:var(--sp-4)}.monthly-daily-summary.has-missing[data-v-2f3e75ad],.monthly-daily-summary.has-streak[data-v-2f3e75ad]{grid-template-columns:repeat(3,minmax(0,1fr))}.monthly-daily-summary.has-missing.has-streak[data-v-2f3e75ad]{grid-template-columns:repeat(4,minmax(0,1fr))}.monthly-daily-summary__card[data-v-2f3e75ad]{display:grid;min-width:0;min-height:148px;align-content:start;gap:var(--sp-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-4);box-shadow:var(--sh-sm)}.monthly-daily-summary__card.is-submission[data-v-2f3e75ad]{background:linear-gradient(145deg,var(--bg-card),var(--success-bg))}.monthly-daily-summary__card.is-visits[data-v-2f3e75ad]{background:linear-gradient(145deg,var(--bg-card),var(--info-bg))}.monthly-daily-summary__card.is-missing[data-v-2f3e75ad]{background:linear-gradient(145deg,var(--bg-card),var(--warning-bg))}.monthly-daily-summary__card.is-streak[data-v-2f3e75ad]{background:linear-gradient(145deg,var(--bg-card),var(--brand-bg))}.monthly-daily-summary__card.is-interactive[data-v-2f3e75ad]{width:100%;border:1px solid var(--line);color:inherit;text-align:left;cursor:pointer}.monthly-daily-summary__card.is-interactive[data-v-2f3e75ad]:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 45%,transparent);outline-offset:2px}.monthly-daily-summary__card.is-interactive[data-v-2f3e75ad]:hover{border-color:color-mix(in srgb,var(--brand) 45%,var(--line))}.monthly-daily-summary__card>span[data-v-2f3e75ad]{color:var(--ink-3);font-size:13px;font-weight:700}.monthly-daily-summary__title[data-v-2f3e75ad]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monthly-daily-summary__value[data-v-2f3e75ad]{display:flex;align-items:baseline;gap:6px;margin:0;color:var(--ink-1);font-variant-numeric:tabular-nums;white-space:nowrap}.monthly-daily-summary__card strong[data-v-2f3e75ad]{font-size:clamp(22px,4.5vw,30px);line-height:1.1}.monthly-daily-summary__card em[data-v-2f3e75ad]{color:var(--ink-3);font-size:12px;font-style:normal;flex-shrink:0}.monthly-daily-summary__card small[data-v-2f3e75ad]{color:var(--ink-3);font-size:12px;line-height:1.45}.monthly-daily-summary__card>b[data-v-2f3e75ad]{margin-top:auto;color:var(--ink-4);font-size:11px;font-weight:600}.monthly-daily-summary__cue[data-v-2f3e75ad]{justify-self:end;color:var(--brand);font-size:11px;font-weight:700;white-space:nowrap}.monthly-daily-summary__cue.is-static[data-v-2f3e75ad]{color:var(--ink-4);font-weight:500}.is-submission[data-v-2f3e75ad] .ui-progress__bar{background:var(--success-fg)}.is-submission[data-v-2f3e75ad] .ui-progress__meta{display:none}.is-submission[data-v-2f3e75ad] .ui-progress__track{height:6px;background:color-mix(in srgb,var(--success-bg) 76%,var(--line))}@media(max-width:600px){.monthly-daily-summary[data-v-2f3e75ad],.monthly-daily-summary.has-missing[data-v-2f3e75ad],.monthly-daily-summary.has-streak[data-v-2f3e75ad],.monthly-daily-summary.has-missing.has-streak[data-v-2f3e75ad]{grid-template-columns:repeat(2,minmax(0,1fr))}.monthly-daily-summary.has-missing:not(.has-streak) .monthly-daily-summary__card.is-missing[data-v-2f3e75ad]{grid-column:1/-1}}@media(max-width:375px){.monthly-daily-summary[data-v-2f3e75ad]{gap:var(--sp-2)}.monthly-daily-summary__card[data-v-2f3e75ad]{min-height:142px;padding:var(--sp-3)}.monthly-daily-summary__title[data-v-2f3e75ad]{font-size:12px;white-space:normal}.monthly-daily-summary__card strong[data-v-2f3e75ad]{font-size:20px}.monthly-daily-summary__card small[data-v-2f3e75ad],.monthly-daily-summary__card em[data-v-2f3e75ad]{font-size:11px}}.ui-button[data-v-dd3fbd53]{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--r-pill);padding:0 var(--sp-5);font-size:17px;font-weight:600;transition:transform var(--t-fast) var(--ease-standard),background var(--t-fast) var(--ease-standard)}.ui-button[data-v-dd3fbd53]:active{transform:scale(.97)}.ui-button--primary[data-v-dd3fbd53]{background:var(--brand);color:var(--bg-card);box-shadow:var(--sh-sm)}.ui-button--primary[data-v-dd3fbd53]:hover{background:var(--brand-press)}.ui-button--secondary[data-v-dd3fbd53]{border-color:var(--line);background:var(--bg-card);color:var(--ink-1)}.ui-button--text[data-v-dd3fbd53]{background:transparent;color:var(--brand)}.ui-button--danger[data-v-dd3fbd53]{background:var(--danger-fg);color:var(--bg-card);box-shadow:var(--sh-sm)}.ui-button--danger[data-v-dd3fbd53]:hover{filter:brightness(.92)}.ui-button[data-v-dd3fbd53]:disabled{background:var(--neutral-bg);color:var(--ink-4);cursor:not-allowed;transform:none}.is-block[data-v-dd3fbd53]{width:100%}.ui-button__spinner[data-v-dd3fbd53]{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ui-spin-dd3fbd53 .7s linear infinite}@keyframes ui-spin-dd3fbd53{to{transform:rotate(1turn)}}.install-tip[data-v-bb0f56b8]{margin-top:16px;padding:12px 14px;border-radius:10px;background:linear-gradient(135deg,#eef2ff,#f5f3ff);border:1px solid #e0e7ff}.install-tip__title[data-v-bb0f56b8]{margin:0 0 4px;font-size:14px;font-weight:600;color:#4338ca}.install-tip__text[data-v-bb0f56b8]{margin:0 0 8px;font-size:12px;color:#6b7280}.install-tip__steps[data-v-bb0f56b8]{margin:0 0 6px;font-size:12px;line-height:1.7;color:#4b5563}.install-tip__steps strong[data-v-bb0f56b8]{color:#4338ca}.install-tip__note[data-v-bb0f56b8]{margin:0;font-size:11px;color:#9ca3af}.ui-glass-header__inner[data-v-e73dbcf5]{position:sticky;top:0;z-index:5;display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4)}p[data-v-e73dbcf5]{margin:0;color:var(--ink-3);font-size:13px}h1[data-v-e73dbcf5]{margin:0;color:var(--ink-1);font-size:22px;line-height:30px}.ui-stage-stepper[data-v-6021656c]{display:grid;gap:var(--sp-2)}.ui-stage-stepper__row[data-v-6021656c]{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:var(--sp-3);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);background:var(--bg-muted)}.ui-stage-stepper__row>span[data-v-6021656c]{min-width:0;color:var(--ink-2);font-size:15px;font-weight:600}.ui-stage-stepper__row>div[data-v-6021656c]{display:flex;align-items:center;gap:var(--sp-2)}button[data-v-6021656c]{display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--bg-card);color:var(--ink-2);font-size:21px}button[data-v-6021656c]:disabled{color:var(--ink-4);cursor:not-allowed}input[data-v-6021656c]{width:36px;min-width:0;border:0;background:transparent;color:var(--ink-1);font-size:18px;font-weight:700;text-align:center;font-variant-numeric:tabular-nums;outline:0}.ui-visit-picker[data-v-a5be8a69]{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--sp-2)}button[data-v-a5be8a69]{display:grid;min-width:0;min-height:82px;place-items:center;gap:var(--sp-1);border:1.5px solid var(--line);border-radius:var(--r-md);background:var(--bg-card);color:var(--ink-1);transition:transform var(--t-fast) var(--ease-spring),border var(--t-fast) var(--ease-standard),background var(--t-fast) var(--ease-standard)}button.active[data-v-a5be8a69]{border-color:var(--brand);background:var(--brand-soft);transform:scale(1.02)}button[data-v-a5be8a69]:active{transform:scale(.97)}strong[data-v-a5be8a69]{font-size:28px;line-height:1;font-variant-numeric:tabular-nums}small[data-v-a5be8a69]{color:var(--ink-3);font-size:11px}@media(max-width:430px){.ui-visit-picker[data-v-a5be8a69]{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-2)}button[data-v-a5be8a69]{min-height:74px}.ui-visit-picker button[data-v-a5be8a69]:last-child{min-height:64px;grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);justify-content:start;padding:10px 14px;text-align:left}.ui-visit-picker button:last-child strong[data-v-a5be8a69]{font-size:22px}.ui-visit-picker button:last-child small[data-v-a5be8a69]{font-size:14px;line-height:1.35}}@media(max-width:360px){.ui-visit-picker[data-v-a5be8a69]{gap:var(--sp-1)}strong[data-v-a5be8a69]{font-size:24px}small[data-v-a5be8a69]{font-size:10px}.ui-visit-picker button[data-v-a5be8a69]:last-child{padding-right:10px;padding-left:10px}.ui-visit-picker button:last-child small[data-v-a5be8a69]{font-size:13px}}.streak-badge[data-v-c9c1fb9e]{display:flex;align-items:center;gap:16px;padding:14px 18px;border-radius:16px;background:linear-gradient(135deg,#fff5f0,#ffe8d6);border:1px solid #ffd4b8;margin-bottom:16px}.streak-main[data-v-c9c1fb9e]{display:flex;align-items:center;gap:10px}.flame-icon[data-v-c9c1fb9e]{color:#ff6b35;animation:flicker-c9c1fb9e 2s ease-in-out infinite}.flame-level-1 .flame-icon[data-v-c9c1fb9e]{color:#ff8c42}.flame-level-2 .flame-icon[data-v-c9c1fb9e]{color:#ff6b35}.flame-level-3 .flame-icon[data-v-c9c1fb9e]{color:#ff4500}.flame-level-4 .flame-icon[data-v-c9c1fb9e]{color:#ff2d00}.flame-level-5 .flame-icon[data-v-c9c1fb9e]{color:red;filter:drop-shadow(0 0 6px rgba(255,69,0,.5))}@keyframes flicker-c9c1fb9e{0%,to{transform:scale(1) rotate(-2deg)}50%{transform:scale(1.08) rotate(2deg)}}.streak-info[data-v-c9c1fb9e]{text-align:left}.streak-number[data-v-c9c1fb9e]{font-size:28px;font-weight:800;color:#e85d04;line-height:1}.streak-label[data-v-c9c1fb9e]{font-size:12px;color:#9a5a2e;margin-top:2px}.streak-details[data-v-c9c1fb9e]{flex:1;display:flex;flex-direction:column;gap:4px;align-items:flex-end}.freeze-badge[data-v-c9c1fb9e]{display:flex;align-items:center;gap:4px;font-size:12px;color:#2b6cb0;background:#ebf4ff;padding:4px 10px;border-radius:12px}.milestone-hint[data-v-c9c1fb9e]{font-size:12px;color:#9a5a2e}.longest-hint[data-v-c9c1fb9e]{font-size:11px;color:#b08968}.streak-celebration[data-v-cb0adbe0]{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow:hidden}.particles[data-v-cb0adbe0]{position:absolute;inset:0;pointer-events:none}.particle[data-v-cb0adbe0]{position:absolute;top:-20px;border-radius:50%;animation:fall-cb0adbe0 linear forwards}@keyframes fall-cb0adbe0{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.celebration-content[data-v-cb0adbe0]{position:relative;text-align:center;padding:40px 50px;background:#fff;border-radius:24px;box-shadow:0 20px 60px #0000004d;animation:popIn-cb0adbe0 .5s cubic-bezier(.34,1.56,.64,1);max-width:90vw}@keyframes popIn-cb0adbe0{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.celebration-emoji[data-v-cb0adbe0]{font-size:64px;margin-bottom:12px;animation:bounce-cb0adbe0 .6s ease infinite alternate}@keyframes bounce-cb0adbe0{0%{transform:translateY(0)}to{transform:translateY(-10px)}}.celebration-title[data-v-cb0adbe0]{font-size:28px;font-weight:800;color:var(--accent);margin:0 0 8px}.celebration-subtitle[data-v-cb0adbe0]{font-size:15px;color:#666;margin:0 0 20px}.streak-display[data-v-cb0adbe0]{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:16px}.streak-flame[data-v-cb0adbe0]{font-size:32px}.streak-days[data-v-cb0adbe0]{font-size:48px;font-weight:900;color:var(--accent)}.streak-unit[data-v-cb0adbe0]{font-size:20px;color:#999;font-weight:600}.freeze-earned[data-v-cb0adbe0],.freeze-used[data-v-cb0adbe0],.milestone-badge[data-v-cb0adbe0]{font-size:14px;padding:8px 16px;border-radius:12px;margin-top:8px;display:inline-block}.freeze-earned[data-v-cb0adbe0]{background:#ebf4ff;color:#2b6cb0}.freeze-used[data-v-cb0adbe0]{background:#f0fff4;color:#276749}.milestone-badge[data-v-cb0adbe0]{background:#fff5f0;color:#c05621}.celebration-enter-active[data-v-cb0adbe0],.celebration-leave-active[data-v-cb0adbe0]{transition:opacity .3s ease}.celebration-enter-from[data-v-cb0adbe0],.celebration-leave-to[data-v-cb0adbe0]{opacity:0}.student-streak-ranking-card[data-v-a71a5617]{display:flex;flex-direction:column;gap:4px;width:100%;margin:12px 16px;padding:14px 16px;border:none;border-radius:14px;background:linear-gradient(135deg,var(--brand-bg, #eef2ff),#fff);text-align:left;cursor:pointer}.student-streak-ranking-card strong[data-v-a71a5617]{font-size:22px;font-weight:700;color:var(--brand, #4f46e5)}.student-streak-ranking__title[data-v-a71a5617]{font-size:13px;color:var(--text-secondary, #6b7280)}.student-streak-ranking-card small[data-v-a71a5617]{font-size:12px;color:var(--text-secondary, #6b7280)}.month-visits-sheet[data-v-a71a5617]{padding:0 4px 8px}.month-visits-sheet__total[data-v-a71a5617]{margin:0 0 4px;font-size:14px;color:var(--text-secondary, #6b7280)}.month-visits-sheet__total strong[data-v-a71a5617]{color:var(--brand, #4f46e5)}.month-visits-sheet__hint[data-v-a71a5617]{margin:0 0 12px;font-size:12px;color:var(--text-tertiary, #9ca3af)}.month-visits-sheet__list[data-v-a71a5617]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.month-visits-sheet__list li[data-v-a71a5617]{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:10px;background:var(--bg-soft, #f9fafb)}.month-visits-sheet__list li span[data-v-a71a5617]{display:flex;flex-direction:column;gap:2px}.month-visits-sheet__list li strong[data-v-a71a5617]{font-size:15px}.month-visits-sheet__list li small[data-v-a71a5617]{font-size:12px;color:var(--text-secondary, #6b7280)}.month-visits-sheet__list li b[data-v-a71a5617]{font-size:16px;color:var(--brand, #4f46e5)}.timeline-retry[data-v-a71a5617]{margin-top:8px;padding:6px 14px;border:1px solid var(--brand, #4f46e5);border-radius:8px;background:transparent;color:var(--brand, #4f46e5);font-size:13px;cursor:pointer}:root{--brand: #3b5bdb;--brand-press: #3451c4;--brand-soft: #eef1fe;--ink-1: #14161c;--ink-2: #3d4250;--ink-3: #687083;--ink-4: #a4aab5;--bg-page: #f5f6f9;--bg-card: #ffffff;--bg-muted: #f7f8fa;--surface-glass: rgb(255 255 255 / 72%);--surface-skeleton-shine: rgb(255 255 255 / 58%);--line: #ececf1;--success-bg: #e9f8ef;--success-fg: #1a9e57;--success-dot: #2bc46e;--warning-bg: #fff5e8;--warning-fg: #d98314;--warning-dot: #f5a623;--danger-bg: #fdecec;--danger-fg: #e0483e;--danger-dot: #f25555;--info-bg: #e9f0fe;--info-fg: #2f63e0;--info-dot: #4d7ff0;--neutral-bg: #f1f2f5;--neutral-fg: #687083;--neutral-dot: #c9ccd4;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--r-sm: 10px;--r-md: 14px;--r-lg: 18px;--r-xl: 24px;--r-pill: 999px;--sh-sm: 0 1px 2px rgb(20 22 28 / 4%);--sh-md: 0 4px 16px rgb(20 22 28 / 6%);--sh-lg: 0 12px 32px rgb(20 22 28 / 10%);--sh-current-day: 0 2px 8px rgb(47 99 224 / 12%);--ease-standard: cubic-bezier(.22, .61, .36, 1);--ease-spring: cubic-bezier(.34, 1.3, .5, 1);--t-fast: .12s;--t-base: .25s;--t-page: .28s;--t-slow: .4s;--font-sans: -apple-system, "SF Pro Text", "PingFang SC", "Helvetica Neue", sans-serif;--color-brand-primary: var(--brand);--color-brand-hover: var(--brand-press);--color-current-day: var(--info-fg);--color-current-day-bg: #f0f6ff;--color-bg-page: var(--bg-page);--color-bg-surface: var(--bg-card);--color-text-primary: var(--ink-1);--color-text-secondary: var(--ink-3);--color-border: var(--line);--color-success: var(--success-fg);--color-danger: var(--danger-fg);--state-green: var(--success-fg);--state-pending: var(--neutral-fg);--state-red: var(--danger-fg);--state-voluntary: var(--info-fg);--state-not-due: var(--neutral-fg);--tap-target-min: 44px;--content-mobile: 430px;--content-tablet: 768px;--content-desktop: 1440px;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--focus-ring: 0 0 0 3px color-mix(in srgb, var(--brand) 28%, transparent);--layer-header: 20;--layer-overlay: 40;--space-1: var(--sp-1);--space-2: var(--sp-2);--space-3: var(--sp-3);--space-4: var(--sp-4);--space-6: var(--sp-6);--radius-sm: var(--r-sm);--radius-md: var(--r-md);--radius-lg: var(--r-lg);--shadow-surface: var(--sh-md);--shadow-raised: var(--sh-lg)}html{font-family:var(--font-sans);background:var(--bg-page);color:var(--ink-1)}:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 30%,transparent);outline-offset:2px}button,[role=button],select,input,textarea{min-height:var(--tap-target-min)}button{border-radius:var(--r-md)}button:not(:disabled){cursor:pointer}button:active:not(:disabled),[role=button]:active{transform:scale(.97)}@media(max-width:430px){input,select,textarea{font-size:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:var(--ink-1);background:var(--bg-page);font-synthesis:none;--navy:var(--ink-1);--blue:var(--brand);--blue-dark:var(--brand-press);--muted:var(--ink-3);--line:var(--line);--panel:var(--bg-card);--success:var(--success-fg);--danger:var(--danger-fg)}.v2-home-main{min-width:0;overflow:auto;padding:24px 18px 172px;overscroll-behavior:contain}.v2-home-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:min(820px,100%);margin:0 auto 16px}.v2-home-intro h1{margin:0;color:#202d46;font-size:clamp(24px,5vw,34px);line-height:1.2}.v2-home-state{flex:0 0 auto;border-radius:99px;padding:7px 10px;font-size:12px}.v2-home-questions,.v2-home-week,.v2-home-thread,.v2-home-history{width:min(820px,100%);margin:12px auto;border:1px solid #e1e7f0;border-radius:16px;padding:14px;background:#fff}.v2-home-questions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.v2-home-questions article{display:flex;min-width:0;gap:9px;border-radius:12px;padding:10px;background:#f7f9ff}.v2-home-questions b{display:grid;width:24px;height:24px;flex:0 0 24px;place-items:center;border-radius:50%;background:#315bea;color:#fff;font-size:12px}.v2-home-questions p{margin:4px 0 0;color:#68748a;font-size:12px;line-height:1.45}.v2-home-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.v2-home-week>span{display:grid;min-width:0;place-items:center;gap:3px;border-radius:9px;padding:8px 2px;font-size:10px}.v2-home-thread{display:grid;gap:9px}.v2-home-message{min-width:0;border-radius:13px;padding:11px;background:#f8faff}.v2-home-message p{margin:0;white-space:pre-wrap;word-break:break-word;line-height:1.55}.v2-home-message audio{width:100%;max-width:100%}.v2-home-edit textarea{width:100%;min-height:78px;border:1px solid #dce3ee;border-radius:10px;padding:9px;resize:vertical}.v2-home-edit span,.v2-home-message-actions,.v2-home-submit{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}.v2-home-message-actions small,.v2-home-empty{color:#748096;font-size:12px}.v2-home-message-actions button,.v2-home-edit button{border:0;border-radius:8px;padding:6px 9px;background:#edf1fb;color:#315bea}.v2-home-empty{width:min(820px,100%);margin:18px auto;text-align:center}.v2-home-history summary{cursor:pointer;color:#315bea;font-weight:700}.v2-home-history ol{display:grid;gap:6px;padding-left:20px}.v2-home-history li{display:flex;justify-content:space-between;gap:12px;font-size:12px}.v2-home-footer{position:absolute;right:0;bottom:auto;left:0;top:var(--v2-visible-bottom,100%);transform:translateY(-100%);padding:10px max(18px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:linear-gradient(transparent,#fff 26%)}.v2-home-submit{width:min(820px,100%);margin:0 auto 7px;border-radius:11px;padding:9px 11px;background:#eef3ff;color:#315bea;font-size:12px}.v2-home-submit button{border:0;border-radius:9px;padding:8px 11px;background:#315bea;color:#fff;font-weight:700}.v2-home-chat-input{min-width:0;align-items:center;gap:7px;border:0;border-radius:12px;padding:7px;background:#eef0f3;box-shadow:none}.v2-home-chat-input textarea{min-width:0;min-height:44px;max-height:120px;border:0;border-radius:9px;padding:11px 12px;background:#fff;color:#161b22;font-size:16px;line-height:1.4}.v2-home-chat-input textarea::placeholder{color:#89919d}.v2-home-chat-input .v2-input-mode,.v2-home-chat-input .v2-send-button{display:grid;width:44px!important;height:44px!important;flex:0 0 44px;place-items:center;border:0;border-radius:50%;padding:0}.v2-home-chat-input .v2-input-mode{background:transparent;color:#27313d}.v2-home-chat-input .v2-send-button{background:#07c160;color:#fff}.v2-home-chat-input .v2-input-mode:active{background:#dfe2e6}.v2-home-chat-input .v2-send-button:active{background:#06ad56}.v2-home-chat-input svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}.v2-home-chat-input .v2-voice-field{min-width:0;min-height:44px;flex:1;border:0;border-radius:9px;padding:0 12px;background:#fff;color:#20262f;font-size:15px;font-weight:600}.v2-home-chat-input .v2-voice-field.recording,.v2-home-chat-input .v2-voice-field:active{background:#dfe2e5;color:#20262f}.v2-state-green{background:#e8f8ef!important;color:#14784e!important}.v2-state-red{background:#fff0f2!important;color:#bd354b!important}.v2-state-voluntary{background:#edf2ff!important;color:#315bea!important}.v2-state-not_due{background:#f1f3f7!important;color:#778196!important}.v2-data-view{width:min(820px,100%);margin:0 auto}.v2-data-view>label{display:inline-grid;gap:6px;margin:10px 0;color:#536178;font-size:13px}.v2-data-view input{min-width:0;border:1px solid #dce3ee;border-radius:9px;padding:8px;background:#fff;color:#202d46}.v2-history-item,.v2-history-detail{display:grid;gap:7px;margin:10px 0;border:1px solid #e1e7f0;border-radius:14px;padding:12px;background:#fff}.v2-history-item button{border:0;padding:0;background:transparent;color:#202d46;text-align:left;line-height:1.5}.v2-history-item p,.v2-history-detail p{display:-webkit-box;overflow:hidden;margin:0;color:#59677e;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.v2-history-detail audio{width:100%;max-width:100%}@media(max-width:430px){.v2-home-main{padding:16px 12px 166px}.v2-home-intro{align-items:flex-start;flex-direction:column}.v2-home-questions{grid-template-columns:1fr;padding:11px}.v2-home-week{gap:3px;padding:10px}.v2-home-week>span{font-size:9px;padding:7px 1px}.v2-home-questions,.v2-home-week,.v2-home-thread,.v2-home-history{border-radius:13px}.v2-home-footer{padding-right:max(12px,env(safe-area-inset-right));padding-left:max(12px,env(safe-area-inset-left))}.v2-home-submit{align-items:stretch;flex-direction:column}.v2-home-submit button{width:100%}}@media(max-width:360px){.v2-home-chat-input{gap:4px;padding:6px}.v2-home-chat-input .v2-input-mode,.v2-home-chat-input .v2-send-button{width:44px!important;height:44px!important;flex-basis:44px}.v2-home-chat-input textarea,.v2-home-chat-input .v2-voice-field{padding-right:8px;padding-left:8px}.v2-home-chat-input .v2-voice-field{font-size:15px}}.v2-home-intro h1{font-size:clamp(28px,4.8vw,34px)}.v2-visit-gate{display:grid;width:min(680px,100%);grid-template-columns:1fr;gap:16px;margin-top:22px;border:0;border-radius:24px;padding:28px;background:linear-gradient(155deg,#fff,#f6f9ff);box-shadow:0 16px 42px #1b3a821a}.v2-visit-heading{display:grid;gap:7px;margin-bottom:4px;text-align:center}.v2-visit-heading p{margin:0;color:#315bea;font-size:15px;font-weight:700}.v2-visit-heading h2{margin:0;color:#172033;font-size:clamp(26px,4vw,32px);line-height:1.25}.v2-visit-heading span{color:#697386;font-size:16px;line-height:1.5}.v2-visit-choice{display:grid;width:100%;min-width:0;min-height:112px;grid-template-columns:54px minmax(0,1fr) 24px;align-items:center;gap:16px;border:2px solid #dfe7fb;border-radius:20px;padding:20px 22px;background:#fff;color:#172033;text-align:left;box-shadow:0 6px 18px #294ea40f;cursor:pointer}.v2-visit-choice:hover{border-color:#9eb3f5;background:#f9fbff;transform:translateY(-1px)}.v2-visit-choice:active{transform:translateY(0)}.v2-visit-choice:focus-visible,.v2-visit-start:focus-visible,.v2-visit-back:focus-visible,.v2-visit-count-field input:focus-visible{outline:3px solid rgba(49,91,234,.35);outline-offset:3px}.v2-visit-choice:disabled,.v2-visit-start:disabled,.v2-visit-back:disabled{cursor:default;opacity:.55;transform:none}.v2-visit-choice-icon{display:grid;width:54px;height:54px;place-items:center;border-radius:17px;background:#315bea;color:#fff;font-size:24px;font-weight:800}.v2-visit-choice-none .v2-visit-choice-icon{background:#eef2f8;color:#536178}.v2-visit-choice>span:nth-child(2){display:grid;min-width:0;gap:6px}.v2-visit-choice strong{font-size:22px;line-height:1.25}.v2-visit-choice small{color:#697386;font-size:16px;line-height:1.4}.v2-visit-choice-arrow{color:#8a98ad;font-size:36px;line-height:1;text-align:right}.v2-visit-count-panel{display:grid;gap:14px}.v2-visit-count-panel>label{color:#172033;font-size:20px;font-weight:750}.v2-visit-count-field{display:flex;min-width:0;min-height:64px;align-items:center;border:2px solid #ced9f4;border-radius:16px;background:#fff;overflow:hidden}.v2-visit-count-field:focus-within{border-color:#315bea;box-shadow:0 0 0 3px #315bea1f}.v2-visit-count-field input{width:100%;min-width:0;height:64px;border:0;padding:0 10px;background:transparent;color:#172033;font-size:26px;font-weight:750;outline:0;text-align:center}.v2-visit-count-field button{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;border:1px solid #dce2ec;border-radius:50%;background:#fff;color:#315bea;font-size:25px;touch-action:manipulation}.v2-visit-count-field button:disabled{opacity:.38}.v2-visit-count-field span{flex:0 0 auto;padding:0 14px 0 2px;color:#536178;font-size:17px}.v2-visit-count-panel>small{color:#697386;font-size:15px}.v2-visit-error{margin:0!important;border-radius:10px;padding:10px 12px;background:#fff0f2;color:#bd354b!important;font-size:15px!important;font-weight:650}.v2-visit-start,.v2-visit-back{width:100%;min-height:56px;border-radius:14px;font-size:17px;font-weight:750}.v2-visit-start{border:0;background:#315bea;color:#fff}.v2-visit-start:hover{background:#2448c7}.v2-visit-back{border:1px solid #d8dfeb;background:#fff;color:#536178}.v2-questions-title,.v2-home-questions>.v2-home-audio-meta{grid-column:1/-1}.v2-questions-title{margin:0;outline:0;color:#202d46;font-size:22px;scroll-margin-top:20px}.v2-raw-text-question>.v2-raw-text-label,.v2-raw-text-question>#daily-raw-text,.v2-raw-text-question>.v2-raw-text-count{grid-column:1/-1}.v2-raw-text-label{color:#536178;font-size:15px;line-height:1.55}.v2-raw-text-question textarea{width:100%;min-height:180px;border:1px solid #ced9f4;border-radius:14px;padding:14px;background:#fff;color:#172033;font-size:16px;line-height:1.55;resize:vertical}.v2-raw-text-question textarea:focus-visible{outline:3px solid rgba(49,91,234,.35);outline-offset:2px}.v2-raw-text-count{margin:0!important;color:#697386!important;text-align:right}.v2-coach-reminder{grid-column:1/-1;min-width:0;border:1px solid #ffe0a3;border-radius:12px;padding:12px;background:#fffaf0;color:#6d4d00}.v2-coach-reminder p{margin:5px 0 0;overflow-wrap:anywhere}.v2-report-examples{grid-column:1/-1;min-width:0;border:1px solid #dce5f7;border-radius:12px;background:#fff}.v2-report-examples summary{min-height:44px;padding:12px 13px;cursor:pointer;color:#315bea;font-weight:700}.v2-report-examples summary:focus-visible{outline:3px solid #9bb4ff;outline-offset:2px;border-radius:10px}.v2-report-examples-body{display:grid;gap:10px;padding:0 13px 13px}.v2-report-examples-body section{min-width:0;border-radius:10px;padding:11px;background:#f7f9ff}.v2-report-examples-body p{margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.v2-visit-quick{min-width:0}.v2-visit-quick button{display:grid;min-width:0;min-height:82px;place-items:center;gap:3px;border:2px solid #dfe3ec;border-radius:14px;background:#fff;color:#172033}.v2-visit-quick button:focus-visible{outline:3px solid rgba(49,91,234,.35);outline-offset:2px}.v2-visit-quick strong{font-size:28px}.v2-visit-quick small{color:#697386;font-size:12px}.v2-visit-zero-tip{margin:0!important;border-radius:12px;padding:13px 15px;background:#f5f6f8;color:#536178!important;font-size:14px!important}.v2-stage-guide{margin:4px 0 0!important;color:#697386!important;font-size:14px!important}.v2-stage-list{display:grid;gap:9px}.v2-stage-row{display:flex;min-width:0;min-height:64px;align-items:center;justify-content:space-between;gap:12px;border-radius:12px;padding:9px 10px 9px 14px;background:#f6f7f9}.v2-stage-row>span{min-width:0;font-size:16px;font-weight:650;line-height:1.3;white-space:nowrap;word-break:keep-all}.v2-stage-row>div{display:flex;align-items:center;gap:8px}.v2-stage-row button{display:grid;width:44px;height:44px;place-items:center;border:1px solid #dce2ec;border-radius:50%;background:#fff;color:#536178;font-size:21px;touch-action:manipulation}.v2-stage-row button:disabled{opacity:.38}.v2-stage-row input{width:42px;min-width:0;height:44px;border:0;background:transparent;color:#172033;font-size:18px;font-weight:750;text-align:center;outline:0}.v2-stage-progress{margin:2px 0!important;color:#697386!important;font-size:14px!important}.v2-stage-progress.complete{color:#08a045!important}.v2-home-chat-input .v2-voice-field{user-select:none;-webkit-user-select:none;touch-action:manipulation}@media(max-width:430px){.v2-home-intro h1{font-size:28px}.v2-visit-gate{gap:16px;margin-top:18px;border-radius:20px;padding:20px 16px}.v2-visit-heading h2{font-size:27px}.v2-visit-heading span{font-size:15px}.v2-visit-choice{min-height:96px;grid-template-columns:48px minmax(0,1fr) 20px;gap:13px;border-radius:17px;padding:16px}.v2-visit-choice-icon{width:48px;height:48px;border-radius:14px;font-size:22px}.v2-visit-choice strong{font-size:21px}.v2-visit-choice small{font-size:15px}.v2-visit-choice-arrow{font-size:30px}.v2-visit-count-panel>label{font-size:20px}.v2-visit-count-field,.v2-visit-count-field input{min-height:60px;height:60px}.v2-visit-count-field input{font-size:24px}.v2-visit-start,.v2-visit-back{min-height:56px}}@media(max-width:430px){.v2-visit-quick{gap:7px}.v2-visit-quick button{min-height:74px;border-radius:12px}.v2-visit-quick strong{font-size:24px}.v2-stage-row>span{font-size:15px}}@media(max-width:340px){.v2-visit-gate{padding-right:12px;padding-left:12px}.v2-visit-choice{grid-template-columns:44px minmax(0,1fr);padding:14px}.v2-visit-choice-icon{width:44px;height:44px}.v2-visit-choice-arrow{display:none}}@media(max-width:390px){.v2-stage-row{align-items:stretch;flex-direction:column;gap:6px}.v2-stage-row>span{white-space:nowrap}.v2-stage-row>div{justify-content:flex-end}.v2-visit-count-field span{padding-right:9px;font-size:15px}}.v2-home-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.v2-home-header .student-brand{min-width:0;white-space:nowrap}.v2-home-header .student-actions{min-width:0}.v2-home-header .student-data-button{min-height:44px;white-space:nowrap}.v2-home-header+.v2-home-main~.student-overlay .data-sheet{overflow-y:auto;overscroll-behavior:contain}.v2-home-header+.v2-home-main~.student-overlay .data-section{overflow-wrap:anywhere}.v2-home-header+.v2-home-main~.student-overlay .data-section p{line-height:1.55;word-break:break-word}.v2-home-header+.v2-home-main~.student-overlay .secondary-button,.v2-home-header+.v2-home-main~.student-overlay .text-button{min-height:44px;margin-top:10px}@media(max-width:390px){.v2-home-header{padding-inline:10px}.v2-home-header .student-brand{gap:5px;font-size:11px}.v2-home-header .student-brand .brand-mark{width:28px;height:28px;flex-basis:28px}.v2-home-header .online-pill{display:none}.v2-home-header .student-data-button{padding-inline:8px;font-size:11px}}.warning-focus-card{scroll-margin-top:24px}.v2-shell{display:flex;min-width:0;height:100%;overflow:hidden}.v2-sidebar{background:#fff;border-right:1px solid #e5e9f2}.v2-sidebar-desktop{display:flex;flex:0 0 240px;flex-direction:column;overflow:auto;padding:18px 12px}.v2-sidebar-brand{display:flex;align-items:center;gap:9px;font-weight:700}.v2-sidebar nav{display:grid;gap:5px;margin-top:24px}.v2-nav-item{min-height:44px;border:0;border-radius:10px;padding:0 12px;background:transparent;text-align:left}.v2-nav-item.active{background:#edf2ff;color:#315bea;font-weight:700}.v2-sidebar-account{display:grid;gap:8px;margin-top:auto;padding-top:22px}.v2-sidebar-account button{min-height:44px;border:0;border-radius:9px;background:#f4f6fa;color:#34415a}.v2-content{position:relative;display:flex;min-width:0;flex:1;flex-direction:column;overflow:hidden}.v2-mobile-header{display:none}.v2-data-view{width:min(820px,100%);margin:0 auto;padding:24px}.v2-data-view h1{outline:0}.v2-data-view p{overflow-wrap:anywhere}.v2-local-empty{color:#697386}.v2-mobile-overlay{position:fixed;z-index:30;inset:0;background:#07152f6b}.v2-mobile-drawer{display:flex;width:min(320px,86vw);height:100%;flex-direction:column;padding:16px}.v2-mobile-drawer>button{min-height:44px}@media(min-width:901px){.v2-mobile-overlay{display:none}}@media(max-width:900px){.v2-sidebar-desktop{display:none}.v2-mobile-header{display:block;min-height:56px;padding:6px 12px;background:#fff}.v2-mobile-menu-button{width:44px;height:44px;border:0;border-radius:8px;background:#f2f5fa;font-size:22px}.v2-home-main{padding-bottom:150px}.v2-home-footer{position:absolute}.v2-home-questions{grid-template-columns:1fr}.v2-mobile-drawer{box-shadow:4px 0 24px #00000026}}.v2-sidebar-identity{display:grid;gap:2px;min-width:0;color:#536176}.v2-sidebar-identity strong{overflow-wrap:anywhere;color:#172033;font-size:14px}.v2-sidebar-identity small:last-child{color:#778196}.v2-mobile-drawer{max-height:100dvh;overflow-y:auto}.restore-account-status-button{min-height:32px;border:1px solid #cbd9e6;border-radius:8px;padding:5px 8px;background:#f4f8fb;color:#516b83;font-size:11px;font-weight:700;white-space:nowrap}.restore-account-status-button:focus-visible{outline:3px solid rgba(81,107,131,.28);outline-offset:2px}@media(max-width:900px){.warning-focus-card{scroll-margin-top:120px}}.v2-submit-success{width:min(820px,100%);margin:0 auto 7px;border-radius:12px;padding:12px 16px;background:var(--success-bg);color:var(--success-fg);font-size:14px;font-weight:700;display:flex;align-items:center;gap:8px;box-shadow:var(--sh-sm)}.v2-submit-success:before{content:"✓";display:inline-grid;width:22px;height:22px;place-items:center;border-radius:50%;background:var(--success-fg);color:#fff;font-size:13px;flex-shrink:0}@media(min-width:901px){.v2-home-footer{top:auto;bottom:0;transform:none}}@media(max-width:900px){.v2-home-footer{position:fixed;right:0;bottom:var(--v2-mobile-composer-inset,0px);left:0;top:auto;z-index:12;transform:none}}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;height:100%}body{margin:0;-webkit-font-smoothing:antialiased;background:#f6f8fc}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}.brand-mark{display:inline-grid;width:38px;height:38px;flex:0 0 38px;place-items:center}.brand-mark svg{display:block;width:100%;height:100%;filter:drop-shadow(0 5px 12px rgba(79,105,238,.28))}.eyebrow{margin:0 0 10px;color:#6680d9;font-size:12px;font-weight:750;letter-spacing:.15em;text-transform:uppercase}.subtle{color:var(--muted);line-height:1.65}.primary-button,.secondary-button{min-height:46px;border:0;border-radius:13px;padding:0 20px;font-weight:700;transition:.2s}.primary-button{background:linear-gradient(135deg,#315bea,#5d6eef);color:#fff;box-shadow:0 10px 24px #315bea33}.primary-button:hover{transform:translateY(-1px);box-shadow:0 13px 30px #315bea45}.primary-button:disabled{opacity:.6;cursor:wait;transform:none}.secondary-button{background:#eef2ff;color:#315bea}.ghost-button{border:1px solid var(--line);border-radius:10px;background:#fff;color:#566074;padding:8px 13px}.text-button{border:0;background:transparent;color:#315bea;font-weight:650}.text-link{display:block;margin-top:18px;text-align:center;color:#315bea;text-decoration:none}.link-button{display:grid;place-items:center;text-decoration:none;margin-top:18px}.form-error{margin:10px 0;color:var(--danger);font-size:13px;line-height:1.5}.auth-page{min-height:100dvh;display:grid;grid-template-columns:minmax(420px,1.05fr) minmax(440px,.95fr);background:#fff}.auth-intro{position:relative;overflow:hidden;display:flex;min-height:100dvh;flex-direction:column;justify-content:space-between;padding:42px 7vw;background:radial-gradient(circle at 18% 18%,rgba(99,124,255,.38),transparent 29%),radial-gradient(circle at 76% 66%,rgba(165,102,255,.24),transparent 28%),linear-gradient(145deg,#06142e,#0b2149 62%,#101d48);color:#fff}.auth-intro:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,rgba(255,255,255,.65) 0 1px,transparent 1.5px);background-size:54px 54px;opacity:.25;-webkit-mask-image:linear-gradient(135deg,#000,transparent 75%);mask-image:linear-gradient(135deg,#000,transparent 75%)}.intro-brand,.mobile-brand,.admin-logo,.student-brand{position:relative;z-index:1;display:flex;align-items:center;gap:10px;font-weight:750}.auth-intro h1{position:relative;z-index:1;margin:0 0 22px;font-size:clamp(38px,4.4vw,66px);line-height:1.18;letter-spacing:-.035em}.auth-intro p:not(.eyebrow){position:relative;z-index:1;color:#c8d6f2;font-size:17px}.auth-intro small{position:relative;z-index:1;color:#8196c0}.auth-panel{display:grid;place-items:center;padding:32px}.auth-card{width:min(420px,100%);padding:42px;border:1px solid #edf0f6;border-radius:24px;background:#fff;box-shadow:0 22px 60px #11204417}.auth-card h2{margin:0 0 8px;font-size:28px;letter-spacing:-.02em}.auth-card label,.user-form label{display:flex;flex-direction:column;gap:8px;margin-top:19px;color:#4b566a;font-size:13px;font-weight:650}.auth-card input,.user-form input,.user-form select{width:100%;height:47px;border:1px solid #dce2ed;border-radius:12px;outline:0;padding:0 14px;background:#fbfcfe;color:#172033;transition:.18s}.auth-card input:focus,.user-form input:focus,.user-form select:focus{border-color:#7b94ed;box-shadow:0 0 0 4px #315bea17;background:#fff}.auth-card .primary-button{width:100%;margin-top:25px}.auth-help{margin:20px 0 0;text-align:center;color:#929aaa;font-size:12px;line-height:1.6}.mobile-brand{display:none;margin-bottom:30px;color:#172033}.center-page{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 12% 5%,#eaf0ff,transparent 32%),#f7f9fd}.compact-card{max-width:440px}.mobile-brand.always{display:flex}.reserved-card{text-align:center}.large-mark{width:76px;height:76px;margin:0 auto 20px}.student-app{position:relative;display:flex;min-height:520px;overflow:hidden;flex-direction:column;background:radial-gradient(circle at 50% 18%,#f1f5ff,transparent 38%),#fff}.student-header{position:relative;z-index:5;height:66px;flex:0 0 66px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid rgba(226,231,241,.9);padding:0 max(18px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left));background:#ffffffe6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.student-brand .brand-mark{width:32px;height:32px;flex-basis:32px}.student-actions{display:flex;align-items:center;justify-content:flex-end;gap:11px}.online-pill{display:flex;align-items:center;gap:7px;border-radius:99px;background:#edfbf5;color:#168457;padding:7px 10px;font-size:12px}.online-pill i{width:7px;height:7px;border-radius:50%;background:#20c57e;box-shadow:0 0 0 3px #d5f6e7}.student-icon-button,.student-data-button,.student-password-button{border:1px solid #e4e8f1;border-radius:11px;background:#fff;color:#4b566a}.student-icon-button{width:38px;height:38px;padding:0;font-size:18px}.student-data-button,.student-password-button{min-height:38px;padding:0 13px;font-size:12px;font-weight:700}.student-password-button{color:#657084}.student-main{flex:1;min-height:0;overflow:auto;padding:30px 18px 145px;scroll-behavior:smooth;overscroll-behavior:contain}.student-welcome{width:min(820px,100%);margin:26px auto 0;text-align:center}.student-welcome h1{margin:0 0 12px;font-size:clamp(27px,4vw,42px);letter-spacing:-.035em}.student-welcome>p:not(.eyebrow){margin:0;color:var(--muted)}.checkin-streak-card{position:relative;z-index:1;width:min(520px,100%);min-height:126px;display:flex;align-items:center;gap:18px;overflow:hidden;margin:8px auto 28px;border:1px solid #e2e7f2;border-radius:22px;padding:19px 28px 19px 20px;background:#fffffff5;box-shadow:0 13px 36px #1d305b17;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:left}.checkin-flame{width:72px;height:72px;flex:0 0 72px;display:grid;place-items:center;border-radius:19px;background:linear-gradient(145deg,#f0f3ff,#e8edff);color:#67e}.checkin-flame svg{width:46px;height:46px;overflow:visible;fill:currentColor;filter:drop-shadow(0 7px 10px rgba(73,91,220,.2))}.checkin-flame .flame-core{fill:#ffd866}.checkin-copy{min-width:0;display:flex;flex:1;flex-direction:column}.checkin-copy>small{color:#657084;font-size:13px;font-weight:750;letter-spacing:.04em}.checkin-copy>strong{display:flex;align-items:baseline;gap:6px;margin:1px 0 8px;color:#315bea;font-weight:750;line-height:1}.checkin-copy strong b{font-size:45px;font-weight:760;font-variant-numeric:tabular-nums;letter-spacing:-.06em}.checkin-copy strong em{font-size:16px;font-style:normal;font-weight:650}.checkin-copy>span{border-top:1px solid #edf0f6;padding-top:9px;color:#68748a;font-size:12px;line-height:1.4}.checkin-accent{position:absolute;top:16px;right:0;bottom:16px;width:4px;border-radius:4px 0 0 4px;background:linear-gradient(#566ff0,#8b6fe9)}.checkin-streak-card.is-complete .checkin-flame{background:linear-gradient(145deg,#eef4ff,#eeeaff);color:#586be9}.checkin-reward{position:absolute;top:12px;right:18px;color:#5269e9;font-size:16px;font-weight:850;opacity:0}.checkin-streak-card.celebrating{animation:checkin-card-glow 1.2s ease-out}.checkin-streak-card.celebrating .checkin-flame{animation:checkin-flame-pop .75s cubic-bezier(.2,.9,.3,1.35)}.checkin-streak-card.celebrating .checkin-copy strong b{animation:checkin-number-pop .8s cubic-bezier(.2,.9,.3,1.35)}.checkin-streak-card.celebrating .checkin-reward{animation:checkin-reward-rise 1.35s ease-out}@keyframes checkin-card-glow{0%{box-shadow:0 13px 36px #1d305b17}35%{box-shadow:0 15px 45px #5369eb42,0 0 0 5px #5c70ed14}to{box-shadow:0 13px 36px #1d305b17}}@keyframes checkin-flame-pop{0%{transform:scale(.88) rotate(-4deg)}45%{transform:scale(1.15) rotate(4deg)}to{transform:scale(1) rotate(0)}}@keyframes checkin-number-pop{0%{transform:scale(.72);opacity:.35}55%{transform:scale(1.18)}to{transform:scale(1);opacity:1}}@keyframes checkin-reward-rise{0%{transform:translateY(14px);opacity:0}25%{opacity:1}to{transform:translateY(-18px);opacity:0}}.daily-report-reminder{width:min(820px,100%);display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 auto 24px;border:1px solid #f2d991;border-radius:14px;padding:13px 16px;background:#fff9df;color:#77560b;text-align:left;box-shadow:0 6px 18px #855e0712}.daily-report-reminder strong{flex:0 0 auto;font-size:13px}.daily-report-reminder span{color:#8f711f;font-size:12px;line-height:1.5}.daily-report-reminder.reminder-orange{border-color:#efc394;background:#fff3e5;color:#8e480d}.daily-report-reminder.reminder-orange span{color:#a45a1b}.daily-report-reminder.reminder-red{border-color:#efb6bf;background:#fff0f2;color:#a53346}.daily-report-reminder.reminder-red span{color:#b24d5d}.prompt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:44px;text-align:left}.prompt-grid button{display:flex;min-height:68px;align-items:center;justify-content:space-between;border:1px solid #e2e7f1;border-radius:16px;padding:14px 16px;background:#ffffffd9;color:#38445a;box-shadow:0 5px 18px #16274b0a;transition:.18s}.prompt-grid button:hover{border-color:#9fb2f5;transform:translateY(-2px);box-shadow:0 10px 25px #315bea1a}.prompt-grid span{color:#6984df}.chat-loading{height:70%;display:flex;align-items:center;justify-content:center;gap:12px;color:#788398}.chat-loading .brand-mark{width:34px;height:34px}.chat-thread{width:min(820px,100%);margin:0 auto;display:flex;flex-direction:column;gap:22px}.chat-message{display:flex;align-items:flex-start;gap:10px}.chat-message.user{justify-content:flex-end}.message-avatar{width:32px;height:32px;flex:0 0 32px}.message-content{max-width:min(680px,82%);border:1px solid #e7eaf1;border-radius:6px 18px 18px;padding:13px 16px;background:#fff;box-shadow:0 6px 20px #192a520b}.chat-message.user .message-content{border:0;border-radius:18px 18px 6px;background:linear-gradient(135deg,#315bea,#5d6eef);color:#fff;box-shadow:0 7px 20px #315bea2e}.message-content>p{margin:0;white-space:pre-wrap;line-height:1.72;word-break:break-word}.record-receipt{min-width:min(390px,68vw);margin-top:12px;border:1px solid #e4e8f0;border-radius:14px;padding:13px;background:#fafbfe}.record-receipt.success{border-color:#b9e8ce;background:#f2fbf6}.record-receipt.incomplete{border-color:#f1c9ca;background:#fff7f7}.receipt-title{display:flex;align-items:center;gap:9px;color:#24314b}.receipt-main-icon,.receipt-field-icon{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-weight:800}.receipt-main-icon{width:24px;height:24px;background:#d9343a;color:#fff}.record-receipt.success .receipt-main-icon{background:#19a260}.record-receipt ul{display:grid;gap:7px;margin:11px 0 0;padding:0;list-style:none}.record-receipt li{display:flex;align-items:center;gap:9px;border-radius:10px;padding:8px 9px;background:#ffffffc7}.receipt-field-icon{width:19px;height:19px;flex:0 0 19px;background:#d9343a;color:#fff;font-size:12px}.record-receipt li.success .receipt-field-icon{background:#19a260}.record-receipt li.pending .receipt-field-icon{background:#d89a27}.record-receipt li>span:last-child{display:flex;min-width:0;flex-direction:column;gap:2px}.record-receipt li strong{color:#29354b;font-size:12px}.record-receipt li small{color:#748096;font-size:11px;line-height:1.35}.receipt-format{display:grid;gap:5px;margin-top:10px;border-top:1px dashed #e4b8ba;padding-top:10px}.receipt-format span{color:#a55256;font-size:10px;font-weight:700}.receipt-format code{white-space:normal;color:#7e3d42;font-family:inherit;font-size:12px;line-height:1.5}.receipt-meta{margin-top:5px;color:#748096;font-size:12px;font-variant-numeric:tabular-nums;line-height:1.4;white-space:nowrap}@media(max-width:390px){.record-receipt{min-width:min(390px,76vw);padding:11px}}.inline-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.inline-summary span{display:flex;flex-direction:column;border-radius:11px;padding:9px;background:#f5f7fc;color:#778196;font-size:10px;text-align:center}.inline-summary strong{color:#25314a;font-size:20px}.thinking-message .message-content{display:flex;align-items:center;gap:5px;color:#7b8495;font-size:12px}.thinking-message .message-content span{margin-right:4px}.thinking-message i{width:5px;height:5px;border-radius:50%;background:#8799df;animation:thinking 1.1s infinite ease-in-out}.thinking-message i:nth-of-type(2){animation-delay:.15s}.thinking-message i:nth-of-type(3){animation-delay:.3s}@keyframes thinking{0%,70%,to{transform:translateY(0);opacity:.4}35%{transform:translateY(-4px);opacity:1}}.student-composer{position:absolute;z-index:4;right:0;bottom:0;left:0;padding:12px max(18px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:linear-gradient(transparent,#fff 23%)}.chat-input{width:min(820px,100%);display:flex;align-items:flex-end;gap:10px;margin:0 auto;border:1px solid #dce2ed;border-radius:25px;padding:8px 9px 8px 18px;background:#fff;box-shadow:0 12px 35px #192b5321}.chat-input textarea{flex:1;min-width:0;min-height:42px;max-height:120px;resize:none;border:0;outline:0;padding:10px 0;background:transparent;font-size:16px;line-height:1.4}.chat-input button{width:42px;height:42px;flex:0 0 42px;border:0;border-radius:50%;background:linear-gradient(135deg,#315bea,#6978f4);color:#fff;font-size:20px}.chat-input button:disabled{opacity:.35;cursor:default}.student-composer small{display:block;margin:7px auto 0;text-align:center;color:#9aa2b1;font-size:10px}.composer-error{width:min(820px,100%);margin:0 auto 7px;border-radius:10px;padding:8px 12px;background:#fff0f2;color:#bd354b;font-size:12px}.student-overlay{position:absolute;z-index:20;inset:0;display:flex;background:#08122b52;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.student-sheet{height:100%;display:flex;flex-direction:column;background:#fff;box-shadow:18px 0 55px #0a193a2e;animation:sheet-in .2s ease-out}.session-sheet{width:min(350px,90vw);padding:24px 18px max(18px,env(safe-area-inset-bottom))}.data-sheet{width:min(470px,94vw);margin-left:auto;padding:24px 20px max(18px,env(safe-area-inset-bottom));box-shadow:-18px 0 55px #0a193a2e;animation:data-sheet-in .2s ease-out}.password-sheet{width:min(420px,94vw);margin-left:auto;overflow:auto;padding:24px 20px max(18px,env(safe-area-inset-bottom));box-shadow:-18px 0 55px #0a193a2e;animation:data-sheet-in .2s ease-out}@keyframes sheet-in{0%{transform:translate(-30px);opacity:.5}}@keyframes data-sheet-in{0%{transform:translate(30px);opacity:.5}}.sheet-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.sheet-heading small{color:#778196}.sheet-heading h2{margin:3px 0 0;font-size:24px}.sheet-heading>button{width:34px;height:34px;border:0;border-radius:50%;background:#f2f4f8;color:#596477;font-size:20px}.new-chat-button{min-height:44px;border:1px solid #cfd9fa;border-radius:13px;background:#f5f7ff;color:#315bea;font-weight:700}.session-list{min-height:0;overflow:auto;display:flex;flex-direction:column;gap:6px;margin-top:16px}.session-row{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;border-radius:11px;transition:.15s}.session-row.active{background:#eef2ff;color:#2448c7}.session-select{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px;border:0;border-radius:11px;padding:11px 8px 11px 12px;background:transparent;color:inherit;text-align:left}.session-select span{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-select small{color:#929aaa;font-size:10px}.session-delete{width:28px;height:28px;border:0;border-radius:50%;background:transparent;color:#a1a9b6;font-size:18px;line-height:1;opacity:.65;transition:.15s}.session-delete:hover{background:#fff0f2;color:#c8455a;opacity:1}.session-row:focus-within{box-shadow:0 0 0 2px #315bea1f}.sheet-signout{margin-top:auto;border:0;border-radius:11px;padding:12px;background:#f7f8fa;color:#737d8e}.data-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;border-radius:13px;padding:4px;background:#f1f3f7}.data-tabs button{border:0;border-radius:10px;padding:9px;background:transparent;color:#7a8495;font-size:12px}.data-tabs button.active{background:#fff;color:#315bea;box-shadow:0 3px 10px #14234614;font-weight:700}.data-section{min-height:0;overflow:auto;margin-top:18px;padding:1px 2px 30px}.personal-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.personal-metrics article{border:1px solid #e8ebf2;border-radius:14px;padding:13px;background:#fff}.personal-metrics small{display:block;color:#7c8799}.personal-metrics strong{margin-right:3px;font-size:25px}.personal-metrics span{color:#7c8799;font-size:11px}.outcome-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:9px;border-radius:13px;padding:9px;background:#f5f7fb}.growth-card{margin-top:14px;border:1px solid #e8ebf2;border-radius:15px;padding:15px;background:#fff}.growth-card h3{margin:0;font-size:15px}.growth-card small{color:#8b94a4}.growth-bars{height:112px;display:flex;align-items:flex-end;gap:3px;margin-top:18px;border-bottom:1px solid #edf0f5}.growth-bars>span{height:100%;flex:1;display:flex;align-items:flex-end;justify-content:center;gap:1px}.growth-bars i{width:42%;min-width:2px;border-radius:3px 3px 0 0}.visit-bar{background:#5372ec}.appointment-bar{background:#aa78df}.action-insights-card,.trend-30d-card{margin-top:14px;border:1px solid #e0e8f2;border-radius:15px;padding:15px;background:linear-gradient(135deg,#f7fbfc,#f9f7fd)}.insight-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.insight-heading small,.trend-30d-card small{color:#75849a;font-size:11px}.insight-heading h3,.trend-30d-card h3{margin:3px 0 0;color:#2a4053;font-size:15px}.insight-days{min-width:50px;color:#286f78;font-size:25px;font-weight:750;text-align:right}.insight-days small{margin-left:2px;font-size:10px}.action-insights-card p{margin:12px 0 0;color:#596d7d;font-size:12px;line-height:1.6}.action-insights-card .week-insight{border-radius:10px;padding:9px 10px;background:#f0f3fb;color:#53649a}.action-insights-card .week-insight.completed{background:#eff8f4;color:#34735e}.trend-chart{display:block;width:100%;height:150px;margin-top:14px;overflow:visible}.trend-grid{stroke:#dce6ec;stroke-width:.45}.trend-y-tick{fill:#8592a5;font-size:4px}.trend-area{stroke:none}.trend-area.actual{fill:#2e9a9c1f}.trend-area.planned{fill:#8465c81a}.trend-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.trend-line.actual{stroke:#2e9a9c}.trend-line.planned{stroke:#8465c8}.trend-point{fill:#2e9a9c;stroke:#fff;stroke-width:.6;cursor:pointer}.trend-point:focus{outline:none;stroke:#253b4d;stroke-width:1.2}.trend-axis{display:flex;justify-content:space-between;color:#8592a5;font-size:10px}.trend-tooltip,.trend-empty{margin:10px 0 0;color:#657589;font-size:11px;line-height:1.5}.trend-empty{padding:18px 0;text-align:center}.phase3-card{display:flex;flex-direction:column;gap:7px;margin-top:14px;border-radius:14px;padding:15px;background:linear-gradient(135deg,#f1f4ff,#faf5ff);color:#3f4f87}.phase3-card>div{display:flex;align-items:center;justify-content:space-between}.phase3-card span{color:#7b84a3;font-size:12px;line-height:1.5}.phase3-card progress,.completion-cell progress{width:100%;height:7px;border:0;border-radius:99px;overflow:hidden;background:#dfe5f7}.phase3-card progress::-webkit-progress-bar,.completion-cell progress::-webkit-progress-bar{background:#dfe5f7}.phase3-card progress::-webkit-progress-value,.completion-cell progress::-webkit-progress-value{background:linear-gradient(90deg,#315bea,#806eea)}.student-form{border:1px solid #e6eaf2;border-radius:16px;padding:16px;background:#fff}.student-form label{display:flex;flex-direction:column;gap:7px;margin-bottom:13px;color:#596477;font-size:12px;font-weight:650}.student-form input,.student-form textarea{width:100%;border:1px solid #dde2ec;border-radius:11px;outline:0;padding:11px 12px;background:#fbfcfe;color:#172033;font-size:16px}.student-form textarea{resize:vertical;line-height:1.5}.student-form input:focus,.student-form textarea:focus{border-color:#8198ed;box-shadow:0 0 0 3px #315bea14;background:#fff}.student-form .primary-button{width:100%}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.report-form-error{margin:0 0 12px;border:1px solid #f2bcc5;border-radius:10px;padding:10px 12px;background:#fff0f2;color:#a92f45;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.password-form-note{margin:0 0 18px;border-radius:12px;padding:11px 13px;background:#f3f6ff;color:#687797;font-size:12px;line-height:1.55}.password-form{padding:18px}.password-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:9px;margin-top:8px}.password-actions .primary-button{margin:0}.password-actions .secondary-button{width:100%}.admin-password-overlay{position:fixed;z-index:50;inset:0;display:flex;justify-content:flex-end;background:#08122b52;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.admin-password-overlay .password-change-panel{width:min(420px,94vw);height:100%;overflow:auto;padding:24px 20px max(18px,env(safe-area-inset-bottom));background:#fff;box-shadow:-18px 0 55px #0a193a2e}.header-actions{display:flex;align-items:center;gap:8px}.report-mode-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;border:1px solid #cdd9ff;border-radius:13px;padding:12px 13px;background:#f3f6ff}.report-mode-banner.modify{border-color:#f1d59a;background:#fff9e8}.report-mode-banner>div,.history-heading>div,.form-title{display:flex;flex-direction:column;gap:3px}.report-mode-banner strong{color:#3854b9;font-size:13px}.report-mode-banner.modify strong{color:#8b6410}.report-mode-banner small,.history-heading small,.form-title small{color:#818da5;font-size:10px;line-height:1.45}.report-mode-banner>button{flex:0 0 auto;border:0;border-radius:9px;padding:8px 10px;background:#fff;color:#315bea;font-size:10px;font-weight:700;box-shadow:0 2px 8px #1e326412}.history-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 2px 2px}.history-heading input{width:128px;border:1px solid #dde2ec;border-radius:9px;padding:7px 8px;background:#fff;color:#4f5a6e;font-size:12px}.form-title{margin-bottom:14px}.record-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}.record-list article,.report-record{width:100%;border:1px solid #eaedf3;border-radius:13px;padding:12px 14px;background:#fff;text-align:left}.record-list article>div,.report-record>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.record-list p,.report-record p{margin:5px 0;color:#667185;font-size:12px}.record-list small,.report-record small{color:#969ead}.report-record{cursor:pointer;transition:.15s}.report-record:hover,.report-record.active{border-color:#9eb1f4;background:#f7f9ff;box-shadow:0 5px 18px #315bea12}.customer-master{margin:14px 0;border:1px solid #e1e6f1;border-radius:15px;background:#fff;overflow:hidden}.customer-master>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px;cursor:pointer;list-style:none}.customer-master>summary::-webkit-details-marker{display:none}.customer-master>summary span{display:flex;flex-direction:column;gap:3px}.customer-master>summary strong{font-size:14px;color:#26334c}.customer-master>summary small{font-size:10px;color:#8b95a8}.customer-master>summary em,.customer-main em{font-style:normal;font-size:10px;font-weight:700;color:#315bea}.customer-master>summary>em{border-radius:999px;padding:5px 8px;background:#fff4db;color:#986300}.customer-create-form{display:grid;grid-template-columns:1.2fr .8fr .8fr auto;gap:8px;padding:0 14px 14px}.customer-create-form label{display:flex;flex-direction:column;gap:5px;color:#6a7488;font-size:10px}.customer-create-form input,.customer-create-form select,.customer-complete-form input,.customer-complete-form select{min-width:0;border:1px solid #dfe4ee;border-radius:9px;padding:9px;background:#fff;color:#26334c}.customer-create-form .primary-button{align-self:end;min-height:36px;padding:0 14px}.customer-list{display:flex;flex-direction:column;gap:7px;border-top:1px solid #edf0f5;padding:12px 14px}.customer-list article{border:1px solid #e8ebf2;border-radius:11px;background:#fbfcff}.customer-list article.incomplete{border-color:#efd99f;background:#fffaf0}.customer-main{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;border:0;padding:10px;background:transparent;text-align:left}.customer-main span{display:flex;min-width:0;flex-direction:column;gap:3px}.customer-main strong{font-size:13px;color:#26334c}.customer-main small{font-size:10px;color:#8a94a7}.customer-complete-form{display:grid;grid-template-columns:1fr 1fr auto auto;gap:6px;border-top:1px dashed #e5d7ae;padding:9px}.customer-complete-form button{border:0;border-radius:8px;padding:8px;background:#eef1f7;color:#677286}.customer-complete-form button.confirm{background:#315bea;color:#fff}.customer-list .empty-state{margin:2px 0}@media(max-width:640px){.customer-create-form{grid-template-columns:1fr 1fr}.customer-create-form label:first-child{grid-column:1/-1}.customer-create-form .primary-button{min-height:38px}.customer-complete-form{grid-template-columns:1fr 1fr}.customer-complete-form button{min-height:36px}}.record-list .record-meta,.report-record>.record-meta{display:flex;justify-content:flex-start;gap:5px 10px;margin:6px 0 3px;flex-wrap:wrap}.record-meta small{position:relative;color:#a0a8b6;font-size:9px;letter-spacing:.01em}.record-meta small+small:before{content:"·";margin-right:10px;color:#c0c6d0}.source-tag{border-radius:99px;padding:4px 8px;font-size:9px;font-weight:600}.source-tag{background:#edf2ff;color:#536dc5}.appointment-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.outcome-filter-button{min-width:0;height:52px;display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid #dfe4ee;border-radius:12px;padding:0 8px;background:#fff;color:#657084;font-size:11px;font-weight:650;white-space:nowrap}.outcome-filter-button small{overflow:hidden;color:inherit;font-size:inherit;font-weight:inherit;text-overflow:ellipsis;white-space:nowrap}.outcome-filter-button strong{flex:0 0 auto;color:#354159;font-size:16px;line-height:1}.outcome-filter-button.active,.outcome-filter-button:hover{border-color:#8fa4ed;background:#eef2ff;color:#315bea}.outcome-filter-button.active strong{color:#315bea}.outcome-filter-button:focus-visible{outline:3px solid rgba(49,91,234,.18);outline-offset:2px}.appointment-detail-section{margin-top:16px;scroll-margin-top:18px;outline:0}.appointment-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.appointment-detail-heading>div{display:flex;flex-direction:column;gap:3px}.appointment-detail-heading small{color:#8b95a6;font-size:10px}.appointment-detail-heading>span{border-radius:99px;padding:5px 9px;background:#f0f2f6;color:#697488;font-size:10px;white-space:nowrap}.outcome-tag{border-radius:99px;padding:4px 8px;font-size:9px;font-weight:700}.outcome-tag.pending{background:#fff4dc;color:#9d690d}.outcome-tag.met{background:#e8f8f0;color:#148255}.outcome-tag.not_met{background:#fff0f2;color:#bd4054}.not-met-reason{border-radius:8px;padding:7px 9px;background:#fff7f8;color:#9e4655!important}.outcome-actions{display:flex!important;justify-content:flex-start!important;gap:7px;margin-top:9px}.outcome-actions button{border:1px solid #dfe4ee;border-radius:8px;padding:6px 9px;background:#fff;color:#576276;font-size:10px}.outcome-editor{margin-top:11px;border-radius:11px;padding:11px;background:#f6f8fc}.outcome-choice{display:grid!important;grid-template-columns:1fr 1fr;gap:6px}.outcome-choice button{border:0;border-radius:8px;padding:7px;background:#e8ebf2;color:#737e90;font-size:11px}.outcome-choice button.active{background:#315bea;color:#fff}.outcome-editor label{display:flex;flex-direction:column;gap:6px;margin-top:10px;color:#596477;font-size:11px;font-weight:650}.outcome-editor input,.outcome-editor textarea{width:100%;border:1px solid #dce2ec;border-radius:9px;outline:0;padding:9px 10px;background:#fff;color:#172033;font-size:16px}.outcome-editor textarea{resize:vertical}.editor-actions{display:flex!important;justify-content:flex-end!important;gap:7px;margin-top:9px}.editor-actions button{border:0;border-radius:8px;padding:7px 11px;background:#e9ecf2;color:#657084;font-size:11px}.editor-actions .confirm{background:#315bea;color:#fff}.student-toast{position:absolute;z-index:30;left:50%;bottom:115px;transform:translate(-50%);border-radius:99px;padding:9px 15px;background:#18243a;color:#fff;font-size:12px;box-shadow:0 8px 25px #0a142d38}.report-followup-overlay{position:fixed;z-index:90;inset:0;display:grid;place-items:center;padding:20px;background:#0f182a61;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.report-followup-guide{position:relative;width:min(360px,100%);border-radius:20px;padding:28px 24px 23px;background:#fff;text-align:center;box-shadow:0 22px 60px #0c1a373d}.report-followup-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border:0;border-radius:50%;background:#f1f4f8;color:#738096;font-size:22px;line-height:1}.report-followup-icon{display:grid;width:42px;height:42px;margin:0 auto 12px;place-items:center;border-radius:50%;background:#e8f8f0;color:#138656;font-size:22px;font-weight:800}.report-followup-guide h2{margin:0;color:#20304b;font-size:20px}.report-followup-guide p{margin:10px 0 20px;color:#627087;font-size:13px;line-height:1.65}.report-followup-action{width:100%;min-height:42px}.admin-layout{min-height:100dvh;display:grid;grid-template-columns:240px 1fr;background:#f5f7fb}.admin-sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;padding:26px 18px;background:linear-gradient(180deg,#081833,#0d2349);color:#fff}.admin-logo{padding:0 6px;font-size:17px}.admin-logo .brand-mark{width:32px;height:32px;flex-basis:32px}.admin-sidebar nav{display:flex;flex-direction:column;gap:7px;margin-top:44px}.admin-sidebar nav a,.admin-sidebar nav button{display:flex;align-items:center;justify-content:space-between;border:0;border-radius:11px;padding:12px;background:transparent;color:#9fb0cf;font-size:14px;text-align:left;text-decoration:none}.admin-sidebar nav a.active,.admin-sidebar nav button.active{background:#708aff2e;color:#fff}.admin-sidebar nav button:disabled{cursor:default;opacity:.65}.admin-sidebar nav em{font-size:9px;font-style:normal;color:#7286ad}.sidebar-user{display:flex;flex-direction:column;margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:20px 8px 0}.sidebar-user small{margin-top:4px;color:#8095bb}.admin-main{min-width:0;padding:34px clamp(24px,4vw,60px) 60px}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.admin-header h1,.simple-console h1{margin:0;font-size:30px;letter-spacing:-.025em}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.metric-row article,.metric-row>.metric-card-button{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:16px;padding:18px 20px;background:#fff}.metric-row>.metric-card-button{position:relative;overflow:hidden;color:#172033;text-align:left;transition:.18s}.metric-row>.metric-card-button:hover,.metric-row>.metric-card-button.active{border-color:#99acf1;box-shadow:0 9px 24px #315bea1a;transform:translateY(-1px)}.metric-row>.metric-card-button small{position:absolute;right:14px;bottom:7px;color:#8a95aa;font-size:9px}.metric-row>.metric-card-button:after{content:"";position:absolute;top:0;right:0;bottom:0;width:4px;background:#8191ad}.metric-row>.metric-card-button.risk-yellow:after{background:#e3b637}.metric-row>.metric-card-button.risk-orange:after{background:#ed8732}.metric-row>.metric-card-button.risk-red:after{background:#d94b59}.metric-row span{color:var(--muted);font-size:13px}.metric-row strong{font-size:27px}.phase3-metrics{grid-template-columns:repeat(3,1fr)}.admin-card{margin-top:18px;border:1px solid var(--line);border-radius:18px;padding:24px;background:#fff;box-shadow:0 8px 30px #17274b09}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.section-heading h2{margin:0 0 5px;font-size:18px}.section-heading p{margin:0;color:var(--muted);font-size:13px}.user-form{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:14px;margin-top:6px}.user-form .wide-field{grid-column:span 2}.compact-form{grid-template-columns:repeat(5,minmax(120px,1fr));margin-top:8px}.admin-toolbar{display:flex;justify-content:flex-end;margin-bottom:14px}.admin-toolbar label{display:flex;align-items:center;gap:9px;color:#697386;font-size:12px}.admin-toolbar input{border:1px solid #dce2ed;border-radius:10px;padding:8px 10px;background:#fff;color:#354159}.admin-error{border-radius:10px;padding:10px 13px;background:#fff0f2}.admin-notice{position:fixed;z-index:50;top:22px;left:50%;transform:translate(-50%);border-radius:99px;padding:10px 17px;background:#13233f;color:#fff;font-size:12px;box-shadow:0 10px 30px #0a19373d}.completion-cell{display:grid;grid-template-columns:90px auto;align-items:center;gap:8px}.completion-cell progress{width:90px}.form-submit{align-self:end;margin-top:19px}.activation-result{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;border:1px solid #bee8d4;border-radius:13px;padding:14px 16px;background:#f1fbf6}.activation-result p{max-width:680px;overflow:hidden;margin:5px 0 0;color:#47735e;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.activation-result button{flex:0 0 auto;border:0;border-radius:9px;padding:9px 12px;background:#1a9b68;color:#fff}.hidden-file-input{display:none}.import-card .secondary-button{flex:0 0 auto}.import-actions{display:flex;align-items:center;gap:9px}.template-download{display:grid;place-items:center;text-decoration:none}.import-result{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;border:1px solid #bee8d4;border-radius:13px;padding:14px 16px;background:#f1fbf6}.import-result>div{display:flex;flex-direction:column;gap:4px}.import-result small{color:#668274}.import-result button{border:0;border-radius:9px;padding:9px 12px;background:#1a9b68;color:#fff}.data-table-wrap{overflow:auto;margin-top:18px}.student-group-maintenance-heading>div{min-width:0}.student-group-maintenance-card{min-width:0}.student-group-maintenance-heading{align-items:center}.group-maintenance-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;white-space:nowrap}.group-maintenance-toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 45%,transparent);outline-offset:2px}.student-group-card{min-width:0;overflow:hidden}.student-group-card .visually-embedded-heading{margin-top:0}.group-create-form{display:grid;grid-template-columns:minmax(160px,1fr) minmax(140px,1fr) 92px auto;gap:12px;align-items:end;margin:18px 0}.group-create-form label,.leader-editor label{display:grid;gap:6px;font-size:13px;font-weight:650;color:#40506b}.group-create-form input,.group-create-form select,.group-member-list select,.group-actions input,.leader-editor select{min-width:0;min-height:40px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff;color:var(--ink);font:inherit}.group-tree{display:grid;gap:14px}.group-coach-bucket{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fbfcff}.group-coach-bucket h3{margin:0 0 10px;font-size:15px}.student-group-node{border-top:1px solid var(--line);padding:10px 0}.student-group-node:first-of-type{border-top:0}.student-group-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.group-toggle{border:0;background:transparent;color:var(--ink);font:inherit;font-weight:750;text-align:left;padding:6px 0}.student-group-body{display:grid;gap:10px;padding:8px 0 0}.group-actions,.leader-editor{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.group-member-list{display:grid;gap:7px;margin:0;padding:0;list-style:none}.group-member-list li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border-radius:10px;background:#fff}.group-member-list select{flex:1 1 160px}.leader-badge{border-radius:999px;padding:3px 8px;background:#eef3ff;color:#3759b4;font-size:12px;font-weight:700}.ungrouped-node h4{margin:0 0 8px;font-size:13px}.unbound-bucket{background:#fffaf5}.muted{color:var(--muted);font-size:13px}.danger-text-button{border:0;background:transparent;color:#b43939;padding:7px 8px;font:inherit;font-weight:650}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:#7b8495;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}th,td{border-bottom:1px solid #edf0f5;padding:13px 12px;white-space:nowrap}td{color:#4b566a}.status-tag,.readonly-tag{display:inline-flex;border-radius:99px;padding:5px 9px;font-size:11px}.status-tag.active{background:#e9f9f1;color:#148255}.status-tag.invited{background:#fff7df;color:#a2700c}.reset-password-button{border:1px solid #e2c982;border-radius:8px;padding:7px 9px;background:#fffaf0;color:#8a6414;font-size:10px;font-weight:700}.reset-password-button:hover{background:#fff3cf}.reset-password-button:disabled{cursor:wait;opacity:.55}.default-target-note{display:inline-flex;margin-left:4px;border-radius:99px;padding:3px 6px;background:#eef2ff;color:#536ee6;font-size:10px;font-weight:700;vertical-align:middle}.intelligence-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.intelligence-ai-card{border-color:#dce3ff;background:radial-gradient(circle at 92% 0,rgba(129,104,234,.1),transparent 32%),linear-gradient(135deg,#fff,#f8f9ff)}.ai-private-tag{flex:0 0 auto;border-radius:99px;padding:6px 10px;background:#edf2ff;color:#526cc7;font-size:10px;font-weight:700}.analysis-composer{display:grid;grid-template-columns:100px minmax(260px,1fr) 150px;align-items:stretch;gap:10px;margin-top:18px}.analysis-composer select,.analysis-composer textarea{border:1px solid #dce2ed;border-radius:12px;outline:0;padding:11px 12px;background:#fff;color:#27344c}.analysis-composer textarea{resize:vertical;line-height:1.55}.analysis-composer select:focus,.analysis-composer textarea:focus{border-color:#7f96ed;box-shadow:0 0 0 3px #315bea14}.analysis-result{margin-top:17px;border:1px solid #dfe5f8;border-radius:14px;padding:17px;background:#fff;box-shadow:0 6px 20px #2738690a}.analysis-result>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.analysis-result span{border-radius:99px;padding:4px 8px;background:#eef2ff;color:#5e73c2;font-size:10px}.analysis-result p{margin:14px 0 0;color:#465269;white-space:pre-wrap;line-height:1.75}.warning-tag{display:inline-flex;border-radius:99px;padding:5px 9px;font-size:10px;font-weight:750}.warning-tag.normal{background:#eaf8f1;color:#168258}.warning-tag.yellow{background:#fff6d8;color:#9b6d08}.warning-tag.orange{background:#fff0df;color:#b55a10}.warning-tag.red{background:#ffeaed;color:#bc3549}.advice-cell{max-width:440px;white-space:normal;line-height:1.55}.advice-toggle-button{display:none;border:1px solid #cdd8fa;border-radius:9px;padding:7px 10px;background:#f3f6ff;color:#315bea;font-size:11px;font-weight:750;white-space:nowrap}.advice-detail-overlay{position:fixed;z-index:120;inset:0;display:grid;place-items:center;padding:20px;background:#0f182a75;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.advice-detail-dialog{width:min(500px,100%);border-radius:22px;padding:24px;background:#fff;box-shadow:0 24px 70px #0f182a47}.advice-detail-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.advice-detail-dialog>header>div{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:7px}.advice-detail-dialog h2{margin:0;color:#202c42;font-size:20px}.advice-detail-dialog header small{color:#8791a3;font-size:11px}.advice-detail-dialog>header>button{display:grid;width:36px;height:36px;flex:0 0 36px;place-items:center;border:0;border-radius:50%;background:#f0f3f8;color:#637087;font-size:24px;line-height:1}.advice-detail-dialog>p{margin:20px 0;border-left:3px solid #6f86ea;padding:3px 0 3px 14px;color:#4e5a70;font-size:14px;line-height:1.8}.advice-detail-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.advice-detail-metrics span{display:flex;min-width:0;flex-direction:column;gap:5px;border-radius:11px;padding:11px;background:#f6f8fc}.advice-detail-metrics small{color:#8590a3;font-size:9px}.advice-detail-metrics strong{color:#2c3950;font-size:13px}.advice-detail-close{width:100%;margin-top:18px}.compact-save{min-height:38px;padding:0 15px;font-size:12px}.warning-rule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.warning-rule-grid>label{display:flex;min-width:0;flex-direction:column;justify-content:space-between;gap:16px;border:1px solid #e5e9f2;border-radius:14px;padding:15px;background:#fbfcfe}.warning-rule-grid>label.rule-yellow{border-top:3px solid #e3b637}.warning-rule-grid>label.rule-orange{border-top:3px solid #ed8732}.warning-rule-grid>label.rule-red{border-top:3px solid #d94b59}.warning-rule-grid label>span{display:flex;flex-direction:column;gap:5px}.warning-rule-grid small{color:#7d8798;font-size:11px;line-height:1.45}.warning-rule-grid label>div{display:flex;align-items:center;gap:7px}.warning-rule-grid input[type=number]{width:70px;height:36px;border:1px solid #dce2ed;border-radius:9px;padding:0 9px;background:#fff;color:#2f3b52}.warning-rule-grid input[type=checkbox]{width:18px;height:18px;margin-left:auto;accent-color:#315bea}.warning-rule-grid em{color:#7e8899;font-size:11px;font-style:normal}.warning-focus-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:18px}.warning-focus-list>article{border:1px solid #e5e9f1;border-left:4px solid #8e9ab0;border-radius:13px;padding:14px;background:#fbfcfe}.warning-focus-list>article.focus-yellow{border-left-color:#e3b637}.warning-focus-list>article.focus-orange{border-left-color:#ed8732}.warning-focus-list>article.focus-red{border-left-color:#d94b59}.warning-focus-list article>div{display:flex;align-items:center;gap:9px}.warning-focus-list article>div small{margin-left:auto;color:#8a94a5}.warning-focus-list article p{margin:11px 0;color:#4f5b70;font-size:12px;line-height:1.6}.warning-focus-list footer{display:flex;gap:8px;flex-wrap:wrap}.warning-focus-list footer span{border-radius:99px;padding:4px 8px;background:#f0f3f8;color:#6e798d;font-size:9px}.drilldown-card{border-color:#dce4f5}.overview-period-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-bottom:20px}.overview-period-card{border:1px solid #e1e6ef;border-radius:18px;padding:17px;background:#fff;box-shadow:0 8px 24px #1c2b4b0a;transition:.18s}.overview-period-card.active{border-color:#8198ef;box-shadow:0 10px 26px #315bea1a}.overview-period-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.overview-period-card>header>button{display:flex;flex-direction:column;align-items:flex-start;gap:3px;border:0;background:transparent;color:#1f2b42;text-align:left}.overview-period-card>header>button span{font-size:16px;font-weight:800}.overview-period-card>header>button small{color:#8a94a7;font-size:10px}.overview-period-card>header>em{border-radius:99px;padding:5px 8px;background:#eef7f2;color:#28815e;font-size:9px;font-style:normal}.period-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.period-stat-grid>span,.period-stat-grid>button{position:relative;display:flex;min-width:0;flex-direction:column;gap:5px;border:1px solid #edf0f5;border-radius:11px;padding:10px;background:#fafbfd;color:#26334a;text-align:left}.period-stat-grid>button{cursor:pointer;transition:.15s}.period-stat-grid>button:hover{border-color:#a8b7ec;background:#f4f7ff}.period-stat-grid small{overflow:hidden;color:#7c8799;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.period-stat-grid strong{font-size:20px}.period-stat-grid em{position:absolute;right:7px;bottom:6px;color:#7184ca;font-size:8px;font-style:normal}.overview-period-card>footer{display:flex;justify-content:space-between;margin-top:12px;color:#778297;font-size:10px}.drilldown-card{scroll-margin-top:24px}.intelligence-activity-card{border-color:#dfe5f4}.intelligence-activity-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:16px}.intelligence-activity-grid>span{display:flex;flex-direction:column;gap:6px;border-radius:12px;padding:13px;background:#f6f8fc}.intelligence-activity-grid small{color:#7b879b;font-size:10px}.intelligence-activity-grid strong{color:#26344c;font-size:22px}.rule-explanation{display:flex;gap:9px;flex-wrap:wrap;margin-top:13px}.rule-explanation span{display:flex;align-items:center;gap:6px;border-radius:99px;padding:6px 9px;background:#fafbfc;color:#707b8e;font-size:9px}.rule-explanation i{width:7px;height:7px;border-radius:50%;background:#8c98ad}.rule-explanation i.yellow{background:#e3b637}.rule-explanation i.orange{background:#ed8732}.rule-explanation i.red{background:#d94b59}.account-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}.account-actions>small{color:#8c96a8}.delete-account-button{border:1px solid #efc3ca;border-radius:8px;padding:7px 9px;background:#fff6f7;color:#b73d50;font-size:10px;font-weight:700}.delete-account-button:hover{background:#ffecef}.admin-delete-overlay{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:20px;background:#161d2b73;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.admin-delete-dialog{width:min(430px,100%);border-radius:20px;padding:26px;background:#fff;box-shadow:0 24px 70px #161d2b47}.danger-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:#ffebee;color:#be3e52;font-size:22px;font-weight:900}.admin-delete-dialog h2{margin:14px 0 8px;color:#263248;font-size:20px}.admin-delete-dialog>p{margin:0 0 18px;color:#687489;font-size:12px;line-height:1.65}.admin-delete-dialog>.delete-dialog-error{margin:-7px 0 15px;border:1px solid #f2bcc5;border-radius:10px;padding:10px 12px;background:#fff0f2;color:#a92f45;font-weight:700;overflow-wrap:anywhere}.admin-delete-dialog label{display:flex;flex-direction:column;gap:7px;color:#4f5a6e;font-size:12px;font-weight:700}.admin-delete-dialog input{height:44px;border:1px solid #dce2eb;border-radius:11px;padding:0 12px;font-size:16px;outline:0}.admin-delete-dialog input:focus{border-color:#c85567;box-shadow:0 0 0 3px #c2435714}.admin-delete-dialog>div{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:19px}.confirm-delete-button{border:0;border-radius:10px;background:#c64156;color:#fff;font-weight:800}.confirm-delete-button:disabled{opacity:.55}.scope-badge{display:inline-flex;margin-top:7px;border-radius:99px;padding:5px 9px;background:#edf2ff;color:#536bc1;font-size:10px;font-weight:750}.unbound-alert-card{border-color:#efc47f!important;background:#fffaf0!important}.unbound-alert{margin:-4px 0 18px;border:1px solid #efd39f;border-radius:12px;padding:11px 14px;background:#fff8e8;color:#8d6016;font-size:12px}.unbound-student-row{background:#fffaf2}.unbound-mark{display:inline-flex;margin-left:6px;border-radius:99px;padding:3px 6px;background:#fff0cf;color:#9a680c;font-size:9px}.coach-binding-select{min-width:180px;height:36px;border:1px solid #dbe2ee;border-radius:9px;padding:0 8px;background:#fff;color:#354158;font-size:11px}.coach-binding-select:disabled{opacity:.55}.coach-binding-confirm{display:grid;gap:10px;margin:0 0 12px;border:1px solid #dce4f5;border-radius:12px;padding:12px;background:#f8faff}.coach-binding-confirm p{margin:0;font-weight:700}.coach-binding-confirm label{display:grid;gap:5px;font-size:12px}.coach-binding-confirm input{min-height:44px;box-sizing:border-box;border:1px solid #dbe2ee;border-radius:9px;padding:0 9px;font:inherit}.coach-binding-confirm>div{display:flex;gap:8px}.coach-binding-confirm button{min-height:44px}.row-group-confirm{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px;border:1px solid #dce4f5;border-radius:12px;padding:12px;padding-bottom:max(12px,env(safe-area-inset-bottom));background:#f8faff}.row-group-confirm p{margin:0;min-width:0}.row-group-confirm button,.row-group-select{min-height:44px}.row-group-select{min-width:140px;border:1px solid #dbe2ee;border-radius:9px;padding:0 8px;background:#fff;font:inherit}@media(max-width:640px){.row-group-confirm{display:grid;grid-template-columns:1fr 1fr}.row-group-confirm p{grid-column:1/-1}.row-group-confirm button{width:100%}.row-group-select{width:100%;min-width:0}}.student-profile-cell{min-width:214px}.student-profile-cell dl{display:grid;grid-template-columns:1fr 1fr;gap:5px 9px;margin:0}.student-profile-cell dl>div{min-width:0}.student-profile-cell dt{color:#8791a2;font-size:9px}.student-profile-cell dd{overflow:hidden;margin:2px 0 0;color:#3d4960;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.student-profile-cell dd small{margin-left:4px;color:#a26b0b;font-size:9px;white-space:nowrap}.readonly-tag{margin-right:12px;background:#eef2ff;color:#4c65c1}.empty-state{padding:30px;text-align:center;color:#949cac}.simple-console{min-height:100dvh;background:#f5f7fb}.simple-console>header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:16px clamp(22px,5vw,70px);background:#fff}.simple-console>main{padding:48px clamp(22px,7vw,100px)}.leader-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.leader-title-row .leader-module-tabs{flex:1;margin:16px 0 0}.leader-title-row h1{margin-bottom:8px}.leader-title-row label{display:flex;min-width:220px;flex-direction:column;gap:6px;color:#657086;font-size:11px;font-weight:700}.leader-title-row select{height:42px;border:1px solid #dce2ed;border-radius:11px;padding:0 11px;background:#fff;color:#2e3b53}.recruiter-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:26px}.recruiter-heading h1{margin-bottom:8px}.recruiter-heading p{margin-top:0}.recruiter-metrics{grid-template-columns:repeat(4,1fr)}@media(max-width:900px){.auth-page{grid-template-columns:1fr}.auth-intro{display:none}.auth-panel{min-height:100dvh;padding:22px;background:radial-gradient(circle at 20% 5%,#e9efff,transparent 30%),#f8fafe}.mobile-brand{display:flex}.auth-card input,.user-form input,.user-form select,textarea{font-size:16px}.admin-layout{display:block}.admin-sidebar{position:sticky;z-index:40;top:0;width:100%;height:auto;display:block;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 9px max(12px,env(safe-area-inset-left));box-shadow:0 8px 24px #07152f29}.admin-logo{display:flex;min-height:38px;align-items:center}.admin-logo span{display:inline}.admin-sidebar nav{display:flex;flex-direction:row;gap:6px;margin-top:7px;overflow-x:auto;overscroll-behavior-x:contain;padding:0 0 2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.admin-sidebar nav::-webkit-scrollbar{display:none}.admin-sidebar nav a,.admin-sidebar nav button{flex:0 0 auto;justify-content:center;min-height:38px;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:9px 14px;background:#ffffff09;color:#b7c4dc;font-size:12px;font-weight:650;white-space:nowrap}.admin-sidebar nav a.active,.admin-sidebar nav button.active{border-color:#899eff7a;background:#708aff40;color:#fff}.admin-sidebar nav em{margin-left:4px;color:#aab8ff}.sidebar-user{display:none}.admin-main{padding:26px max(18px,env(safe-area-inset-right)) 50px max(18px,env(safe-area-inset-left))}.admin-main.detail-open{padding-bottom:calc(55vh + env(safe-area-inset-bottom))}.drilldown-card{scroll-margin-top:120px}.desktop-advice-text{display:none}.advice-toggle-button{display:inline-flex}.advice-cell{max-width:none;white-space:nowrap}.advice-detail-overlay{align-items:end;padding:16px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.advice-detail-dialog{max-height:min(620px,calc(100dvh - 32px));overflow:auto;border-radius:22px 22px 16px 16px;padding:22px 18px}.advice-detail-metrics,.user-form,.compact-form{grid-template-columns:repeat(2,1fr)}.warning-rule-grid,.warning-focus-list{grid-template-columns:1fr}.intelligence-activity-grid{grid-template-columns:repeat(3,1fr)}.analysis-composer{grid-template-columns:90px 1fr}.analysis-composer .primary-button{grid-column:1/-1}}@media(max-width:640px){.student-header{height:60px;flex-basis:60px;grid-template-columns:42px auto 1fr;padding-right:max(12px,env(safe-area-inset-right));padding-left:max(12px,env(safe-area-inset-left))}.student-brand{gap:7px}.student-brand span{font-size:14px}.student-brand .brand-mark{width:29px;height:29px;flex-basis:29px}.student-actions{gap:6px}.online-pill{display:none}.student-data-button,.student-password-button{padding:0 9px}.student-main{padding:16px 12px 136px}.checkin-streak-card{min-height:112px;margin:2px auto 22px;border-radius:19px;padding:15px 22px 15px 15px;gap:14px}.checkin-flame{width:62px;height:62px;flex-basis:62px;border-radius:17px}.checkin-flame svg{width:40px;height:40px}.checkin-copy strong b{font-size:40px}.checkin-copy>span{padding-top:7px;font-size:11px}.student-welcome{margin-top:24px}.student-welcome h1{font-size:26px;line-height:1.25}.prompt-grid{grid-template-columns:repeat(2,1fr);gap:9px;margin-top:30px}.prompt-grid button{min-height:62px;padding:12px;font-size:13px}.chat-thread{gap:17px;margin-top:20px}.message-content{max-width:86%;padding:11px 13px}.message-avatar{width:28px;height:28px;flex-basis:28px}.student-composer{padding-right:max(12px,env(safe-area-inset-right));padding-left:max(12px,env(safe-area-inset-left))}.chat-input{gap:7px;padding-left:15px}.session-sheet{width:min(350px,92vw);padding-top:max(20px,env(safe-area-inset-top))}.data-sheet,.password-sheet{width:100%;max-width:none;padding:max(20px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.student-toast{bottom:106px;max-width:calc(100% - 30px);white-space:nowrap}.admin-sidebar{box-sizing:border-box;padding-right:max(10px,env(safe-area-inset-right));padding-left:max(10px,env(safe-area-inset-left))}.admin-sidebar nav a,.admin-sidebar nav button{min-height:36px;padding:8px 12px;font-size:11px}.admin-main{padding:20px max(14px,env(safe-area-inset-right)) calc(40px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.admin-header{align-items:flex-start}.admin-header h1{font-size:23px}.admin-header .ghost-button{font-size:11px}.metric-row{gap:8px}.metric-row article,.metric-row>.metric-card-button{flex-direction:column;align-items:flex-start;padding:13px}.metric-row strong{font-size:22px}.admin-card{padding:17px;border-radius:14px}.import-card .section-heading{align-items:stretch;flex-direction:column}.import-actions{display:grid;grid-template-columns:1fr 1fr}.import-actions .secondary-button{width:100%;padding:0 10px}.warning-focus-list article>div{align-items:flex-start;flex-direction:column}.warning-focus-list article>div small{width:100%;margin-left:0}.user-form{grid-template-columns:1fr 1fr;gap:10px}.user-form .wide-field{grid-column:span 2}.activation-result{align-items:flex-start;flex-direction:column}.activation-result p{max-width:100%}.data-table-wrap{margin-right:-17px}.simple-console>header{padding:13px 14px}.simple-console>main{padding:30px 14px}.simple-console .admin-logo span{font-size:14px}.recruiter-heading{flex-direction:column}.recruiter-heading .secondary-button{width:100%}.recruiter-metrics{grid-template-columns:1fr 1fr}.auth-card{padding:28px 22px;border-radius:20px}.center-page,.auth-panel{padding:14px}.intelligence-metrics{grid-template-columns:1fr 1fr}.analysis-composer{grid-template-columns:1fr}.analysis-composer .primary-button{grid-column:auto}.intelligence-ai-card .section-heading{align-items:flex-start;flex-direction:column}.warning-settings-card .section-heading{align-items:stretch;flex-direction:column}.compact-save{width:100%}}@media(max-width:390px){.student-header{grid-template-columns:40px auto 1fr}.student-brand span{font-size:13px}.student-data-button{min-height:36px;padding:0 8px;font-size:11px}.prompt-grid{grid-template-columns:1fr}.student-welcome{margin-top:2vh}.student-main{padding-bottom:136px}.message-content{max-width:88%}.personal-metrics{gap:6px}.personal-metrics article{padding:11px 9px}.personal-metrics strong{font-size:22px}.form-pair{gap:7px}.user-form{grid-template-columns:1fr}.user-form .wide-field{grid-column:auto}.metric-row{grid-template-columns:1fr 1fr}.import-actions{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.checkin-streak-card.celebrating,.checkin-streak-card.celebrating .checkin-flame,.checkin-streak-card.celebrating .checkin-copy strong b,.checkin-streak-card.celebrating .checkin-reward{animation:none}.student-main{scroll-behavior:auto}}@media(max-width:640px){.daily-report-reminder{align-items:flex-start;flex-direction:column;gap:4px;margin-bottom:18px;padding:11px 13px}.report-mode-banner{align-items:flex-start;flex-direction:column}.report-mode-banner>button{width:100%}}@media(max-width:390px){.outcome-overview,.appointment-summary{gap:5px}.outcome-filter-button{height:48px;gap:3px;border-radius:10px;padding:0 4px;font-size:10px}.outcome-filter-button strong{font-size:14px}}@media(max-width:640px){.overview-period-grid{grid-template-columns:1fr}.period-stat-grid{grid-template-columns:repeat(3,1fr)}.intelligence-activity-grid{grid-template-columns:repeat(2,1fr)}.account-actions{align-items:flex-start;flex-direction:column}.admin-delete-dialog{padding:22px}.admin-delete-dialog>div{grid-template-columns:1fr}.leader-title-row{align-items:stretch;flex-direction:column}.leader-title-row .leader-module-tabs,.leader-title-row label{width:100%}}.enrollment-management{position:relative}.enrollment-error{position:sticky;z-index:8;top:12px;border-radius:12px;padding:10px 14px;background:#fff0f2;box-shadow:0 8px 22px #6614231f}.enrollment-notice{position:sticky;z-index:8;top:12px}.camp-identity-card{display:flex;align-items:center;justify-content:space-between;gap:24px;border-radius:22px;padding:28px 30px;background:radial-gradient(circle at 82% 20%,rgba(121,145,255,.33),transparent 25%),linear-gradient(135deg,#071832,#133668);color:#fff;box-shadow:0 18px 42px #07193a2e}.camp-identity-card .eyebrow{color:#92aaff}.camp-identity-card h2{margin:0 0 8px;font-size:28px}.camp-identity-card span{color:#b9c8e3;font-size:13px}.camp-identity-card>strong{display:flex;align-items:flex-end;gap:8px;font-size:44px}.camp-identity-card>strong small{padding-bottom:7px;color:#b9c8e3;font-size:11px}.enrollment-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.enrollment-metrics article{display:flex;align-items:center;justify-content:space-between;border:1px solid #e3e8f2;border-radius:15px;padding:15px 17px;background:#fff}.enrollment-metrics article.active{border-color:#bce8d3;background:#f3fbf7}.enrollment-metrics span{color:#747f92;font-size:12px}.enrollment-metrics strong{font-size:25px}.enrollment-form{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.enrollment-form label,.enrollment-dialog label{display:flex;flex-direction:column;gap:7px;color:#566176;font-size:12px;font-weight:650}.enrollment-form label.wide{grid-column:span 2}.enrollment-form input,.enrollment-form select,.enrollment-dialog input,.enrollment-dialog select{width:100%;height:45px;border:1px solid #dce2ed;border-radius:11px;outline:0;padding:0 12px;background:#fbfcfe;color:#172033}.enrollment-form input:focus,.enrollment-form select:focus,.enrollment-dialog input:focus,.enrollment-dialog select:focus{border-color:#7890ea;box-shadow:0 0 0 3px #315bea14}.enrollment-form>.primary-button{align-self:end}.candidate-list,.official-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.candidate-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;border:1px solid #e8ebf2;border-radius:14px;padding:13px 14px}.candidate-list article>div{min-width:0;display:flex;flex-direction:column;gap:4px}.candidate-list article span{overflow:hidden;color:#7b8596;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.candidate-list article em{border-radius:99px;padding:5px 8px;background:#fff4df;color:#95630b;font-size:9px;font-style:normal;white-space:nowrap}.candidate-list .secondary-button{min-height:36px;padding:0 12px;font-size:11px}.official-roster>article{border:1px solid #e4e9f2;border-radius:16px;padding:16px;background:#fbfcff}.official-roster article>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.official-roster header>div{display:flex;min-width:0;flex-direction:column;gap:4px}.official-roster header span{color:#7c8799;font-size:11px}.enrollment-status{border-radius:99px;padding:5px 9px;font-size:10px;font-style:normal;white-space:nowrap}.enrollment-status.pending{background:#fff4df;color:#95630b}.enrollment-status.active{background:#e9f9f1;color:#148154}.enrollment-status.exited,.enrollment-status.departed{background:#eef0f4;color:#6d7685}.official-roster dl{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:15px 0}.official-roster dl div{border-radius:10px;padding:9px;background:#fff}.official-roster dt{color:#939baa;font-size:9px}.official-roster dd{overflow:hidden;margin:3px 0 0;color:#354159;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.official-roster .secondary-button{width:100%;min-height:39px}.official-roster article>small{display:block;color:#8a93a2;font-size:10px;text-align:center}.enrollment-dialog-overlay{position:fixed;z-index:80;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#0712296b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.enrollment-dialog{width:min(620px,100%);max-height:calc(100dvh - 40px);overflow:auto;border-radius:22px;padding:24px;background:#fff;box-shadow:0 28px 80px #05122d40}.enrollment-dialog>header{display:flex;align-items:flex-start;justify-content:space-between}.enrollment-dialog header small{color:#7e899b}.enrollment-dialog h2{margin:3px 0 0}.enrollment-dialog header>button{width:36px;height:36px;border:0;border-radius:50%;background:#f1f3f7;color:#657084;font-size:21px}.enrollment-dialog form{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:18px;border-top:1px solid #e8ebf2;padding-top:17px}.enrollment-dialog form h3{grid-column:1/-1;margin:0;font-size:15px}.enrollment-dialog form button{align-self:end}.enrollment-dialog form label:last-of-type:nth-child(3){grid-column:span 2}@media(max-width:900px){.camp-identity-card{padding:22px}.enrollment-metrics,.enrollment-form{grid-template-columns:repeat(2,1fr)}.candidate-list,.official-roster{grid-template-columns:1fr}.enrollment-form-card,.candidate-card,.official-roster-card{scroll-margin-top:118px}}@media(max-width:640px){.camp-identity-card{align-items:flex-start;border-radius:17px;padding:19px}.camp-identity-card h2{font-size:22px}.camp-identity-card>strong{font-size:34px}.enrollment-metrics{gap:7px}.enrollment-metrics article{align-items:flex-start;flex-direction:column;gap:4px;padding:12px}.enrollment-form{grid-template-columns:1fr}.enrollment-form label.wide{grid-column:auto}.enrollment-form>.primary-button{width:100%}.candidate-list article{grid-template-columns:minmax(0,1fr) auto}.candidate-list article em{grid-column:1/2;justify-self:start}.candidate-list .secondary-button{grid-column:2/3;grid-row:1/3}.enrollment-dialog-overlay{align-items:flex-end;padding:12px max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.enrollment-dialog{max-height:calc(100dvh - 24px);border-radius:22px 22px 14px 14px;padding:20px 16px}.enrollment-dialog form{grid-template-columns:1fr}.enrollment-dialog form h3,.enrollment-dialog form label:last-of-type:nth-child(3){grid-column:auto}.enrollment-dialog form button{width:100%}}@media(max-width:640px){.admin-layout{overflow-x:hidden}}.data-tabs button{min-height:44px}.student-tenure-badge{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:20px;height:20px;border:1px solid #d9e0e8;border-radius:6px;padding:0 5px;background:#f6f8fa;color:#68778a;font-size:10px;font-weight:500;line-height:1;font-variant-numeric:tabular-nums}.student-name-with-group.compact{gap:4px;font-size:13px}.student-name-with-group.compact .student-group-pill{max-width:8em}.student-name-with-group.compact .student-group-leader{font-size:9px}.batch-group-actions{position:sticky;bottom:0;display:flex;align-items:center;gap:8px;margin-top:10px;border:1px solid #dce4f5;border-radius:12px;padding:10px;background:#fff;box-shadow:0 -6px 18px #192a5214}.batch-group-actions select{min-width:0;flex:1;height:44px;border:1px solid #dce2ec;border-radius:9px;padding:0 8px;background:#fff}.batch-group-actions .primary-button,.batch-group-actions .text-button{min-height:44px}.student-list-grouping{display:grid;gap:10px;margin:0 0 14px}.student-list-grouping .group-filter-bar{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.student-list-grouping .group-filter-bar label{display:grid;gap:5px;font-size:13px;font-weight:650;color:#40506b}.student-list-grouping .group-filter-bar select{min-width:150px;min-height:44px;border:1px solid var(--line);border-radius:10px;padding:8px;background:#fff;font:inherit}.student-list-grouping .group-filter-bar label:last-of-type{min-height:44px;display:flex;align-items:center}.student-name-with-group{display:flex;align-items:center;gap:4px;min-width:0}.student-name-with-group strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-group-pill{box-sizing:border-box;display:inline-flex;align-items:center;flex:0 1 auto;min-width:0;max-width:10em;height:19px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--group-border);border-radius:6px;padding:2px 8px;background:var(--group-bg);color:var(--group-text);font-size:10px;font-weight:500;line-height:12px;box-shadow:none}.student-group-leader{flex:0 0 auto;border:1px solid var(--group-border);border-radius:6px;padding:1px 5px;background:var(--group-bg);color:var(--group-text);font-size:9px;font-weight:500;line-height:12px;white-space:nowrap}.group-tone-odd{--group-bg:#EEF4FA;--group-text:#60758A;--group-border:#D7E3EE}.group-tone-even{--group-bg:#F3F0F8;--group-text:#746A86;--group-border:#E1DCE9}.group-color-00{--group-bg:hsl(194 58% 94%);--group-text:#172033;--group-border:hsl(194 38% 42%);--group-accent:hsl(194 55% 35%)}.group-color-01{--group-bg:hsl(199 60% 94%);--group-text:#172033;--group-border:hsl(199 40% 42%);--group-accent:hsl(199 57% 35%)}.group-color-02{--group-bg:hsl(204 58% 94%);--group-text:#172033;--group-border:hsl(204 38% 42%);--group-accent:hsl(204 55% 35%)}.group-color-03{--group-bg:hsl(209 60% 94%);--group-text:#172033;--group-border:hsl(209 40% 42%);--group-accent:hsl(209 57% 35%)}.group-color-04{--group-bg:hsl(214 58% 94%);--group-text:#172033;--group-border:hsl(214 38% 42%);--group-accent:hsl(214 55% 35%)}.group-color-05{--group-bg:hsl(219 60% 94%);--group-text:#172033;--group-border:hsl(219 40% 42%);--group-accent:hsl(219 57% 35%)}.group-color-06{--group-bg:hsl(224 58% 94%);--group-text:#172033;--group-border:hsl(224 38% 42%);--group-accent:hsl(224 55% 35%)}.group-color-07{--group-bg:hsl(229 60% 94%);--group-text:#172033;--group-border:hsl(229 40% 42%);--group-accent:hsl(229 57% 35%)}.group-color-08{--group-bg:hsl(234 58% 94%);--group-text:#172033;--group-border:hsl(234 38% 42%);--group-accent:hsl(234 55% 35%)}.group-color-09{--group-bg:hsl(239 60% 94%);--group-text:#172033;--group-border:hsl(239 40% 42%);--group-accent:hsl(239 57% 35%)}.group-color-10{--group-bg:hsl(244 58% 94%);--group-text:#172033;--group-border:hsl(244 38% 42%);--group-accent:hsl(244 55% 35%)}.group-color-11{--group-bg:hsl(249 60% 94%);--group-text:#172033;--group-border:hsl(249 40% 42%);--group-accent:hsl(249 57% 35%)}.group-color-12{--group-bg:hsl(254 58% 94%);--group-text:#172033;--group-border:hsl(254 38% 42%);--group-accent:hsl(254 55% 35%)}.group-color-13{--group-bg:hsl(259 60% 94%);--group-text:#172033;--group-border:hsl(259 40% 42%);--group-accent:hsl(259 57% 35%)}.group-color-14{--group-bg:hsl(264 58% 94%);--group-text:#172033;--group-border:hsl(264 38% 42%);--group-accent:hsl(264 55% 35%)}.group-color-15{--group-bg:hsl(269 60% 94%);--group-text:#172033;--group-border:hsl(269 40% 42%);--group-accent:hsl(269 57% 35%)}.group-color-16{--group-bg:hsl(274 58% 94%);--group-text:#172033;--group-border:hsl(274 38% 42%);--group-accent:hsl(274 55% 35%)}.group-color-17{--group-bg:hsl(279 60% 94%);--group-text:#172033;--group-border:hsl(279 40% 42%);--group-accent:hsl(279 57% 35%)}.group-color-18{--group-bg:hsl(194 48% 91%);--group-text:#172033;--group-border:hsl(194 38% 42%);--group-accent:hsl(194 55% 35%)}.group-color-19{--group-bg:hsl(199 48% 91%);--group-text:#172033;--group-border:hsl(199 40% 42%);--group-accent:hsl(199 57% 35%)}.group-color-20{--group-bg:hsl(204 48% 91%);--group-text:#172033;--group-border:hsl(204 38% 42%);--group-accent:hsl(204 55% 35%)}.group-color-21{--group-bg:hsl(209 48% 91%);--group-text:#172033;--group-border:hsl(209 40% 42%);--group-accent:hsl(209 57% 35%)}.group-color-22{--group-bg:hsl(214 48% 91%);--group-text:#172033;--group-border:hsl(214 38% 42%);--group-accent:hsl(214 55% 35%)}.group-color-23{--group-bg:hsl(219 48% 91%);--group-text:#172033;--group-border:hsl(219 40% 42%);--group-accent:hsl(219 57% 35%)}.group-color-24{--group-bg:hsl(224 48% 91%);--group-text:#172033;--group-border:hsl(224 38% 42%);--group-accent:hsl(224 55% 35%)}.group-color-25{--group-bg:hsl(229 48% 91%);--group-text:#172033;--group-border:hsl(229 40% 42%);--group-accent:hsl(229 57% 35%)}.group-color-26{--group-bg:hsl(234 48% 91%);--group-text:#172033;--group-border:hsl(234 38% 42%);--group-accent:hsl(234 55% 35%)}.group-color-27{--group-bg:hsl(239 48% 91%);--group-text:#172033;--group-border:hsl(239 40% 42%);--group-accent:hsl(239 57% 35%)}.group-color-28{--group-bg:hsl(244 48% 91%);--group-text:#172033;--group-border:hsl(244 38% 42%);--group-accent:hsl(244 55% 35%)}.group-color-29{--group-bg:hsl(249 48% 91%);--group-text:#172033;--group-border:hsl(249 40% 42%);--group-accent:hsl(249 57% 35%)}.group-color-30{--group-bg:hsl(254 48% 91%);--group-text:#172033;--group-border:hsl(254 38% 42%);--group-accent:hsl(254 55% 35%)}.group-color-31{--group-bg:hsl(259 48% 91%);--group-text:#172033;--group-border:hsl(259 40% 42%);--group-accent:hsl(259 57% 35%)}.group-color-neutral{--group-bg:#edf1f6;--group-text:#52627a;--group-border:#718096;--group-accent:#607089}.group-color-00{--group-bg:hsl(15 85% 96%);--group-text:#172033;--group-border:hsl(15 85% 32%);--group-accent:hsl(15 85% 28%)}.group-color-01{--group-bg:hsl(240 85% 72%);--group-text:#172033;--group-border:hsl(240 85% 32%);--group-accent:hsl(240 85% 28%)}.group-color-02{--group-bg:hsl(210 85% 72%);--group-text:#172033;--group-border:hsl(210 85% 32%);--group-accent:hsl(210 85% 28%)}.group-color-03{--group-bg:hsl(300 85% 88%);--group-text:#172033;--group-border:hsl(300 85% 32%);--group-accent:hsl(300 85% 28%)}.group-color-04{--group-bg:hsl(300 85% 72%);--group-text:#172033;--group-border:hsl(300 85% 32%);--group-accent:hsl(300 85% 28%)}.group-color-05{--group-bg:hsl(45 50% 72%);--group-text:#172033;--group-border:hsl(45 50% 32%);--group-accent:hsl(45 50% 28%)}.group-color-06{--group-bg:hsl(195 35% 72%);--group-text:#172033;--group-border:hsl(195 35% 32%);--group-accent:hsl(195 35% 28%)}.group-color-07{--group-bg:hsl(345 50% 72%);--group-text:#172033;--group-border:hsl(345 50% 32%);--group-accent:hsl(345 50% 28%)}.group-color-08{--group-bg:hsl(255 50% 72%);--group-text:#172033;--group-border:hsl(255 50% 32%);--group-accent:hsl(255 50% 28%)}.group-color-09{--group-bg:hsl(165 85% 88%);--group-text:#172033;--group-border:hsl(165 85% 32%);--group-accent:hsl(165 85% 28%)}.group-color-10{--group-bg:hsl(300 85% 80%);--group-text:#172033;--group-border:hsl(300 85% 32%);--group-accent:hsl(300 85% 28%)}.group-color-11{--group-bg:hsl(60 85% 72%);--group-text:#172033;--group-border:hsl(60 85% 32%);--group-accent:hsl(60 85% 28%)}.group-color-12{--group-bg:hsl(15 70% 80%);--group-text:#172033;--group-border:hsl(15 70% 32%);--group-accent:hsl(15 70% 28%)}.group-color-13{--group-bg:hsl(30 85% 72%);--group-text:#172033;--group-border:hsl(30 85% 32%);--group-accent:hsl(30 85% 28%)}.group-color-14{--group-bg:hsl(45 85% 72%);--group-text:#172033;--group-border:hsl(45 85% 32%);--group-accent:hsl(45 85% 28%)}.group-color-15{--group-bg:hsl(270 70% 72%);--group-text:#172033;--group-border:hsl(270 70% 32%);--group-accent:hsl(270 70% 28%)}.group-color-16{--group-bg:hsl(315 50% 72%);--group-text:#172033;--group-border:hsl(315 50% 32%);--group-accent:hsl(315 50% 28%)}.group-color-17{--group-bg:hsl(60 85% 88%);--group-text:#172033;--group-border:hsl(60 85% 32%);--group-accent:hsl(60 85% 28%)}.group-color-18{--group-bg:hsl(330 85% 72%);--group-text:#172033;--group-border:hsl(330 85% 32%);--group-accent:hsl(330 85% 28%)}.group-color-19{--group-bg:hsl(225 35% 72%);--group-text:#172033;--group-border:hsl(225 35% 32%);--group-accent:hsl(225 35% 28%)}.group-color-20{--group-bg:hsl(345 85% 88%);--group-text:#172033;--group-border:hsl(345 85% 32%);--group-accent:hsl(345 85% 28%)}.group-color-21{--group-bg:hsl(225 85% 72%);--group-text:#172033;--group-border:hsl(225 85% 32%);--group-accent:hsl(225 85% 28%)}.group-color-22{--group-bg:hsl(165 85% 72%);--group-text:#172033;--group-border:hsl(165 85% 32%);--group-accent:hsl(165 85% 28%)}.group-color-23{--group-bg:hsl(195 85% 72%);--group-text:#172033;--group-border:hsl(195 85% 32%);--group-accent:hsl(195 85% 28%)}.group-color-24{--group-bg:hsl(60 85% 80%);--group-text:#172033;--group-border:hsl(60 85% 32%);--group-accent:hsl(60 85% 28%)}.group-color-25{--group-bg:hsl(15 85% 72%);--group-text:#172033;--group-border:hsl(15 85% 32%);--group-accent:hsl(15 85% 28%)}.group-color-26{--group-bg:hsl(180 85% 72%);--group-text:#172033;--group-border:hsl(180 85% 32%);--group-accent:hsl(180 85% 28%)}.group-color-27{--group-bg:hsl(345 85% 72%);--group-text:#172033;--group-border:hsl(345 85% 32%);--group-accent:hsl(345 85% 28%)}.group-color-28{--group-bg:hsl(255 50% 88%);--group-text:#172033;--group-border:hsl(255 50% 32%);--group-accent:hsl(255 50% 28%)}.group-color-29{--group-bg:hsl(315 85% 72%);--group-text:#172033;--group-border:hsl(315 85% 32%);--group-accent:hsl(315 85% 28%)}.group-color-30{--group-bg:hsl(45 35% 80%);--group-text:#172033;--group-border:hsl(45 35% 32%);--group-accent:hsl(45 35% 28%)}.group-color-31{--group-bg:hsl(195 50% 88%);--group-text:#172033;--group-border:hsl(195 50% 32%);--group-accent:hsl(195 50% 28%)}:is(.group-color-00,.group-color-01,.group-color-02,.group-color-03,.group-color-04,.group-color-05,.group-color-06,.group-color-07,.group-color-08,.group-color-09,.group-color-10,.group-color-11,.group-color-12,.group-color-13,.group-color-14,.group-color-15,.group-color-16,.group-color-17,.group-color-18,.group-color-19,.group-color-20,.group-color-21,.group-color-22,.group-color-23,.group-color-24,.group-color-25,.group-color-26,.group-color-27,.group-color-28,.group-color-29,.group-color-30,.group-color-31){--group-border:#172033}@media(max-width:640px){.batch-group-actions{align-items:stretch;flex-direction:column}.batch-group-actions .primary-button,.batch-group-actions .text-button{width:100%}}@media(max-width:640px){.student-list-grouping .group-filter-bar{display:grid;grid-template-columns:1fr 1fr}.student-list-grouping .group-filter-bar label{min-width:0}.student-list-grouping .group-filter-bar label:last-of-type,.student-list-grouping .group-filter-bar button{grid-column:1/-1;min-height:44px}.student-list-grouping .group-filter-bar select{min-width:0;width:100%;box-sizing:border-box}.student-name-with-group{max-width:220px}}.student-actions .student-data-button{min-height:44px}.institution-input{box-sizing:border-box;min-height:44px;width:100%;min-width:0}@media(min-width:901px){.account-management-table table{min-width:1120px;table-layout:fixed}.account-management-table th,.account-management-table td{padding-right:6px;padding-left:6px}.account-management-table .account-name-col{width:108px}.account-management-table .account-role-col{width:54px}.account-management-table .account-phone-col{width:104px}.account-management-table .account-coach-col{width:136px}.account-management-table .account-group-col{width:116px}.account-management-table .account-profile-col{width:196px}.account-management-table .account-institution-col{width:116px}.account-management-table .account-password-col{width:108px}.account-management-table .account-status-col{width:86px}.account-management-table .account-actions-col{width:148px}.account-management-table .coach-binding-select{width:132px;min-width:0;height:44px;padding-inline:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-management-table .row-group-select{width:112px;min-width:0;height:44px;padding-inline:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-management-table .student-profile-cell{min-width:0}.account-management-table .student-profile-cell dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 6px}}@media(max-width:640px){.student-actions{min-width:0;gap:4px}.student-actions .student-data-button{min-height:44px;padding:0 7px}}@media(max-width:390px){.student-brand{gap:3px}.student-brand span{display:inline;font-size:10px}.student-actions{gap:2px}.student-actions .student-data-button{min-height:44px;padding:0 4px;font-size:10px}}.data-sheet.closure-sheet{width:min(640px,94vw);max-width:640px;overflow-y:auto;overscroll-behavior:contain;padding:24px max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.closure-sheet .sheet-heading{position:sticky;z-index:2;top:calc(-24px - env(safe-area-inset-top));margin:calc(-24px - env(safe-area-inset-top)) calc(-1*max(20px,env(safe-area-inset-right))) 18px calc(-1*max(20px,env(safe-area-inset-left)));padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) 14px max(20px,env(safe-area-inset-left));background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #edf0f5}.closure-sheet .sheet-heading>button{display:grid;width:44px;height:44px;place-items:center;border:1px solid #e3e8f1;background:#f7f9fc;color:#526078}.closure-sheet .sheet-heading>button:focus-visible,#student-closure-panel :focus-visible{outline:3px solid rgba(49,91,234,.25);outline-offset:2px}#student-closure-panel{min-width:0;padding-bottom:max(8px,env(safe-area-inset-bottom))}@media(min-width:768px){.data-sheet.closure-sheet{width:min(720px,calc(100vw - 48px));max-width:720px;box-sizing:border-box;overflow-x:hidden}#student-closure-panel,.closure-sheet #student-closure-panel .appointment-summary,.closure-sheet #student-closure-panel .appointment-detail-section{width:100%;box-sizing:border-box}.closure-sheet #student-closure-panel .closure-desktop-form{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,.8fr);grid-template-areas:"title title title" "name phone source" "time time submit"}.closure-sheet #student-closure-panel .closure-section-title{grid-area:title}.closure-sheet #student-closure-panel .closure-field-name{grid-area:name}.closure-sheet #student-closure-panel .closure-field-phone{grid-area:phone}.closure-sheet #student-closure-panel .closure-field-source{grid-area:source}.closure-sheet #student-closure-panel .closure-field-time{grid-area:time}.closure-sheet #student-closure-panel .closure-field-submit{grid-area:submit;grid-column:auto;width:100%;min-width:180px;height:44px;min-height:44px;white-space:nowrap}.closure-sheet #student-closure-panel .closure-field-time input{width:100%;min-width:0;box-sizing:border-box}}#student-closure-panel .customer-master{margin:0;border-color:#e3e8f1;border-radius:18px;box-shadow:0 9px 24px #20345a0d}#student-closure-panel .customer-create-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:15px}#student-closure-panel .closure-section-title{grid-column:1/-1;display:flex;flex-direction:column;gap:3px;padding-bottom:2px}#student-closure-panel .closure-section-title small{color:#748096;font-size:11px;font-weight:700;letter-spacing:.04em}#student-closure-panel .closure-section-title strong{color:#2d3951;font-size:15px}#student-closure-panel .customer-create-form label{min-width:0;gap:6px;color:#566278;font-size:12px;font-weight:650}#student-closure-panel .customer-create-form input,#student-closure-panel .customer-create-form select{width:100%;min-width:0;box-sizing:border-box;height:44px;border-color:#dce3ee;border-radius:10px;padding:0 11px;font-size:16px}#student-closure-panel .customer-create-form .primary-button{grid-column:1/-1;width:100%;min-width:0;min-height:44px;box-sizing:border-box;border-radius:11px;padding:0 14px;white-space:nowrap}#student-closure-panel .closure-outcome-error{margin:10px 0 0;padding:9px 11px;border-radius:10px}#student-closure-panel .appointment-summary{margin:16px 0 0;padding:11px;border:1px solid #e5e9f1;border-radius:15px;background:#f8faff;box-shadow:0 6px 18px #1f345b09}#student-closure-panel .outcome-filter-button{height:56px;border-radius:11px;background:#fff}#student-closure-panel .outcome-filter-button strong{font-size:19px}#student-closure-panel .appointment-detail-section{margin-top:16px;scroll-margin-top:88px}#student-closure-panel .appointment-detail-heading{margin-bottom:10px}#student-closure-panel .record-list{margin-top:10px;gap:9px}#student-closure-panel .record-list article{border-color:#e4e9f1;border-radius:14px;box-shadow:0 4px 14px #1f345b09}#student-closure-panel .empty-state{margin:0;padding:18px 12px;border:1px dashed #dfe5ef;border-radius:12px;background:#fbfcfe;font-size:12px}@media(max-width:640px){.data-sheet.closure-sheet{width:100%;max-width:none;padding:max(16px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.closure-sheet .sheet-heading{top:calc(-16px - env(safe-area-inset-top));margin:calc(-16px - env(safe-area-inset-top)) calc(-1*max(14px,env(safe-area-inset-right))) 16px calc(-1*max(14px,env(safe-area-inset-left)));padding:max(16px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) 12px max(14px,env(safe-area-inset-left))}#student-closure-panel .customer-create-form{gap:10px;padding:13px}#student-closure-panel .appointment-summary{gap:6px;padding:8px}#student-closure-panel .outcome-filter-button{height:52px}}@media(max-width:340px){#student-closure-panel .customer-create-form{grid-template-columns:minmax(0,1fr)}#student-closure-panel .customer-create-form label,#student-closure-panel .customer-create-form .primary-button{grid-column:1/-1}}@media(max-width:640px){.group-create-form{grid-template-columns:1fr 1fr}.group-create-form label:first-child,.group-create-form label:nth-child(2),.group-create-form button{grid-column:1/-1}.student-group-heading{align-items:flex-start;flex-direction:column}.group-member-list li{align-items:stretch}.group-member-list select{width:100%}.group-actions,.leader-editor{align-items:stretch;flex-direction:column}.group-actions input,.leader-editor select{width:100%;box-sizing:border-box}}@media(max-width:640px){.student-group-maintenance-heading{align-items:stretch;flex-direction:column}.student-group-maintenance-heading .group-maintenance-toggle{width:100%}}.outcome-editor input,.outcome-editor select,.outcome-editor textarea{width:100%;min-width:0;box-sizing:border-box;border:1px solid #dce2ec;border-radius:9px;outline:0;padding:9px 10px;background:#fff;color:#172033;font-size:16px}.legacy-reason-badge{display:inline-block;margin-left:4px;border-radius:99px;padding:2px 6px;background:#f0f2f6;color:#697488;font-size:9px;white-space:nowrap}.leader-dashboard{min-height:100dvh;overflow-x:hidden;background:#f5f7fb;color:#172033}.leader-main{min-width:0;max-width:none;margin:0;padding:34px clamp(24px,4vw,60px) 60px}.leader-page-header{margin-bottom:8px}.leader-page-header .ghost-button{flex:0 0 auto;white-space:nowrap}.leader-page-header .scope-badge{display:inline-flex;margin-top:9px}.leader-intro{margin:0 0 24px;color:#7b8495;font-size:13px;line-height:1.6}.leader-periods{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 12px;padding:5px;border:1px solid #e1e7f0;border-radius:14px;background:#fff}.leader-periods button{min-height:42px;border:0;border-radius:9px;background:transparent;color:#657084;font-weight:700}.leader-periods button:hover{background:#f4f6fb;color:#315bea}.leader-periods button.active{background:#eef2ff;color:#315bea;box-shadow:inset 0 0 0 1px #c7d3fb}.leader-status{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#7b8799;font-size:12px}.leader-grid{display:grid;gap:12px;margin:16px 0}.leader-core,.leader-quality{grid-template-columns:repeat(4,minmax(0,1fr))}.leader-card{position:relative;min-width:0;overflow:hidden;border:1px solid #e1e7f0;border-radius:16px;padding:17px;background:#fff;box-shadow:0 8px 26px #17274b0a}.leader-card:after{content:"";position:absolute;top:0;right:0;bottom:0;width:4px;background:#8198ed}.leader-card:nth-child(2n):after{background:#53b98d}.leader-card span,.leader-card small{display:block;color:#7b8799}.leader-card span{font-size:12px;font-weight:650}.leader-card small{min-height:18px;line-height:1.4}.leader-card strong{display:block;margin:9px 0 5px;color:#24324a;font-size:clamp(20px,3vw,30px);overflow-wrap:anywhere}.leader-card.is-unavailable{border-style:dashed;background:#fafbfd}.leader-card.is-unavailable:after{background:#c7cfdb}.leader-card.is-unavailable strong{color:#8894a7;font-size:15px}.leader-section-title{margin:28px 0 0;color:#25324a;font-size:18px}.leader-abc,.leader-trend,.leader-diagnostics{border-color:#e1e7f0;background:#fff;color:#25324a}.leader-abc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.leader-feature-note{grid-column:1/-1}.leader-abc h2,.leader-trend h2,.leader-diagnostics h2{margin:0 0 6px;color:#25324a;font-size:16px}.leader-abc p,.leader-trend p,.leader-diagnostics p{color:#7b8799}.leader-trend{margin-top:16px}.operations-trend{width:100%;height:300px;overflow:visible;border-radius:10px;background:#fbfcfe}.operations-trend polyline{fill:none;stroke-width:1.6;vector-effect:non-scaling-stroke}.trend-planned{stroke:#5272de}.trend-formal{stroke:#31a884}.trend-meetings{stroke:#d99a36}.trend-legend{display:flex;flex-wrap:wrap;gap:14px;color:#667286;font-size:13px}.trend-legend span:before{content:"";display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%;background:#5272de}.trend-legend span:nth-child(2):before{background:#31a884}.trend-legend span:nth-child(3):before{background:#d99a36}.leader-skeleton{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.leader-skeleton i{height:112px;border-radius:14px;background:linear-gradient(90deg,#edf1f6,#f8f9fc,#edf1f6);background-size:200% 100%;animation:leader-shimmer 1.2s infinite}.leader-error{max-width:500px;margin:48px auto;border:1px solid #e1e7f0;border-radius:16px;padding:24px;background:#fff;text-align:center}.leader-error h2{color:#25324a}@keyframes leader-shimmer{to{background-position:-200% 0}}@media(max-width:767px){.leader-main{padding:20px max(14px,env(safe-area-inset-right)) calc(40px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.leader-intro{margin-bottom:18px}.leader-core,.leader-quality{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.leader-core .leader-card:last-child:nth-child(odd),.leader-quality .leader-card:last-child:nth-child(odd){grid-column:1/-1}.leader-card{padding:13px}.leader-card strong{font-size:clamp(18px,6.5vw,25px)}.leader-abc{grid-template-columns:1fr}.operations-trend{height:220px}.leader-status{align-items:flex-start;flex-direction:column}.leader-skeleton{grid-template-columns:1fr}}@media(min-width:768px)and (max-width:1023px){.leader-core,.leader-quality{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.leader-skeleton i{animation:none}}.leader-insights{margin:16px 0;border:1px solid #dce5f1;border-radius:14px;padding:14px 16px;background:#f7f9fd;color:#2d3a51}.leader-insights h2{margin:0;font-size:15px}.leader-insights ul{display:grid;gap:7px;margin:10px 0 0;padding-left:18px}.leader-insights li{color:#637087;font-size:13px;line-height:1.55}.recruiter-module-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.recruiter-module-tabs.is-two{grid-template-columns:repeat(2,minmax(0,1fr))}.recruiter-student-module{min-width:0;border:1px solid #e1e7f0;border-radius:20px;padding:22px;background:#fff;box-shadow:0 12px 32px #1e33580f}.recruiter-student-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.recruiter-student-heading h2{margin:3px 0 5px;font-size:22px}.recruiter-student-heading p{margin:0;color:#7b879b;font-size:13px}.recruiter-student-table{margin-top:18px}.recruiter-student-table table{min-width:980px}@media(max-width:640px){.recruiter-module-tabs button small{display:none}.recruiter-student-module{border-radius:15px;padding:15px}.recruiter-student-heading{align-items:stretch;flex-direction:column}.recruiter-student-heading .text-button{align-self:flex-end}}.recruiter-workload-periods{margin:20px 0 10px}.recruiter-workload-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;color:#7b879b;font-size:12px}.recruiter-workload-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.recruiter-workload-summary article{display:flex;min-width:0;flex-direction:column;gap:6px;padding:16px;border:1px solid #e5eaf2;border-radius:15px;background:#f9fbff}.recruiter-workload-summary span{color:#6d7890;font-size:12px}.recruiter-workload-summary strong{color:#22304a;font-size:24px}.recruiter-workload-summary small{color:#8a94a7;font-size:11px}.recruiter-abc-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;padding:15px 16px;border:1px solid #dce5ff;border-radius:15px;background:#f5f8ff}.recruiter-abc-summary h3{grid-column:1/-1;margin:0;color:#34415a;font-size:14px}.recruiter-abc-summary>div{display:flex;min-width:0;flex-direction:column;gap:5px}.recruiter-abc-summary span{color:#69758d;font-size:12px}.recruiter-abc-summary strong{overflow-wrap:anywhere;color:#304dc4;font-size:16px}.recruiter-abc-summary p{grid-column:1/-1;margin:0;color:#7a8497;font-size:11px}.recruiter-workload-list{display:grid;gap:12px;margin-top:16px}.recruiter-workload-card{min-width:0;padding:17px;border:1px solid #e3e8f0;border-radius:16px;background:#fff;box-shadow:0 8px 22px #2637560d}.recruiter-workload-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:12px;border-bottom:1px solid #edf0f5}.recruiter-workload-card>header div{display:flex;min-width:0;flex-direction:column;gap:4px}.recruiter-workload-card>header strong{color:#202c43;font-size:16px}.recruiter-workload-card>header span,.recruiter-workload-card>header small{color:#7b879a;font-size:11px}.recruiter-workload-primary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}.recruiter-workload-primary>div{display:flex;min-width:0;flex-direction:column;gap:4px;padding:11px;border-radius:12px;background:#f7f9fc}.recruiter-workload-primary span{color:#778298;font-size:11px}.recruiter-workload-primary strong{color:#273650;font-size:19px}.recruiter-workload-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}.recruiter-workload-details p{display:flex;min-width:0;flex-direction:column;gap:4px;margin:0;padding:10px 11px;border:1px solid #edf0f5;border-radius:11px}.recruiter-workload-details span{color:#7a8599;font-size:11px}.recruiter-workload-details b{overflow-wrap:anywhere;color:#39465e;font-size:12px;font-weight:650}@media(max-width:800px){.recruiter-workload-summary{grid-template-columns:1fr 1fr}.recruiter-workload-details{grid-template-columns:1fr}.recruiter-workload-card>header{flex-direction:column}.recruiter-workload-card>header small{width:100%}}@media(max-width:430px){.recruiter-workload-meta{align-items:flex-start;flex-direction:column}.recruiter-workload-summary{gap:8px}.recruiter-workload-summary article{padding:12px}.recruiter-workload-summary strong{font-size:20px}.recruiter-abc-summary{grid-template-columns:1fr}.recruiter-abc-summary p{grid-column:auto}.recruiter-workload-card{padding:13px}.recruiter-workload-primary{grid-template-columns:1fr}.recruiter-workload-primary>div{flex-direction:row;align-items:center;justify-content:space-between}.recruiter-workload-periods{grid-template-columns:repeat(4,minmax(0,1fr))}.recruiter-workload-periods button{min-width:0;padding:8px 4px}}.daily-overview{min-width:0;border:1px solid #e1e7f0;border-radius:20px;padding:22px;background:#fff;color:#1e293b;box-shadow:0 12px 32px #1e33580f}.daily-overview-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.daily-overview-heading h2{margin:3px 0 5px;font-size:22px}.daily-overview-heading p{margin:0;color:#7b879b;font-size:13px}.daily-overview-heading .eyebrow{color:#5272de;font-size:10px;letter-spacing:.14em}.daily-periods{display:flex;gap:8px;margin:20px 0 14px;overflow-x:auto}.daily-periods button{min-width:84px;min-height:44px;border:1px solid #dbe3ef;border-radius:11px;padding:0 15px;background:#f7f9fc;color:#536079;font-weight:700;white-space:nowrap}.daily-periods button.active{border-color:#5675e8;background:#eef2ff;color:#3454c5}.leader-module-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0 20px;border:1px solid #e1e7f0;border-radius:16px;padding:5px;background:#fff;box-shadow:0 7px 22px #17274b09}.leader-module-tabs button{display:flex;min-width:0;min-height:56px;align-items:flex-start;justify-content:center;flex-direction:column;gap:3px;border:0;border-radius:11px;padding:9px 14px;background:transparent;color:#5d6980;text-align:left}.leader-module-tabs button span{font-size:14px;font-weight:800}.leader-module-tabs button small{overflow:hidden;max-width:100%;color:#98a2b3;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.leader-module-tabs button:hover{background:#f5f7fc;color:#315bea}.leader-module-tabs button.active{background:#eef2ff;color:#315bea;box-shadow:inset 0 0 0 1px #c9d5fb}.leader-module-tabs button.active small{color:#6e80c5}.leader-module-tabs button:focus-visible{outline:3px solid rgba(49,91,234,.2);outline-offset:2px}.daily-loading,.daily-error{margin-top:18px;border:1px dashed #dce3ef;border-radius:14px;padding:32px;text-align:center;color:#76839a}.daily-error strong{display:block;color:#334155}.daily-error p{margin:8px 0 16px}.daily-overview-meta{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px;color:#8290a6;font-size:11px}.daily-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.daily-summary-card{min-height:88px;border:1px solid #e1e6ef;border-radius:14px;padding:13px 15px;background:#fafbfd;text-align:left;color:#647086}.daily-summary-card small,.daily-summary-card span{display:block}.daily-summary-card strong{display:inline-block;margin:5px 5px 0 0;color:#25324a;font-size:28px}.daily-summary-card.active{box-shadow:inset 0 0 0 2px currentColor}.daily-summary-card.status-submitted{background:#effaf5;color:#248260}.daily-summary-card.status-missing{background:#fff0f1;color:#bc4d5b}.daily-summary-card.status-pending{background:#f2f5ff;color:#516dcc}.daily-list-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:24px 2px 10px}.daily-list-heading h3{margin:0 0 3px;font-size:17px}.daily-list-heading p{margin:0;color:#8995a8;font-size:11px}.daily-list-heading>span{color:#7c889c;font-size:12px;white-space:nowrap}.daily-student-list{display:grid;gap:8px;min-width:0;opacity:1;transition:opacity .15s}.daily-student-list[aria-busy=true]{opacity:.58}.daily-student-card{min-width:0;border:1px solid #e5eaf2;border-radius:13px;background:#fff;overflow:hidden}.daily-student-summary{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(210px,1fr) minmax(130px,1.7fr) 48px;align-items:center;gap:14px;width:100%;min-height:66px;border:0;padding:10px 14px;background:#fff;color:#344157;text-align:left}.daily-student-summary:hover{background:#fafbfe}.daily-student-identity{min-width:0}.daily-student-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.daily-student-metrics small{color:#8994a5;font-size:10px}.daily-student-metrics strong{display:block;margin-top:2px;color:#344157;font-size:13px}.daily-track{display:flex;gap:3px;min-width:0;overflow-x:auto;padding:5px 1px;scrollbar-width:thin}.daily-track i{width:8px;height:22px;flex:0 0 8px;border-radius:4px;background:#dfe5ee}.daily-track .status-on_time{background:#53b98d}.daily-track .status-missing{background:#e57985}.daily-track .status-pending{background:#8299e8}.daily-track .status-voluntary_submitted{background:#83c7bd}.daily-track .status-not_required{background:#e6e9ee}.daily-expand{color:#63718a;font-size:11px;text-align:right}.daily-day-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:7px;border-top:1px solid #edf0f5;padding:11px 14px;background:#f8fafc}.daily-day-details>div{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:7px;min-width:0;border-radius:9px;padding:8px 9px;background:#fff}.daily-day-details time{color:#4c596f;font-size:11px;font-weight:700}.daily-day-details small{overflow:hidden;color:#8a95a7;font-size:10px;text-align:right;text-overflow:ellipsis;white-space:nowrap}.daily-status-pill{border-radius:99px;padding:3px 7px;background:#edf1f6;color:#596579;font-size:9px;font-weight:700;white-space:nowrap}.daily-status-pill.status-on_time{background:#e7f8f0;color:#267b5b}.daily-status-pill.status-missing{background:#fde8eb;color:#a63e4b}.daily-status-pill.status-pending{background:#e9edff;color:#4661c0}.daily-pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:16px}.daily-pagination button{min-height:40px;border:1px solid #dce3ed;border-radius:9px;padding:0 16px;background:#fff;color:#4c5c75}.daily-pagination span,.daily-quality-note{color:#7e899a;font-size:11px}.daily-quality-note{margin:14px 0 0;border-radius:9px;padding:9px 11px;background:#fff7e8}@media(max-width:900px){.daily-student-summary{grid-template-columns:minmax(140px,1fr) minmax(190px,1fr) 1.3fr 44px}.daily-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.daily-overview{border-radius:15px;padding:15px}.daily-overview-heading{align-items:stretch;flex-direction:column}.daily-overview-heading .text-button{align-self:flex-end}.daily-periods{margin-top:12px}.daily-periods button{min-width:72px;padding:0 11px}.leader-module-tabs{margin:12px 0 15px;border-radius:14px}.leader-module-tabs button{min-height:54px;padding:8px 10px}.leader-module-tabs button span{font-size:13px}.daily-overview-meta{align-items:flex-start;flex-direction:column}.daily-summary-grid{gap:7px}.daily-summary-card{min-height:76px;padding:10px 11px}.daily-summary-card strong{font-size:23px}.daily-student-summary{grid-template-columns:1fr auto;gap:8px;padding:11px}.daily-student-identity{grid-column:1}.daily-expand{grid-column:2;grid-row:1}.daily-student-metrics{grid-column:1/-1;grid-row:2}.daily-track{grid-column:1/-1;grid-row:3}.daily-track i{width:12px;flex-basis:12px;height:12px}.daily-day-details{grid-template-columns:1fr;padding:9px}.daily-day-details>div{grid-template-columns:auto auto 1fr}.daily-list-heading{align-items:flex-start}.leader-dashboard .daily-overview{padding:15px}}.v2-home-chat-input .v2-voice-field.recording{background:#e7faf0;color:#087a42;box-shadow:inset 0 0 0 1px #9ce6bd}.v2-home-chat-input .v2-voice-field.pending{background:#fff8e7;color:#8a6200}.v2-recording-indicator{display:inline-flex;align-items:flex-end;gap:3px;margin-right:8px}.v2-recording-indicator i{display:block;width:3px;height:8px;border-radius:99px;background:#07c160;animation:v2-recording-wave .9s ease-in-out infinite}.v2-recording-indicator i:nth-child(2){height:14px;animation-delay:.15s}.v2-recording-indicator i:nth-child(3){height:10px;animation-delay:.3s}@keyframes v2-recording-wave{50%{transform:scaleY(.42);opacity:.55}}@media(prefers-reduced-motion:reduce){.v2-recording-indicator i{animation:none}}.unified-daily-reports{min-width:0;border:1px solid #e1e7f0;border-radius:20px;padding:22px;background:#fff;color:#1e293b;box-shadow:0 12px 32px #1e33580f}.unified-daily-reports>header h2{margin:0;color:#17233f}.unified-daily-reports>header p{margin:6px 0 0;color:#78869a}.unified-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.unified-filters select{width:100%;min-width:0;min-height:44px;box-sizing:border-box;border:1px solid #dce3ed;border-radius:11px;padding:0 11px;background:#fff;color:#334155;font:inherit}.unified-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:14px 0}.unified-pagination button{min-height:44px;border:1px solid #dce3ed;border-radius:10px;padding:0 16px;background:#fff;color:#40506a}@media(max-width:640px){.admin-sidebar nav a,.admin-sidebar nav button,.admin-main>.admin-header .ghost-button{min-height:44px}.unified-daily-reports{border-radius:15px;padding:15px}.unified-filters{grid-template-columns:1fr}.unified-filters select{font-size:16px}}.operations-trend-wrap{position:relative;min-width:0}.operations-trend{display:block;width:100%;height:300px;overflow:visible;touch-action:manipulation;outline:0}.operations-trend:focus-visible{box-shadow:0 0 0 3px #b9c8ff}.operations-y-axis line{stroke:#dce3ed;stroke-width:.35}.operations-y-axis text{fill:#8a95a8;font-size:3px}.operations-series{fill:none;stroke-width:1.8;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.operations-series.current{stroke-width:2.4}.operations-series.previous{stroke-dasharray:3 2;opacity:.58}.operations-point{fill:transparent;stroke:transparent;stroke-width:0;cursor:pointer}.operations-point:hover,.operations-point.active{fill:#fff;stroke-width:1.2}.operations-point.trend-planned{stroke:#5272de}.operations-point.trend-formal{stroke:#31a884}.operations-point.trend-meetings{stroke:#d99a36}.operations-tooltip{margin:8px 0 0;padding:8px 10px;border-radius:8px;background:#243a60;color:#fff;font-size:12px;line-height:1.4}.trend-legend{gap:10px 14px}.trend-legend .trend-formal:before{background:#31a884}.trend-legend .trend-meetings:before{background:#d99a36}.trend-legend .legend-current:before{width:16px;height:0;border-radius:0;border-top:2px solid #52627b;background:none}.trend-legend .legend-previous:before{width:16px;height:0;border-radius:0;border-top:2px dashed #9ca8ba;background:none}@media(max-width:767px){.operations-trend{height:220px}}.app-error-boundary{position:fixed;z-index:9999;inset:0;display:grid;place-items:center;padding:24px;background:#121a2c9e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.app-error-card{width:min(420px,100%);border-radius:22px;padding:30px 26px 26px;background:#fff;box-shadow:0 24px 70px #0c18344d;text-align:center}.app-error-icon{display:grid;width:52px;height:52px;margin:0 auto 16px;place-items:center;border-radius:50%;background:#fff0f2;color:#c13a51;font-size:30px;font-weight:900}.app-error-card h2{margin:0 0 8px;color:#1e2a45;font-size:20px}.app-error-card p{margin:0 0 22px;color:#6a7688;font-size:13px;line-height:1.65;overflow-wrap:anywhere}.app-error-actions{display:flex;justify-content:center}.app-error-retry{min-height:46px;border:0;border-radius:12px;padding:0 34px;background:#315bea;color:#fff;font-size:15px;font-weight:750}.app-error-retry:active{background:#2448c7}.ui-glass-header{background:var(--surface-glass);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--line)}.ui-page-shell{width:min(var(--content-mobile),100%);margin-inline:auto}.ui-app-shell{min-height:100dvh;background:var(--bg-page);color:var(--ink-1)}.ui-app-shell__body{min-width:0;padding:var(--sp-4) max(var(--sp-4),var(--safe-right)) calc(var(--sp-10) + var(--safe-bottom)) max(var(--sp-4),var(--safe-left))}.ui-app-shell--management .ui-app-shell__body{width:min(var(--content-desktop),100%);margin-inline:auto}.ui-mobile-navigation{position:sticky;z-index:var(--layer-header);bottom:0;display:grid;grid-template-columns:repeat(var(--ui-nav-count, 3),minmax(0,1fr));gap:var(--sp-1);border-top:1px solid var(--line);padding:var(--sp-2) max(var(--sp-3),var(--safe-right)) calc(var(--sp-2) + var(--safe-bottom)) max(var(--sp-3),var(--safe-left));background:var(--surface-glass);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%)}.ui-mobile-navigation button{min-width:0;border:0;border-radius:var(--r-pill);padding-inline:var(--sp-2);background:transparent;color:var(--ink-3);font-weight:700}.ui-mobile-navigation button[aria-current=page]{background:var(--brand-soft);color:var(--brand)}.ui-segmented-control{display:flex;min-width:0;gap:var(--sp-1);overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-1);background:var(--bg-card);scrollbar-width:none}.ui-segmented-control::-webkit-scrollbar{display:none}.ui-segmented-control button{flex:1 0 auto;border:0;border-radius:var(--r-md);padding-inline:var(--sp-3);background:transparent;color:var(--ink-3);font-weight:700;white-space:nowrap}.ui-segmented-control button[aria-selected=true]{background:var(--brand-soft);color:var(--brand)}.ui-icon-button{display:inline-grid;width:var(--tap-target-min);height:var(--tap-target-min);place-items:center;border:1px solid var(--line);border-radius:50%;padding:0;background:var(--bg-card);color:var(--ink-2)}.ui-progress{display:grid;gap:var(--sp-1)}.ui-progress__meta{display:flex;justify-content:space-between;gap:var(--sp-2);color:var(--ink-3);font-size:12px}.ui-progress__track{height:8px;overflow:hidden;border-radius:var(--r-pill);background:var(--neutral-bg)}.ui-progress__bar{height:100%;border-radius:inherit;background:var(--brand);transition:width var(--t-base) var(--ease-standard)}.ui-search-field{display:grid;gap:var(--sp-1);color:var(--ink-3);font-size:12px}.ui-search-field input{width:100%;min-width:0;box-sizing:border-box;border:1px solid var(--line);border-radius:var(--r-md);padding:0 var(--sp-3);background:var(--bg-card);color:var(--ink-1)}.ui-filter-chip{border:1px solid var(--line);border-radius:var(--r-pill);padding:0 var(--sp-3);background:var(--bg-card);color:var(--ink-2);font-weight:700;white-space:nowrap}.ui-filter-chip[aria-pressed=true]{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.ui-toast{position:fixed;z-index:var(--layer-overlay);right:max(var(--sp-4),var(--safe-right));bottom:calc(var(--sp-6) + var(--safe-bottom));left:max(var(--sp-4),var(--safe-left));width:min(420px,calc(100% - 2 * var(--sp-4)));margin-inline:auto;border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-4);background:var(--ink-1);color:var(--bg-card);box-shadow:var(--sh-lg);text-align:center}.ui-overlay{position:fixed;z-index:var(--layer-overlay);inset:0;display:grid;align-items:end;padding:var(--sp-4) max(var(--sp-4),var(--safe-right)) calc(var(--sp-4) + var(--safe-bottom)) max(var(--sp-4),var(--safe-left));background:#14161c61}.ui-action-sheet,.ui-confirm-dialog{width:min(480px,100%);margin-inline:auto;border-radius:var(--r-xl);padding:var(--sp-4);background:var(--bg-card);box-shadow:var(--sh-lg)}.ui-action-sheet__header,.ui-confirm-dialog__actions{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.ui-action-sheet h2,.ui-confirm-dialog h2{margin:0;font-size:20px}.ui-confirm-dialog{align-self:center}.ui-confirm-dialog p{color:var(--ink-3);line-height:1.6}.ui-responsive-table{min-width:0;overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-card)}.ui-responsive-table table{width:100%;border-collapse:collapse}.ui-responsive-table th,.ui-responsive-table td{padding:var(--sp-3);border-bottom:1px solid var(--line);text-align:left}.ui-responsive-table th:first-child,.ui-responsive-table td:first-child{position:sticky;left:0;background:var(--bg-card)}.ui-skeleton{overflow:hidden;border-radius:var(--r-md);background:var(--neutral-bg)}.ui-skeleton:after{display:block;width:40%;height:100%;background:linear-gradient(90deg,transparent,var(--surface-skeleton-shine),transparent);content:"";animation:ui-skeleton-shine 1.2s var(--ease-standard) infinite}.scope-badge--loading{align-items:center;gap:var(--space-1)}.scope-count-skeleton{display:inline-block;overflow:hidden;width:30px;height:12px;border-radius:var(--r-pill);background:var(--neutral-bg)}.scope-count-skeleton:after{display:block;width:40%;height:100%;background:linear-gradient(90deg,transparent,var(--surface-skeleton-shine),transparent);content:"";animation:ui-skeleton-shine 1.2s var(--ease-standard) infinite}.ui-empty-state,.ui-error-state{display:grid;justify-items:center;gap:var(--sp-2);padding:var(--sp-8) var(--sp-4);border:1px dashed var(--line);border-radius:var(--r-lg);color:var(--ink-3);text-align:center}.ui-error-state{border-color:color-mix(in srgb,var(--danger-fg) 30%,var(--line));color:var(--danger-fg)}.ui-status-badge{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:3px 8px;border-radius:var(--r-pill);font-size:11px;font-weight:700;line-height:1.2}.ui-status-badge i{width:9px;height:9px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 12%,transparent)}.ui-status-badge.green{background:var(--success-bg);color:var(--success-fg)}.ui-status-badge.pending,.ui-status-badge.not_due{background:var(--neutral-bg);color:var(--neutral-fg)}.ui-status-badge.red{background:var(--danger-bg);color:var(--danger-fg)}.ui-status-badge.voluntary{background:var(--info-bg);color:var(--info-fg)}@keyframes ui-skeleton-shine{0%{transform:translate(-150%)}to{transform:translate(350%)}}.student-loading-shell,.student-report-skeleton{display:grid;gap:var(--sp-3);padding:var(--sp-4)}.student-summary-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-2)}.student-my-reports,.daily-report-timeline-module{padding-bottom:calc(var(--sp-8) + env(safe-area-inset-bottom))}@media(max-width:430px){.ui-page-shell{width:100%}.student-summary-cards{gap:var(--sp-1)}}@media(min-width:768px){.ui-mobile-navigation{position:static;display:flex;width:max-content;border:0;border-radius:var(--r-pill);margin-inline:auto;padding:var(--sp-1)}.ui-app-shell--management{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr)}}@media(max-width:390px){.student-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:375px){.ui-glass-header{padding-inline:var(--sp-3)}}@media(max-width:320px){.ui-status-badge{padding-inline:6px;font-size:10px}}.student-my-reports{width:min(680px,100%);margin-inline:auto;color:var(--ink-1)}.student-my-reports-heading{display:flex;align-items:end;justify-content:space-between;gap:var(--sp-3)}.student-my-reports-heading h1{margin:var(--sp-1) 0;font-size:26px}.student-my-reports-heading span{color:var(--ink-3);font-size:13px}.student-identity{min-width:0;margin:var(--sp-4) 0;border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-4);background:var(--bg-card);box-shadow:var(--sh-sm)}.student-identity strong{display:block;overflow:hidden;color:var(--ink-2);font-size:15px;font-weight:650;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.ui-metric-card{min-width:0;border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-2);background:var(--bg-card)}.ui-metric-card small,.ui-metric-card em{display:block;color:var(--ink-3);font-size:12px;font-style:normal}.ui-metric-card strong{display:block;margin:5px 0 2px;font-size:17px;font-variant-numeric:tabular-nums}.student-summary-error{color:var(--danger-fg)}.student-summary-error button{margin-left:var(--sp-2)}.timeline-week-navigation{display:grid;grid-template-columns:var(--tap-target-min) minmax(0,1fr) var(--tap-target-min);align-items:center;gap:var(--sp-2)}.timeline-week-arrow{width:var(--tap-target-min);border:0;border-radius:50%;background:var(--neutral-bg);color:var(--ink-2);font-size:26px;line-height:1}.timeline-week-arrow:disabled{cursor:not-allowed;opacity:.38}.timeline-weeks{display:flex;gap:6px;overflow-x:auto;padding:var(--sp-1) 0;scrollbar-width:none}.timeline-weeks::-webkit-scrollbar{display:none}.timeline-weeks button{flex:0 0 auto;border:0;border-radius:var(--r-md);padding-inline:var(--sp-3);background:var(--neutral-bg);color:var(--ink-2);font-weight:700;white-space:nowrap}.timeline-weeks .active{background:var(--info-fg);color:var(--bg-card);box-shadow:var(--sh-current-day)}.shared-report-timeline{width:min(680px,100%);margin-inline:auto;padding-block:var(--sp-2) var(--sp-8)}.daily-report-timeline-module{display:grid;gap:var(--sp-3)}.student-week-heading{margin:0;color:var(--ink-2);font-size:14px;font-weight:700}.timeline-week-days{display:grid;gap:var(--sp-2);animation:timeline-week-fade var(--t-base) var(--ease-standard) both}.daily-report-timeline-module .ui-daily-report-card{display:block;padding:0}.daily-report-timeline-module .today-badge{display:inline-block;border-radius:4px;padding:2px 6px;background:var(--info-fg);color:var(--bg-card);font-size:11px;line-height:1.2}.daily-report-timeline-module .attribution-hint{color:var(--info-fg)}.daily-report-timeline-module .today-pending small{color:var(--info-fg);font-weight:700}.daily-report-timeline-module .today-pending .timeline-chevron{animation:timeline-nudge 2s var(--ease-standard) infinite}.daily-report-timeline-module .today-submitted small{font-weight:700}.daily-report-timeline-module .today-submitted .ui-status-badge i{animation:timeline-pulse 2s var(--ease-standard) infinite}.daily-report-timeline-module .today-overdue small{color:var(--danger-fg);font-weight:700}.daily-report-timeline-module .student-report-detail{margin:0;border-top:1px solid var(--line);border-radius:0;padding:var(--sp-4)}.student-report-detail dl{display:grid;grid-template-columns:auto 1fr;gap:7px var(--sp-3);color:var(--ink-2);font-size:14px}.student-report-detail dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.student-raw-text{overflow-wrap:anywhere;color:var(--ink-2);line-height:1.7;white-space:pre-wrap}.interview-type{display:block}@keyframes timeline-pulse{50%{transform:scale(1.35);opacity:.55}}@keyframes timeline-nudge{50%{transform:translateY(-3px)}}@keyframes timeline-week-fade{0%{opacity:0}to{opacity:1}}@media(max-width:640px){.student-my-reports{overflow-x:hidden}.student-my-reports-heading{align-items:start;flex-direction:column}.student-summary-cards{gap:6px}.ui-metric-card{padding:10px 7px}.ui-metric-card strong{font-size:15px}.ui-metric-card em{font-size:10px}.timeline-week-navigation{gap:var(--sp-1)}.timeline-weeks button{font-size:13px}.shared-report-timeline{min-width:0;overflow-x:hidden}}.v2-mobile-header{position:sticky;z-index:var(--layer-header);top:0;display:none;border-bottom:1px solid var(--line);padding:var(--sp-2) max(var(--sp-3),var(--safe-right)) var(--sp-2) max(var(--sp-3),var(--safe-left))}.v2-mobile-header__top{display:flex;min-width:0;min-height:var(--tap-target-min);flex-wrap:nowrap;align-items:center;gap:var(--sp-2);color:var(--ink-1);font-weight:750}.v2-mobile-menu-button{display:grid;width:var(--tap-target-min);height:var(--tap-target-min);place-items:center;border:0;border-radius:var(--r-md);background:var(--neutral-bg);color:var(--brand);font-size:22px}.v2-mobile-brand{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2-mobile-primary-navigation{display:grid;width:196px;flex:0 1 196px;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;margin:0;padding:2px;overflow:visible}.v2-mobile-primary-navigation button{min-width:var(--tap-target-min);min-height:var(--tap-target-min);padding-inline:3px;font-size:12px}.v2-mobile-primary-navigation--four{width:196px;flex-basis:196px}.v2-rights-view{min-height:calc(100dvh - 76px);margin:calc(var(--sp-4) * -1) calc(max(var(--sp-3),var(--safe-right))*-1) calc(var(--sp-8) * -1) calc(max(var(--sp-3),var(--safe-left))*-1)}.v2-rights-frame,.admin-rights-frame{display:block;width:100%;border:0;background:#fff}.v2-rights-frame{height:calc(100dvh - 76px)}.v2-editor-notice{margin:var(--sp-3) auto 0;width:min(var(--content-mobile),calc(100% - var(--sp-6)));border-radius:var(--r-md);padding:var(--sp-3);background:var(--warning-bg);color:var(--warning-fg);font-size:13px}.unified-search-hint{margin:calc(var(--sp-2) * -1) 0 var(--sp-3);color:var(--ink-3);font-size:12px}.app-update-notice{position:fixed;z-index:calc(var(--layer-overlay) + 1);right:max(var(--sp-3),var(--safe-right));bottom:calc(var(--sp-3) + var(--safe-bottom));display:flex;max-width:min(420px,calc(100vw - var(--sp-6)));align-items:center;gap:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-3);background:var(--surface-glass);box-shadow:var(--sh-lg);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);color:var(--ink-2);font-size:13px}.app-update-notice button{min-height:var(--tap-target-min);flex:0 0 auto;border:0;border-radius:var(--r-pill);padding:0 var(--sp-4);background:var(--brand);color:#fff;font-weight:700}.admin-rights-frame{height:100%}.admin-layout.is-rights-view{min-height:100dvh}.admin-main--rights{display:flex;min-height:100dvh;padding:0;overflow:hidden}.admin-rights-view{display:flex;width:100%;min-height:0;flex:1;background:#fff}.v2-home-main{width:min(680px,100%);margin-inline:auto}.student-deadline-strip{display:flex;align-items:baseline;gap:var(--sp-1);margin:var(--sp-3) 0;color:var(--ink-3);font-size:13px}.student-deadline-strip strong{color:var(--ink-2);font-variant-numeric:tabular-nums}.v2-visit-gate{display:grid;gap:var(--sp-4);margin-top:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-xl);padding:var(--sp-5);background:linear-gradient(155deg,var(--bg-card),var(--brand-soft));box-shadow:var(--sh-md)}.v2-visit-heading{display:grid;gap:var(--sp-2);text-align:center}.v2-visit-heading p{margin:0;color:var(--brand);font-size:14px;font-weight:750}.v2-visit-heading h2{margin:0;color:var(--ink-1);font-size:clamp(26px,7vw,32px);line-height:1.25}.v2-visit-heading span{color:var(--ink-3);font-size:15px;line-height:1.5}.v2-visit-count-panel{display:grid;gap:var(--sp-3)}.v2-visit-count-panel>label{color:var(--ink-1);font-size:19px;font-weight:750}.v2-visit-count-field{display:flex;min-width:0;min-height:64px;align-items:center;border:2px solid var(--line);border-radius:var(--r-lg);background:var(--bg-card);overflow:hidden}.v2-visit-count-field:focus-within{border-color:var(--brand);box-shadow:var(--focus-ring)}.v2-visit-count-field input{width:100%;min-width:0;height:60px;border:0;padding:0 var(--sp-2);background:transparent;color:var(--ink-1);font-size:26px;font-weight:750;outline:0;text-align:center;font-variant-numeric:tabular-nums}.v2-visit-count-field button{display:grid;width:var(--tap-target-min);height:var(--tap-target-min);flex:0 0 var(--tap-target-min);place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--bg-card);color:var(--brand);font-size:24px}.v2-visit-count-field span{flex:0 0 auto;padding-right:var(--sp-3);color:var(--ink-3)}.v2-visit-count-panel>small,.v2-stage-guide,.v2-stage-progress{color:var(--ink-3);font-size:14px}.v2-visit-error{margin:0;border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);background:var(--danger-bg);color:var(--danger-fg);font-size:14px;font-weight:700}.v2-visit-start,.v2-visit-back{width:100%;min-height:56px}.v2-visit-back{border:1px solid var(--line);background:var(--bg-card);color:var(--ink-2)}.v2-daily-guidance{display:grid;gap:var(--sp-2)}.v2-daily-guidance-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-card);box-shadow:var(--sh-sm)}.v2-daily-guidance-card summary{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:var(--sp-3);min-height:var(--tap-target-min);padding:var(--sp-3);cursor:pointer;list-style:none}.v2-daily-guidance-card summary::-webkit-details-marker{display:none}.v2-daily-guidance-card summary>b{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-size:13px}.v2-daily-guidance-card h3{margin:0;color:var(--ink-1);font-size:16px;line-height:1.4}.v2-daily-guidance-card summary>span{color:var(--brand);font-size:12px}.v2-daily-guidance-detail{padding:0 var(--sp-3) var(--sp-3) calc(var(--sp-3) + 40px)}.v2-daily-guidance-detail p{margin:var(--sp-1) 0 0;color:var(--ink-3);font-size:13px;line-height:1.6}.v2-daily-guidance-group{display:grid;gap:2px}.v2-daily-guidance-group strong{color:var(--ink-2);font-size:13px}.v2-daily-guidance-group span{display:block}.v2-daily-editor{display:grid;gap:var(--sp-3);margin-top:var(--sp-6);border:1px solid var(--line);border-radius:var(--r-xl);padding:var(--sp-4);background:var(--bg-card);box-shadow:var(--sh-md)}.v2-daily-editor__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3)}.v2-daily-editor__heading h2{margin:0;color:var(--ink-1);font-size:19px}.v2-daily-editor__heading p,.v2-daily-editor__help{margin:var(--sp-1) 0 0;color:var(--ink-3);font-size:13px;line-height:1.55}.v2-daily-editor__heading>span{flex:0 0 auto;border-radius:var(--r-pill);padding:4px 8px;background:var(--neutral-bg);color:var(--neutral-fg);font-size:11px}.v2-daily-editor__heading>span.changed{background:var(--warning-bg);color:var(--warning-fg)}.v2-daily-editor textarea{width:100%;min-height:192px;border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-3);background:var(--bg-muted);color:var(--ink-1);font-size:16px;line-height:1.6;resize:vertical}.v2-daily-editor textarea:focus-visible{border-color:var(--brand);box-shadow:var(--focus-ring);outline:0}.v2-daily-editor__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.v2-daily-editor__footer small{color:var(--ink-3);font-size:12px;font-variant-numeric:tabular-nums}.v2-daily-editor__footer small.error,.v2-daily-editor__error{color:var(--danger-fg)}.v2-daily-editor__error{margin:0;font-size:13px;line-height:1.5}.v2-daily-editor .v2-send-button{min-width:136px;min-height:48px}@media(max-width:900px){.v2-mobile-header{display:grid}.v2-home-main{padding:var(--sp-4) max(var(--sp-3),var(--safe-right)) calc(var(--sp-8) + var(--safe-bottom)) max(var(--sp-3),var(--safe-left))}.v2-visit-gate{padding:var(--sp-4)}.v2-daily-guidance,.v2-daily-guidance-card{scroll-margin-top:72px}.admin-layout.is-rights-view{display:flex;min-height:100dvh;flex-direction:column;overflow:hidden}.admin-layout.is-rights-view .admin-sidebar{position:relative;flex:0 0 auto}.admin-layout.is-rights-view .admin-main--rights{min-height:0;flex:1}}@media(max-width:390px){.v2-visit-gate{padding:var(--sp-3)}.v2-visit-count-field span{padding-right:var(--sp-2);font-size:14px}.v2-daily-editor{padding:var(--sp-3)}.v2-daily-editor textarea{min-height:168px}.v2-daily-editor__footer{align-items:stretch;flex-direction:column}.v2-daily-editor .v2-send-button{width:100%}}@media(max-width:430px){.v2-daily-guidance{gap:var(--sp-2)}.v2-daily-guidance-card{width:100%;box-sizing:border-box}}@media(max-width:375px){.v2-daily-guidance-card{gap:var(--sp-2);padding:var(--sp-3)}.v2-daily-guidance-card p,.v2-daily-guidance-group strong{font-size:13px}}@media(max-width:390px){.v2-mobile-brand{font-size:14px}.v2-mobile-primary-navigation--four{width:192px;flex-basis:192px}.v2-mobile-primary-navigation button{font-size:11px}}@media(max-width:360px){.v2-mobile-brand{flex:1 1 40px}.v2-mobile-primary-navigation--four{width:192px;flex-basis:192px}}@media(max-width:320px){.v2-daily-guidance-card{gap:var(--sp-2);padding:var(--sp-2)}.v2-daily-guidance-card h3{font-size:15px}.v2-daily-guidance-card p,.v2-daily-guidance-group strong{font-size:13px;line-height:1.55}}.unified-daily-reports{min-width:0;border:1px solid var(--line);border-radius:var(--r-xl);padding:var(--sp-5);background:var(--bg-card);color:var(--ink-1);box-shadow:var(--sh-md)}.unified-roster-heading,.unified-detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3)}.unified-roster-heading>div{min-width:0}.unified-roster-heading h2,.unified-detail-heading h2{margin:0;font-size:23px}.unified-roster-heading p:last-child{margin:var(--sp-1) 0 0;color:var(--ink-3)}.unified-readonly-label{margin:0 0 var(--sp-1);color:var(--info-fg);font-size:12px;font-weight:750}.unified-calendar-button{display:inline-flex;min-width:var(--tap-target-min);min-height:var(--tap-target-min);flex:0 0 auto;align-items:center;justify-content:center;gap:6px;border:1px solid var(--brand);border-radius:var(--r-pill);padding:0 var(--sp-3);background:var(--bg-card);color:var(--brand);font-weight:750}.unified-calendar-icon{display:inline-grid;width:18px;height:18px;flex:0 0 18px;place-items:center}.unified-calendar-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.unified-calendar-button b{font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.unified-calendar-button:disabled{cursor:wait;opacity:.45}.unified-calendar-button:focus-visible{outline:0;box-shadow:var(--focus-ring)}.unified-date-selection{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-top:var(--sp-3);border-radius:var(--r-md);padding:9px var(--sp-3);background:var(--brand-soft);color:var(--info-fg);font-size:12px;font-weight:700}.unified-date-selection span{min-width:0}.unified-date-selection button{min-height:32px;flex:0 0 auto;border:0;border-radius:var(--r-pill);padding:0 var(--sp-2);background:var(--bg-card);color:var(--brand);font-weight:750}.unified-selected-date-heading{margin:0;color:var(--ink-2);font-size:14px}.unified-summary-heading{margin:var(--sp-4) 0 0;color:var(--ink-2);font-size:14px}.unified-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:var(--sp-4)}.unified-summary-card{display:grid;min-width:0;min-height:104px;align-content:center;gap:5px;border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 13px;background:var(--bg-card);box-shadow:var(--sh-sm)}.unified-summary-card.is-interactive{width:100%;appearance:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.unified-summary-card.is-interactive:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 45%,transparent);outline-offset:2px}.unified-summary-card.is-interactive:hover{border-color:color-mix(in srgb,var(--brand) 45%,var(--line))}.unified-summary-card>span{overflow:hidden;color:var(--ink-3);font-size:12px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.unified-summary-card>strong{overflow:hidden;color:var(--ink-1);font-size:clamp(20px,2vw,26px);font-variant-numeric:tabular-nums;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.unified-summary-card>small{overflow:hidden;color:var(--ink-3);font-size:11px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.unified-summary-card>em{overflow:hidden;color:var(--ink-4);font-size:10px;font-style:normal;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.unified-filters{display:grid;gap:var(--sp-3);margin:var(--sp-4) 0}.unified-filter-field{display:grid;gap:var(--sp-1);color:var(--ink-3);font-size:12px;font-weight:700}.unified-filter-field select,.unified-filter-field input{width:100%;min-width:0;box-sizing:border-box;border:1px solid var(--line);border-radius:var(--r-md);padding-inline:var(--sp-3);background:var(--bg-card);color:var(--ink-1)}.unified-group-filter{display:flex;gap:var(--sp-2);overflow-x:auto;padding-block:2px;scrollbar-width:none}.unified-group-filter::-webkit-scrollbar{display:none}.unified-group-filter .ui-filter-chip{flex:0 0 auto;min-height:var(--tap-target-min)}.unified-roster-skeleton{display:grid;gap:var(--sp-2)}.unified-roster-list{display:grid;gap:var(--sp-4)}.unified-roster-section{display:grid;gap:var(--sp-2)}.unified-roster-section h3{margin:0;color:var(--ink-3);font-size:13px}.unified-student-card{display:flex;width:100%;min-height:68px;align-items:center;justify-content:space-between;gap:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-3);background:var(--bg-card);color:var(--ink-1);box-shadow:var(--sh-sm);text-align:left}.unified-student-card:hover{border-color:var(--brand);background:var(--brand-soft)}.unified-student-main{display:grid;flex:1 1 auto;min-width:0;gap:var(--sp-1)}.unified-student-card strong{overflow:hidden;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.unified-student-card small{overflow:hidden;color:var(--ink-3);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.unified-student-actions{display:flex;flex:0 0 auto;align-items:center;gap:var(--sp-2)}.unified-report-status{display:inline-flex;min-height:28px;flex:0 0 auto;align-items:center;gap:5px;border-radius:var(--r-pill);padding:4px 8px;font-size:12px;font-weight:750;line-height:1;white-space:nowrap}.unified-report-status:before{width:7px;height:7px;border-radius:50%;background:currentColor;content:""}.unified-report-status--submitted{background:var(--success-bg);color:var(--success-fg)}.unified-report-status--unsubmitted{background:var(--warning-bg);color:var(--warning-fg)}.unified-report-status--not_required{background:var(--neutral-bg);color:var(--neutral-fg)}.unified-student-actions>b{color:var(--brand);font-size:26px;font-weight:400}.unified-back-button{min-height:var(--tap-target-min);border:0;border-radius:var(--r-pill);padding-inline:var(--sp-3);background:var(--neutral-bg);color:var(--ink-2);font-weight:700}.shared-timeline-skeleton{display:grid;gap:var(--sp-2)}.unified-pagination{display:flex;align-items:center;justify-content:center;gap:var(--sp-3);margin-top:var(--sp-4);color:var(--ink-3);font-variant-numeric:tabular-nums}.unified-pagination button{min-height:var(--tap-target-min);border:1px solid var(--line);border-radius:var(--r-md);padding-inline:var(--sp-3);background:var(--bg-card);color:var(--ink-2)}.unified-pagination button:disabled{cursor:not-allowed;opacity:.45}.unified-hierarchy-breadcrumb{display:flex;min-width:0;align-items:center;gap:4px;margin-top:var(--sp-3);overflow-x:auto;color:var(--ink-3);font-size:13px;scrollbar-width:none;white-space:nowrap}.unified-hierarchy-breadcrumb::-webkit-scrollbar{display:none}.unified-hierarchy-breadcrumb button{min-height:var(--tap-target-min);flex:0 0 auto;border:0;border-radius:var(--r-pill);padding-inline:var(--sp-3);background:var(--neutral-bg);color:var(--ink-2);font-weight:700}.unified-hierarchy-list{display:grid;gap:var(--sp-2)}.unified-hierarchy-card{display:flex;width:100%;min-height:var(--tap-target-min);align-items:center;justify-content:space-between;gap:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-3);background:var(--bg-card);color:var(--ink-1);box-shadow:var(--sh-sm);text-align:left}.unified-hierarchy-card:hover{border-color:var(--brand);background:var(--brand-soft)}.unified-hierarchy-card span{display:grid;min-width:0;gap:var(--sp-1)}.unified-hierarchy-card strong,.unified-hierarchy-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unified-hierarchy-card small{color:var(--ink-3);font-size:12px}.unified-hierarchy-card b{color:var(--brand);font-size:26px;font-weight:400}.unified-progress-card{display:grid;width:100%;min-width:0;min-height:116px;gap:var(--sp-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-3);background:var(--bg-card);color:var(--ink-1);box-shadow:var(--sh-sm);text-align:left}.unified-progress-card:hover{border-color:var(--brand);background:var(--brand-soft)}.unified-progress-card__heading{display:grid;grid-template-columns:minmax(0,1fr) auto var(--tap-target-min);align-items:center;gap:var(--sp-2)}.unified-progress-card__heading strong{overflow:hidden;font-size:18px;text-overflow:ellipsis;white-space:nowrap}.unified-progress-card__heading>b{display:grid;width:var(--tap-target-min);height:var(--tap-target-min);place-items:center;color:var(--brand);font-size:26px;font-weight:400}.unified-progress-card>span:not(.unified-progress-card__heading){color:var(--ink-3);font-size:13px;font-variant-numeric:tabular-nums}.unified-progress-card>small{color:var(--ink-3);font-size:12px}.unified-progress-card .ui-progress{gap:4px}.unified-progress-card .ui-progress__meta{display:none}.unified-progress-card__status{display:inline-flex;min-height:28px;align-items:center;border-radius:var(--r-pill);padding:4px 8px;background:var(--neutral-bg);color:var(--neutral-fg);font-size:12px;font-weight:750;line-height:1;white-space:nowrap}.unified-progress-card__status.is-complete{background:var(--success-bg);color:var(--success-fg)}.unified-progress-card__status.is-closed{background:var(--danger-bg);color:var(--danger-fg)}.ui-progress--na .ui-progress__track{background:var(--neutral-bg)}.ui-progress--na .ui-progress__bar{width:0!important;background:var(--neutral-fg)}@media(min-width:768px){.unified-filters{grid-template-columns:minmax(150px,220px) minmax(0,1fr) minmax(180px,260px);align-items:end}.unified-daily-reports--coach .unified-filters,.unified-daily-reports--recruiter .unified-filters{grid-template-columns:minmax(0,1fr) minmax(180px,260px)}.unified-daily-reports--recruiter .unified-filters{grid-template-columns:minmax(180px,260px);justify-content:end}.unified-search-field{min-width:180px}}@media(max-width:640px){.unified-daily-reports{border-radius:var(--r-lg);padding:var(--sp-3)}.unified-roster-heading h2,.unified-detail-heading h2{font-size:20px}.unified-detail-heading{align-items:center}.unified-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.unified-summary-card{grid-column:span 1;min-height:92px;padding:12px 10px}.unified-summary-card:last-child{grid-column:1 / -1}.unified-summary-card>strong{font-size:22px}.unified-summary-card>span,.unified-summary-card>small{white-space:normal}.unified-student-card{min-height:72px;padding-inline:var(--sp-3)}.shared-report-timeline{padding-bottom:var(--sp-3)}}@media(max-width:640px){.unified-summary-grid{width:100%;max-width:100%;min-width:0;box-sizing:border-box;gap:6px}.unified-summary-card{min-width:0;box-sizing:border-box;padding:10px 8px;gap:4px}.unified-summary-card>span,.unified-summary-card>small,.unified-summary-card>em{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}.unified-summary-card>strong{overflow:visible;font-size:clamp(16px,4.4vw,18px);text-overflow:clip}}.ui-date-calendar{display:grid;gap:var(--sp-3);padding-top:var(--sp-3)}.ui-date-calendar__month{display:grid;grid-template-columns:var(--tap-target-min) minmax(0,1fr) var(--tap-target-min);align-items:center;gap:var(--sp-2)}.ui-date-calendar__month strong{text-align:center}.ui-date-calendar__month button{width:var(--tap-target-min);height:var(--tap-target-min);border:0;border-radius:50%;background:var(--neutral-bg);color:var(--ink-2);font-size:26px}.ui-date-calendar__month button:disabled{opacity:.32}.ui-date-calendar__weekdays,.ui-date-calendar__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.ui-date-calendar__weekdays{color:var(--ink-3);font-size:12px}.ui-date-calendar__days>span,.ui-date-calendar__days>button{min-width:0;min-height:var(--tap-target-min)}.ui-date-calendar__days>button{border:0;border-radius:50%;background:transparent;color:var(--ink-2);font-variant-numeric:tabular-nums}.ui-date-calendar__days>button:hover:not(:disabled){background:var(--brand-soft)}.ui-date-calendar__days>button.is-today{box-shadow:inset 0 0 0 1px var(--brand)}.ui-date-calendar__days>button.is-selected{background:var(--brand);color:var(--bg-card);box-shadow:none;font-weight:750}.ui-date-calendar__days>button:disabled{cursor:not-allowed;color:var(--ink-4);opacity:.35}.ui-date-calendar__days>button:focus-visible{outline:0;box-shadow:var(--focus-ring)}.ui-date-calendar__today{min-height:var(--tap-target-min);border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-card);color:var(--brand);font-weight:750}@media(min-width:641px){.ui-overlay:has(.ui-date-calendar){align-items:center}}@media(max-width:390px){.unified-roster-heading{gap:var(--sp-2)}.unified-calendar-button{gap:5px;padding-inline:10px}.unified-calendar-button b{display:inline}.unified-date-selection{align-items:flex-start}.ui-action-sheet:has(.ui-date-calendar){padding:var(--sp-3)}.ui-date-calendar{gap:var(--sp-2)}}@media(max-width:375px){.unified-calendar-button{gap:4px;padding-inline:8px}.unified-calendar-button b{font-size:11px}}.admin-layout,.auth-page,.center-page{min-width:0;background:var(--bg-page);color:var(--ink-1)}.admin-main,.auth-panel{min-width:0}.admin-card,.auth-card{border-color:var(--line);border-radius:var(--r-xl);box-shadow:var(--sh-sm)}.data-table-wrap{max-width:100%;overscroll-behavior-inline:contain}.data-table-wrap table{min-width:max-content}.admin-layout button,.auth-card button,.password-change-panel button{min-height:var(--tap-target-min)}.admin-layout button:focus-visible,.auth-card input:focus-visible,.auth-card button:focus-visible,.password-change-panel input:focus-visible,.password-change-panel button:focus-visible{outline:0;box-shadow:var(--focus-ring)}.password-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--sp-2)}.password-field input{min-width:0}.password-field button{min-width:var(--tap-target-min);min-height:var(--tap-target-min);border:0;border-radius:var(--r-pill);padding-inline:var(--sp-2);background:var(--neutral-bg);color:var(--ink-2);font-weight:700}.temporary-password-list{max-height:min(40vh,320px);overflow:auto;white-space:pre-wrap;word-break:break-all}@media(max-width:767px){.admin-layout{overflow-x:hidden}.admin-sidebar{padding-bottom:var(--safe-bottom)}.admin-sidebar nav,.admin-navigation{display:flex;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}.admin-main{padding-inline:max(var(--sp-3),var(--safe-left));padding-right:max(var(--sp-3),var(--safe-right))}.admin-card{min-width:0}.auth-page,.center-page{padding-bottom:var(--safe-bottom)}}.people-manager{display:grid;min-width:0;gap:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-xl);padding:var(--sp-5);background:var(--bg-card);box-shadow:var(--sh-md)}.people-manager__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4)}.people-manager__heading h2{margin:0;color:var(--ink-1);font-size:24px}.people-manager__heading p:not(.eyebrow){margin:var(--sp-1) 0 0;color:var(--ink-3);font-size:13px}.people-manager__create{flex:0 0 auto}.people-manager__metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-2)}.people-manager__metrics article{display:grid;min-width:0;gap:var(--sp-1);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-3);background:var(--bg-muted)}.people-manager__metrics article.is-alert{border-color:color-mix(in srgb,var(--danger-fg) 30%,var(--line));background:var(--danger-bg)}.people-manager__metrics small,.people-manager__metrics span{overflow:hidden;color:var(--ink-3);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.people-manager__metrics strong{color:var(--ink-1);font-size:24px;font-variant-numeric:tabular-nums;line-height:1}.people-manager__tools{display:grid;grid-template-columns:minmax(280px,2fr) repeat(3,minmax(132px,1fr)) auto auto auto;align-items:end;gap:var(--sp-2)}.people-manager__tools label{display:grid;min-width:0;gap:var(--sp-1);color:var(--ink-3);font-size:12px;font-weight:700}.people-manager__tools select{width:100%;min-width:0;border:1px solid var(--line);border-radius:var(--r-md);padding-inline:var(--sp-3);background:var(--bg-card);color:var(--ink-1)}.people-manager__search{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--sp-2)}.people-manager__search button,.people-manager__reset{min-height:var(--tap-target-min)}.people-manager__check{min-height:var(--tap-target-min);grid-template-columns:auto 1fr;align-items:center;gap:var(--sp-2)!important;border:1px solid var(--line);border-radius:var(--r-md);padding-inline:var(--sp-3);background:var(--bg-card);color:var(--ink-2)!important}.people-manager__check input{min-height:auto}.people-manager__secondary{display:flex;gap:var(--sp-2);overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.people-manager__secondary::-webkit-scrollbar{display:none}.people-manager__secondary button{flex:0 0 auto;border:1px solid var(--line);padding-inline:var(--sp-3);background:var(--bg-card);color:var(--ink-2);font-weight:700}.people-manager__secondary button.active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.people-manager__list-heading{display:flex;align-items:center;justify-content:space-between;color:var(--ink-2)}.people-manager__list-heading span{color:var(--ink-3);font-size:13px;font-variant-numeric:tabular-nums}.people-manager__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2)}.people-person{display:grid;min-width:0;min-height:126px;grid-template-columns:var(--tap-target-min) minmax(0,1fr) auto;grid-template-areas:"avatar main state" "avatar meta arrow";align-items:start;gap:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-3);background:var(--bg-card);color:var(--ink-1);box-shadow:var(--sh-sm);text-align:left;transition:border-color var(--t-fast) var(--ease-standard),box-shadow var(--t-fast) var(--ease-standard),transform var(--t-fast) var(--ease-standard)}.people-person:hover{border-color:color-mix(in srgb,var(--brand) 35%,var(--line));box-shadow:var(--sh-md)}.people-person__avatar{display:grid;width:var(--tap-target-min);height:var(--tap-target-min);grid-area:avatar;place-items:center;border-radius:50%;background:linear-gradient(145deg,var(--brand-soft),var(--info-bg));color:var(--brand);font-weight:800}.people-person__main{display:grid;min-width:0;grid-area:main;gap:2px}.people-person__main strong,.people-person__main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.people-person__main strong{font-size:16px}.people-person__main small{color:var(--ink-3);font-size:12px}.people-person__state{display:inline-flex;min-height:26px;grid-area:state;align-items:center;border-radius:var(--r-pill);padding:3px var(--sp-2);background:var(--neutral-bg);color:var(--neutral-fg);font-size:11px;font-weight:750;white-space:nowrap}.people-person__state.is-active{background:var(--success-bg);color:var(--success-fg)}.people-person__state.is-disabled{background:var(--danger-bg);color:var(--danger-fg)}.people-person__state.is-deleted{background:var(--neutral-bg);color:var(--neutral-fg)}.people-person__meta{display:grid;min-width:0;grid-area:meta;gap:2px;color:var(--ink-3);font-size:12px;line-height:1.45}.people-person__meta b,.people-person__meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.people-person__meta b{color:var(--ink-2)}.people-person__chevron{align-self:center;grid-area:arrow;color:var(--ink-4);font-size:24px}.people-detail-overlay{position:fixed;z-index:var(--layer-overlay);inset:0;display:flex;justify-content:flex-end;background:#14161c47;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.people-detail{display:grid;width:min(620px,94vw);height:100%;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;background:var(--bg-page);box-shadow:var(--sh-lg);animation:people-drawer-in var(--t-page) var(--ease-standard) both}.people-detail__header{display:grid;grid-template-columns:var(--tap-target-min) minmax(0,1fr) auto;align-items:center;gap:var(--sp-3);border-bottom:1px solid var(--line);padding:calc(var(--sp-4) + var(--safe-top)) var(--sp-4) var(--sp-4);background:var(--surface-glass);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%)}.people-detail__header h2{margin:0;color:var(--ink-1);font-size:22px}.people-detail__header p{margin:2px 0 0;color:var(--ink-3);font-size:12px}.people-detail__body{display:grid;align-content:start;gap:var(--sp-3);overflow:auto;padding:var(--sp-4)}.people-detail__card{border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-4);background:var(--bg-card);box-shadow:var(--sh-sm)}.people-detail__card h3{margin:0 0 var(--sp-3);color:var(--ink-2);font-size:15px}.people-detail__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3) var(--sp-4);margin:0}.people-detail__grid div{min-width:0}.people-detail__grid dt{color:var(--ink-3);font-size:11px}.people-detail__grid dd{margin:var(--sp-1) 0 0;overflow-wrap:anywhere;color:var(--ink-1);font-size:14px}.people-detail__assignment{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3);margin-bottom:var(--sp-4)}.people-detail__assignment label,.people-create-form label,.people-binding-dialog label{display:grid;min-width:0;gap:var(--sp-1);color:var(--ink-3);font-size:12px;font-weight:700}.people-detail__assignment select,.people-create-form input,.people-create-form select,.people-create-form textarea,.people-binding-dialog input{width:100%;min-width:0;box-sizing:border-box;border:1px solid var(--line);border-radius:var(--r-md);padding-inline:var(--sp-3);background:var(--bg-card);color:var(--ink-1)}.people-create-form textarea{padding-block:var(--sp-3);resize:vertical}.people-create-form .wide-field{grid-column:1 / -1}.people-link-state{display:inline-flex;min-height:24px;align-items:center;border-radius:var(--r-pill);padding-inline:var(--sp-2);background:var(--info-bg);color:var(--info-fg);font-size:11px;font-weight:700}.people-detail__notes{margin:0;overflow-wrap:anywhere;color:var(--ink-2);line-height:1.7;white-space:pre-wrap}.people-detail__actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);border-top:1px solid var(--line);padding:var(--sp-3) var(--sp-4) calc(var(--sp-3) + var(--safe-bottom));background:var(--bg-card)}.people-create-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:var(--sp-3);overflow:auto;padding:var(--sp-4)}.people-create-form .form-submit{grid-column:1 / -1}.people-import-panel{display:grid;align-content:start;gap:var(--sp-4);padding:var(--sp-4)}.people-import-panel p{margin:0;color:var(--ink-3);line-height:1.6}.people-file-button{position:relative;display:grid;min-height:54px;place-items:center;overflow:hidden;border:1px dashed var(--brand);border-radius:var(--r-lg);background:var(--brand-soft);color:var(--brand);font-weight:750}.people-file-button input{position:absolute;inset:0;cursor:pointer;opacity:0}.people-binding-dialog{display:grid;width:min(420px,calc(100vw - 2 * var(--sp-4)));align-self:center;gap:var(--sp-3);margin:auto;border-radius:var(--r-xl);padding:var(--sp-5);background:var(--bg-card);box-shadow:var(--sh-lg)}.people-binding-dialog h2,.people-binding-dialog p{margin:0}.people-binding-dialog p{color:var(--ink-3)}.people-binding-dialog>div{display:flex;justify-content:flex-end;gap:var(--sp-2)}@keyframes people-drawer-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@media(max-width:1100px){.people-manager__tools{grid-template-columns:repeat(3,minmax(0,1fr))}.people-manager__search{grid-column:span 2}.people-manager__list{grid-template-columns:1fr}}@media(max-width:640px){.people-manager{gap:var(--sp-3);border-radius:var(--r-lg);padding:var(--sp-3)}.people-manager__heading{align-items:center}.people-manager__heading h2{font-size:21px}.people-manager__heading p:not(.eyebrow){display:none}.people-manager__create{min-width:var(--tap-target-min);padding-inline:var(--sp-3);font-size:13px}.people-manager__metrics{gap:6px}.people-manager__metrics article{padding:10px 8px}.people-manager__metrics strong{font-size:20px}.people-manager__metrics span{display:none}.people-manager__tools{grid-template-columns:repeat(2,minmax(0,1fr))}.people-manager__search{grid-column:1 / -1}.people-manager__tools>.ui-icon-action{justify-self:end}.people-manager__list{gap:var(--sp-2)}.people-person{min-height:136px;grid-template-columns:var(--tap-target-min) minmax(0,1fr);grid-template-areas:"avatar main" "state state" "meta arrow";padding:var(--sp-3)}.people-person__state{justify-self:start}.people-person__meta{padding-left:calc(var(--tap-target-min) + var(--sp-3));margin-left:calc(-1 * (var(--tap-target-min) + var(--sp-3)))}.people-detail-overlay{align-items:flex-end}.people-detail{width:100%;height:min(92dvh,860px);border-radius:var(--r-xl) var(--r-xl) 0 0;animation-name:people-sheet-in}.people-detail__header{padding-top:var(--sp-3)}.people-detail__grid,.people-detail__assignment,.people-create-form{grid-template-columns:1fr}.people-create-form .wide-field,.people-create-form .form-submit{grid-column:auto}.people-detail__actions{flex-wrap:nowrap;overflow-x:auto}.people-detail__actions button{flex:0 0 auto}}@keyframes people-sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media(max-width:375px){.people-manager__metrics strong{font-size:18px}.people-manager__metrics small{font-size:10px}.people-manager__tools{grid-template-columns:1fr}.people-manager__search{grid-column:auto}.people-manager__check{width:100%;box-sizing:border-box}.people-person{grid-template-columns:40px minmax(0,1fr)}.people-person__avatar{width:40px;height:40px}.people-person__meta{padding-left:calc(40px + var(--sp-3));margin-left:calc(-1 * (40px + var(--sp-3)))}}.month-visits-sheet{display:grid;min-width:0;gap:var(--sp-3);padding:0 var(--sp-4) calc(var(--sp-5) + var(--safe-bottom))}.month-visits-sheet__period,.month-visits-sheet__total,.month-visits-sheet__hint{margin:0}.month-visits-sheet__period,.month-visits-sheet__hint{color:var(--ink-3);font-size:12px}.month-visits-sheet__total{color:var(--ink-2);font-size:14px}.month-visits-sheet__total strong{color:var(--ink-1);font-size:20px;font-variant-numeric:tabular-nums}.month-visits-sheet__list{display:grid;gap:var(--sp-2);margin:0;padding:0;list-style:none}.month-visits-sheet__list li{display:flex;min-width:0;min-height:var(--tap-target-min);align-items:center;justify-content:space-between;gap:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-3);background:var(--bg-card)}.month-visits-sheet__list span{display:grid;min-width:0;gap:2px}.month-visits-sheet__list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-1)}.month-visits-sheet__list small{color:var(--ink-3);font-size:12px}.month-visits-sheet__list b{flex:0 0 auto;color:var(--brand);font-variant-numeric:tabular-nums;white-space:nowrap}.month-visits-sheet__more{min-height:var(--tap-target-min);border:1px solid var(--brand);border-radius:var(--r-md);background:var(--bg-card);color:var(--brand);font-weight:700}.fyc-card-list,.fyc-card-empty{display:none}@media(max-width:640px){.fyc-table-desktop{display:none}.fyc-card-list{display:grid;gap:var(--sp-2)}.fyc-card-empty{display:block}.fyc-card{display:grid;gap:var(--sp-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-3);background:var(--bg-card);box-shadow:var(--sh-sm)}.fyc-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.fyc-card__student{min-width:0;flex:1}.fyc-card__amount{display:flex;align-items:baseline;gap:6px}.fyc-card__amount strong{font-size:24px;font-variant-numeric:tabular-nums;color:var(--ink-1)}.fyc-card__amount small{color:var(--ink-3);font-size:12px}.fyc-card__meta{display:flex;justify-content:space-between;gap:var(--sp-2);color:var(--ink-3);font-size:12px}.fyc-card__actions{display:flex;gap:var(--sp-3);border-top:1px solid var(--line);padding-top:var(--sp-2)}}.fyc-card--highlight,tr.fyc-card--highlight td{animation:fyc-highlight 2.5s ease-out}@keyframes fyc-highlight{0%{background:var(--brand-soft);box-shadow:0 0 0 3px var(--brand)}to{background:var(--bg-card);box-shadow:var(--sh-sm)}}.form-inline-error{display:block;margin:4px 0 0;color:var(--danger-fg);font-size:12px;font-weight:600}.timeline-week-today{min-height:32px;border:1px solid var(--brand);border-radius:var(--r-pill);padding:0 12px;background:var(--brand-soft);color:var(--brand);font-size:12px;font-weight:700;white-space:nowrap}.admin-bottom-nav{display:none}@media(max-width:767px){.admin-bottom-nav{position:fixed;z-index:var(--layer-header);right:0;bottom:0;left:0;display:flex;align-items:stretch;justify-content:space-around;border-top:1px solid var(--line);padding:6px max(8px,var(--safe-left)) calc(6px + var(--safe-bottom)) max(8px,var(--safe-right));background:var(--surface-glass);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%)}.admin-bottom-nav button{display:grid;flex:1;min-width:0;min-height:48px;place-items:center;gap:2px;border:0;border-radius:var(--r-md);background:transparent;color:var(--ink-3);font-size:11px;font-weight:600}.admin-bottom-nav button.active{background:var(--brand-soft);color:var(--brand)}.admin-bottom-nav .abn-label{font-size:12px;font-weight:700}.admin-main{padding-bottom:72px}}.people-manager__role-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.people-manager__role-tabs::-webkit-scrollbar{display:none}.role-tab{flex:0 0 auto;padding:8px 16px;border:1px solid var(--line);border-radius:20px;background:var(--bg-card);color:var(--ink-3);font-size:13px;font-weight:600;white-space:nowrap;transition:all var(--t-fast) var(--ease-standard)}.role-tab.active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.role-tab:active{transform:scale(.96)}.people-manager__search-bar{display:flex;gap:8px;align-items:center}.search-input-wrapper{position:relative;flex:1;min-width:0}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:14px;opacity:.5;pointer-events:none}.search-input{width:100%;min-height:44px;padding:0 36px;border:1px solid var(--line);border-radius:12px;background:var(--bg-muted);color:var(--ink-1);font-size:14px;outline:none;transition:border-color var(--t-fast) var(--ease-standard),background var(--t-fast) var(--ease-standard)}.search-input:focus{border-color:var(--brand);background:var(--bg-card)}.search-input::placeholder{color:var(--ink-3)}.search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:24px;height:24px;border:none;border-radius:50%;background:var(--ink-3);color:var(--bg-card);font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}.filter-button{display:flex;align-items:center;gap:4px;flex:0 0 auto;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:var(--bg-card);color:var(--ink-2);font-size:13px;font-weight:600;white-space:nowrap}.filter-button.active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.filter-badge{display:inline-flex;min-width:18px;height:18px;align-items:center;justify-content:center;border-radius:9px;background:var(--brand);color:#fff;font-size:11px;font-weight:700;padding:0 5px}.people-fab{position:fixed;right:20px;bottom:calc(80px + var(--safe-bottom));z-index:var(--layer-header);width:56px;height:56px;border:none;border-radius:50%;background:var(--brand);color:#fff;font-size:28px;line-height:1;box-shadow:0 6px 20px color-mix(in srgb,var(--brand) 40%,transparent);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform var(--t-fast) var(--ease-standard),box-shadow var(--t-fast) var(--ease-standard)}.people-fab:active{transform:scale(.92);box-shadow:0 3px 10px color-mix(in srgb,var(--brand) 40%,transparent)}.filter-drawer-overlay{position:fixed;inset:0;z-index:calc(var(--layer-modal) + 10);background:#0006;display:flex;align-items:flex-end;animation:fadeIn .2s ease}.filter-drawer{width:100%;max-height:75vh;background:var(--bg-card);border-radius:20px 20px 0 0;display:flex;flex-direction:column;animation:slideUp .25s ease}.filter-drawer__handle{width:40px;height:4px;margin:10px auto 0;border-radius:2px;background:var(--line)}.filter-drawer__header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--line)}.filter-drawer__header h3{margin:0;font-size:16px;font-weight:700}.filter-drawer__close{width:32px;height:32px;border:none;border-radius:50%;background:var(--bg-muted);color:var(--ink-3);font-size:18px;line-height:1;cursor:pointer}.filter-drawer__body{flex:1;overflow-y:auto;padding:16px 20px}.filter-group{margin-bottom:20px}.filter-group__label{display:block;margin-bottom:8px;color:var(--ink-3);font-size:12px;font-weight:700}.filter-chips{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{padding:8px 14px;border:1px solid var(--line);border-radius:16px;background:var(--bg-card);color:var(--ink-2);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--t-fast) var(--ease-standard)}.filter-chip.active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand);font-weight:600}.filter-drawer__footer{display:flex;gap:10px;padding:12px 20px calc(12px + var(--safe-bottom));border-top:1px solid var(--line)}.filter-drawer__reset{flex:1;min-height:44px;border:1px solid var(--line);border-radius:12px;background:var(--bg-card);color:var(--ink-2);font-size:14px;font-weight:600}.filter-drawer__confirm{flex:2;min-height:44px;border:none;border-radius:12px;background:var(--brand);color:#fff;font-size:14px;font-weight:700}.people-detail.is-fullscreen{position:fixed;inset:0;width:100%;max-width:100%;height:100vh;height:100dvh;border-radius:0;display:flex;flex-direction:column;animation:slideInRight .25s ease}.people-detail__header--full{flex:0 0 auto;padding:12px 16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.people-detail__title-wrap{flex:1;min-width:0}.people-detail__title-wrap h2{margin:0;font-size:17px;font-weight:700}.people-detail__title-wrap p{margin:2px 0 0;color:var(--ink-3);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.people-detail__body--full{flex:1;overflow-y:auto;padding:12px 16px;-webkit-overflow-scrolling:touch}.people-detail__actions--fixed{flex:0 0 auto;display:flex;gap:8px;padding:10px 16px calc(10px + var(--safe-bottom));border-top:1px solid var(--line);background:var(--bg-card);overflow-x:auto}.people-detail__actions--fixed button{flex:0 0 auto;min-height:40px;padding:0 14px;font-size:13px;white-space:nowrap}.people-detail__card--collapsible{overflow:hidden}.people-detail__card-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border:none;background:transparent;color:var(--ink-1);font-size:14px;font-weight:700;cursor:pointer;text-align:left}.people-detail__card-header h3{margin:0;font-size:14px}.people-detail__card-arrow{color:var(--ink-3);font-size:16px;transition:transform var(--t-fast) var(--ease-standard)}.people-detail__card-arrow.expanded{transform:rotate(90deg)}.people-detail__card-body{padding:0 14px 14px}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.people-manager__metrics{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.people-manager__metrics::-webkit-scrollbar{display:none}.metric-card{flex:0 0 auto;min-width:120px;display:grid;gap:4px;border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px;background:var(--bg-muted);cursor:pointer;transition:all var(--t-fast) var(--ease-standard)}.metric-card:active{transform:scale(.97)}.metric-card:hover{border-color:color-mix(in srgb,var(--brand) 30%,var(--line))}.metric-card--alert.is-alert{border-color:color-mix(in srgb,var(--danger-fg) 30%,var(--line));background:var(--danger-bg)}.metric-card--alert.active{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 2px var(--brand)}.metric-card small{color:var(--ink-3);font-size:11px;font-weight:600}.metric-card strong{color:var(--ink-1);font-size:24px;font-variant-numeric:tabular-nums;line-height:1}.metric-card span{color:var(--ink-3);font-size:10px}.people-manager__more-wrap{position:relative;z-index:200;flex:0 0 auto}.more-menu-button{width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:var(--bg-card);color:var(--ink-2);font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--t-fast) var(--ease-standard)}.more-menu-button:hover,.more-menu-button.active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.more-menu-backdrop{position:fixed;inset:0;z-index:199}.more-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:201;min-width:180px;background:var(--bg-card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh-lg);overflow:hidden;animation:dropdownFadeIn .15s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.more-menu-dropdown button{display:block;width:100%;padding:12px 16px;border:none;background:transparent;color:var(--ink-1);font-size:13px;font-weight:500;text-align:left;cursor:pointer;transition:background var(--t-fast) var(--ease-standard)}.more-menu-dropdown button:hover{background:var(--bg-muted)}.more-menu-dropdown button+button{border-top:1px solid var(--line)}.unassigned-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:var(--danger-bg);border:1px solid color-mix(in srgb,var(--danger-fg) 20%,var(--line));border-radius:10px;font-size:13px;color:var(--danger-fg);font-weight:600}.unassigned-filter-clear{border:none;background:transparent;color:var(--danger-fg);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.unassigned-filter-clear:hover{text-decoration:underline}.camp-identity-card--compact{display:flex;align-items:center;justify-content:space-between;padding:14px 16px}.camp-identity-card--compact h2{font-size:18px;margin:2px 0}.camp-identity-card--compact span{font-size:12px;color:var(--ink-3)}.enrollment-metrics--scroll{display:flex;gap:8px;overflow-x:auto;padding:0 16px 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.enrollment-metrics--scroll::-webkit-scrollbar{display:none}.enrollment-metrics--scroll article{flex:0 0 auto;min-width:80px;display:grid;gap:2px;text-align:center;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--bg-card);cursor:pointer;transition:all var(--t-fast) var(--ease-standard)}.enrollment-metrics--scroll article:active{transform:scale(.96)}.enrollment-metrics--scroll article.active{border-color:var(--brand);background:var(--brand-soft)}.enrollment-metrics--scroll article span{font-size:11px;color:var(--ink-3);font-weight:600}.enrollment-metrics--scroll article strong{font-size:22px;color:var(--ink-1);font-variant-numeric:tabular-nums;line-height:1}.enrollment-tabs{display:flex;gap:0;padding:0 16px;border-bottom:1px solid var(--line);background:var(--bg-card)}.enrollment-tabs button{flex:1;padding:12px 4px;border:none;background:transparent;color:var(--ink-3);font-size:13px;font-weight:600;border-bottom:2px solid transparent;cursor:pointer;transition:all var(--t-fast) var(--ease-standard)}.enrollment-tabs button.active{color:var(--brand);border-bottom-color:var(--brand)}.tab-badge{display:inline-block;min-width:18px;height:18px;padding:0 5px;margin-left:4px;border-radius:9px;background:var(--bg-muted);color:var(--ink-3);font-size:11px;font-weight:700;line-height:18px}.enrollment-tabs button.active .tab-badge{background:var(--brand);color:#fff}.enrollment-search{position:relative;margin:10px 16px}.enrollment-search .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:14px;opacity:.5;pointer-events:none}.enrollment-search .search-input{width:100%;min-height:42px;padding:0 36px;border:1px solid var(--line);border-radius:12px;background:var(--bg-muted);color:var(--ink-1);font-size:14px;outline:none}.enrollment-search .search-input:focus{border-color:var(--brand);background:var(--bg-card)}.enrollment-search .search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:24px;height:24px;border:none;border-radius:50%;background:var(--ink-3);color:var(--bg-card);font-size:14px;line-height:1;cursor:pointer}.enrollment-list{padding:8px 16px 24px}.roster-status-filter{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px;scrollbar-width:none}.roster-status-filter::-webkit-scrollbar{display:none}.roster-status-filter button{flex:0 0 auto;padding:6px 14px;border:1px solid var(--line);border-radius:16px;background:var(--bg-card);color:var(--ink-3);font-size:12px;font-weight:600;cursor:pointer}.roster-status-filter button.active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.roster-card{background:var(--bg-card);border:1px solid var(--line);border-radius:12px;margin-bottom:8px;overflow:hidden;transition:border-color var(--t-fast) var(--ease-standard)}.roster-card.expanded{border-color:color-mix(in srgb,var(--brand) 30%,var(--line))}.roster-card__header{width:100%;display:flex;align-items:center;gap:10px;padding:12px;border:none;background:transparent;text-align:left;cursor:pointer}.roster-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(145deg,var(--brand-soft),var(--info-bg));color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;flex-shrink:0}.roster-info{flex:1;min-width:0}.roster-info strong{display:block;font-size:15px;color:var(--ink-1)}.roster-info small{display:block;font-size:12px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-status{font-size:11px;padding:3px 10px;border-radius:10px;flex-shrink:0;font-weight:600}.roster-status.is-green{background:#f6ffed;color:#52c41a}.roster-status.is-orange{background:#fff7e6;color:#fa8c16}.roster-status.is-red{background:#fff1f0;color:#ff4d4f}.roster-status.is-gray{background:#f5f5f5;color:#999}.roster-arrow{color:var(--ink-3);font-size:16px;transition:transform var(--t-fast) var(--ease-standard);flex-shrink:0}.roster-arrow.expanded{transform:rotate(90deg)}.roster-detail{padding:0 12px 12px;border-top:1px solid var(--line)}.roster-detail__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:12px 0}.roster-detail__grid div{display:grid;gap:2px}.roster-detail__grid dt{font-size:11px;color:var(--ink-3)}.roster-detail__grid dd{font-size:13px;color:var(--ink-1);font-weight:500;margin:0}.roster-detail__actions{display:flex;gap:8px;align-items:center}.roster-detail__actions button{min-height:38px;padding:0 16px;font-size:13px}.candidates-toolbar{display:flex;align-items:center;justify-content:space-between;padding:4px 0 10px}.candidates-count{font-size:13px;color:var(--brand);font-weight:600}.batch-select-bar{padding-bottom:8px}.candidate-card{display:flex;align-items:center;gap:10px;padding:12px;background:var(--bg-card);border:1px solid var(--line);border-radius:12px;margin-bottom:8px;transition:all var(--t-fast) var(--ease-standard)}.candidate-card.selected{border-color:var(--brand);background:var(--brand-soft)}.candidate-checkbox{flex-shrink:0}.candidate-checkbox input{width:20px;height:20px;accent-color:var(--brand)}.candidate-enroll-btn{min-height:36px;padding:0 14px;font-size:13px;flex-shrink:0}.batch-enroll-fab{position:fixed;right:20px;bottom:calc(80px + var(--safe-bottom));z-index:var(--layer-header);padding:12px 20px;border:none;border-radius:24px;background:var(--brand);color:#fff;font-size:14px;font-weight:700;box-shadow:0 6px 20px color-mix(in srgb,var(--brand) 40%,transparent);cursor:pointer}.batch-enroll-fab:disabled{opacity:.6}.quick-form-overlay{position:fixed;inset:0;z-index:calc(var(--layer-modal) + 10);background:#0006;display:flex;align-items:flex-end;animation:fadeIn .2s ease}.quick-form-sheet{width:100%;background:var(--bg-card);border-radius:20px 20px 0 0;display:flex;flex-direction:column;animation:slideUp .25s ease}.quick-form__handle{width:40px;height:4px;margin:10px auto 0;border-radius:2px;background:var(--line)}.quick-form__header{position:relative;padding:12px 20px 8px}.quick-form__header h3{margin:0;font-size:17px;font-weight:700}.quick-form__header p{margin:2px 0 0;font-size:12px;color:var(--ink-3)}.quick-form__close{position:absolute;right:16px;top:12px;width:32px;height:32px;border:none;border-radius:50%;background:var(--bg-muted);color:var(--ink-3);font-size:18px;line-height:1;cursor:pointer}.quick-form__body{padding:8px 20px 12px}.quick-form__body label{display:grid;gap:4px;margin-bottom:12px}.quick-form__body label span{font-size:12px;color:var(--ink-3);font-weight:600}.quick-form__body input{min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:10px;font-size:14px;background:var(--bg-card);color:var(--ink-1)}.quick-form__body input:focus{border-color:var(--brand);outline:none}.quick-form__footer{display:flex;gap:10px;padding:12px 20px calc(12px + var(--safe-bottom));border-top:1px solid var(--line)}.quick-form__footer button{flex:1;min-height:46px;border-radius:12px;font-size:15px;font-weight:700}.quick-form__footer .is-danger{background:var(--danger-fg);color:#fff}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(max-width:767px){.people-manager{padding:var(--sp-3);gap:var(--sp-3)}.people-manager__heading h2{font-size:20px}.people-manager__metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.people-manager__metrics article{padding:10px}.people-manager__metrics strong{font-size:20px}.people-manager__metrics small,.people-manager__metrics span{font-size:10px}.people-manager__list{grid-template-columns:1fr}.people-person{min-height:auto;grid-template-columns:40px minmax(0,1fr) auto;grid-template-areas:"avatar main state" "avatar main arrow";align-items:center;padding:12px;gap:8px 10px}.people-person__avatar{width:40px;height:40px;font-size:14px}.people-person__main strong{font-size:15px}.people-person__main small{font-size:12px}.people-person__meta{display:none}.people-person__chevron{grid-area:arrow;align-self:center}.people-manager__secondary,.people-manager__tools{display:none}}.roster-group{margin-bottom:16px}.roster-group__header{display:flex;align-items:center;justify-content:space-between;padding:8px 4px}.roster-group__title{font-size:14px;font-weight:700;color:var(--ink-1)}.roster-group__count{font-size:12px;color:var(--ink-3);font-weight:600}.roster-group .roster-card{margin-bottom:6px}.people-group{margin-bottom:14px}.people-group__header{display:flex;align-items:center;justify-content:space-between;padding:6px 4px}.people-group__title{font-size:13px;font-weight:700;color:var(--ink-2)}.people-group__count{font-size:11px;color:var(--ink-3);font-weight:600}.people-group .people-person{margin-bottom:6px}.ocr-modal-overlay{position:fixed;inset:0;z-index:1000;background:#00000080;display:flex;align-items:center;justify-content:center;padding:20px}.ocr-modal{width:100%;max-width:480px;max-height:85vh;background:var(--bg-card);border-radius:16px;display:flex;flex-direction:column;overflow:hidden;animation:ocrSlideUp .25s ease}@keyframes ocrSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ocr-modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}.ocr-modal__header h3{margin:0;font-size:17px;font-weight:700}.ocr-modal__close{width:32px;height:32px;border:none;border-radius:50%;background:var(--bg-muted);color:var(--ink-3);font-size:18px;cursor:pointer}.ocr-modal__body{flex:1;overflow-y:auto;padding:16px 20px}.ocr-loading{text-align:center;padding:40px 0;color:var(--ink-3)}.ocr-summary{font-size:14px;color:var(--ink-2);margin:0 0 12px;font-weight:600}.ocr-list{display:flex;flex-direction:column;gap:8px}.ocr-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer;transition:all .15s ease}.ocr-item.matched{background:var(--bg-card)}.ocr-item.unmatched{background:var(--bg-muted);opacity:.7}.ocr-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--brand);flex-shrink:0}.ocr-item__rank{width:24px;height:24px;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ocr-item__name{flex:1;font-size:14px;font-weight:600;color:var(--ink-1)}.ocr-item__fyc{font-size:15px;font-weight:700;color:var(--ink-1);font-variant-numeric:tabular-nums}.ocr-item__status{font-size:11px;padding:2px 8px;border-radius:8px;flex-shrink:0}.ocr-item__status.is-ok{background:#f6ffed;color:#52c41a}.ocr-item__status.is-warn{background:#fff7e6;color:#fa8c16}.ocr-hint{font-size:12px;color:var(--ink-3);margin:12px 0 0}.ocr-modal__footer{display:flex;gap:10px;padding:12px 20px;border-top:1px solid var(--line)}.ocr-modal__footer button{flex:1;min-height:44px;border-radius:10px;font-size:14px;font-weight:700}.ocr-tools{display:flex;gap:8px;margin-bottom:12px}.ocr-tool-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--bg-card);color:var(--ink-2);font-size:13px;font-weight:600;cursor:pointer}.ocr-tool-btn:disabled{opacity:.5;cursor:default}.ocr-tool--primary{background:var(--brand);color:#fff;border-color:var(--brand)}.ocr-error-line{margin:0 0 10px}.ocr-item{cursor:default;gap:8px}.ocr-row-select{flex:1;min-width:0;height:36px;border:1px solid var(--line);border-radius:8px;padding:0 8px;font-size:13px;background:var(--bg-card);color:var(--ink-1)}.ocr-row-fyc{width:88px;flex-shrink:0;height:36px;border:1px solid var(--line);border-radius:8px;padding:0 8px;font-size:14px;font-weight:700;text-align:right;color:var(--ink-1);font-variant-numeric:tabular-nums}.ocr-row-del{width:30px;height:30px;flex-shrink:0;border:none;border-radius:50%;background:var(--bg-muted);color:var(--ink-3);font-size:16px;line-height:1;cursor:pointer}.ocr-row-del:hover{background:#fdecec;color:#d33f3f}@media(max-width:420px){.ocr-item__status{display:none}.ocr-row-fyc{width:80px}.ocr-tools{gap:6px}.ocr-tool-btn{font-size:12px;padding:0 6px}}
