.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:transparent;opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors:active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-popover{background:none;border:none;padding:0;outline:0;overflow:visible;position:fixed;pointer-events:none;white-space:normal;color:inherit;text-decoration:none;width:100%;height:100%;inset:0 auto auto 0}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed;z-index:auto}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/dm-sans-latin-ext-400-normal-2ZR6XYBL.woff2") format("woff2"),url("./media/dm-sans-latin-ext-400-normal-TBIAKTDR.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:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/dm-sans-latin-400-normal-PK6QQEPM.woff2") format("woff2"),url("./media/dm-sans-latin-400-normal-MGJ5Z327.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:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/dm-sans-latin-ext-500-normal-26EY6OLJ.woff2") format("woff2"),url("./media/dm-sans-latin-ext-500-normal-7LSA2WRE.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:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/dm-sans-latin-500-normal-EEBZRNR6.woff2") format("woff2"),url("./media/dm-sans-latin-500-normal-DXK3D23C.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:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/dm-sans-latin-ext-600-normal-I7LCOF75.woff2") format("woff2"),url("./media/dm-sans-latin-ext-600-normal-EPKCPTQL.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:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/dm-sans-latin-600-normal-VVAUUCVV.woff2") format("woff2"),url("./media/dm-sans-latin-600-normal-RFO53SGX.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:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url("./media/dm-sans-latin-ext-700-normal-YO5Z2BEM.woff2") format("woff2"),url("./media/dm-sans-latin-ext-700-normal-MVCRPVDV.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:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url("./media/dm-sans-latin-700-normal-3NSIJ7YI.woff2") format("woff2"),url("./media/dm-sans-latin-700-normal-X22FQDE6.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:Lexend;font-style:normal;font-display:swap;font-weight:500;src:url("./media/lexend-vietnamese-500-normal-B32ZAC32.woff2") format("woff2"),url("./media/lexend-vietnamese-500-normal-444MKHG3.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:Lexend;font-style:normal;font-display:swap;font-weight:500;src:url("./media/lexend-latin-ext-500-normal-3QBDOIVY.woff2") format("woff2"),url("./media/lexend-latin-ext-500-normal-XOX5KC7W.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:Lexend;font-style:normal;font-display:swap;font-weight:500;src:url("./media/lexend-latin-500-normal-EOOFPW3G.woff2") format("woff2"),url("./media/lexend-latin-500-normal-I36KUOXI.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:Lexend;font-style:normal;font-display:swap;font-weight:600;src:url("./media/lexend-vietnamese-600-normal-PAAKISFW.woff2") format("woff2"),url("./media/lexend-vietnamese-600-normal-TYDMOZQE.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:Lexend;font-style:normal;font-display:swap;font-weight:600;src:url("./media/lexend-latin-ext-600-normal-6DHKFML7.woff2") format("woff2"),url("./media/lexend-latin-ext-600-normal-D6JFIZ3M.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:Lexend;font-style:normal;font-display:swap;font-weight:600;src:url("./media/lexend-latin-600-normal-IIRTC3XC.woff2") format("woff2"),url("./media/lexend-latin-600-normal-KRIEWPSP.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:Lexend;font-style:normal;font-display:swap;font-weight:700;src:url("./media/lexend-vietnamese-700-normal-NGSWFJJT.woff2") format("woff2"),url("./media/lexend-vietnamese-700-normal-U4OP2R4B.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:Lexend;font-style:normal;font-display:swap;font-weight:700;src:url("./media/lexend-latin-ext-700-normal-FQXQ4ZFM.woff2") format("woff2"),url("./media/lexend-latin-ext-700-normal-BWN3PPVC.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:Lexend;font-style:normal;font-display:swap;font-weight:700;src:url("./media/lexend-latin-700-normal-NRQL6SY6.woff2") format("woff2"),url("./media/lexend-latin-700-normal-LNEWHKMD.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}:root{--font-heading: "Lexend", system-ui, sans-serif;--font-body: "DM Sans", system-ui, sans-serif;--color-bg: #f7f4ee;--color-surface: #ffffff;--color-surface-muted: #faf8f3;--color-border: #e9e3d7;--color-border-strong: #dcd5c6;--color-text: #1e1e1c;--color-text-muted: #6a675e;--color-warning-bg: #fdf3e3;--color-warning-border: #f0d5a8;--color-warning-text: #6b4200;--color-danger: #8e1f1f;--color-success: #2e6b3a;--subject-de: #f2c511;--subject-ma: #d62f2f;--subject-su: #589c3e;--subject-en: #4f8cd0;--subject-mu: #e06a10;--subject-bsp: #149484;--subject-kg: #d81b72;--subject-td: #9b4a9c;--event-school: #8a8578;--event-trip: #4b4fa6;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--touch-min: 44px;--app-primary: #33363b;--app-primary-hover: #24272b;--app-primary-dark: #1e2023;--app-surface: #ecedee;--app-border: #cfd1d4;--app-link: #33363b;--app-logo: #5f646b}[data-app=pultio]{--app-primary: #2f6fa8;--app-primary-hover: #255a8a;--app-primary-dark: #1c4670;--app-surface: #e3eff9;--app-border: #bfd7ee;--app-link: #245b8c;--app-logo: #7eb0df}[data-app=kochio]{--app-primary: #8b5a2b;--app-primary-hover: #744a22;--app-primary-dark: #4e3016;--app-surface: #f1e4d6;--app-border: #e2cdb5;--app-link: #6b4420;--app-logo: #8b5a2b}.auth{display:flex;flex-wrap:wrap;min-height:100vh}.auth-brand{flex:1 1 440px;background:var(--app-primary);color:#fff;padding:48px 56px;display:flex;flex-direction:column;gap:40px}.auth-brand h1{margin:0;font:600 44px/1.12 var(--font-heading);letter-spacing:-.015em}.auth-brand p{margin:0;font-size:18px;color:#dadcdf}.auth-logo{display:flex;align-items:center;gap:14px;font:600 26px var(--font-heading);color:inherit;text-decoration:none}.auth-logo span{width:52px;height:52px;border-radius:12px;background:var(--app-logo);display:flex;align-items:center;justify-content:center}.auth-main{flex:1 1 440px;display:flex;align-items:center;justify-content:center;padding:48px 24px}.auth-form{width:100%;max-width:420px;display:flex;flex-direction:column;gap:18px}.auth-form h2{margin:0;font:600 32px var(--font-heading);letter-spacing:-.01em}.auth-form .sub{margin:6px 0 0;color:var(--color-text-muted)}.field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}.field-row{display:flex;justify-content:space-between;align-items:baseline}.inp{display:flex;align-items:center;min-height:48px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);padding:0 6px 0 14px;gap:8px}.inp:focus-within{outline:2px solid var(--app-primary);outline-offset:1px;border-color:var(--app-primary)}.inp.invalid{border-color:var(--color-danger)}.inp input{border:0;outline:0;flex:1;min-width:0;font:400 15px var(--font-body);color:var(--color-text);background:transparent;min-height:46px}.inp input.code{font:600 24px var(--font-heading);letter-spacing:.35em;text-align:center}.field-error{color:var(--color-danger);font-weight:500;font-size:13px;margin:0}.field-hint{color:var(--color-text-muted);font-weight:400;font-size:13px;margin:0}.icon-btn{width:40px;height:40px;border-radius:6px;border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;color:#5f5d55;cursor:pointer;flex:none}.icon-btn:hover{background:#f3f0e8}.check{display:flex;align-items:flex-start;gap:10px;min-height:44px;font-size:14.5px;cursor:pointer;padding-top:10px}.check input{width:20px;height:20px;accent-color:var(--app-primary);margin:0;flex:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 18px;border-radius:var(--radius-sm);font:600 15px var(--font-body);border:1px solid transparent;cursor:pointer;text-decoration:none;width:100%}.btn-primary{background:var(--app-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--app-primary-hover)}.btn-ghost{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong)}.btn:disabled{opacity:.5;cursor:not-allowed}.or{display:flex;align-items:center;gap:12px;color:var(--color-text-muted);font-size:13px}.or:before,.or:after{content:"";flex:1;border-top:1px solid #e2dacb}.alert{border-radius:10px;padding:12px 14px;font-size:14.5px;margin:0}.alert-error{background:#fbefef;border:1px solid #efc9c9;color:var(--color-danger)}.alert-info{background:var(--color-surface-muted);border:1px solid var(--color-border)}.alert-success{background:#eef6ee;border:1px solid #cfe3cf;color:var(--color-success)}.strength{display:flex;gap:4px}.strength span{flex:1;height:4px;border-radius:2px;background:#e9e3d7}.strength span.on{background:var(--app-primary)}.center{text-align:center}@media(max-width:720px){.auth-brand{padding:32px 20px;gap:24px}.auth-brand h1{font-size:32px}.auth-main{padding:32px 16px 48px}}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);font:400 15px/1.45 var(--font-body)}a{color:var(--app-link)}h1,h2,h3{font-family:var(--font-heading);font-weight:600}
