@font-face{font-family:Karla;font-style:normal;font-display:swap;font-weight:300;src:url(../media/karla-latin-ext-300-normal.0ie707yy9f3xp.woff2)format("woff2"),url(../media/karla-latin-ext-300-normal.0oxfky9zti5uf.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:Karla;font-style:normal;font-display:swap;font-weight:300;src:url(../media/karla-latin-300-normal.43bdmrhhp4x44.woff2)format("woff2"),url(../media/karla-latin-300-normal.3h8tm5wxh9i5g.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:Karla;font-style:normal;font-display:swap;font-weight:400;src:url(../media/karla-latin-ext-400-normal.0ulqwg4ywz230.woff2)format("woff2"),url(../media/karla-latin-ext-400-normal.3w5m7a4ou51ny.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:Karla;font-style:normal;font-display:swap;font-weight:400;src:url(../media/karla-latin-400-normal.07f-p1c-_169c.woff2)format("woff2"),url(../media/karla-latin-400-normal.0790ojfd9zcn0.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:Karla;font-style:normal;font-display:swap;font-weight:600;src:url(../media/karla-latin-ext-600-normal.3by7yefjvjcru.woff2)format("woff2"),url(../media/karla-latin-ext-600-normal.32chx_lg5llio.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:Karla;font-style:normal;font-display:swap;font-weight:600;src:url(../media/karla-latin-600-normal.00z4tvtrgttlm.woff2)format("woff2"),url(../media/karla-latin-600-normal.2nzvibos8lh-_.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:Karla;font-style:normal;font-display:swap;font-weight:700;src:url(../media/karla-latin-ext-700-normal.2gv832rancn3i.woff2)format("woff2"),url(../media/karla-latin-ext-700-normal.0rrxslj7o0a18.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:Karla;font-style:normal;font-display:swap;font-weight:700;src:url(../media/karla-latin-700-normal.3pfc3vbysxb44.woff2)format("woff2"),url(../media/karla-latin-700-normal.3chzid_ttgxt1.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:Noto Serif;font-style:normal;font-display:swap;font-weight:300;src:url(../media/noto-serif-cyrillic-ext-300-normal.2aeirgwp698dp.woff2)format("woff2"),url(../media/noto-serif-cyrillic-ext-300-normal.1co5j8d50gyvb.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:Noto Serif;font-style:normal;font-display:swap;font-weight:300;src:url(../media/noto-serif-cyrillic-300-normal.3r96tlrem2e7k.woff2)format("woff2"),url(../media/noto-serif-cyrillic-300-normal.1c7zdsle9ftyb.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Noto Serif;font-style:normal;font-display:swap;font-weight:300;src:url(../media/noto-serif-greek-ext-300-normal.32y53gmu71cnu.woff2)format("woff2"),url(../media/noto-serif-greek-ext-300-normal.0ew_my1s1kyms.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Noto Serif;font-style:normal;font-display:swap;font-weight:300;src:url(../media/noto-serif-greek-300-normal.3g334uvrppkm7.woff2)format("woff2"),url(../media/noto-serif-greek-300-normal.1v8js1z0joeo9.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:Noto Serif;font-style:normal;font-display:swap;font-weight:300;src:url(../media/noto-serif-math-300-normal.0rqp0rw0ol5ay.woff2)format("woff2"),url(../media/noto-serif-math-300-normal.3b58ljis4ko_b.woff)format("woff");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Noto Serif;font-style:normal;font-display:swap;font-weight:300;src:url(../media/noto-serif-vietnamese-300-normal.3srv99ck2qcwk.woff2)format("woff2"),url(../media/noto-serif-vietnamese-300-normal.31nkmxw6tghwn.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:Noto Serif;font-style:normal;font-display:swap;font-weight:300;src:url(../media/noto-serif-latin-ext-300-normal.0pjy4lhfrreqf.woff2)format("woff2"),url(../media/noto-serif-latin-ext-300-normal.0uloxx0nfo8ka.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:Noto Serif;font-style:normal;font-display:swap;font-weight:300;src:url(../media/noto-serif-latin-300-normal.42lpfrvfl1f2u.woff2)format("woff2"),url(../media/noto-serif-latin-300-normal.20mq69-d294aq.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:Noto Serif;font-style:normal;font-display:swap;font-weight:400;src:url(../media/noto-serif-cyrillic-ext-400-normal.0of6yh-5kj27y.woff2)format("woff2"),url(../media/noto-serif-cyrillic-ext-400-normal.3d--9ezukcp-z.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:Noto Serif;font-style:normal;font-display:swap;font-weight:400;src:url(../media/noto-serif-cyrillic-400-normal.2fwap8mpoew9_.woff2)format("woff2"),url(../media/noto-serif-cyrillic-400-normal.3av47wif80eb4.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Noto Serif;font-style:normal;font-display:swap;font-weight:400;src:url(../media/noto-serif-greek-ext-400-normal.1hha3qkaz5ke6.woff2)format("woff2"),url(../media/noto-serif-greek-ext-400-normal.3ls4vq4z8ego6.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Noto Serif;font-style:normal;font-display:swap;font-weight:400;src:url(../media/noto-serif-greek-400-normal.0_kv7m70035w4.woff2)format("woff2"),url(../media/noto-serif-greek-400-normal.1u4__hloqi0z1.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:Noto Serif;font-style:normal;font-display:swap;font-weight:400;src:url(../media/noto-serif-math-400-normal.2sgamp64vy2ea.woff2)format("woff2"),url(../media/noto-serif-math-400-normal.38p5cy0h414k1.woff)format("woff");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Noto Serif;font-style:normal;font-display:swap;font-weight:400;src:url(../media/noto-serif-vietnamese-400-normal.39xjhl2ubc4ua.woff2)format("woff2"),url(../media/noto-serif-vietnamese-400-normal.0v5_krmb1mpmi.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:Noto Serif;font-style:normal;font-display:swap;font-weight:400;src:url(../media/noto-serif-latin-ext-400-normal.248vs-l94troh.woff2)format("woff2"),url(../media/noto-serif-latin-ext-400-normal.1ebfxz_h2mn6t.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:Noto Serif;font-style:normal;font-display:swap;font-weight:400;src:url(../media/noto-serif-latin-400-normal.38w5zvob1mh06.woff2)format("woff2"),url(../media/noto-serif-latin-400-normal.1ze66lnkxvne2.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{--ink:#000;--text:#2e2e2e;--grey:#6b6b6b;--hairline:#e9ecf1;--panel:#f3f5f8;--panel-2:#f7f7f7;--accent:#d10076;--accent-on-dark:#ff4eaa;--rainbow-pink:#e82a88;--rainbow-yellow:#fbba05;--rainbow-blue:#8fcde7;--rainbow-green:#afca11;--positive:#3e7a2e;--negative:#c81e5b;--warning:#8a6400;--font-serif:"Noto Serif", Georgia, "Times New Roman", serif;--font-sans:"Karla", Arial, Helvetica, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px;min-height:100%}body{min-height:100%;color:var(--text);font-family:var(--font-sans);background:#fff;margin:0;font-size:16px;font-weight:300;line-height:1.55}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,.info:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.rainbow{background:linear-gradient(to right, var(--rainbow-pink) 0 25%, var(--rainbow-yellow) 25% 50%, var(--rainbow-blue) 50% 75%, var(--rainbow-green) 75% 100%);height:5px}.eyebrow{color:var(--accent);letter-spacing:.22em;text-transform:uppercase;margin:0 0 12px;font-size:13px;font-weight:600}h1,h2{color:var(--ink);font-family:var(--font-serif);font-weight:300}h1{margin:0;font-size:clamp(2.3rem,7vw,4.6rem);line-height:1.06}h2{margin:0;font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.15}.subtitle{color:var(--grey);margin:12px 0 0;font-weight:400}.button{min-height:44px;color:var(--ink);cursor:pointer;text-align:center;background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:10px 20px;font-size:14px;font-weight:600;line-height:1.2;text-decoration:none;transition:transform .12s,box-shadow .12s,opacity .12s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 16px #0000001a}.button:disabled,.button.muted{cursor:not-allowed;opacity:.5}.button.primary{background:var(--accent);color:#fff}.button.secondary{border-color:var(--accent);color:var(--accent)}.button.ghost{border-color:var(--ink)}.button.danger{border-color:var(--negative);color:var(--negative)}.button.full{width:100%}.button.mini{min-height:44px;padding:8px 11px;font-size:12px}.text-link{min-height:44px;color:var(--grey);background:0 0;border:0;justify-content:center;align-items:center;padding:8px 4px;font-size:13px;display:inline-flex}.field-stack{gap:6px;display:grid}.field-stack label,.parameter label{color:var(--grey);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}input,select{width:100%;min-height:44px;color:var(--ink);background:#fff;border:1px solid #d9dde4;border-radius:8px;padding:8px 11px;font-weight:400}select{height:44px}input:focus,select:focus{border-color:var(--accent)}.action-message{border-radius:8px;max-width:720px;margin:8px 0 0;padding:9px 12px;font-size:13px;font-weight:600}.action-message.error{color:var(--negative);background:#fff0f5}.action-message.success{color:var(--positive);background:#edf7ea}.action-message.warning{color:var(--warning);background:#fff3d6}.auth-page{background:radial-gradient(circle at 15% 20%, #e82a8812, transparent 30%), radial-gradient(circle at 85% 80%, #8fcde71f, transparent 32%), var(--panel-2);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--hairline);text-align:center;background:#fff;border-radius:14px;width:min(100%,510px);overflow:hidden;box-shadow:0 18px 50px #00000017}.auth-card-content{padding:clamp(28px,7vw,48px)}.auth-card h1{font-size:clamp(2.4rem,9vw,3.5rem)}.auth-tabs{justify-content:center;gap:8px;margin:30px 0 22px;display:flex}.auth-tabs .button{font-size:13px}.auth-form{text-align:left;gap:16px;display:grid}.auth-form .text-link{justify-self:center}.auth-card-wide{width:min(100%,620px)}.registration-flow{gap:24px;display:grid}.registration-flow .auth-tabs{margin-bottom:0}.registration-account-form{border-top:1px solid var(--hairline);padding-top:24px}.invitation-name{background:var(--panel);border-radius:9px;gap:3px;padding:13px 15px;display:grid}.invitation-name span{color:var(--grey);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.invitation-name strong{color:var(--ink)}.consent-field{color:var(--grey);cursor:pointer;grid-template-columns:auto 1fr;align-items:start;gap:10px;font-size:12.5px;line-height:1.45;display:grid}.consent-field input{width:18px;min-height:18px;accent-color:var(--accent);margin:2px 0 0}.auth-spaced-form{margin-top:28px}.auth-back-link{margin-top:22px;display:inline-block}.admin-page{min-height:100vh}.admin-header{text-align:center;padding:22px clamp(20px,5vw,72px) 0}.admin-header .rainbow{width:calc(100% + clamp(40px,10vw,144px));margin-top:42px;margin-left:calc(-1*clamp(20px,5vw,72px))}.account-bar{max-width:1500px;color:var(--grey);justify-content:flex-end;align-items:center;gap:12px;margin:0 auto 48px;font-size:13px;font-weight:600;display:flex}.admin-content{width:min(100%,1640px);margin:0 auto;padding:0 clamp(16px,4vw,56px) 80px}.admin-content section{padding-top:clamp(64px,8vw,108px)}.section-heading{text-align:center;margin-bottom:16px}.section-heading>p{color:var(--accent);font-family:var(--font-serif);margin:0 0 5px;font-size:18px;font-weight:300}.section-note,.management-summary,.microcopy{width:min(100%,920px);color:var(--grey);text-align:center;margin:0 auto 22px;font-size:14px}.management-summary{font-weight:600}.table-wrap{border:1px solid var(--hairline);background:#fff;border-radius:10px;width:100%;overflow-x:auto;box-shadow:0 8px 26px #0000000a}table{border-collapse:collapse;width:100%;font-size:13px}th,td{border-bottom:1px solid var(--hairline);text-align:left;vertical-align:middle;padding:11px 10px}th{background:var(--panel);color:var(--grey);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:700}tbody tr:nth-child(2n){background:var(--panel-2)}tbody tr:last-child td,tfoot tr:last-child td{border-bottom:0}td small,.teacher-cell small{color:var(--grey);margin-top:4px;font-size:11px;line-height:1.3;display:block}.management-table-wrap{max-width:1220px;margin:0 auto}.management-table-wrap table{min-width:940px}.management-table-wrap th:first-child{width:25%}.management-table-wrap th:nth-child(5){width:36%}.management-actions{flex-wrap:wrap;gap:6px;display:flex}.management-actions form{display:inline-flex}.management-actions .action-message,.management-actions .one-time-code{flex-basis:100%}.delivery-inline{color:var(--grey);flex-basis:100%;margin:2px 0 0;font-size:11px}.delivery-inline.failed{color:var(--negative);font-weight:600}.bulk-reminder{justify-content:flex-end;align-items:center;gap:12px;max-width:1220px;margin:0 auto 14px;display:flex}.bulk-reminder .action-message{margin:0}.delivery-log{border:1px solid var(--hairline);background:var(--panel-2);border-radius:10px;max-width:1220px;margin:24px auto 0;padding:14px}.delivery-log summary{min-height:44px;color:var(--ink);cursor:pointer;align-items:center;font-weight:700;display:flex}.delivery-log .table-wrap{margin-top:12px}.delivery-log table{min-width:820px}.status{background:var(--panel);width:fit-content;color:var(--grey);white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.status.confirmed{color:var(--positive);background:#e9f5e6}.status.registered,.status.invited{color:#27677e;background:#eaf5fa}.status.expired,.status.warning{color:var(--warning);background:#fff3d6}.code-note{color:var(--grey);font-size:11px;line-height:1.25}.one-time-code{color:var(--accent);background:#fff0f8;border-radius:8px;align-items:center;gap:10px;padding:9px 11px;font-size:12px;display:flex}.one-time-code strong{color:var(--ink);letter-spacing:.08em;font-family:Courier New,monospace;font-size:17px}.add-teacher-form{grid-template-columns:minmax(240px,2fr) minmax(220px,1.5fr) auto;align-items:start;gap:10px;max-width:1040px;margin:18px auto 0;display:grid}.add-teacher-form .action-message{grid-column:1/-1}.parameter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:1180px;margin:0 auto;display:grid}.parameter{border:1px solid var(--hairline);background:var(--panel);border-radius:10px;padding:16px}.parameter label{justify-content:space-between;align-items:flex-start;gap:8px;min-height:34px;display:flex}.number-with-unit{align-items:center;gap:8px;display:flex}.number-with-unit span{min-width:15px;color:var(--grey);font-weight:600}.form-footer{justify-content:flex-end;align-items:center;gap:14px;max-width:1180px;margin:16px auto 0;display:flex}.form-footer .action-message{flex:1;margin:0}.info{isolation:isolate;color:#fff;cursor:help;width:44px;min-width:44px;height:44px;font-family:var(--font-sans);letter-spacing:0;text-transform:none;place-items:center;font-size:12px;font-weight:700;display:inline-grid;position:relative}.info:before{z-index:-1;background:var(--accent);content:"";border-radius:50%;position:absolute;inset:12px}.info:after{z-index:10;background:var(--ink);color:#fff;content:attr(data-tip);letter-spacing:0;text-align:left;text-transform:none;border-radius:8px;width:min(260px,70vw);padding:9px 11px;font-size:12px;font-weight:400;line-height:1.35;display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.info:hover:after,.info:focus:after{display:block}.calculation-table-wrap table{min-width:1770px}.calculation-table-wrap th:not(:first-child),.calculation-table-wrap td:not(:first-child){text-align:right}.calculation-table-wrap th:first-child{min-width:290px}.calculation-table-wrap th:nth-child(4){min-width:205px}.calculation-table-wrap th:nth-child(6){min-width:180px}.calculation-table-wrap input,.calculation-table-wrap select{border-radius:6px;min-height:44px;padding:8px 7px;font-size:12px}.calculation-table-wrap td:not(:first-child) input{text-align:right;min-width:64px}.table-heading-with-info{justify-content:flex-end;align-items:center;gap:2px;display:inline-flex}.calculation-table-wrap th .info:after{top:calc(100% + 8px);bottom:auto}.revenue-division-cell{min-width:205px}.revenue-division-cell select{width:100%;min-width:185px}.revenue-division-cell small,.course-revenue-cell small{color:var(--grey);white-space:nowrap;margin-top:4px;font-size:11px;line-height:1.25;display:block}.teacher-cell{min-width:290px;position:relative}.teacher-cell input[type=email]{color:var(--grey);margin-top:5px}.confirmation-mark{color:var(--positive);margin-right:4px;font-weight:700;display:none}.confirmation-mark.visible{display:inline}.row-save{width:100%;margin-top:6px}td.group,th.group{border-left:2px solid #d8dce3}td.total{color:var(--ink);font-weight:700}.pos{color:var(--positive)!important}.neg{color:var(--negative)!important}tfoot td{background:var(--panel);color:var(--ink);font-weight:700}.result-panel{border:1px solid var(--hairline);border-radius:11px;overflow:hidden;box-shadow:0 10px 30px #0000000d}.result-grid{grid-template-columns:repeat(4,1fr);display:grid}.result-grid>div{border-right:1px solid var(--hairline);text-align:center;flex-direction:column;justify-content:center;gap:6px;min-height:155px;padding:24px;display:flex}.result-grid>div:last-child{border-right:0}.result-grid span{color:var(--grey);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.result-grid strong{color:var(--ink);font-family:var(--font-serif);white-space:nowrap;font-size:clamp(1.7rem,3.4vw,2.7rem);font-weight:300}.result-grid small{font-size:11px}.result-grid .final-result{background:var(--ink)}.result-grid .final-result span{color:var(--accent-on-dark)}.result-grid .final-result strong,.result-grid .final-result small{color:#fff}.button-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.export-preview{border:1px solid var(--hairline);background:var(--panel-2);width:min(100%,980px);max-height:540px;color:var(--ink);white-space:pre-wrap;border-radius:10px;margin:24px auto 0;padding:24px;font-family:Courier New,monospace;font-size:12px;line-height:1.55;overflow:auto}.microcopy{margin-top:12px;font-size:12px}.rules-grid{grid-template-columns:repeat(3,1fr);gap:12px;max-width:1100px;margin:0 auto;display:grid}.rules-grid p{background:var(--panel);border-radius:10px;margin:0;padding:20px;font-size:14px}.rules-grid strong{color:var(--ink)}.admin-footer{background:var(--panel-2);color:var(--grey);text-align:center}.admin-footer p{color:var(--ink);font-family:var(--font-serif);margin:0;padding:28px 20px 4px;font-size:20px;font-weight:300}.admin-footer small{padding:0 20px 30px;display:block}.teacher-page{min-height:100vh}.teacher-header{text-align:center;padding:22px clamp(20px,6vw,88px) 0}.teacher-header .account-bar{max-width:1220px}.teacher-header .rainbow{width:calc(100% + clamp(40px,12vw,176px));margin-top:42px;margin-left:calc(-1*clamp(20px,6vw,88px))}.teacher-content{width:min(100%,1220px);margin:0 auto;padding:0 clamp(16px,4vw,52px) 80px}.teacher-content section{padding-top:clamp(60px,8vw,96px)}.teacher-inputs{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.teacher-inputs .parameter label{min-height:38px}.shared-class-note{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--hairline));color:var(--grey);background:#fff5fa;border-radius:10px;align-items:flex-start;gap:12px;margin:-8px 0 20px;padding:14px 16px;line-height:1.5;display:flex}.shared-class-note strong{color:var(--accent);flex:none}.fee-breakdown .shared-revenue-row{background:#fff8fb}.fee-breakdown .shared-revenue-row span{color:var(--ink);font-weight:600}.autosave-status{text-align:center;min-height:42px}.autosave-status .action-message{margin:10px auto 0}.fee-breakdown{border:1px solid var(--hairline);background:#fff;border-radius:11px;overflow:hidden;box-shadow:0 8px 26px #0000000a}.fee-breakdown>div{border-bottom:1px solid var(--hairline);justify-content:space-between;gap:20px;padding:13px 18px;display:flex}.fee-breakdown>div:last-child{border-bottom:0}.fee-breakdown span{color:var(--grey)}.fee-breakdown em{color:var(--accent);font-style:normal}.fee-breakdown strong{color:var(--ink);white-space:nowrap}.fee-breakdown .sum{background:var(--ink);padding-block:18px}.fee-breakdown .sum span,.fee-breakdown .sum strong{color:#fff;font-size:18px}.motivation-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.motivation-card{border:1px solid var(--hairline);background:var(--panel);text-align:center;border-radius:10px;flex-direction:column;justify-content:center;min-height:180px;padding:20px;display:flex}.motivation-card.hero{border-color:color-mix(in srgb, var(--accent) 35%, var(--hairline));background:#fff0f8}.motivation-card>span{min-height:38px;color:var(--grey);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.motivation-card strong{color:var(--ink);font-family:var(--font-serif);margin:7px 0;font-size:clamp(1.55rem,3vw,2.2rem);font-weight:300}.motivation-card small{color:var(--grey);line-height:1.35}.minimum-progress-card{border:1px solid var(--hairline);border-radius:10px;margin-top:22px;padding:22px}.minimum-progress-card>strong{color:var(--ink)}.progress-track{background:var(--panel);border-radius:999px;height:12px;margin:13px 0 6px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--rainbow-pink), var(--accent));height:100%;transition:width .18s;display:block}.progress-labels{color:var(--grey);justify-content:space-between;gap:16px;font-size:11px;display:flex}.minimum-progress-card p{color:var(--grey);margin:14px 0 0;font-size:13px}.parameter-chips{flex-wrap:wrap;justify-content:center;gap:9px;display:flex}.parameter-chips span{border:1px solid var(--hairline);background:var(--panel-2);color:var(--grey);border-radius:999px;gap:7px;padding:8px 13px;font-size:13px;display:inline-flex}.parameter-chips strong{color:var(--ink)}.confirmation-box{border:1px solid var(--hairline);text-align:center;border-radius:11px;padding:24px}.confirmation-status{color:var(--grey);margin:0 0 18px}.confirmation-status .status{margin-right:8px}.confirmation-box .action-message{margin-inline:auto}.receipt-actions{margin-top:18px}.receipt-preview{border:1px solid var(--hairline);background:var(--panel-2);max-height:560px;color:var(--ink);white-space:pre-wrap;border-radius:10px;margin:22px 0 0;padding:24px;font-family:Courier New,monospace;font-size:12px;line-height:1.55;overflow:auto}.teacher-rules{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.teacher-rules p{background:var(--panel);border-radius:10px;margin:0;padding:18px;font-size:14px}.teacher-rules strong{color:var(--ink)}.receipt-print{display:none}.sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:980px){.parameter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.result-grid{grid-template-columns:repeat(2,1fr)}.result-grid>div:nth-child(2){border-right:0}.result-grid>div:nth-child(-n+2){border-bottom:1px solid var(--hairline)}.rules-grid{grid-template-columns:1fr}.motivation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.auth-page{padding:12px}.auth-tabs{flex-direction:column}.account-bar{justify-content:space-between;margin-bottom:34px}.admin-header{padding-inline:16px}.admin-header .rainbow{width:calc(100% + 32px);margin-left:-16px}.teacher-header{padding-inline:16px}.teacher-header .rainbow{width:calc(100% + 32px);margin-left:-16px}.parameter-grid,.result-grid,.add-teacher-form,.teacher-inputs,.motivation-grid,.teacher-rules{grid-template-columns:1fr}.bulk-reminder{flex-direction:column;align-items:stretch}.result-grid>div{border-right:0;border-bottom:1px solid var(--hairline);min-height:130px}.result-grid>div:last-child{border-bottom:0}.form-footer,.button-row{flex-direction:column;align-items:stretch}.form-footer .button,.button-row .button{width:100%}.one-time-code{flex-direction:column;align-items:flex-start}.fee-breakdown>div{flex-direction:column;align-items:flex-start;gap:4px}.shared-class-note{flex-direction:column;gap:4px}.progress-labels{flex-direction:column;gap:2px}}@media print{body{background:#fff}body>*{display:none!important}body>.teacher-page{display:block!important}.teacher-page>*{display:none!important}.teacher-page>.receipt-print,.teacher-page>.receipt-print *{display:block!important}.receipt-print{color:#000;white-space:pre-wrap;font-family:Courier New,monospace;font-size:12px;line-height:1.5}.receipt-print pre{white-space:pre-wrap;margin:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
