:root{--color-primary-700: #0B6B75;--color-primary-600: #0E7C86;--color-primary-500: #0E7C86;--color-primary-300: color-mix(in srgb, var(--color-primary-700) 40%, var(--color-border));--color-primary-200: color-mix(in srgb, var(--color-primary-700) 24%, var(--color-border));--color-primary-100: #D5EEF0;--color-primary-50: color-mix(in srgb, var(--color-primary-700) 8%, var(--color-surface));--color-accent-500: #F59E0B;--color-surface: #FFFFFF;--color-surface-raised: color-mix(in srgb, var(--color-text-900) 4%, var(--color-surface));--color-surface-muted: color-mix(in srgb, var(--color-text-900) 2%, var(--color-background));--color-background: #F6F8FA;--color-border: #E2E8F0;--color-text-900: #0F172A;--color-text-700: #0F172A;--color-text-600: #475569;--color-text-500: #64748B;--color-text-400: #94A3B8;--color-text-inverse: #FFFFFF;--color-on-primary: #FFFFFF;--color-success-600: #16A34A;--color-success-500: #16A34A;--color-warning-600: #D97706;--color-danger-600: #DC2626;--color-info-600: #0284C7;--font-family-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-caption: 12px;--font-size-body: 14px;--font-size-sm: 14px;--text-sm: 14px;--text-xs: 12px;--font-size-body-lg: 16px;--font-size-card-title: 18px;--font-size-page-title: 22px;--font-size-stat: 28px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-numeric-tabular: tabular-nums;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--space-card-padding: 16px;--space-grid-gutter: 16px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 12px;--radius-pill: 999px;--shadow-card: 0 1px 2px rgb(0 0 0 / 5%);--shadow-none: none;--duration-fast: .15s;--duration-base: .25s;--easing-standard: cubic-bezier(.4, 0, .2, 1);--layout-container-max: 1280px;--layout-sidebar-width: 260px;--layout-sidebar-collapsed: 64px;--size-table-row: 44px;--size-touch-target: 44px}[data-theme=dark]{--color-primary-100: #123F45;--color-primary-50: color-mix(in srgb, var(--color-primary-700) 18%, var(--color-surface));--color-primary-200: color-mix(in srgb, var(--color-primary-700) 35%, var(--color-border));--color-primary-300: color-mix(in srgb, var(--color-primary-600) 45%, var(--color-border));--color-surface: #1E293B;--color-surface-raised: #243044;--color-surface-muted: #172033;--color-background: #0F172A;--color-border: #334155;--color-text-900: #F1F5F9;--color-text-700: #E2E8F0;--color-text-600: #94A3B8;--color-text-500: #64748B;--color-text-400: #64748B;--color-text-inverse: #F8FAFC;--color-on-primary: #FFFFFF;--shadow-card: 0 1px 2px rgb(0 0 0 / 25%)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body.landing-body{margin:0;font-family:var(--font-family-base);font-size:var(--font-size-body);line-height:1.6;color:var(--color-text-600);background:var(--color-background);-webkit-font-smoothing:antialiased}.landing-container{width:min(100% - var(--space-8),1120px);margin-inline:auto}.landing-header{position:sticky;top:0;z-index:50;background:#ffffffeb;backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border)}.landing-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:64px}.landing-brand{display:inline-flex;align-items:center;gap:var(--space-3);text-decoration:none;color:var(--color-text-900)}.landing-brand__mark{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);background:var(--color-primary-700);color:var(--color-on-primary);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);letter-spacing:.04em}.landing-brand__name{font-size:var(--font-size-body-lg);font-weight:var(--font-weight-semibold);letter-spacing:-.02em}.landing-nav{display:flex;align-items:center;gap:var(--space-6)}.landing-nav a{color:var(--color-text-600);text-decoration:none;font-weight:var(--font-weight-medium);font-size:var(--font-size-body);transition:color var(--duration-fast) var(--easing-standard)}.landing-nav a:hover{color:var(--color-primary-700)}.landing-nav__cta{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);background:var(--color-primary-700);color:var(--color-on-primary)!important;font-weight:var(--font-weight-medium);transition:background var(--duration-fast) var(--easing-standard)}.landing-nav__cta:hover{background:var(--color-primary-600)}.landing-nav-toggle{display:none;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-sm);padding:var(--space-2);cursor:pointer}.landing-hero{position:relative;overflow:hidden;padding:var(--space-12) 0 var(--space-8)}.landing-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 70% -10%,color-mix(in srgb,var(--color-primary-700) 14%,transparent),transparent),radial-gradient(ellipse 50% 40% at 10% 80%,color-mix(in srgb,var(--color-primary-700) 8%,transparent),transparent);pointer-events:none}.landing-hero__grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:var(--space-8);align-items:center}.landing-hero__eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--color-primary-50);border:1px solid color-mix(in srgb,var(--color-primary-700) 16%,transparent);color:var(--color-primary-700);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);letter-spacing:.04em;text-transform:uppercase}.landing-hero__title{margin:0 0 var(--space-4);font-size:clamp(2rem,4vw,3rem);font-weight:var(--font-weight-semibold);line-height:1.12;letter-spacing:-.03em;color:var(--color-text-900)}.landing-hero__title em{font-style:normal;color:var(--color-primary-700)}.landing-hero__lead{margin:0 0 var(--space-6);max-width:52ch;font-size:var(--font-size-body-lg);color:var(--color-text-500)}.landing-hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-6)}.landing-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:var(--space-3) var(--space-6);border-radius:var(--radius-sm);border:1px solid transparent;font-family:inherit;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);text-decoration:none;cursor:pointer;transition:background var(--duration-fast) var(--easing-standard),border-color var(--duration-fast) var(--easing-standard),transform var(--duration-fast) var(--easing-standard)}.landing-btn:active{transform:translateY(1px)}.landing-btn--primary{background:var(--color-primary-700);color:var(--color-on-primary)}.landing-btn--primary:hover{background:var(--color-primary-600)}.landing-btn--ghost{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-700)}.landing-btn--ghost:hover{border-color:color-mix(in srgb,var(--color-primary-700) 24%,var(--color-border));color:var(--color-primary-700)}.landing-hero__trust{display:flex;flex-wrap:wrap;gap:var(--space-4);font-size:var(--font-size-caption);color:var(--color-text-500)}.landing-hero__trust span{display:inline-flex;align-items:center;gap:var(--space-1)}.landing-hero__trust svg{color:var(--color-success-600)}.landing-mock{position:relative;padding:var(--space-6);animation:landing-float 6s ease-in-out infinite}@keyframes landing-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.landing-mock__device{margin-inline:auto;width:min(100%,320px);padding:var(--space-3);border-radius:28px;background:var(--color-text-900);box-shadow:0 24px 48px #0f172a2e,0 0 0 1px #ffffff14 inset}.landing-mock__screen{overflow:hidden;border-radius:20px;background:var(--color-background);border:1px solid var(--color-border)}.landing-mock__bar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.landing-mock__bar-title{font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);color:var(--color-text-900)}.landing-mock__child{margin:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border)}.landing-mock__child-name{margin:0 0 var(--space-1);font-weight:var(--font-weight-semibold);color:var(--color-text-900)}.landing-mock__child-meta{margin:0 0 var(--space-2);font-size:var(--font-size-caption);color:var(--color-text-500)}.landing-mock__pill{display:inline-block;padding:2px var(--space-2);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--color-success-600) 12%,transparent);color:var(--color-success-600);font-size:11px;font-weight:var(--font-weight-medium)}.landing-mock__rows{padding:0 var(--space-3) var(--space-3);display:grid;gap:var(--space-2)}.landing-mock__row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-border);font-size:var(--font-size-caption)}.landing-mock__row strong{color:var(--color-text-900)}.landing-section{padding:var(--space-12) 0}.landing-section--muted{background:var(--color-surface);border-block:1px solid var(--color-border)}.landing-section__header{max-width:640px;margin-bottom:var(--space-8)}.landing-section__eyebrow{margin:0 0 var(--space-2);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-primary-700)}.landing-section__title{margin:0 0 var(--space-3);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:var(--font-weight-semibold);letter-spacing:-.02em;color:var(--color-text-900)}.landing-section__lead{margin:0;font-size:var(--font-size-body-lg);color:var(--color-text-500)}.landing-features{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.landing-feature{padding:var(--space-6);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card);transition:border-color var(--duration-fast) var(--easing-standard),transform var(--duration-base) var(--easing-standard)}.landing-section--muted .landing-feature{background:var(--color-background)}.landing-feature:hover{border-color:color-mix(in srgb,var(--color-primary-700) 22%,var(--color-border));transform:translateY(-2px)}.landing-feature__icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:var(--space-4);border-radius:var(--radius-sm);background:var(--color-primary-50);color:var(--color-primary-700)}.landing-feature__title{margin:0 0 var(--space-2);font-size:var(--font-size-body-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-900)}.landing-feature__text{margin:0;color:var(--color-text-500)}.landing-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);counter-reset:step}.landing-step{position:relative;padding-top:var(--space-2)}.landing-step:before{counter-increment:step;content:counter(step,decimal-leading-zero);display:block;margin-bottom:var(--space-3);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);letter-spacing:.08em;color:var(--color-primary-700)}.landing-step__title{margin:0 0 var(--space-2);font-size:var(--font-size-body-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-900)}.landing-step__text{margin:0;color:var(--color-text-500)}.landing-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}.landing-stat{padding:var(--space-4);text-align:center;border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border)}.landing-stat__value{display:block;font-size:var(--font-size-stat);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--color-text-900)}.landing-stat__label{font-size:var(--font-size-caption);color:var(--color-text-500)}.landing-cta{padding:var(--space-8);border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-primary-700),color-mix(in srgb,var(--color-primary-700) 75%,#0f172a));color:var(--color-on-primary);text-align:center}.landing-cta__title{margin:0 0 var(--space-2);font-size:clamp(1.35rem,2vw,1.75rem);font-weight:var(--font-weight-semibold);letter-spacing:-.02em}.landing-cta__text{margin:0 auto var(--space-6);max-width:48ch;opacity:.92}.landing-cta .landing-btn--ghost{background:#ffffff1f;border-color:#ffffff3d;color:var(--color-on-primary)}.landing-cta .landing-btn--ghost:hover{background:#ffffff2e;border-color:#ffffff52;color:var(--color-on-primary)}.landing-cta .landing-btn--primary{background:var(--color-surface);color:var(--color-primary-700)}.landing-cta .landing-btn--primary:hover{background:var(--color-primary-50)}.landing-footer{padding:var(--space-8) 0 var(--space-6);border-top:1px solid var(--color-border);background:var(--color-surface)}.landing-footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:var(--space-8);margin-bottom:var(--space-8)}.landing-footer__brand p{margin:var(--space-3) 0 0;max-width:36ch;font-size:var(--font-size-body);color:var(--color-text-500)}.landing-footer__col h3{margin:0 0 var(--space-3);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-900)}.landing-footer__col a{display:block;margin-bottom:var(--space-2);color:var(--color-text-500);text-decoration:none}.landing-footer__col a:hover{color:var(--color-primary-700)}.landing-footer__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);font-size:var(--font-size-caption);color:var(--color-text-500)}.landing-reveal{opacity:0;transform:translateY(16px);animation:landing-reveal .7s var(--easing-standard) forwards}.landing-reveal--delay-1{animation-delay:.1s}.landing-reveal--delay-2{animation-delay:.2s}.landing-reveal--delay-3{animation-delay:.3s}@keyframes landing-reveal{to{opacity:1;transform:translateY(0)}}@media(max-width:960px){.landing-hero__grid,.landing-features,.landing-steps,.landing-stats,.landing-footer__grid{grid-template-columns:1fr}.landing-nav{display:none}.landing-nav.is-open{display:flex;flex-direction:column;align-items:stretch;position:absolute;top:100%;left:0;right:0;padding:var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-card)}.landing-nav-toggle{display:inline-flex}.landing-header__inner{position:relative;flex-wrap:wrap}}@media(max-width:640px){.landing-hero{padding-top:var(--space-8)}.landing-stats{grid-template-columns:repeat(2,1fr)}}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/build/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/build/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/build/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/build/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/build/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/build/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/build/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(/build/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/build/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(/build/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/build/assets/inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/build/assets/inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/build/assets/inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/build/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/build/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/build/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/build/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/build/assets/inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/build/assets/inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/build/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/build/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2) format("woff2"),url(/build/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(/build/assets/inter-cyrillic-700-normal-DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2) format("woff2"),url(/build/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/inter-greek-700-normal-C3JjAnD8.woff2) format("woff2"),url(/build/assets/inter-greek-700-normal-BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2) format("woff2"),url(/build/assets/inter-vietnamese-700-normal-BZaoP0fm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/build/assets/inter-latin-ext-700-normal-TidjK2hL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/build/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.brand-lockup{display:inline-flex;align-items:center;gap:var(--space-3);text-decoration:none;color:var(--color-text-900)}.brand-lockup__logo{width:44px;height:44px;object-fit:contain;flex-shrink:0}.brand-lockup__text{display:flex;flex-direction:column;gap:2px;line-height:1.15}.brand-lockup__name{font-size:var(--font-size-body-lg);font-weight:var(--font-weight-semibold);letter-spacing:-.02em}.brand-lockup__by{font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);color:var(--color-text-500);letter-spacing:.02em}.brand-lockup--compact .brand-lockup__logo{width:36px;height:36px}.brand-lockup--footer .brand-lockup__logo{width:40px;height:40px}.locale-switcher{display:inline-flex;align-items:center;padding:2px;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.locale-switcher__btn{box-sizing:border-box;min-width:2.25rem;min-height:32px;padding:0 var(--space-2);font-family:inherit;font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);color:var(--color-text-600);background:transparent;border:none;border-radius:calc(var(--radius-sm) - 2px);cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}.locale-switcher__btn:hover{color:var(--color-primary-700)}.locale-switcher__btn--active{color:var(--color-primary-700);background:var(--color-primary-50)}.landing-header__tools{display:flex;align-items:center;gap:var(--space-3);margin-left:auto}.landing-header__actions{display:flex;align-items:center;gap:var(--space-3)}.landing-nav__parent{color:var(--color-primary-700)!important;font-weight:var(--font-weight-semibold)!important}.portal-auth{min-height:calc(100vh - 64px);display:flex;align-items:center;justify-content:center;padding:var(--space-8) var(--space-4)}.portal-auth__card{width:min(100%,420px);padding:var(--space-8);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card)}.portal-auth__title{margin:0 0 var(--space-2);font-size:var(--font-size-body-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-900);text-align:center}.portal-auth__subtitle{margin:0 0 var(--space-6);font-size:var(--font-size-body);color:var(--color-text-500);text-align:center}.portal-form{display:flex;flex-direction:column;gap:var(--space-4)}.portal-field label{display:block;margin-bottom:var(--space-1);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);color:var(--color-text-700)}.portal-field input{width:100%;min-height:44px;padding:var(--space-2) var(--space-3);font-family:inherit;font-size:var(--font-size-body);color:var(--color-text-900);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color var(--duration-fast)}.portal-field input:focus{outline:none;border-color:var(--color-primary-700);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary-700) 12%,transparent)}.portal-field input:disabled{opacity:.6;cursor:not-allowed}.portal-form__error{margin:0;padding:var(--space-3);font-size:var(--font-size-caption);color:var(--color-danger-700, #b42318);background:color-mix(in srgb,#b42318 8%,transparent);border-radius:var(--radius-sm)}.portal-form__submit{width:100%;margin-top:var(--space-2)}.portal-form__links{margin-top:var(--space-4);text-align:center;font-size:var(--font-size-body);color:var(--color-text-500)}.portal-form__links a{color:var(--color-primary-700);font-weight:var(--font-weight-medium);text-decoration:none}.portal-auth__card--wide{width:min(100%,480px)}.portal-steps{display:flex;gap:var(--space-2);margin:0 0 var(--space-6);padding:0;list-style:none;counter-reset:wizard}.portal-steps li{flex:1;padding:var(--space-2) var(--space-1);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);text-align:center;color:var(--color-text-500);border-bottom:2px solid var(--color-border)}.portal-steps__item--active{color:var(--color-primary-700);border-bottom-color:var(--color-primary-700)}.portal-steps__item--done{color:var(--color-text-700)}.portal-identity-card{margin-bottom:var(--space-5);padding:var(--space-4);border-radius:var(--radius-sm);background:var(--color-primary-50);border:1px solid color-mix(in srgb,var(--color-primary-700) 14%,transparent);text-align:center}.portal-identity-card__name{margin:0 0 var(--space-1);font-size:var(--font-size-body-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-900)}.portal-identity-card__meta{margin:0;font-size:var(--font-size-body);color:var(--color-text-600)}.portal-form__back{width:100%;margin-top:var(--space-2);border:none;background:transparent;font-family:inherit;font-size:var(--font-size-body);color:var(--color-text-500);cursor:pointer;padding:var(--space-2)}.portal-form__back:hover{color:var(--color-primary-700)}.portal-home{padding:var(--space-8) 0 var(--space-12)}.portal-home__welcome{margin:0 0 var(--space-6)}.portal-home__welcome h1{margin:0 0 var(--space-2);font-size:clamp(1.5rem,3vw,2rem);font-weight:var(--font-weight-semibold);color:var(--color-text-900)}.portal-home__welcome p{margin:0;color:var(--color-text-500)}.portal-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-6);margin-bottom:var(--space-6);border-radius:var(--radius-md);background:var(--color-primary-50);border:1px solid color-mix(in srgb,var(--color-primary-700) 16%,transparent)}.portal-banner p{margin:0;color:var(--color-text-600)}.portal-children{display:grid;gap:var(--space-4)}.portal-child-card{padding:var(--space-5);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border)}.portal-child-card__name{margin:0 0 var(--space-1);font-size:var(--font-size-body-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-900)}.portal-child-card__meta{margin:0 0 var(--space-3);font-size:var(--font-size-body);color:var(--color-text-500)}.portal-child-card__enrollments{display:flex;flex-direction:column;gap:var(--space-2)}.portal-enrollment{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-background)}.portal-enrollment__school{font-weight:var(--font-weight-medium);color:var(--color-text-700)}.portal-enrollment__class{font-size:var(--font-size-caption);color:var(--color-text-500)}.portal-pill{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium)}.portal-pill--active{background:color-mix(in srgb,#12b76a 14%,transparent);color:#027a48}.portal-pill--pending{background:color-mix(in srgb,#f79009 14%,transparent);color:#b54708}.portal-pill--inactive{background:var(--color-background);color:var(--color-text-500);border:1px solid var(--color-border)}.portal-empty{padding:var(--space-8);text-align:center;border-radius:var(--radius-md);background:var(--color-surface);border:1px dashed var(--color-border)}.portal-empty h2{margin:0 0 var(--space-2);font-size:var(--font-size-body-lg);color:var(--color-text-900)}.portal-empty p{margin:0;max-width:42ch;margin-inline:auto;color:var(--color-text-500)}.portal-header__logout{border:none;background:transparent;font-family:inherit;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-600);cursor:pointer;padding:var(--space-2)}.portal-header__logout:hover{color:var(--color-primary-700)}.landing-section__byline{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);font-size:var(--font-size-caption);color:var(--color-text-500)}.landing-section__byline img{height:20px;width:auto}.landing-app-badges{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;margin-top:var(--space-6)}.landing-app-badge{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:var(--space-2) var(--space-5);border-radius:var(--radius-sm);background:var(--color-text-900);color:var(--color-on-primary);text-decoration:none;font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);transition:opacity var(--duration-fast)}.landing-app-badge:hover{opacity:.88;color:var(--color-on-primary)}.landing-app-badge--disabled{opacity:.5;pointer-events:none}@media(max-width:960px){.landing-header__actions{display:none}}.portal-app-header{position:sticky;top:0;z-index:50;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.portal-app-header__top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-3);padding-bottom:var(--space-2)}.portal-app-header__tools{display:flex;align-items:center;gap:var(--space-3)}.portal-app-header__logout{min-height:var(--size-touch-target);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;font-family:inherit;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-600);cursor:pointer;transition:color var(--duration-fast),border-color var(--duration-fast)}.portal-app-header__logout:hover{color:var(--color-danger-600);border-color:color-mix(in srgb,var(--color-danger-600) 40%,var(--color-border))}.portal-app-header__nav{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-2);-webkit-overflow-scrolling:touch}.portal-app-header__link{flex:0 0 auto;min-height:40px;display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-text-600);text-decoration:none;transition:background var(--duration-fast),color var(--duration-fast)}.portal-app-header__link:hover{color:var(--color-primary-700)}.portal-app-header__link.router-link-active{color:var(--color-primary-700);background:var(--color-primary-50)}.landing-container--narrow{max-width:760px}.portal-section{padding:var(--space-6);margin-bottom:var(--space-5);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border)}.portal-section--center{text-align:center}.portal-section--center .landing-btn{margin-top:var(--space-4)}.portal-section--danger{border-color:color-mix(in srgb,var(--color-danger-600) 35%,var(--color-border))}.portal-section__title{margin:0 0 var(--space-3);font-size:var(--font-size-card-title);font-weight:var(--font-weight-semibold);color:var(--color-text-900)}.portal-section__text{margin:0 0 var(--space-4);font-size:var(--font-size-body);color:var(--color-text-600);line-height:1.55}.portal-form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media(max-width:560px){.portal-form__row{grid-template-columns:1fr}}.portal-field__error{margin:var(--space-1) 0 0;font-size:var(--font-size-caption);color:var(--color-danger-600)}.portal-textarea{width:100%;padding:var(--space-2) var(--space-3);font-family:inherit;font-size:var(--font-size-body);color:var(--color-text-900);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);resize:vertical}.portal-textarea:focus{outline:none;border-color:var(--color-primary-700);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary-700) 12%,transparent)}.portal-danger-btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--size-touch-target);padding:var(--space-2) var(--space-5);border:1px solid var(--color-danger-600);border-radius:var(--radius-sm);background:var(--color-danger-600);font-family:inherit;font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--color-on-primary);cursor:pointer;transition:opacity var(--duration-fast)}.portal-danger-btn:hover{opacity:.9}.portal-danger-btn:disabled{opacity:.6;cursor:not-allowed}.portal-guest-steps{margin:0 0 var(--space-4);padding-left:var(--space-5);color:var(--color-text-600);line-height:1.6}.portal-guest-steps li{margin-bottom:var(--space-2)}.portal-devices{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.portal-device{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-background)}.portal-device__info{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.portal-device__meta{font-size:var(--font-size-caption);color:var(--color-text-500)}.portal-device__remove{border:none;background:transparent;font-family:inherit;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:var(--color-danger-600);cursor:pointer;padding:var(--space-2);min-height:var(--size-touch-target)}.portal-device__remove:disabled{opacity:.6;cursor:not-allowed}.portal-child-card__header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.portal-child-card__avatar{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 auto;border-radius:var(--radius-pill);background:var(--color-primary-100);color:var(--color-primary-700);font-weight:var(--font-weight-semibold)}.portal-child-card__heading{min-width:0}.portal-school{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);margin-bottom:var(--space-3);border-radius:var(--radius-sm);background:var(--color-background)}.portal-school__logo{width:28px;height:28px;object-fit:contain;border-radius:var(--radius-sm);flex:0 0 auto}.portal-school__name{font-weight:var(--font-weight-medium);color:var(--color-text-700);overflow-wrap:anywhere}.portal-school__name--missing{color:var(--color-text-500);font-style:italic;font-weight:var(--font-weight-regular)}.portal-child-card__badges{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.portal-child-card__submeta{font-size:var(--font-size-caption);color:var(--color-text-500)}.portal-child-card__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.portal-child-card__stores{font-size:var(--font-size-caption);color:var(--color-text-500)}.portal-child-card__stores a{color:var(--color-primary-700);font-weight:var(--font-weight-medium);text-decoration:none;margin-left:var(--space-1)}@media(min-width:720px){.portal-children{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}.portal-receipts{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-3)}.portal-receipt{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border)}.portal-receipt__main{display:flex;flex-direction:column;gap:2px;min-width:0}.portal-receipt__label{font-weight:var(--font-weight-medium);color:var(--color-text-900)}.portal-receipt__meta{font-size:var(--font-size-caption);color:var(--color-text-500)}.portal-receipt__side{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.portal-receipt__download{min-height:40px;padding:var(--space-1) var(--space-4)}.landing-faq{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-3)}.landing-faq__item{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.landing-faq__question{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;min-height:var(--size-touch-target);padding:var(--space-4) var(--space-5);border:none;background:transparent;font-family:inherit;font-size:var(--font-size-body-lg);font-weight:var(--font-weight-medium);color:var(--color-text-900);text-align:left;cursor:pointer}.landing-faq__question svg{flex:0 0 auto;transition:transform var(--duration-fast);color:var(--color-text-500)}.landing-faq__answer{margin:0;padding:0 var(--space-5) var(--space-4);font-size:var(--font-size-body);color:var(--color-text-600);line-height:1.6}.landing-app-badges--left{justify-content:flex-start;margin-top:var(--space-5);margin-bottom:var(--space-5)}.portal-notfound__code{margin:0 0 var(--space-2);font-size:48px;font-weight:var(--font-weight-semibold);color:var(--color-primary-700);letter-spacing:-.03em}@media(max-width:400px){.portal-auth__card,.portal-auth__card--wide{padding:var(--space-5)}.portal-section{padding:var(--space-4)}.portal-receipt__side{width:100%;justify-content:space-between}}
