@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-cyrillic-ext-400-normal.0sqs6uof-0amz.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-ext-400-normal.1n25945oofmoi.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-cyrillic-400-normal.1nbavbgzpe520.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-400-normal.13meln3u2wrw1.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-greek-400-normal.13urx6ctg50nq.woff2)format("woff2"),url(../media/ibm-plex-sans-greek-400-normal.3jezoma1zzezb.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-vietnamese-400-normal.0ai7gdju0gby9.woff2)format("woff2"),url(../media/ibm-plex-sans-vietnamese-400-normal.2u9cx6ke8pzx4.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-latin-ext-400-normal.0ceeqphcbp8x9.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-ext-400-normal.0rj0k8-86v7v_.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-latin-400-normal.1-h52z97c7bce.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-400-normal.0fuh4fyjfo9ap.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-cyrillic-ext-500-normal.44593i8-29wbg.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-ext-500-normal.0jidoswe0j9qb.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-cyrillic-500-normal.112yeov4xlg05.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-500-normal.0ni4769h0x31g.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-greek-500-normal.0ufg9694ueuse.woff2)format("woff2"),url(../media/ibm-plex-sans-greek-500-normal.1ts2y1qr3h2f8.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-vietnamese-500-normal.012d1stzl51ip.woff2)format("woff2"),url(../media/ibm-plex-sans-vietnamese-500-normal.38v_v5lab-ej5.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-latin-ext-500-normal.2mcl7017j3tww.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-ext-500-normal.18qmapxmuwhn3.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-latin-500-normal.2broe1i9movoa.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-500-normal.0f8eq302mdpld.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-cyrillic-ext-600-normal.16h6o2_j8rsce.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-ext-600-normal.3juwc1-_leybj.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-cyrillic-600-normal.2tlxqadn_cmsz.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-600-normal.3csci4y08h_ps.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-greek-600-normal.0h_04yfamc884.woff2)format("woff2"),url(../media/ibm-plex-sans-greek-600-normal.1fh4va1m5wx0j.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-vietnamese-600-normal.0f-wuky6h_rs9.woff2)format("woff2"),url(../media/ibm-plex-sans-vietnamese-600-normal.2_uiyrwt0npgh.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-latin-ext-600-normal.1uvdyv9iryn4j.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-ext-600-normal.01k4adpnb_n12.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-latin-600-normal.11xxlm8n0_7w8.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-600-normal.0o-mv26yr1hzk.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/ibm-plex-sans-cyrillic-ext-700-normal.1-2v_jdxm4wkv.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-ext-700-normal.1jjrn34acicpm.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/ibm-plex-sans-cyrillic-700-normal.1v0mehqul4wn3.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-700-normal.1uq7_uwtesvol.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/ibm-plex-sans-greek-700-normal.2x0g8k4jve4nf.woff2)format("woff2"),url(../media/ibm-plex-sans-greek-700-normal.319r8xnmyusig.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/ibm-plex-sans-vietnamese-700-normal.0jtd_q3vhj3x7.woff2)format("woff2"),url(../media/ibm-plex-sans-vietnamese-700-normal.0_oygjwvlh6o2.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/ibm-plex-sans-latin-ext-700-normal.24tkxntfix5cw.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-ext-700-normal.3ofvqs3ri2xx9.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/ibm-plex-sans-latin-700-normal.0opy23tsy2xx8.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-700-normal.22xfth4l63-nz.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-cyrillic-ext-500-normal.2tfs-ajhr_27q.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-ext-500-normal.29wincfdhpbow.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-cyrillic-500-normal.30hm7mcic8nak.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-500-normal.1g2cl4geicio1.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-vietnamese-500-normal.400h8-n7y356b.woff2)format("woff2"),url(../media/ibm-plex-mono-vietnamese-500-normal.2w9-mj8vy__-b.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-latin-ext-500-normal.2yypdhrkbqnza.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-ext-500-normal.3-fgi0nn_mag-.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-latin-500-normal.25_05y-blbp24.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-500-normal.20ixcot5hpnm-.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--bg:#f3f4f1;--surface:#fff;--surface-2:#fafaf8;--border:#daddd6;--border-strong:#a9aeb5;--input-border:#a9aea5;--row-border:#ecede9;--row-hover:#f7f8f5;--text:#16191d;--muted:#5a6068;--brand:#1e4fbf;--brand-soft:#eef2fb;--on-brand:#fff;--ok-fg:#1d5b2c;--ok-bg:#e3f1e6;--ok-border:#a9d3b3;--ok-dot:#2e7d44;--ok-deep:#174a24;--info-fg:#23417a;--info-bg:#e6ecf7;--info-border:#b7c6e6;--warn-fg:#8a4500;--warn-bg:#fdecd8;--warn-border:#f0c99b;--warn-deep:#5c2e00;--danger-fg:#8e1f1a;--danger-bg:#f9dedc;--danger-border:#e8b9b5;--danger-deep:#5c1612;--danger-btn:#d9a6a2;--neutral-fg:#45474a;--neutral-bg:#ececea;--ops-header:#16191d;--ops-nav:#2b3036;--ops-muted:#c9cdd2;--font:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);margin:0;font-size:15px;line-height:1.4}a{color:var(--brand)}a:hover{color:color-mix(in srgb, var(--brand) 75%, black)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--text);outline-offset:2px}.mono{font-family:var(--mono);font-weight:500}.muted{color:var(--muted)}.small{font-size:13px}.xs{font-size:12px}.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}.stack{flex-direction:column;gap:14px;display:flex}.stack-sm{flex-direction:column;gap:8px;display:flex}.row{align-items:center;gap:12px;display:flex}.row-wrap{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spread{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.grow{flex:1;min-width:0}.ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.app-shell{background:var(--bg);flex-direction:column;max-width:560px;min-height:100dvh;margin:0 auto;display:flex}@media (min-width:600px){.app-shell{border-left:1px solid var(--border);border-right:1px solid var(--border)}}.app-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:5;align-items:center;gap:12px;padding:12px 20px;display:flex;position:sticky;top:0}.app-header.sub{gap:4px;padding:8px 12px}.school-badge{background:var(--brand);width:40px;height:40px;color:var(--on-brand);letter-spacing:.02em;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex;overflow:hidden}.school-badge img{object-fit:cover;width:100%;height:100%}.school-badge.sm{border-radius:9px;width:36px;height:36px;font-size:14px}.school-badge.lg{border-radius:16px;width:72px;height:72px;font-size:24px}.icon-btn{width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.app-main{flex-direction:column;flex:1;gap:16px;padding:18px 20px 24px;display:flex}.app-main.form{gap:14px;padding:16px 16px 32px}.bottom-nav{background:var(--surface);border-top:1px solid var(--border);padding:6px 8px calc(10px + env(safe-area-inset-bottom));z-index:5;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:sticky;bottom:0}.bottom-nav a{min-height:52px;color:var(--muted);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:12px;font-weight:500;text-decoration:none;display:flex}.bottom-nav a[aria-current=page]{color:var(--brand);font-weight:600}h1.page-title{letter-spacing:-.01em;margin:2px 0 0;font-size:26px;font-weight:700;line-height:32px}h1.sub-title{margin:0;font-size:18px;font-weight:700;line-height:24px}.section-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:4px 0 0;font-size:13px;font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px}.card.tight{border-radius:12px;padding:12px 14px}.card.pad-lg{padding:20px}.card.flush{padding:0}.card h2,.card-title{margin:0;font-size:18px;font-weight:700}.panel{background:var(--bg);border-radius:10px;padding:10px 12px}.tone-ok{background:var(--ok-bg);color:var(--ok-deep);border-color:var(--ok-border)!important}.tone-info{background:var(--info-bg);color:var(--info-fg);border-color:var(--info-border)!important}.tone-warn{background:var(--warn-bg);color:var(--warn-deep);border-color:var(--warn-border)!important}.tone-danger{background:var(--danger-bg);color:var(--danger-deep);border-color:var(--danger-border)!important}.tone-neutral{background:var(--neutral-bg);color:var(--neutral-fg)}.banner{border:1px solid;border-radius:14px;gap:12px;padding:14px 16px;display:flex}.banner .b-title{font-size:16px;font-weight:700}.banner p{margin:0;font-size:14px;line-height:20px}.lesson-card{background:var(--surface);border:1px solid var(--border);color:inherit;border-radius:12px;align-items:center;gap:12px;min-height:64px;padding:12px 14px;text-decoration:none;display:flex}.lesson-card:hover{color:inherit;border-color:#b9beb4}.lesson-card.warn{border-color:var(--warn-border)}.lesson-card.danger{border-color:var(--danger-border)}.lesson-card.draft{background:var(--surface-2);border-style:dashed;border-color:var(--input-border)}.lesson-card .time{flex-shrink:0;width:54px}.lesson-card .time b{font-family:var(--mono);font-size:15px;font-weight:500;display:block}.lesson-card .who{font-size:15px;font-weight:600}.pill{white-space:nowrap;border-radius:8px;align-items:center;gap:5px;padding:5px 8px;font-size:12px;font-weight:600;display:inline-flex}.pill.ok{color:var(--ok-fg);background:var(--ok-bg)}.pill.info{color:var(--info-fg);background:var(--info-bg)}.pill.warn{color:var(--warn-fg);background:var(--warn-bg)}.pill.danger{color:var(--danger-fg);background:var(--danger-bg)}.pill.neutral{color:var(--neutral-fg);background:var(--neutral-bg)}.pill.round{border-radius:999px;padding:5px 10px}.dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.dot.ok{background:var(--ok-dot)}.dot.warn{background:var(--warn-fg)}.dot.danger{background:var(--danger-fg)}.dot.info{background:var(--info-fg)}.dot.neutral{background:#8f958b}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px 12px}.stat b{font-size:22px;font-weight:700;line-height:28px;display:block}.stat span{color:var(--muted);font-size:12px}.stat.warn{background:var(--warn-bg);border-color:var(--warn-border)}.stat.warn b,.stat.warn span{color:var(--warn-fg)}.stat.danger{background:var(--danger-bg);border-color:var(--danger-border)}.stat.danger b,.stat.danger span{color:var(--danger-fg)}.tiles{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.tile{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px}.tile .t-label{color:var(--muted);font-size:13px}.tile .t-value{font-size:32px;font-weight:700;line-height:40px}.tile .t-sub{color:var(--muted);font-size:13px}.tile.warn{background:var(--warn-bg);border-color:var(--warn-border)}.tile.warn .t-label,.tile.warn .t-value,.tile.warn .t-sub{color:var(--warn-fg)}.tile.danger{background:var(--danger-bg);border-color:var(--danger-border)}.tile.danger .t-label,.tile.danger .t-value,.tile.danger .t-sub{color:var(--danger-fg)}.btn{border:1px solid var(--input-border);background:var(--surface);min-height:44px;color:var(--text);cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{color:var(--text);border-color:#8f958b}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}.btn.primary:hover{color:var(--on-brand);filter:brightness(.95)}.btn.danger{color:var(--danger-fg);border-color:var(--danger-btn)}.btn.dark{background:var(--text);color:#fff;border-color:var(--text)}.btn.sm{border-radius:8px;min-height:40px;padding:0 12px;font-size:13px}.btn.xs{border-radius:8px;min-height:36px;padding:0 12px;font-size:13px}.btn.lg{border-radius:12px;min-height:52px;font-size:16px}.btn.xl{border-radius:14px;min-height:56px;font-size:17px}.btn.block{width:100%}.cta{background:var(--brand);height:56px;color:var(--on-brand);border-radius:14px;justify-content:center;align-items:center;gap:10px;font-size:17px;font-weight:600;text-decoration:none;display:flex}.cta:hover{color:var(--on-brand);filter:brightness(.95)}.linklike{color:var(--brand);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.field{flex-direction:column;gap:6px;display:flex}.field>label,.field .label{font-size:14px;font-weight:500}.field .hint{color:var(--muted);font-size:12px}.field .error,.error-text{color:var(--danger-fg);font-size:13px;font-weight:500}.input,select.input,textarea.input{border:1px solid var(--input-border);background:var(--surface);border-radius:10px;width:100%;height:48px;padding:0 12px;font-size:15px}textarea.input{resize:vertical;height:auto;min-height:64px;padding:10px}.input.sm{border-radius:8px;height:40px;padding:0 10px;font-size:14px}.input.md{border-radius:8px;height:44px;font-size:14px}.input[aria-invalid=true]{border:2px solid var(--danger-fg)}.input:read-only,.input.readonly{background:#f7f8f5}.input-icon{border:1px solid var(--input-border);background:var(--surface);border-radius:10px;align-items:center;gap:8px;height:48px;padding:0 12px;display:flex}.input-icon input{background:0 0;border:0;outline:none;flex:1;min-width:0;height:100%;font-size:15px}.input-icon:focus-within{outline:3px solid var(--text);outline-offset:2px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.pill-btn{cursor:pointer;background:var(--surface);border:1px solid var(--input-border);border-radius:10px;height:48px;font-size:15px;font-weight:600}.pill-btn[aria-pressed=true]{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}.choice{background:var(--surface);cursor:pointer;border:1px solid var(--input-border);text-align:left;border-radius:10px;align-items:center;gap:10px;width:100%;min-height:52px;padding:0 14px;display:flex}.choice[aria-checked=true]{border:2px solid var(--brand);padding:0 13px}.selected-student{border:2px solid var(--brand);border-radius:12px;align-items:center;gap:12px;padding:12px;display:flex}.avatar{background:var(--info-bg);width:40px;height:40px;color:var(--info-fg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.result-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;border-radius:10px;align-items:center;gap:12px;width:100%;min-height:56px;padding:10px 12px;display:flex}.result-btn:hover{border-color:#8f958b}dl.kv{grid-template-columns:120px 1fr;gap:6px 8px;margin:0;font-size:14px;display:grid}dl.kv dt{color:var(--muted)}dl.kv dd{overflow-wrap:anywhere;min-width:0;margin:0;font-weight:500}dl.kv.wide{grid-template-columns:180px 1fr}dl.kv.plain dd{font-weight:400}ol.timeline{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}ol.timeline li{gap:12px;display:flex}ol.timeline .rail{flex-direction:column;align-items:center;width:14px;display:flex}ol.timeline .tdot{border-radius:50%;flex-shrink:0;width:12px;height:12px;margin-top:4px}ol.timeline .tline{background:var(--border);flex:1;width:2px;margin-top:2px}ol.timeline li:last-child .tline{display:none}ol.timeline .tbody{flex:1;min-width:0;padding-bottom:14px}.tdot.info{background:var(--info-fg)}.tdot.ok{background:var(--ok-dot)}.tdot.warn{background:var(--warn-fg)}.tdot.danger{background:var(--danger-fg)}.tdot.neutral{background:#8f958b}.tdot.hollow{border:2px solid var(--warn-fg);background:#fff}.desk-header{background:var(--surface);border-bottom:1px solid var(--border)}.desk-header .inner,.desk-main{max-width:1360px;margin:0 auto}.desk-header .inner{flex-wrap:wrap;align-items:center;gap:12px 24px;padding:10px 24px;display:flex}.desk-nav{flex-wrap:wrap;flex:1;gap:4px;display:flex}.desk-nav a{color:var(--text);border-radius:8px;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none}.desk-nav a:hover{background:var(--bg);color:var(--text)}.desk-nav a[aria-current=page]{color:var(--brand);background:var(--brand-soft);font-weight:600}.desk-main{flex-direction:column;gap:20px;padding:24px;display:flex}h1.desk-title{letter-spacing:-.01em;margin:2px 0 0;font-size:30px;font-weight:700;line-height:38px}.split{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.split>.main{flex:999 640px;min-width:0}.split>.side{flex-direction:column;flex:300px;gap:12px;min-width:0;display:flex}.cards-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));align-items:start;gap:20px;display:grid}.table-wrap{overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:14px}table.data th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;padding:10px 8px;font-size:12px;font-weight:600}table.data td{border-top:1px solid var(--row-border);vertical-align:middle;padding:12px 8px}table.data th:first-child,table.data td:first-child{padding-left:16px}table.data th:last-child,table.data td:last-child{padding-right:16px}table.data tbody tr:hover{background:var(--row-hover)}table.data .num{text-align:right}table.data a.rowlink{color:inherit;font-weight:600;text-decoration:none}table.data a.rowlink:hover{text-decoration:underline}.filters{flex-wrap:wrap;align-items:flex-end;gap:10px;padding:16px 16px 12px;display:flex}.filters .field label{color:var(--muted);font-size:12px;font-weight:400}.attention{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:8px;padding:16px;display:flex}.attention.warn{border-color:var(--warn-border)}.attention.danger{border-color:var(--danger-border)}.attention .a-kicker{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:12px;font-weight:600}.attention.warn .a-kicker{color:var(--warn-fg)}.attention.danger .a-kicker{color:var(--danger-fg)}ul.plain{margin:0;padding:0;list-style:none}ul.lines li{border-top:1px solid var(--row-border);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:10px 0;display:flex}.swatch{cursor:pointer;border:0;border-radius:10px;width:44px;height:44px}.swatch[aria-pressed=true]{border:3px solid var(--text)}.progress{background:var(--ok-bg);border-radius:4px;height:8px;overflow:hidden}.progress>div{background:var(--ok-dot);height:8px}.addon{border:1px solid var(--input-border);background:var(--surface);border-radius:8px;align-items:center;height:44px;font-size:14px;display:flex;overflow:hidden}.addon input{min-width:0;height:100%;font-family:var(--mono);border:0;flex:1;padding:0 12px}.addon span{background:var(--bg);height:100%;color:var(--muted);font-family:var(--mono);align-items:center;padding:0 12px;display:flex}.ops-header{background:var(--ops-header);color:#fff}.ops-header .inner{flex-wrap:wrap;align-items:center;gap:12px 24px;max-width:1360px;margin:0 auto;padding:12px 24px;display:flex}.ops-header nav{flex-wrap:wrap;flex:1;gap:4px;display:flex}.ops-header nav a{color:var(--ops-muted);border-radius:8px;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none}.ops-header nav a[aria-current=page]{color:#fff;background:var(--ops-nav);font-weight:600}.ops-header nav a:hover{color:#fff}.auth-wrap{justify-content:center;align-items:center;min-height:100dvh;padding:24px 16px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:16px;width:100%;max-width:420px;padding:28px 24px;display:flex}.auth-card h1{margin:0;font-size:24px;line-height:30px}.notice{color:var(--muted);font-size:13px}.empty{text-align:center;color:var(--muted);padding:28px 16px;font-size:14px}.offline-bar{background:var(--warn-bg);color:var(--warn-deep);border-bottom:1px solid var(--warn-border);text-align:center;padding:8px 16px;font-size:13px}.toolbar{flex-wrap:wrap;gap:8px;display:flex}details.disclosure summary{cursor:pointer;font-size:14px;font-weight:600}code.inline{font-family:var(--mono);background:var(--bg);border-radius:6px;padding:1px 6px;font-size:13px}@media (max-width:420px){dl.kv{grid-template-columns:104px 1fr}.desk-main{padding:16px}.desk-header .inner,.ops-header .inner{padding:10px 16px}}.banner>svg{flex-shrink:0;width:22px;height:22px;margin-top:1px}.legal-wrap{background:var(--bg);min-height:100dvh}.legal-head{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding:16px 24px;display:flex}.legal-brand{color:var(--text);font-weight:700;text-decoration:none}.legal-head nav{flex-wrap:wrap;gap:6px 16px;font-size:14px;display:flex}.legal-doc{max-width:760px;margin:0 auto;padding:32px 20px 48px;font-size:15px;line-height:1.6}.legal-doc h1{margin:0 0 4px;font-size:28px;line-height:34px}.legal-doc h2{margin:28px 0 8px;font-size:18px}.legal-doc table{border-collapse:collapse;width:100%;font-size:14px}.legal-doc th,.legal-doc td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:6px 8px}.legal-foot{text-align:center;padding:16px 24px 32px}.lp{background:var(--bg);min-height:100dvh}.lp-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;max-width:1120px;margin:0 auto;padding:14px 20px;display:flex}.lp-brand{color:var(--text);font-size:18px;font-weight:700;text-decoration:none}.lp-nav{flex-wrap:wrap;align-items:center;gap:6px 18px;font-size:15px;display:flex}.lp-nav a:not(.btn){color:var(--text);text-decoration:none}.lp-hero{grid-template-columns:1.3fr 1fr;align-items:center;gap:40px;max-width:1120px;margin:0 auto;padding:40px 20px 48px;display:grid}.lp-hero h1{letter-spacing:-.01em;margin:0 0 16px;font-size:clamp(30px,4.4vw,46px);line-height:1.1}.lp-lead{color:var(--muted);max-width:34em;margin:0 0 24px;font-size:18px;line-height:1.5}.lp-support{border-left:3px solid var(--brand);background:var(--surface);border-radius:0 10px 10px 0;margin:28px 0 0;padding:12px 14px;font-size:15px}.lp-phone{background:#1b1f24;border-radius:34px;flex-direction:column;justify-self:center;gap:10px;width:100%;max-width:320px;padding:18px 14px;display:flex;box-shadow:0 20px 40px #0000002e}.lp-phone-card{background:var(--surface);border-radius:14px;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;display:flex}.lp-section{max-width:1120px;margin:0 auto;padding:32px 20px}.lp-section h2{margin:0 0 18px;font-size:28px}.lp-section h3{margin:0 0 6px;font-size:17px}.lp-section p{margin:0;line-height:1.5}.lp-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.lp-steps li{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:18px}.lp-num{background:var(--brand);color:#fff;border-radius:15px;justify-content:center;align-items:center;width:30px;height:30px;margin-bottom:10px;font-weight:700;display:inline-flex}.lp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.lp-price{flex-direction:column;gap:14px;max-width:640px;padding:24px;display:flex}.lp-price ul{margin:0;padding-left:20px;line-height:1.6}.lp-price .btn{align-self:flex-start}.lp-amount{font-size:40px;font-weight:700}.lp-faq{flex-direction:column;gap:8px;max-width:760px;display:flex}.lp-faq details{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 16px}.lp-faq summary{cursor:pointer;font-weight:600}.lp-faq details p{margin-top:8px}.lp-foot{border-top:1px solid var(--border);flex-direction:column;gap:10px;max-width:1120px;margin:24px auto 0;padding:24px 20px 40px;font-size:14px;display:flex}@media (max-width:820px){.lp-hero{grid-template-columns:1fr;padding-top:16px}.lp-steps,.lp-grid{grid-template-columns:1fr}}.plan-grid{border:0;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:0;padding:0;display:grid}.plan-card{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:12px;flex-direction:column;gap:4px;padding:16px;display:flex;position:relative}.plan-card input{position:absolute;top:14px;right:14px}.plan-card:has(input:checked){border-color:var(--brand);box-shadow:0 0 0 2px var(--brand);background:var(--brand-soft)}.plan-card.plan-off{opacity:.6;cursor:not-allowed}.plan-name{font-size:16px;font-weight:700}.plan-limit{color:var(--muted);font-size:13px}.plan-price{margin-top:6px;font-size:22px;font-weight:700}.lp-plans{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.lp-plans .lp-price{gap:6px;max-width:none}.lp-plans .lp-amount{margin-top:8px;font-size:32px}.lp-terms{margin:16px 0;padding-left:20px;line-height:1.6}#tarif{flex-direction:column;gap:12px;display:flex}
