.toast-container[data-v-a35a6c7d]{position:fixed;top:1.25rem;right:1.25rem;z-index:2000;display:flex;flex-direction:column;gap:.75rem;max-width:min(420px,calc(100vw - 2rem));pointer-events:none}.toast[data-v-a35a6c7d]{display:flex;align-items:center;gap:.75rem;padding:.9rem 1rem;border-radius:12px;color:#fff;font-size:.9rem;font-weight:500;line-height:1.35;box-shadow:0 8px 28px #00000040;pointer-events:auto;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.toast--error[data-v-a35a6c7d]{background:linear-gradient(135deg,#ff5252,#ff6b6b)}.toast--success[data-v-a35a6c7d]{background:linear-gradient(135deg,#2ecc71,#27ae60)}.toast--info[data-v-a35a6c7d]{background:linear-gradient(135deg,#667eea,#764ba2)}.toast-icon[data-v-a35a6c7d]{flex-shrink:0;display:flex}.toast-message[data-v-a35a6c7d]{flex:1;word-break:break-word}.toast-close[data-v-a35a6c7d]{flex-shrink:0;background:none;border:none;color:#ffffffe6;cursor:pointer;font-size:1rem;line-height:1;padding:0;opacity:.85;transition:opacity .2s,transform .2s}.toast-close[data-v-a35a6c7d]:hover{opacity:1;transform:rotate(90deg)}.toast-enter-active[data-v-a35a6c7d],.toast-leave-active[data-v-a35a6c7d]{transition:opacity .3s ease,transform .35s cubic-bezier(.34,1.56,.64,1)}.toast-enter-from[data-v-a35a6c7d],.toast-leave-to[data-v-a35a6c7d]{opacity:0;transform:translate(40px) scale(.9)}.toast-move[data-v-a35a6c7d]{transition:transform .3s ease}@media (max-width: 600px){.toast-container[data-v-a35a6c7d]{top:.75rem;right:.75rem;left:.75rem;max-width:none}}.lang-switch[data-v-1f89dfa2]{position:relative}.lang-btn[data-v-1f89dfa2]{display:flex;align-items:center;gap:.35rem;padding:.4rem .6rem;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;font-size:.85rem;font-weight:600;color:var(--color-text);transition:background .2s,border-color .2s}.lang-btn[data-v-1f89dfa2]:hover{border-color:var(--color-primary)}.lang-emoji[data-v-1f89dfa2]{width:22px;text-align:center;font-size:1rem;line-height:15px}.lang-flag[data-v-1f89dfa2]{width:22px;height:15px;border-radius:2px;object-fit:cover;display:block;box-shadow:0 0 0 1px #0000001a}.lang-chevron[data-v-1f89dfa2]{transition:transform .2s}.lang-chevron.rotated[data-v-1f89dfa2]{transform:rotate(180deg)}.lang-menu[data-v-1f89dfa2]{position:absolute;top:calc(100% + .4rem);right:0;min-width:160px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:.35rem;display:flex;flex-direction:column;gap:.15rem;z-index:1100}.lang-item[data-v-1f89dfa2]{display:flex;align-items:center;gap:.6rem;padding:.55rem .7rem;background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;font-weight:500;color:var(--color-text);text-align:left;width:100%;transition:background .2s,color .2s}.lang-item[data-v-1f89dfa2]:hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent);color:var(--color-primary)}.lang-item.active[data-v-1f89dfa2]{background:color-mix(in srgb,var(--color-primary) 14%,transparent);color:var(--color-primary);font-weight:700}@media (max-width: 640px){.modal-close[data-v-4494d073]{width:40px;height:40px}}.upsell[data-v-ebab5b3f]{text-align:center}.upsell-icon[data-v-ebab5b3f]{font-size:2.6rem;line-height:1;margin-bottom:.85rem}.upsell-text[data-v-ebab5b3f]{margin:0 0 1rem;color:var(--color-text);line-height:1.55}.upsell-list[data-v-ebab5b3f]{margin:0 0 1.25rem;padding:.85rem 1rem;list-style:none;text-align:start;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);font-size:.9rem}.upsell-list li[data-v-ebab5b3f]{padding:.22rem 0 .22rem 1.35rem;position:relative}.upsell-list li[data-v-ebab5b3f]:before{content:"✓";position:absolute;inset-inline-start:0;color:var(--color-success);font-weight:700}.upsell-actions[data-v-ebab5b3f]{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap}.app[data-v-ad0a2794]{display:flex;flex-direction:column;min-height:100vh}.navbar[data-v-ad0a2794]{background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100}.navbar-container[data-v-ad0a2794]{margin:0 auto;padding:0 2rem;height:64px;display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.navbar-left[data-v-ad0a2794]{display:flex;align-items:center;gap:2rem;min-width:0;flex-shrink:0}.navbar-brand[data-v-ad0a2794]{display:flex;align-items:center;gap:.5rem;text-decoration:none;flex-shrink:0}.brand-icon[data-v-ad0a2794]{font-size:1.4rem}.brand-text[data-v-ad0a2794]{font-size:1.15rem;font-weight:800;background:linear-gradient(135deg,var(--color-text) 0%,var(--color-primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.3px;white-space:nowrap}.navbar-menu[data-v-ad0a2794]{display:flex;align-items:center;gap:.15rem;background:color-mix(in srgb,var(--color-primary) 5%,transparent);padding:.3rem;border-radius:12px}.nav-link[data-v-ad0a2794]{position:relative;color:var(--color-text-muted);text-decoration:none;font-size:.9rem;font-weight:600;padding:.5rem .95rem;border-radius:9px;transition:color .25s ease,background .25s ease;white-space:nowrap}.nav-link[data-v-ad0a2794]:after{content:"";position:absolute;bottom:.3rem;left:50%;transform:translate(-50%);width:0;height:2px;border-radius:2px;background:linear-gradient(135deg,var(--color-primary) 0%,#764ba2 100%);transition:width .25s ease}.nav-link[data-v-ad0a2794]:hover{color:var(--color-text);background:#fff9}.nav-link[data-v-ad0a2794]:hover:after{width:40%}.nav-link--active[data-v-ad0a2794]{color:var(--color-primary);background:var(--color-surface);font-weight:700;box-shadow:0 2px 8px color-mix(in srgb,var(--color-primary) 15%,transparent)}.nav-link--active[data-v-ad0a2794]:after{width:55%}.nav-dropdown[data-v-ad0a2794]{position:relative}.nav-dropdown-toggle[data-v-ad0a2794]{display:flex;align-items:center;gap:.35rem;background:none;border:none;color:var(--color-text-muted);font-size:.9rem;font-weight:600;font-family:inherit;padding:.5rem .95rem;border-radius:9px;cursor:pointer;transition:color .25s ease,background .25s ease;white-space:nowrap}.nav-dropdown-toggle[data-v-ad0a2794]:hover{color:var(--color-text);background:#fff9}.nav-dropdown-toggle--active[data-v-ad0a2794]{color:var(--color-primary);background:var(--color-surface);box-shadow:0 2px 8px color-mix(in srgb,var(--color-primary) 15%,transparent)}.chevron[data-v-ad0a2794]{transition:transform .2s}.chevron--rotated[data-v-ad0a2794]{transform:rotate(180deg)}.nav-dropdown-menu[data-v-ad0a2794]{position:absolute;top:calc(100% + .5rem);left:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 4px 24px #0000001f;z-index:1000;min-width:180px;width:max-content;padding:.4rem;display:flex;flex-direction:column;gap:.15rem;animation:dropdownSlideIn-ad0a2794 .2s ease}.nav-dropdown-item[data-v-ad0a2794]{color:var(--color-text-muted);text-decoration:none;font-size:.875rem;font-weight:500;padding:.6rem .85rem;border-radius:6px;white-space:nowrap;transition:color .2s,background .2s}.nav-dropdown-item[data-v-ad0a2794]:hover{color:var(--color-text);background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.nav-dropdown-item--active[data-v-ad0a2794]{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,transparent);font-weight:600}.nav-dropdown-menu.nav-dropdown-menu--grouped[data-v-ad0a2794]{display:grid;grid-template-columns:repeat(2,minmax(190px,1fr));gap:.25rem .75rem;min-width:420px}.nav-group[data-v-ad0a2794]{display:flex;flex-direction:column}.nav-group-title[data-v-ad0a2794]{padding:.5rem .75rem .25rem;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.nav-dropdown-toggle--admin[data-v-ad0a2794]{gap:.35rem}@media (max-width: 768px){.nav-dropdown-menu.nav-dropdown-menu--grouped[data-v-ad0a2794]{grid-template-columns:1fr;min-width:0}}.nav-dropdown-item--button[data-v-ad0a2794]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;background:none;border:none;font-family:inherit;text-align:start;cursor:pointer}.nav-item-badge[data-v-ad0a2794]{font-size:.8rem;opacity:.75;flex-shrink:0}.nav-lock[data-v-ad0a2794]{font-size:.75rem;margin-inline-start:.15rem}.navbar-right[data-v-ad0a2794]{display:flex;align-items:center;gap:1rem;flex:1 1 auto;min-width:0;justify-content:flex-end}.navbar-school-name[data-v-ad0a2794]{color:var(--color-text);font-size:.9rem;font-weight:600;padding:.4rem .85rem;background:color-mix(in srgb,var(--color-primary) 8%,transparent);border-radius:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:0 1 auto;max-width:480px}.navbar-actions[data-v-ad0a2794]{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.theme-toggle-btn[data-v-ad0a2794]{background:none;border:1px solid var(--color-border);color:var(--color-text-muted);padding:.5rem;border-radius:8px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.theme-toggle-btn[data-v-ad0a2794]:hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent);color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 20%,transparent)}.user-menu[data-v-ad0a2794]{position:relative}.user-avatar-btn[data-v-ad0a2794]{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:transform .2s}.user-avatar-btn[data-v-ad0a2794]:hover{transform:scale(1.05)}.user-avatar[data-v-ad0a2794]{width:40px;height:40px;background:linear-gradient(135deg,var(--color-primary),#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;color:#fff;flex-shrink:0;box-shadow:0 2px 8px color-mix(in srgb,var(--color-primary) 20%,transparent)}.user-dropdown[data-v-ad0a2794]{position:absolute;top:calc(100% + .75rem);right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 4px 24px #0000001f;z-index:1000;min-width:280px;animation:dropdownSlideIn-ad0a2794 .2s ease}@keyframes dropdownSlideIn-ad0a2794{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.navbar-logout-btn[data-v-ad0a2794]{display:flex;align-items:center;gap:.5rem;background:none;border:1px solid var(--color-border);color:var(--color-danger);padding:.5rem 1rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;border-radius:8px}.navbar-logout-btn[data-v-ad0a2794]:hover{background:color-mix(in srgb,var(--color-danger) 8%,transparent);color:var(--color-danger-hover);border-color:color-mix(in srgb,var(--color-danger) 20%,transparent)}.dropdown-header[data-v-ad0a2794]{display:flex;align-items:center;gap:1rem;padding:1.25rem}.dropdown-avatar[data-v-ad0a2794]{width:50px;height:50px;background:linear-gradient(135deg,var(--color-primary),#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;color:#fff;flex-shrink:0}.dropdown-info[data-v-ad0a2794]{flex:1;min-width:0}.dropdown-username[data-v-ad0a2794]{color:var(--color-text);font-size:.95rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-school[data-v-ad0a2794]{color:var(--color-text-muted);font-size:.8rem;font-weight:500;margin-top:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-item[data-v-ad0a2794]{display:flex;align-items:center;gap:.6rem;padding:.75rem 1.25rem;border-top:1px solid var(--color-border);color:var(--color-text);text-decoration:none;font-size:.875rem;font-weight:500;transition:background .2s,color .2s}.dropdown-item[data-v-ad0a2794]:hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent);color:var(--color-primary)}.dropdown-item svg[data-v-ad0a2794]{flex-shrink:0;color:var(--color-text-muted)}.dropdown-item:hover svg[data-v-ad0a2794]{color:var(--color-primary)}.main-content[data-v-ad0a2794]{flex:1;display:flex;flex-direction:column;background-color:var(--color-bg);color:var(--color-text)}@media (max-width: 1024px){.navbar-left[data-v-ad0a2794]{gap:1rem}}@media (max-width: 768px){.navbar-container[data-v-ad0a2794]{padding:.75rem 1rem;height:auto;flex-wrap:wrap;gap:.75rem}.navbar-left[data-v-ad0a2794]{order:1;width:100%;flex-wrap:wrap}.navbar-right[data-v-ad0a2794]{order:0;width:100%;justify-content:flex-end}.navbar-school-name[data-v-ad0a2794]{margin-right:auto}.navbar-menu[data-v-ad0a2794]{flex-wrap:wrap}.user-dropdown[data-v-ad0a2794]{min-width:250px}.dropdown-header[data-v-ad0a2794]{padding:1rem}.dropdown-username[data-v-ad0a2794]{font-size:.9rem}}.dark{background:#ffffff0a}.dark{color:var(--color-text);background:#ffffff14}.dark{color:var(--color-text);background:color-mix(in srgb,var(--color-primary) 35%,transparent);box-shadow:0 2px 8px #00000040}.dark{background:color-mix(in srgb,var(--color-primary) 20%,transparent)}.dark{background:color-mix(in srgb,var(--color-primary) 15%,transparent)}.dark{background:color-mix(in srgb,var(--color-primary) 15%,transparent);border-color:color-mix(in srgb,var(--color-primary) 30%,transparent)}.dark{background:color-mix(in srgb,var(--color-danger) 15%,transparent);border-color:color-mix(in srgb,var(--color-danger) 30%,transparent)}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;--color-bg: #f8fafc;--color-surface: #ffffff;--color-surface-muted: #f5f7fb;--color-surface-hover: #eef2ff;--color-text: #111827;--color-text-muted: #667085;--color-border: #e5e7eb;--color-border-strong: #d1d5db;--color-primary: #646cff;--color-primary-hover: #535bf2;--color-danger: #ff6b6b;--color-danger-hover: #ff5252;--color-success: #16a34a;--color-info: #0891b2;--color-warning: #d97706;--shadow-sm: 0 2px 8px rgba(15, 23, 42, .08);--shadow-lg: 0 24px 70px rgba(15, 23, 42, .22);--focus-ring: 0 0 0 4px rgba(100, 108, 255, .14);--chart-web: #4a3aa7;--chart-reg: #22c55e;--chart-bot: #06b6d4;--chart-parent: #d97706;--chart-money: #f59e0b;--chart-classes: #8b5cf6;--chart-subjects: #ec4899;--chart-warn: #f97316;--chart-danger: #ef4444;--chart-neutral: #64748b;--radius-sm: 6px;--radius: 8px;--radius-lg: 12px;--control-h: 36px;--control-h-sm: 30px;--input-h: 40px;--fs-xs: .75rem;--fs-sm: .85rem;--fs-md: .9rem;--page-pad-y: 1.25rem;--page-pad-x: 1.5rem;color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root.dark{color-scheme:dark;--color-bg: #0f172a;--color-surface: #1a1a2e;--color-surface-muted: #111827;--color-surface-hover: rgba(102, 126, 234, .15);--color-text: #f8fafc;--color-text-muted: #a0a0b0;--color-border: #2d2d44;--color-border-strong: #3f3f5f;--color-primary: #818cf8;--color-primary-hover: #667eea;--color-danger: #ff8585;--color-danger-hover: #ff6b6b;--color-success: #4ade80;--color-info: #22d3ee;--color-warning: #fbbf24;--shadow-sm: 0 2px 12px rgba(0, 0, 0, .28);--shadow-lg: 0 24px 70px rgba(0, 0, 0, .42);--focus-ring: 0 0 0 4px rgba(129, 140, 248, .18);--chart-web: #9085e9;--chart-reg: #16a34a;--chart-bot: #0891b2;--chart-parent: #f59e0b;--chart-money: #fbbf24;--chart-classes: #a78bfa;--chart-subjects: #f472b6;--chart-warn: #fb923c;--chart-danger: #f87171;--chart-neutral: #8a93a6}a{font-weight:500;color:var(--color-primary);text-decoration:inherit}a:hover{color:var(--color-primary-hover)}button{border-radius:var(--radius);border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--color-surface-muted);color:inherit;cursor:pointer;transition:border-color .25s}button:hover{border-color:var(--color-primary)}button:focus{outline:none}button:focus-visible,a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.icon-action{--ia: var(--color-primary);display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;margin-right:.35rem;border:1px solid color-mix(in srgb,var(--ia) 22%,transparent);border-radius:6px;background-color:color-mix(in srgb,var(--ia) 10%,transparent);color:var(--ia);cursor:pointer;transition:background-color .2s,border-color .2s,color .2s,transform .1s}.icon-action:hover{background-color:color-mix(in srgb,var(--ia) 20%,transparent);border-color:color-mix(in srgb,var(--ia) 40%,transparent)}.icon-action:last-child{margin-right:0}.icon-action.danger{--ia: var(--color-danger)}.icon-action--time{--ia: var(--color-info)}.icon-action--plan{--ia: var(--color-success)}.icon-action.is-on{background-color:var(--ia);border-color:var(--ia);color:#fff}.icon-action.is-on:hover{background-color:color-mix(in srgb,var(--ia) 85%,#000);border-color:color-mix(in srgb,var(--ia) 85%,#000)}.icon-action svg{width:15px;height:15px}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .85rem center;background-size:14px;padding-right:2.4rem;cursor:pointer}select option{background-color:var(--color-surface);color:var(--color-text);padding:.5rem}select option:checked{background:linear-gradient(var(--color-primary),var(--color-primary));color:#fff;font-weight:600}select option:disabled{color:var(--color-text-muted)}.search-input{height:36px}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;padding:0;width:100%;min-height:100vh;color:var(--color-text);background:var(--color-bg)}#app{width:100%;min-height:100vh}@media (max-width: 640px){.controls{flex-wrap:wrap!important;gap:.5rem!important}.controls>*:not(button){flex:1 1 100%!important;width:100%!important;min-width:0!important;max-width:none!important}.form--grid{grid-template-columns:1fr!important}.form-actions{flex-direction:column!important}.modal-overlay{padding:.5rem!important}.modal-content{width:100%!important;max-width:none!important;max-height:94vh!important;padding:1.1rem!important}h1:not(.landing h1){font-size:1.25rem!important}.icon-action{width:40px;height:40px}.icon-action svg{width:18px;height:18px}[class$=-container],.dashboard,.home{padding-left:.75rem!important;padding-right:.75rem!important}div:has(>table){overflow-x:auto;max-width:100%}img,video,canvas,svg,pre{max-width:100%}html,body{overflow-x:clip;max-width:100%}.r-school,.top-name,.att-main,.region-name,.navbar-school-name{min-width:0}.navbar-left{flex-shrink:1!important}button,.btn-primary,.btn-secondary,.btn-danger{min-height:40px}input,select,textarea,.base-select__control{min-height:40px;font-size:16px!important}h2:not(.landing h2){font-size:1.1rem!important}h3:not(.landing h3){font-size:1rem!important}.tools-grid,.admin-grid{grid-template-columns:1fr!important}}.main-content>[class$=-container]{width:100%;padding:var(--page-pad-y) var(--page-pad-x)}.main-content>[class$=-container]>h1,.page-title{margin:0 0 .6rem;font-size:1.5rem;font-weight:700;color:var(--color-text);text-align:center}.page-subtitle,.main-content>[class$=-container]>.subtitle,.main-content>[class$=-container]>.page-hint{max-width:820px;margin:-.35rem auto 1rem;color:var(--color-text-muted);font-size:var(--fs-sm);text-align:center}.controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1rem}.search-input{flex:1 1 220px;min-width:200px;max-width:320px;height:var(--control-h);padding:0 .75rem;box-sizing:border-box;border:1px solid var(--color-border-strong);border-radius:var(--radius);background-color:var(--color-surface-muted);color:var(--color-text);font-family:inherit;font-size:var(--fs-sm);outline:none;transition:border-color .2s,box-shadow .2s,background-color .2s}.search-input:hover,.search-input:focus{border-color:var(--color-primary);background-color:var(--color-surface)}.search-input:focus{box-shadow:var(--focus-ring)}.btn-primary,.btn-secondary,.btn-danger,.btn-success,.btn-ghost{height:var(--control-h);padding:0 .85rem;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;box-sizing:border-box;border:1px solid transparent;border-radius:var(--radius);font-family:inherit;font-size:var(--fs-sm);font-weight:600;line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}.btn-primary svg,.btn-secondary svg,.btn-danger svg,.btn-success svg,.btn-ghost svg{flex:0 0 auto}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover);border-color:transparent;color:#fff}.btn-secondary{background-color:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong)}.btn-secondary:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.btn-danger{background-color:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background-color:var(--color-danger-hover);border-color:transparent;color:#fff}.btn-success{background-color:var(--color-success);color:#fff}.btn-success:hover:not(:disabled){background-color:color-mix(in srgb,var(--color-success) 85%,#000);border-color:transparent;color:#fff}.btn-ghost{background-color:transparent;color:var(--color-primary)}.btn-ghost:hover:not(:disabled){background-color:color-mix(in srgb,var(--color-primary) 10%,transparent);border-color:transparent}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled,.btn-success:disabled,.btn-ghost:disabled{opacity:.55;cursor:not-allowed}.btn-sm{height:var(--control-h-sm);padding:0 .6rem;font-size:var(--fs-xs)}.btn-refresh{height:var(--control-h);width:var(--control-h);padding:0;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border:1px solid var(--color-border-strong);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}.btn-refresh:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.btn-refresh svg{width:18px;height:18px;flex:0 0 auto}.btn-link{padding:0;background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:var(--fs-sm);text-decoration:underline}.btn-link:disabled{opacity:.5;cursor:not-allowed}.form-group{margin-bottom:1rem}.form-group>label,.form-label{display:block;margin-bottom:.4rem;color:var(--color-text-muted);font-size:var(--fs-sm);font-weight:600}.form-group input:where(:not([type=checkbox],[type=radio],[type=range],[type=color])),.form-group select,.form-group textarea,.form-control{width:100%;min-height:var(--input-h);box-sizing:border-box;padding:.5rem .8rem;border:1px solid var(--color-border-strong);border-radius:var(--radius);background-color:var(--color-surface-muted);color:var(--color-text);font-family:inherit;font-size:var(--fs-md);outline:none;transition:border-color .2s,box-shadow .2s,background-color .2s}.form-group textarea,textarea.form-control{min-height:84px;resize:vertical;line-height:1.45}.form-group select,select.form-control{padding-right:2.4rem}.form-group input:where(:not([type=checkbox],[type=radio],[type=range],[type=color])):hover,.form-group select:hover,.form-group textarea:hover,.form-control:hover,.form-group input:where(:not([type=checkbox],[type=radio],[type=range],[type=color])):focus,.form-group select:focus,.form-group textarea:focus,.form-control:focus{border-color:var(--color-primary);background-color:var(--color-surface)}.form-group input:where(:not([type=checkbox],[type=radio],[type=range],[type=color])):focus,.form-group select:focus,.form-group textarea:focus,.form-control:focus{box-shadow:var(--focus-ring)}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled,.form-control:disabled{opacity:.6;cursor:not-allowed}.form-group input::placeholder,.form-group textarea::placeholder,.form-control::placeholder,.search-input::placeholder{color:var(--color-text-muted);opacity:.75}.form-hint,.form-group .hint{display:block;margin-top:.3rem;color:var(--color-text-muted);font-size:var(--fs-xs)}.form--grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.form-actions{display:flex;gap:.75rem;margin-top:1.25rem}.form-actions button,.form-actions .btn-primary,.form-actions .btn-secondary,.form-actions .btn-danger{flex:1;height:var(--input-h)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;justify-content:center;align-items:center;padding:1rem;background-color:#0f172a80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overflow-y:auto;overscroll-behavior:contain}.modal-content{position:relative;width:90%;max-width:480px;max-height:calc(100vh - 2rem);overflow-y:auto;margin:auto;padding:1.5rem;box-sizing:border-box;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:left}@supports (height: 100dvh){.modal-content{max-height:calc(100dvh - 2rem)}}.modal-content>h2,.modal-title{margin:0 2.5rem 1.1rem 0;color:var(--color-text);font-size:1.2rem;font-weight:700;line-height:1.3}.modal-content--sm,.modal-narrow{max-width:380px}.modal-content--md{max-width:560px}.modal-content--wide{max-width:760px}.modal-content--xl{max-width:1000px}.modal-content--result{max-width:680px}.modal-close{position:absolute;top:.9rem;right:.9rem;width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);font-size:1rem;line-height:1;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}.modal-close:hover{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.loading,.empty,.empty-state{padding:2rem 1rem;text-align:center;color:var(--color-text-muted);font-size:var(--fs-md)}.muted{color:var(--color-text-muted)}.alert{padding:.65rem .9rem;border:1px solid transparent;border-radius:var(--radius);font-size:var(--fs-sm)}.alert--danger{color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 10%,transparent);border-color:color-mix(in srgb,var(--color-danger) 30%,transparent)}.alert--success{color:var(--color-success);background:color-mix(in srgb,var(--color-success) 10%,transparent);border-color:color-mix(in srgb,var(--color-success) 30%,transparent)}.alert--warning{color:var(--color-warning);background:color-mix(in srgb,var(--color-warning) 10%,transparent);border-color:color-mix(in srgb,var(--color-warning) 30%,transparent)}.alert--info{color:var(--color-info);background:color-mix(in srgb,var(--color-info) 10%,transparent);border-color:color-mix(in srgb,var(--color-info) 30%,transparent)}.ui-badge{--b: var(--color-text-muted);display:inline-flex;align-items:center;gap:.25rem;padding:.12rem .55rem;border:1px solid color-mix(in srgb,var(--b) 28%,transparent);border-radius:999px;background:color-mix(in srgb,var(--b) 12%,transparent);color:var(--b);font-size:var(--fs-xs);font-weight:700;line-height:1.4;white-space:nowrap;vertical-align:middle}.ui-badge--primary{--b: var(--color-primary)}.ui-badge--success{--b: var(--color-success)}.ui-badge--danger{--b: var(--color-danger)}.ui-badge--warning{--b: var(--color-warning)}.ui-badge--info{--b: var(--color-info)}html.dark .dashboard,html.dark .home,html.dark [class$=-container]{background:var(--color-bg);color:var(--color-text)}html.dark .welcome-section{background:linear-gradient(135deg,var(--color-surface-muted) 0%,var(--color-surface) 100%);border-bottom-color:var(--color-border)}html.dark .card,html.dark .modal-content,html.dark .modal-box,html.dark .data-table-container,html.dark .tool-card,html.dark .admin-card,html.dark .region-card,html.dark .stat-card,html.dark .pay-box,html.dark .district-panel,html.dark .welcome-section,html.dark .tools-section{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}html.dark .modal-overlay{background-color:#000000a6}html.dark h1,html.dark h2,html.dark h3,html.dark h4,html.dark .card-head h3,html.dark .stat-value,html.dark .att-value,html.dark .top-name,html.dark .top-val,html.dark .q-val,html.dark .pay-amount,html.dark .region-name,html.dark .r-school,html.dark .modal-head h3,html.dark .fs-chip b,html.dark .rank{color:var(--color-text)}html.dark .muted,html.dark .empty,html.dark .loading,html.dark .stat-label,html.dark .stat-prev,html.dark .att-label,html.dark .q-label,html.dark .pay-label,html.dark .pay-sub,html.dark .top-hint,html.dark .r-date,html.dark .region-nums,html.dark label,html.dark .form-group label{color:var(--color-text-muted)}html.dark table,html.dark .table,html.dark .fs-table{background:var(--color-surface);color:var(--color-text)}html.dark table th,html.dark .table th,html.dark .fs-table th{background:var(--color-surface-muted);color:var(--color-text-muted);border-color:var(--color-border)}html.dark table td,html.dark .table td,html.dark .fs-table td{border-color:var(--color-border);color:var(--color-text)}html.dark .table tbody tr:hover,html.dark .table tbody tr:hover td,html.dark .fs-table tr:hover td{background:var(--color-surface-hover)}html.dark input,html.dark select,html.dark textarea,html.dark .search-input,html.dark .base-select__control{background-color:var(--color-surface-muted);color:var(--color-text);border-color:var(--color-border)}html.dark input::placeholder,html.dark textarea::placeholder{color:var(--color-text-muted)}html.dark .base-select__menu,html.dark .base-select__option{background-color:var(--color-surface);color:var(--color-text)}html.dark .base-select__option:hover,html.dark .base-select__option--active{background-color:var(--color-surface-hover)}html.dark .btn-refresh,html.dark .fs-chip,html.dark .date-chip,html.dark .modal-x,html.dark .period-select{background:var(--color-surface-muted);color:var(--color-text);border-color:var(--color-border)}html.dark .btn-refresh:hover,html.dark .modal-x:hover{background:var(--color-surface-hover)}html.dark .attention-item{background:var(--color-surface-muted);border-color:var(--color-border)}html.dark .attention-item.danger{background:#dc26261f}html.dark .attention-item.warn{background:#d977061f}html.dark .days-tag.ok{background:#6366f12e;color:#c7d2fe}html.dark .days-tag.soon{background:#d977062e;color:#fcd34d}html.dark .days-tag.over{background:#dc26262e;color:#fca5a5}html.dark .fs-chip--btn.is-active{background:#6366f138;border-color:var(--color-primary);color:var(--color-text)}html.dark .eg-btn{background:#6366f12e;border-color:var(--color-primary);color:#c7d2fe}html.dark .eg-btn.is-done{background:#10b9812e;border-color:#10b981;color:#6ee7b7}html.dark .recent-row,html.dark .top-row,html.dark .region-item,html.dark .quick-list>*{border-color:var(--color-border)}html.dark .recent-row:hover,html.dark .region-item:hover,html.dark .top-row:hover{background:var(--color-surface-hover)}html.dark .top-bar{background:var(--color-surface-muted)}html.dark .pay-box--blue{background:#6366f11f}html.dark .pay-box--green{background:#22c55e1f}html.dark .pay-box--violet{background:#8b5cf61f}html.dark .btn-all-schools{background:#6366f129;color:#c7d2fe;border-color:transparent}html.dark .btn-all-schools:hover{background:#6366f142}html.dark .modal-x:hover{background:#dc26262e;color:#fca5a5;border-color:#dc262666}html.dark .fs-chip--btn.is-active b{color:#c7d2fe}html.dark .region-donut-pct{fill:var(--color-text)}html.dark .region-donut circle,html.dark .region-donut path{stroke-opacity:.9}html.dark .status-badge,html.dark .btn-clear-filled,html.dark .action-card{background:var(--color-surface-muted);color:var(--color-text);border-color:var(--color-border)}html.dark .rc-method.is-active{background:#6366f133;border-color:var(--color-primary);color:#c7d2fe}html.dark .rc-copy{background:#6366f12e;border-color:var(--color-primary);color:#c7d2fe}html.dark .rc-card,html.dark .rc-fixed{background:var(--color-surface-muted);border-color:var(--color-border);color:var(--color-text)}html.dark .db-summary,html.dark .ds-item--ok,html.dark .bc-ok,html.dark .bc-stat--ok,html.dark .viewer-yes,html.dark .badge.up,html.dark .mini-badge.up{color:var(--color-success)}html.dark .badge.down,html.dark .mini-badge.down{color:var(--color-danger)}html.dark .badge--closed{background:var(--color-surface-muted);color:var(--color-text-muted)}html.dark .stat-icon,html.dark .tool-icon,html.dark .q-icon,html.dark .pay-ic{filter:brightness(.9)}@media (max-width: 640px){.modal-box{max-width:100%!important;max-height:92dvh;padding:.9rem!important;border-radius:12px}.modal-head h3{font-size:.95rem}.fs-table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch;margin:0 -.9rem!important;padding:0 .9rem!important}.fs-table{min-width:640px!important;font-size:.8rem!important}.fs-table th,.fs-table td{padding:.45rem .5rem!important}.fs-table th:first-child,.fs-table td:first-child{position:sticky!important;left:0!important;z-index:1;max-width:9.5rem;background:var(--color-surface)!important;box-shadow:1px 0 0 var(--color-border)}.fs-table th:first-child{background:var(--color-surface-muted)!important}.fs-summary{gap:.35rem!important}.fs-chip{font-size:.78rem!important;padding:.22rem .5rem!important}}
