@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/panel/assets/nunito-cyrillic-ext-400-normal-CuPM9foi.woff2) format("woff2"),url(/panel/assets/nunito-cyrillic-ext-400-normal-xaE7D4Sw.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:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/panel/assets/nunito-cyrillic-400-normal-xAOo5cBP.woff2) format("woff2"),url(/panel/assets/nunito-cyrillic-400-normal-D1j0u8EH.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/panel/assets/nunito-vietnamese-400-normal-BHkVbP3T.woff2) format("woff2"),url(/panel/assets/nunito-vietnamese-400-normal-DtOtW02z.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:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/panel/assets/nunito-latin-ext-400-normal-i-8OOpdj.woff2) format("woff2"),url(/panel/assets/nunito-latin-ext-400-normal-CjMJVfGn.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:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/panel/assets/nunito-latin-400-normal-r8SDr6Up.woff2) format("woff2"),url(/panel/assets/nunito-latin-400-normal-DKg4f3fz.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:Titan One;font-style:normal;font-display:swap;font-weight:400;src:url(/panel/assets/titan-one-latin-ext-400-normal-BW7cdQ38.woff2) format("woff2"),url(/panel/assets/titan-one-latin-ext-400-normal-CiNNQIOC.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:Titan One;font-style:normal;font-display:swap;font-weight:400;src:url(/panel/assets/titan-one-latin-400-normal-DwVbh4mi.woff2) format("woff2"),url(/panel/assets/titan-one-latin-400-normal-VZVzRR2h.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{--bg-canvas: #FFF8F0;--bg-surface: #FFFFFF;--bg-brand-tint: #FFEDDC;--border-subtle: #F1E2D0;--text-primary: #2B1D12;--text-secondary: #8A7A6A;--action-primary: #FF8A1E;--primary: #FF8A1E;--action-primary-hover: #E56F00;--accent-brand: #FFC96B;--success: #18A957;--danger: #E23D3D;--radius-card: 16px;--radius-button: 12px;--shadow-card: 0 2px 14px rgba(80, 45, 10, .06)}@media(prefers-color-scheme:dark){:root{--bg-canvas: #1B120A;--bg-surface: #241708;--bg-brand-tint: #3A2410;--border-subtle: #3D2C1B;--text-primary: #FFF8F0;--text-secondary: #B8A898;--accent-brand: #FFD24C;--success: #4ADE80;--danger: #F87171}}*{box-sizing:border-box}body{margin:0;background:var(--bg-canvas);color:var(--text-primary);font-family:Nunito,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent}h1,h2,h3{font-family:Fredoka,Nunito,sans-serif;font-weight:600;letter-spacing:.2px}input,button,select{font-family:inherit}button{background:var(--action-primary);color:#fff;border:0;border-radius:var(--radius-button);padding:11px 18px;font-size:15px;font-weight:800;cursor:pointer;transition:background .15s ease,transform .1s ease,box-shadow .15s ease}button:hover:not(:disabled){background:var(--action-primary-hover)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.5;cursor:default}input{width:100%;padding:11px 13px;border:1.5px solid var(--border-subtle);border-radius:var(--radius-button);font-size:15px;background:var(--bg-surface);color:var(--text-primary);transition:border-color .15s ease,box-shadow .15s ease}input:focus{outline:none;border-color:var(--action-primary);box-shadow:0 0 0 3px #ff8a1e29}select{width:100%;padding:11px 12px;border:1.5px solid var(--border-subtle);border-radius:var(--radius-button);font-size:15px;background:var(--bg-surface);color:var(--text-primary)}select:focus{outline:none;border-color:var(--action-primary);box-shadow:0 0 0 3px #ff8a1e29}.auth-split{display:flex;min-height:100vh}.brand-panel{flex:1;min-width:360px;max-width:48%;background:radial-gradient(130% 115% at 50% 108%,#fff6de,#ffdd96 30%,#ffb25e 58%,#f98a2b 80%,#ef7412);color:#fff;padding:46px 42px;display:flex;flex-direction:column;gap:30px;position:relative;overflow:hidden;text-shadow:0 1px 2px rgba(120,53,15,.18)}.brand-logo-row{display:flex;gap:18px;align-items:center;position:relative}.brand-logo-row:before{content:"";position:absolute;left:-18px;top:-22px;width:150px;height:150px;background:radial-gradient(circle,#ffffff59,#fff0 70%);border-radius:50%;pointer-events:none}.brand-name,.brand-hero h1{font-family:Fredoka,Titan One,Avenir Next,Segoe UI,sans-serif;font-weight:600;letter-spacing:1px}.brand-sub,.brand-hero p{font-family:Nunito,Avenir Next,Segoe UI,sans-serif}.brand-name{font-size:36px;line-height:1}.brand-name span{opacity:.82;font-weight:400}.brand-sub{font-size:12px;letter-spacing:4px;opacity:.9;margin-top:6px}.brand-hero h1{font-size:54px;margin:0;line-height:1.06;font-weight:600}.brand-hero h1 em{font-style:normal;text-decoration:underline;text-decoration-thickness:5px;text-underline-offset:10px;opacity:.95}.brand-hero p{font-size:18px;opacity:.95;margin:16px 0 0;max-width:340px}.brand-benefits{display:flex;flex-direction:column;gap:16px;margin-top:auto;margin-bottom:auto}.benefit{display:flex;gap:14px;align-items:flex-start}.benefit-icon{font-size:26px}.benefit strong{display:block;font-size:17px}.benefit span{font-size:14px;opacity:.9}.brand-footer{display:flex;justify-content:space-between;font-size:12px;opacity:.75;margin-top:auto}.bell-swing{animation:ring 2.6s cubic-bezier(.36,.07,.19,.97) infinite}.bell-waves{animation:waves 2.6s ease-out infinite}@keyframes ring{0%,to{transform:rotate(0)}6%{transform:rotate(16deg)}13%{transform:rotate(-14deg)}21%{transform:rotate(11deg)}28%{transform:rotate(-8deg)}35%{transform:rotate(5deg)}42%{transform:rotate(-3deg)}50%{transform:rotate(0)}}@keyframes waves{0%,8%{opacity:0;transform:scale(.85);transform-origin:center}22%{opacity:.9;transform:scale(1)}46%{opacity:0;transform:scale(1.25)}to{opacity:0}}@media(prefers-reduced-motion:reduce){.bell-swing,.bell-waves{animation:none}}.form-panel{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;background:var(--bg-canvas)}.lang-row{position:absolute;top:20px;right:24px}.lang-pill{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-subtle);padding:4px 12px;font-size:13px;border-radius:10px;font-weight:700}.lang-pill.on{background:var(--text-primary);color:var(--bg-surface);border-color:var(--text-primary)}.form-box{width:100%;max-width:380px}.form-hint{font-size:13.5px;color:var(--text-secondary)}.tab{background:var(--bg-surface);color:var(--text-primary);border:1.5px solid var(--border-subtle)}.tab.on{background:var(--action-primary);color:#fff;border-color:var(--action-primary)}.btn-wide{width:100%;font-size:16px;padding:13px}.ghost{background:var(--bg-surface);color:var(--text-primary);border:1.5px solid var(--border-subtle)}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;z-index:5;box-shadow:0 1px 10px #502d0a0d}.topbar-brand{font-weight:600;font-family:Fredoka,sans-serif;font-size:18px;display:flex;align-items:center;gap:9px}.topbar-brand img{width:26px;height:26px;object-fit:contain}.topbar-tenant{font-weight:700;color:var(--text-secondary);font-family:Nunito,sans-serif;font-size:14px}.btn-ghost{background:var(--bg-surface);color:var(--text-primary);border:1.5px solid var(--border-subtle);font-size:13.5px;padding:7px 13px;border-radius:10px}.btn-ghost:hover:not(:disabled){background:var(--bg-brand-tint);border-color:var(--action-primary)}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-card);padding:22px;max-width:420px;margin:6vh auto;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow-card)}.card.center{align-items:stretch;text-align:left}.card label{font-size:12.5px;font-weight:800;color:var(--text-secondary);margin-top:10px;letter-spacing:.3px}.err{color:var(--danger);font-size:14px;font-weight:700}.ok{color:var(--success)}.big-ok{font-size:20px;color:var(--success);font-weight:800}.linklike{background:none;color:var(--text-secondary);border:none;font-size:14px;margin-top:8px}.health-banner{background:var(--danger);color:#fff;font-weight:800;padding:12px 16px;border-radius:12px;margin-bottom:14px}.student-head{display:flex;gap:14px;align-items:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-card);padding:14px 16px}.student-head .balance-tag{margin-left:auto;background:var(--bg-brand-tint);padding:8px 14px;border-radius:12px;font-size:15px;font-weight:800}.avatar{width:76px;height:76px;border-radius:50%;object-fit:cover;border:3px solid var(--bg-surface);box-shadow:0 1px 4px #00000026}.avatar-init{background:var(--accent-brand);color:var(--text-primary);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px}.muted{color:var(--text-secondary);font-size:13px}.grade-chip{display:inline-block;background:var(--bg-brand-tint);color:var(--text-primary);font-weight:800;font-size:13px;padding:3px 10px;border-radius:999px;margin-right:4px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:16px 0 96px}.prod{position:relative;background:var(--bg-surface);border:2px solid var(--border-subtle);color:var(--text-primary);border-radius:var(--radius-card);padding:12px;display:flex;flex-direction:column;gap:4px;text-align:left;font-weight:400}.prod img{width:100%;height:84px;object-fit:cover;border-radius:10px;background:var(--bg-canvas)}.prod strong{font-size:15px}.prod span{color:var(--action-primary);font-weight:800}.prod small{color:var(--text-secondary)}.prod .qty{position:absolute;top:-8px;right:-8px;background:var(--action-primary);color:#fff;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-size:14px}.prod.blocked{opacity:.45}.cart-bar{position:fixed;bottom:0;left:0;right:0;background:var(--bg-surface);border-top:2px solid var(--border-subtle);padding:12px 20px;display:flex;gap:14px;align-items:center;z-index:4}.cart-bar .total{font-size:18px;margin-left:auto}.payrow{display:flex;gap:8px}.pay{font-size:14px;padding:10px 14px}.pay.wallet{min-width:150px}.results{display:flex;flex-direction:column;gap:10px;margin-top:16px}.result{display:flex;gap:12px;align-items:center;background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:var(--radius-card);padding:12px 16px;text-align:left}.result-info strong{display:block;font-size:17px}.result-balance{margin-left:auto;font-weight:800;font-size:18px;color:var(--action-primary)}.flash{position:fixed;top:70px;left:50%;transform:translate(-50%);background:var(--success);color:#fff;font-weight:800;padding:12px 24px;border-radius:14px;z-index:10;box-shadow:0 4px 18px #00000040}@media(max-width:820px){.brand-panel{display:none}}.modal-back{position:fixed;inset:0;background:#2b1d1280;display:flex;align-items:center;justify-content:center;z-index:20}.modal{background:var(--bg-surface);color:var(--text-primary);border-radius:var(--radius-card);padding:22px;width:100%;max-width:360px;box-shadow:0 16px 48px #2b1d124d;animation:zoomIn .16s ease-out}@keyframes zoomIn{0%{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}.modal h3{margin:0 0 10px}input[type=checkbox]{width:17px;height:17px;accent-color:var(--action-primary)}.perm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px 18px;margin-top:8px}.perm-grid label{display:flex;align-items:center;gap:9px;margin:0;font-size:14px;color:var(--text-primary);cursor:pointer;white-space:nowrap}input[type=radio]{width:17px;height:17px;accent-color:var(--action-primary)}.wide{width:100%;max-width:none!important;margin:0 0 16px}.card.wide{max-width:none!important;margin:0 0 16px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.toolbar select,.toolbar input{padding:8px 10px;border-radius:9px;border:1.5px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-primary)}.toolbar select:focus,.toolbar input:focus{border-color:var(--action-primary);box-shadow:0 0 0 3px #ff8a1e24;outline:none}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px}.table th{text-align:left;padding:9px 10px;white-space:nowrap;-webkit-user-select:none;user-select:none;font-family:Fredoka,sans-serif;font-weight:500;font-size:12px;letter-spacing:.7px;text-transform:uppercase;color:var(--text-secondary);border-bottom:2px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-brand-tint) 36%,transparent)}.table th:first-child{border-radius:10px 0 0}.table th:last-child{border-radius:0 10px 0 0}.table th.sortable{cursor:pointer}.table th.sortable:hover{color:var(--action-primary)}.table td{padding:8px 10px;border-bottom:1px solid var(--border-subtle);vertical-align:middle}.table td.nowrap,.table th.nowrap{white-space:nowrap}.table tr:hover td{background:color-mix(in srgb,var(--bg-brand-tint) 30%,transparent)}.table .num{text-align:right;white-space:nowrap;font-weight:800;font-variant-numeric:tabular-nums}.table .acts{text-align:right;white-space:nowrap}.table .acts button{padding:5px 10px;font-size:12.5px;border-radius:9px}.muted-cell{opacity:.55}.reports-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:14px;align-items:start;margin:14px 0}.reports-grid>.card{margin:0;max-width:none!important;width:auto}.kpis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:14px 0}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:16px;align-items:start;margin:0 0 16px}.settings-grid>.card{margin:0;max-width:none!important;height:100%}.cat-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-card);padding:14px 16px;margin-top:12px;box-shadow:var(--shadow-card)}.cat-card-head{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.cat-card-head h3{margin:0;font-size:17px;flex:1;display:flex;align-items:center;gap:8px}.cat-card-head .chev{color:var(--action-primary);font-size:13px;width:14px}.cat-count{background:var(--bg-brand-tint);color:var(--text-primary);font-weight:800;font-size:12.5px;padding:2px 11px;border-radius:999px}.chip-ok{display:inline-block;background:#eaf9f1;color:var(--success);font-weight:800;font-size:12px;padding:2px 10px;border-radius:999px}.chip-off{display:inline-block;background:#fcebea;color:#b3261e;font-weight:800;font-size:12px;padding:2px 10px;border-radius:999px}@media(prefers-color-scheme:dark){.chip-ok{background:#12301e}.chip-off{background:#3a1512}}
