.admin-shell{min-height:100vh;padding:var(--sp-6) clamp(var(--sp-5), 6vw, var(--sp-16));background:radial-gradient(circle at 90% 0%, var(--ctx-public-tint), transparent 32%), var(--surface-0)}.admin-shell__topbar{align-items:center;gap:var(--sp-6);max-width:var(--max-width);grid-template-columns:minmax(180px,1fr) auto minmax(88px,1fr);margin:0 auto;display:grid}.admin-shell__brand{gap:var(--sp-1);justify-self:start;display:grid}.admin-shell__eyebrow{color:var(--accent-300);font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:var(--tr-eyebrow)}.admin-shell__title{color:var(--text-secondary);font-family:var(--font-display);font-size:var(--fs-body-sm);font-weight:var(--fw-semibold)}.admin-shell__nav{justify-content:center;gap:var(--sp-1);padding:var(--sp-1);border:1px solid var(--line-1);border-radius:var(--r-full);background:var(--surface-elev);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);flex-wrap:wrap;display:flex}.admin-shell__nav-link{min-height:36px;padding:0 var(--sp-3);border-radius:var(--r-full);color:var(--text-tertiary);font-size:var(--fs-body-sm);transition:color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);align-items:center;display:inline-flex}.admin-shell__nav-link:hover,.admin-shell__nav-link:focus-visible{color:var(--text-primary);background:oklch(100% 0 0/.06)}.admin-shell__nav-link.is-active{color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--line-1);background:oklch(100% 0 0/.1)}.admin-shell__logout{min-width:88px;min-height:40px;padding:0 var(--sp-4);border:1px solid var(--line-2);border-radius:var(--r-xs);color:var(--text-secondary);transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);justify-self:end}.admin-shell__logout:hover{color:var(--text-primary);border-color:var(--line-3)}.admin-shell__logout:active{transform:scale(.96)}.admin-shell__logout:focus-visible,.admin-shell__nav-link:focus-visible,.admin-shell__brand:focus-visible{outline:2px solid var(--accent-300);outline-offset:3px}.admin-shell__content{max-width:var(--max-width);margin:0 auto}@media (width<=820px){.admin-shell__topbar{grid-template-columns:1fr auto}.admin-shell__nav{grid-area:2/1/auto/-1;justify-content:flex-start;overflow-x:auto}}@media (prefers-reduced-motion:reduce){.admin-shell__nav-link,.admin-shell__logout{transition:none}}.dashboard-page{padding:clamp(var(--sp-10), 8vw, var(--sp-16)) 0 var(--sp-12)}.dashboard-page__intro,.dashboard-page__panel-head,.dashboard-page__growth-card{justify-content:space-between;align-items:flex-start;gap:var(--sp-6);display:flex}.dashboard-page__kicker,.dashboard-page__eyebrow{margin:0 0 var(--sp-3);color:var(--accent-300);font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:var(--tr-eyebrow);text-transform:uppercase}.dashboard-page h1,.dashboard-page h2,.dashboard-page p{margin-top:0}.dashboard-page h1{margin-bottom:var(--sp-3);font-family:var(--font-display);font-size:clamp(var(--fs-h1), 6vw, var(--fs-display));letter-spacing:var(--tr-tight);line-height:var(--lh-tight)}.dashboard-page__lead{max-width:500px;color:var(--text-secondary);font-size:var(--fs-body-lg);margin-bottom:0}.range-toggle__button{min-height:36px;padding:0 var(--sp-3);border-radius:var(--r-full);color:var(--text-tertiary);font-size:var(--fs-body-sm);transition:color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out)}.range-toggle__button:active{transform:scale(.96)}.dashboard-page__kpis{gap:var(--sp-4);margin-top:var(--sp-10);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.metric-card,.dashboard-page__panel,.dashboard-page__growth-card{border:1px solid var(--line-1);border-radius:var(--r-md);background:var(--surface-1);box-shadow:var(--shadow-sm)}.metric-card{min-height:164px;padding:var(--sp-5)}.metric-card--accent{background:linear-gradient(145deg, oklch(25% .04 16), var(--surface-1));box-shadow:var(--shadow-md)}.metric-card__label,.metric-card__foot,.dashboard-page__period-note{color:var(--text-tertiary);font-size:var(--fs-body-sm)}.metric-card__value{margin:var(--sp-6) 0 var(--sp-2);color:var(--text-primary);font-family:var(--font-display);font-size:clamp(26px,3vw,36px);font-weight:var(--fw-semibold);letter-spacing:var(--tr-tight);line-height:var(--lh-tight);font-variant-numeric:tabular-nums}.metric-card__foot{margin-bottom:0}.dashboard-page__panel{margin-top:var(--sp-6);padding:var(--sp-6)}.dashboard-page__panel-head{align-items:center}.dashboard-page__panel-head h2,.dashboard-page__growth-card h2{font-family:var(--font-display);font-size:var(--fs-h3);line-height:var(--lh-snug);margin-bottom:0}.dashboard-page__eyebrow{margin-bottom:var(--sp-2)}.admin-chart{align-items:end;gap:var(--sp-2);min-height:280px;padding-top:var(--sp-10);grid-auto-columns:minmax(26px,1fr);grid-auto-flow:column;display:grid}.admin-chart__column{place-items:end center;gap:var(--sp-2);grid-template-rows:28px 1fr 20px;min-width:0;height:220px;display:grid}.admin-chart__value{max-width:100%;color:var(--text-tertiary);font-size:var(--fs-micro);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-chart__bar{border-radius:var(--r-xs) var(--r-xs) var(--sp-1) var(--sp-1);background:linear-gradient(180deg, var(--accent-300), var(--accent-600));width:min(100%,42px);min-height:3px;box-shadow:0 6px 20px var(--accent-glow);transition:height var(--dur-base) var(--ease-out)}.admin-chart__bar--empty{background:var(--line-2);box-shadow:none}.admin-chart__label{color:var(--text-tertiary);font-size:var(--fs-micro)}.dashboard-page__growth{gap:var(--sp-4);margin-top:var(--sp-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dashboard-page__growth-card{padding:var(--sp-5) var(--sp-6);align-items:center}.dashboard-page__growth-card strong{color:var(--text-primary);font-family:var(--font-display);font-size:var(--fs-h2);font-variant-numeric:tabular-nums}.admin-state{margin:var(--sp-10) 0;color:var(--text-secondary)}.admin-state--error{padding:var(--sp-4);border-radius:var(--r-sm);color:var(--accent-100);background:oklch(64% .22 28/.1);border:1px solid oklch(64% .22 28/.35)}@media (width<=900px){.dashboard-page__intro{display:grid}.dashboard-page__kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.dashboard-page{padding-top:var(--sp-8)}.range-toggle{justify-content:stretch}.range-toggle__button{flex:1}.dashboard-page__kpis,.dashboard-page__growth{grid-template-columns:1fr}.dashboard-page__panel{padding:var(--sp-4)}.admin-chart{gap:var(--sp-1)}.admin-chart__value{font-size:9px}}@media (prefers-reduced-motion:reduce){.range-toggle__button,.admin-chart__bar{transition:none}}.schools-page{padding:clamp(var(--sp-10), 8vw, var(--sp-16)) 0 var(--sp-12)}.schools-page__intro{justify-content:space-between;align-items:flex-start;gap:var(--sp-6);display:flex}.schools-page__kicker,.schools-page__eyebrow{margin:0 0 var(--sp-3);color:var(--accent-300);font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:var(--tr-eyebrow);text-transform:uppercase}.schools-page h1,.schools-page h2,.schools-page p{margin-top:0}.schools-page h1{margin-bottom:var(--sp-3);font-family:var(--font-display);font-size:clamp(var(--fs-h1), 6vw, var(--fs-display));letter-spacing:var(--tr-tight);line-height:var(--lh-tight)}.schools-page__lead{color:var(--text-secondary);font-size:var(--fs-body-lg);margin-bottom:0}.schools-page__panel{margin-top:var(--sp-10);padding:var(--sp-6);border:1px solid var(--line-1);border-radius:var(--r-md);background:var(--surface-1);box-shadow:var(--shadow-sm)}.schools-page__panel-head{justify-content:space-between;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-5);display:flex}.schools-page__panel-head h2{font-family:var(--font-display);font-size:var(--fs-h3);margin-bottom:0}.schools-page__eyebrow{margin-bottom:var(--sp-2)}.schools-page__count,.schools-page__pagination{color:var(--text-tertiary);font-size:var(--fs-body-sm)}.schools-table-wrap{overflow-x:auto}.schools-table{border-collapse:collapse;width:100%;min-width:600px}.schools-table th,.schools-table td{padding:var(--sp-4) var(--sp-3);border-bottom:1px solid var(--line-1);text-align:start;white-space:nowrap}.schools-table thead th{color:var(--text-tertiary);font-size:var(--fs-caption);font-weight:var(--fw-medium);letter-spacing:var(--tr-eyebrow);text-transform:uppercase}.schools-table tbody th{font-weight:var(--fw-medium)}.schools-table tbody td{color:var(--text-secondary);font-variant-numeric:tabular-nums}.schools-table tbody tr:last-child th,.schools-table tbody tr:last-child td{border-bottom:0}.schools-table__name,.schools-table__slug{display:block}.schools-table__name{color:var(--text-primary)}.schools-table__slug{margin-top:var(--sp-1);color:var(--text-quaternary);font-size:var(--fs-caption);font-weight:var(--fw-regular)}.schools-page__empty{margin:var(--sp-8) 0;color:var(--text-secondary)}.schools-page__pagination{justify-content:space-between;align-items:center;gap:var(--sp-4);padding-top:var(--sp-5);display:flex}.schools-page__pagination-actions{gap:var(--sp-2);display:flex}.pagination-button{min-height:36px;padding:0 var(--sp-3);border:1px solid var(--line-2);border-radius:var(--r-xs);color:var(--text-secondary);font-size:var(--fs-body-sm);transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out)}.pagination-button:hover:not(:disabled){color:var(--text-primary);border-color:var(--line-3)}.pagination-button:active:not(:disabled){transform:scale(.96)}.pagination-button:focus-visible{outline:2px solid var(--accent-300);outline-offset:2px}.pagination-button:disabled{cursor:not-allowed;opacity:.4}.range-toggle{gap:var(--sp-1);padding:var(--sp-1);border:1px solid var(--line-1);border-radius:var(--r-full);background:var(--surface-1);flex-wrap:wrap;display:flex}.range-toggle__button{min-height:36px;padding:0 var(--sp-3);border-radius:var(--r-full);color:var(--text-tertiary);font-size:var(--fs-body-sm)}.range-toggle__button:hover,.range-toggle__button:focus-visible,.range-toggle__button.is-active{color:var(--text-primary);background:oklch(100% 0 0/.1)}.range-toggle__button:focus-visible{outline:2px solid var(--accent-300);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=760px){.schools-page__intro{display:grid}}.technical-page{padding:clamp(var(--sp-10), 8vw, var(--sp-16)) 0 var(--sp-12)}.technical-page__intro{justify-content:space-between;align-items:flex-start;gap:var(--sp-6);display:flex}.technical-page__kicker,.technical-page__eyebrow{margin:0 0 var(--sp-3);color:var(--accent-300);font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:var(--tr-eyebrow);text-transform:uppercase}.technical-page h1,.technical-page h2,.technical-page p{margin-top:0}.technical-page h1{margin-bottom:var(--sp-3);font-family:var(--font-display);font-size:clamp(var(--fs-h1), 6vw, var(--fs-display));letter-spacing:var(--tr-tight);line-height:var(--lh-tight)}.technical-page__lead{color:var(--text-secondary);font-size:var(--fs-body-lg);margin-bottom:0}.technical-page__refresh{min-height:42px;padding:0 var(--sp-4);border:1px solid var(--line-2);border-radius:var(--r-xs);color:var(--text-secondary);transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out)}.technical-page__refresh:hover:not(:disabled){color:var(--text-primary);border-color:var(--line-3)}.technical-page__refresh:active:not(:disabled){transform:scale(.96)}.technical-page__refresh:focus-visible{outline:2px solid var(--accent-300);outline-offset:3px}.technical-page__refresh:disabled{cursor:wait;opacity:.55}.technical-page__meta{gap:var(--sp-4);margin-top:var(--sp-10);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.technical-meta-card,.technical-page__panel{border:1px solid var(--line-1);border-radius:var(--r-md);background:var(--surface-1);box-shadow:var(--shadow-sm)}.technical-meta-card{gap:var(--sp-3);padding:var(--sp-5);display:grid}.technical-meta-card__label,.technical-page__panel-note{color:var(--text-tertiary);font-size:var(--fs-body-sm)}.technical-meta-card strong{font-family:var(--font-mono);font-size:var(--fs-h3);font-weight:var(--fw-medium)}.technical-page__panel{margin-top:var(--sp-6);padding:var(--sp-6)}.technical-page__panel-head{justify-content:space-between;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-4);display:flex}.technical-page__eyebrow{margin-bottom:var(--sp-2)}.technical-page__panel-head h2{font-family:var(--font-display);font-size:var(--fs-h3);margin-bottom:0}.health-list{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.health-list__item{align-items:center;gap:var(--sp-3);padding:var(--sp-4);border-radius:var(--r-sm);background:oklch(100% 0 0/.035);grid-template-columns:10px minmax(0,1fr) auto;display:grid}.health-list__dot{border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px oklch(100% 0 0/.04)}.health-list__dot.is-healthy{background:var(--success)}.health-list__dot.is-error{background:var(--danger)}.health-list__service{gap:var(--sp-1);display:grid}.health-list__service strong{font-weight:var(--fw-medium)}.health-list__service span{color:var(--text-tertiary);font-size:var(--fs-body-sm);overflow-wrap:anywhere}.health-list__latency{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--fs-body-sm);font-variant-numeric:tabular-nums}@media (width<=760px){.technical-page__intro{display:grid}}@media (width<=560px){.technical-page__meta{grid-template-columns:1fr}.technical-page__panel{padding:var(--sp-4)}}.tickets-page{padding:clamp(var(--sp-10), 8vw, var(--sp-16)) 0 var(--sp-12)}.tickets-page__intro{justify-content:space-between;align-items:flex-start;gap:var(--sp-6);display:flex}.tickets-page__kicker{margin:0 0 var(--sp-3);color:var(--accent-300);font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:var(--tr-eyebrow);text-transform:uppercase}.tickets-page h1,.tickets-page h2,.tickets-page p{margin-top:0}.tickets-page h1{margin-bottom:var(--sp-3);font-family:var(--font-display);font-size:clamp(var(--fs-h1), 6vw, var(--fs-display));letter-spacing:var(--tr-tight);line-height:var(--lh-tight)}.tickets-page__lead,.tickets-page__count{color:var(--text-secondary);font-size:var(--fs-body-lg)}.tickets-page__count{padding-top:var(--sp-8);color:var(--text-tertiary);font-size:var(--fs-body-sm);white-space:nowrap}.tickets-page__filters{gap:var(--sp-4);margin-top:var(--sp-8);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.tickets-page__filters label,.ticket-thread__field{gap:var(--sp-2);color:var(--text-tertiary);font-size:var(--fs-caption);display:grid}.tickets-page__filters select,.tickets-page__filters input,.ticket-thread__field select,.ticket-thread__reply textarea{min-height:42px;padding:0 var(--sp-3);border:1px solid var(--line-2);border-radius:var(--r-xs);background:var(--surface-1);color:var(--text-primary);font:inherit}.tickets-page__filters select:focus-visible,.tickets-page__filters input:focus-visible,.ticket-thread__field select:focus-visible,.ticket-thread__reply textarea:focus-visible{outline:2px solid var(--accent-300);outline-offset:2px}.tickets-page__panel{margin-top:var(--sp-6);padding:var(--sp-6);border:1px solid var(--line-1);border-radius:var(--r-md);background:var(--surface-1);box-shadow:var(--shadow-sm)}.tickets-table-wrap{overflow-x:auto}.tickets-table{border-collapse:collapse;width:100%;min-width:720px}.tickets-table th,.tickets-table td{padding:var(--sp-4) var(--sp-3);border-bottom:1px solid var(--line-1);text-align:start;white-space:nowrap}.tickets-table thead th{color:var(--text-tertiary);font-size:var(--fs-caption);font-weight:var(--fw-medium);letter-spacing:var(--tr-eyebrow);text-transform:uppercase}.tickets-table tbody th{font-weight:var(--fw-medium)}.tickets-table tbody td{color:var(--text-secondary);font-size:var(--fs-body-sm);font-variant-numeric:tabular-nums}.tickets-table tbody tr:last-child th,.tickets-table tbody tr:last-child td{border-bottom:0}.tickets-table__subject,.tickets-table__id{display:block}.tickets-table__subject{max-width:360px;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tickets-table__subject:hover{color:var(--accent-300)}.tickets-table__subject:focus-visible{outline:2px solid var(--accent-300);outline-offset:3px}.tickets-table__id{margin-top:var(--sp-1);color:var(--text-quaternary);font-size:var(--fs-caption);font-weight:var(--fw-regular)}.ticket-status{min-height:28px;padding:0 var(--sp-2);border-radius:var(--r-full);background:var(--surface-3);color:var(--text-secondary);font-size:var(--fs-caption);align-items:center;display:inline-flex}.ticket-status--open{color:var(--success)}.ticket-status--in_progress{color:var(--info-soft)}.ticket-status--resolved{color:var(--warning)}.ticket-status--closed{color:var(--text-tertiary)}.tickets-page__empty{margin:var(--sp-6) 0;color:var(--text-secondary)}@media (width<=760px){.tickets-page__intro,.tickets-page__filters{display:grid}.tickets-page__count{padding-top:0}.tickets-page__panel{padding:var(--sp-4)}}.ticket-thread{padding:clamp(var(--sp-8), 7vw, var(--sp-12)) 0 var(--sp-12)}.ticket-thread__back{min-height:40px;color:var(--text-tertiary);font-size:var(--fs-body-sm);align-items:center;display:inline-flex}.ticket-thread__back:hover,.ticket-thread__back:focus-visible{color:var(--text-primary)}.ticket-thread__back:focus-visible{outline:2px solid var(--accent-300);outline-offset:3px}.ticket-thread__header{justify-content:space-between;align-items:flex-start;gap:var(--sp-8);margin-top:var(--sp-6);display:flex}.ticket-thread__kicker{margin:0 0 var(--sp-3);color:var(--accent-300);font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:var(--tr-eyebrow);text-transform:uppercase}.ticket-thread h1,.ticket-thread h2,.ticket-thread p{margin-top:0}.ticket-thread h1{max-width:680px;margin-bottom:var(--sp-3);font-family:var(--font-display);font-size:clamp(var(--fs-h1), 5vw, var(--fs-display));letter-spacing:var(--tr-tight);line-height:var(--lh-tight)}.ticket-thread__meta,.ticket-thread__hint,.ticket-message time{color:var(--text-tertiary);font-size:var(--fs-body-sm)}.ticket-thread__controls{gap:var(--sp-3);grid-template-columns:repeat(3,minmax(130px,1fr));min-width:min(100%,460px);display:grid}.ticket-thread__messages{max-width:820px;margin-top:var(--sp-10)}.ticket-thread__messages h2{margin-bottom:var(--sp-4);font-family:var(--font-display);font-size:var(--fs-h3)}.ticket-message{max-width:78%;margin-bottom:var(--sp-4);padding:var(--sp-4) var(--sp-5);border:1px solid var(--line-1);border-radius:var(--r-md);background:var(--surface-1);box-shadow:var(--shadow-sm)}.ticket-message--staff{border-color:var(--accent-glow);background:var(--ctx-public-tint);margin-inline-start:auto}.ticket-message__head{justify-content:space-between;align-items:baseline;gap:var(--sp-4);margin-bottom:var(--sp-3);display:flex}.ticket-message__head strong{color:var(--text-primary);font-size:var(--fs-body-sm)}.ticket-message p{color:var(--text-secondary);white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:0}.ticket-thread__reply{max-width:820px;margin-top:var(--sp-8);padding:var(--sp-5);border:1px solid var(--line-1);border-radius:var(--r-md);background:var(--surface-1)}.ticket-thread__reply>label{margin-bottom:var(--sp-2);color:var(--text-primary);font-weight:var(--fw-semibold);display:block}.ticket-thread__reply textarea{width:100%;min-height:120px;padding-block:var(--sp-3);resize:vertical}.ticket-thread__reply-actions{justify-content:space-between;align-items:center;gap:var(--sp-4);margin-top:var(--sp-4);display:flex}.ticket-thread__submit{min-height:42px;padding:0 var(--sp-5);border-radius:var(--r-xs);background:var(--accent-500);color:var(--text-on-accent);font-weight:var(--fw-semibold);box-shadow:var(--shadow-md);transition:background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out)}.ticket-thread__submit:hover:not(:disabled){background:var(--accent-600)}.ticket-thread__submit:active:not(:disabled){transform:scale(.96)}.ticket-thread__submit:focus-visible{outline:2px solid var(--accent-300);outline-offset:3px}.ticket-thread__field button{min-height:42px;padding:0 var(--sp-3);border:1px solid var(--line-2);border-radius:var(--r-xs);background:var(--surface-1);color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.ticket-thread__field button:hover:not(:disabled){border-color:var(--accent-300)}.ticket-thread__field button:focus-visible{outline:2px solid var(--accent-300);outline-offset:2px}.ticket-thread__submit:disabled,.ticket-thread__field select:disabled,.ticket-thread__field button:disabled,.ticket-thread__reply textarea:disabled{cursor:not-allowed;opacity:.55}@media (width<=900px){.ticket-thread__header{display:grid}.ticket-thread__controls{width:100%}}@media (width<=560px){.ticket-thread__controls,.ticket-thread__reply-actions{display:grid}.ticket-message{max-width:94%}.ticket-thread__submit{width:100%}}.login-page{min-height:100vh;padding:var(--sp-6);background:radial-gradient(circle at 50% 0%, var(--ctx-public-tint), transparent 42%), var(--surface-0);place-items:center;display:grid}.login-card{width:min(100%,440px);padding:clamp(var(--sp-6), 6vw, var(--sp-10));border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--surface-1);box-shadow:var(--shadow-lg)}.login-card__eyebrow{margin-bottom:var(--sp-4);color:var(--accent-300);font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:var(--tr-eyebrow)}.login-card h1{font-family:var(--font-display);font-size:var(--fs-h1);letter-spacing:var(--tr-snug);line-height:var(--lh-snug);margin:0}.login-card__subtitle{margin:var(--sp-3) 0 0;color:var(--text-secondary)}.login-form{gap:var(--sp-4);margin-top:var(--sp-8);display:grid}.login-form__field{gap:var(--sp-2);display:grid}.login-form__field label{color:var(--text-secondary);font-size:var(--fs-body-sm);font-weight:var(--fw-medium)}.login-form__field input{width:100%;min-height:48px;padding:0 var(--sp-4);border:1px solid var(--line-2);border-radius:var(--r-xs);background:var(--surface-0);color:var(--text-primary);font:inherit}.login-form__field input:focus-visible{outline:2px solid var(--accent-300);outline-offset:2px}.login-form__field input[aria-invalid=true]{border-color:var(--danger)}.login-form__error{color:var(--accent-100);margin:0}.login-form__submit{min-height:48px;margin-top:var(--sp-2);border-radius:var(--r-xs);background:var(--accent-500);color:var(--text-on-accent);font-weight:var(--fw-semibold);transition:background-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out)}.login-form__submit:hover:not(:disabled){background:var(--accent-600)}.login-form__submit:active:not(:disabled){transform:scale(.96)}.login-form__submit:focus-visible{outline:2px solid var(--accent-300);outline-offset:3px}.login-form__submit:disabled{cursor:wait;opacity:.65}@media (prefers-reduced-motion:reduce){.login-form__submit{transition:none}}.access-state{min-height:100vh;padding:var(--sp-6);background:var(--surface-0);place-items:center;display:grid}.access-state__card{width:min(100%,520px);padding:var(--sp-10);border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--surface-1);box-shadow:var(--shadow-lg);text-align:center}.access-state__eyebrow{margin:0 0 var(--sp-4);color:var(--accent-300);font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:var(--tr-eyebrow)}.access-state h1{font-family:var(--font-display);font-size:var(--fs-h2);margin:0}.access-state__card p:last-child{margin:var(--sp-4) 0 0;color:var(--text-secondary)}:where(*){corner-shape:squircle}.btn,.badge,.chip,.avatar,.progress,.progress>i,.badge--dot:before,[style*="border-radius: 999"],[style*=border-radius\:999]{corner-shape:round}:root{--surface-0:oklch(13% .005 280);--surface-1:oklch(16% .006 280);--surface-2:oklch(20% .007 280);--surface-3:oklch(24% .008 280);--surface-elev:oklch(18% .006 280/.72);--line-1:oklch(100% 0 0/.06);--line-2:oklch(100% 0 0/.1);--line-3:oklch(100% 0 0/.16);--text-primary:oklch(98% .003 280);--text-secondary:oklch(78% .005 280);--text-tertiary:oklch(60% .006 280);--text-quaternary:oklch(46% .006 280);--text-on-accent:oklch(99% 0 0);--accent-50:oklch(96% .02 10);--accent-100:oklch(90% .05 12);--accent-300:oklch(78% .13 14);--accent-500:oklch(66% .2 16);--accent-600:oklch(60% .21 16);--accent-700:oklch(52% .2 16);--accent-glow:oklch(66% .2 16/.3);--ctx-public-tint:oklch(66% .2 16/.08);--success:oklch(60% .18 156);--warning:oklch(78% .16 72);--danger:oklch(64% .22 28);--info:oklch(50% .2 258);--info-soft:oklch(78% .13 258);--info-tint:oklch(50% .2 258/.12);--font-display:"Golos Text", "SF Pro Display", -apple-system, system-ui, sans-serif;--font-text:"Golos Text", "SF Pro Text", -apple-system, system-ui, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", ui-monospace, Menlo, Consolas, monospace;--grad-hero:linear-gradient(118deg, var(--text-primary) 30%, oklch(78% .14 340) 100%);--grad-accent:linear-gradient(135deg, var(--accent-300) 0%, oklch(65% .18 320) 100%);--grad-rnd-1:linear-gradient(135deg, oklch(70% .2 16), oklch(55% .22 340));--grad-rnd-2:linear-gradient(135deg, oklch(68% .18 290), oklch(50% .2 250));--grad-rnd-3:linear-gradient(135deg, oklch(65% .18 240), oklch(55% .2 200));--grad-rnd-4:linear-gradient(135deg, oklch(72% .16 195), oklch(60% .18 160));--grad-rnd-5:linear-gradient(135deg, oklch(70% .18 145), oklch(60% .18 110));--grad-rnd-6:linear-gradient(135deg, oklch(80% .16 85), oklch(65% .2 45));--grad-rnd-7:linear-gradient(135deg, oklch(72% .2 35), oklch(55% .2 10));--grad-rnd-8:linear-gradient(135deg, oklch(70% .18 350), oklch(55% .22 320));--fs-display-2xl:88px;--fs-display-xl:72px;--fs-display-lg:56px;--fs-display:44px;--fs-h1:36px;--fs-h2:28px;--fs-h3:22px;--fs-h4:18px;--fs-body-lg:17px;--fs-h5:18px;--fs-body:15px;--fs-body-sm:13px;--fs-caption:12px;--fs-micro:11px;--lh-tight:1.05;--lh-snug:1.2;--lh-normal:1.4;--lh-relaxed:1.55;--tr-tight:-.025em;--tr-snug:-.018em;--tr-normal:-.011em;--tr-eyebrow:.14em;--fw-regular:400;--fw-medium:500;--fw-semibold:590;--fw-bold:680;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--sp-20:80px;--sp-24:96px;--r-xs:10px;--r-sm:16px;--r-md:22px;--r-lg:32px;--r-xl:44px;--r-full:999px;--radius-xl:16px;--radius-2xl:20px;--radius-3xl:28px;--radius-full:999px;--shadow-sm:0 1px 0 oklch(100% 0 0/.04) inset, 0 1px 2px oklch(0% 0 0/.4);--shadow-md:0 1px 0 oklch(100% 0 0/.05) inset, 0 4px 16px oklch(0% 0 0/.45);--shadow-lg:0 1px 0 oklch(100% 0 0/.06) inset, 0 12px 40px oklch(0% 0 0/.55);--shadow-glow:0 0 0 1px var(--line-2), 0 18px 60px var(--accent-glow);--shadow-focus:0 0 0 3px var(--accent-glow);--z-modal:1000;--ease-out:cubic-bezier(.22, .61, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--dur-fast:.15s;--dur-base:.22s;--max-width:1200px;--bg:var(--surface-0);--bg-elev:var(--surface-1);--fg:var(--text-primary);--fg-muted:var(--text-tertiary);--accent:var(--accent-500);--accent-hover:var(--accent-600);--border:var(--line-2);--radius:var(--r-sm);--font-sans:var(--font-text)}*{box-sizing:border-box}html,body{background:var(--surface-0);color:var(--text-primary);font-family:var(--font-text);font-size:var(--fs-body);line-height:var(--lh-normal);letter-spacing:var(--tr-normal);font-feature-settings:"ss01", "cv11", "kern";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;padding:0}::selection{background:var(--accent-500);color:var(--text-on-accent)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}img{max-width:100%;display:block}.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}.t-display-2xl{font-family:var(--font-display);font-size:var(--fs-display-2xl);line-height:var(--lh-tight);letter-spacing:var(--tr-tight);font-weight:var(--fw-semibold)}.t-display-xl{font-family:var(--font-display);font-size:var(--fs-display-xl);line-height:var(--lh-tight);letter-spacing:var(--tr-tight);font-weight:var(--fw-semibold)}.t-display{font-family:var(--font-display);font-size:var(--fs-display);line-height:var(--lh-snug);letter-spacing:var(--tr-snug);font-weight:var(--fw-semibold)}.t-h2{font-family:var(--font-display);font-size:var(--fs-h2);line-height:var(--lh-snug);letter-spacing:var(--tr-snug);font-weight:var(--fw-semibold)}.t-h3{font-family:var(--font-display);font-size:var(--fs-h3);line-height:var(--lh-snug);letter-spacing:var(--tr-normal);font-weight:var(--fw-semibold)}.t-h4{font-size:var(--fs-h4);line-height:var(--lh-snug);letter-spacing:var(--tr-normal);font-weight:var(--fw-semibold)}.t-body-lg{font-size:var(--fs-body-lg);line-height:var(--lh-relaxed)}.t-body-sm{font-size:var(--fs-body-sm);line-height:var(--lh-relaxed)}.t-caption{font-size:var(--fs-caption);line-height:var(--lh-normal);color:var(--text-tertiary)}.t-micro{font-size:var(--fs-micro);line-height:var(--lh-normal);color:var(--text-tertiary)}.t-eyebrow{font-size:var(--fs-caption);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--text-tertiary);font-weight:var(--fw-medium)}.t-mono{font-family:var(--font-mono);font-feature-settings:"ss01", "kern"}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-quaternary{color:var(--text-quaternary)}.t-grad-hero{background:var(--grad-hero);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.t-grad-accent{background:var(--grad-accent);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.row{display:flex}.col{flex-direction:column;display:flex}.aic{align-items:center}.between{justify-content:space-between}.gap-2{gap:var(--sp-2)}.gap-3{gap:var(--sp-3)}.gap-4{gap:var(--sp-4)}.gap-5{gap:var(--sp-5)}.gap-6{gap:var(--sp-6)}.gap-8{gap:var(--sp-8)}.btn{border-radius:var(--r-full);height:40px;font-family:var(--font-text);font-size:var(--fs-body);font-weight:var(--fw-medium);letter-spacing:-.005em;white-space:nowrap;transition:background var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 18px;display:inline-flex}.btn:active{transform:scale(.98)}.btn--primary{background:var(--accent-500);color:var(--text-on-accent);box-shadow:0 1px 0 oklch(100% 0 0/.18) inset, 0 8px 24px var(--accent-glow)}.btn--primary:hover{background:var(--accent-600)}.btn--secondary{color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--line-2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:oklch(100% 0 0/.08)}.btn--secondary:hover{background:oklch(100% 0 0/.12)}.btn--ghost{color:var(--text-secondary)}.btn--ghost:hover{color:var(--text-primary);background:oklch(100% 0 0/.05)}.btn--lg{height:48px;font-size:var(--fs-body-lg);padding:0 24px}.btn--sm{height:32px;font-size:var(--fs-body-sm);padding:0 14px}.btn-primary{background:var(--accent-500);color:var(--text-on-accent);box-shadow:0 1px 0 oklch(100% 0 0/.18) inset, 0 8px 24px var(--accent-glow)}.btn-primary:hover{background:var(--accent-600)}.btn-secondary{color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--line-2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:oklch(100% 0 0/.08)}.btn-secondary:hover{background:oklch(100% 0 0/.12)}.badge{border-radius:var(--r-full);height:24px;font-size:var(--fs-caption);font-weight:var(--fw-medium);letter-spacing:.005em;color:var(--text-secondary);box-shadow:inset 0 0 0 1px var(--line-1);background:oklch(100% 0 0/.06);align-items:center;gap:6px;padding:0 10px;display:inline-flex}.badge--accent{color:var(--accent-300);background:oklch(66% .2 16/.12);box-shadow:inset 0 0 0 1px oklch(66% .2 16/.3)}.badge--success{color:var(--success);background:oklch(74% .16 152/.12);box-shadow:inset 0 0 0 1px oklch(74% .16 152/.3)}.badge--warning{color:var(--warning);background:oklch(82% .16 82/.12);box-shadow:inset 0 0 0 1px oklch(82% .16 82/.3)}.badge--info{color:var(--info);background:oklch(74% .13 235/.12);box-shadow:inset 0 0 0 1px oklch(74% .13 235/.3)}.badge--dot:before{content:"";background:currentColor;border-radius:999px;width:6px;height:6px}.card{background:var(--surface-1);border:1px solid var(--line-1);border-radius:var(--r-lg);padding:var(--sp-6)}.avatar{width:36px;height:36px;color:var(--text-primary);font-weight:var(--fw-medium);font-size:var(--fs-body-sm);box-shadow:inset 0 0 0 1px var(--line-2);background:linear-gradient(135deg,oklch(66% .2 16/.6),oklch(74% .13 235/.6));border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.progress{background:oklch(100% 0 0/.06);border-radius:999px;height:6px;overflow:hidden}.progress>i{background:linear-gradient(90deg, var(--accent-500), oklch(78% .16 30));border-radius:999px;height:100%;display:block}
