:root{color-scheme:light;--primary: #3366ff;--primary-hover: #274bdb;--info: #0095ff;--success: #00d68f;--warning: #ffaa00;--danger: #ff3d71;--layout-bg: #edf1f7;--surface: #ffffff;--surface-soft: #f7f9fc;--text-primary: #222b45;--text-secondary: #5e6c84;--text-hint: #8f9bb3;--menu-text: #4f5b74;--border-color: #e4e9f2;--radius-md: .75rem;--radius-lg: 1rem;--shadow-card: 0 .5rem 1.5rem rgba(32, 40, 60, .08);--shadow-pop: 0 1rem 2.5rem rgba(32, 40, 60, .12);--sidebar-shadow: 0 .5rem 1.5rem rgba(44, 51, 73, .08);--header-shadow: 0 .35rem 1rem rgba(44, 51, 73, .04)}@font-face{font-family:Bukra;src:url(/assets/fonts/29lt-bukra-regular.ttf) format("truetype");font-weight:300 500;font-style:normal;font-display:swap}@font-face{font-family:Bukra;src:url(/assets/fonts/Bukra-Bold.woff2) format("woff2");font-weight:600 800;font-style:normal;font-display:swap}body.dark-theme{color-scheme:dark;--primary: #5b7cfa;--primary-hover: #7c96ff;--info: #38bdf8;--success: #34d399;--warning: #fbbf24;--danger: #fb7185;--layout-bg: #101827;--surface: #172033;--surface-soft: #202a3f;--text-primary: #e5edf9;--text-secondary: #a9b7cc;--text-hint: #73839b;--menu-text: #b9c6d8;--border-color: #2b3850;--shadow-card: 0 .5rem 1.5rem rgba(0, 0, 0, .22);--shadow-pop: 0 1rem 2.5rem rgba(0, 0, 0, .32);--sidebar-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .22);--header-shadow: none}*{box-sizing:border-box}html,body{min-height:100%;margin:0;color:var(--text-primary);background:var(--layout-bg);font-family:Bukra,Inter,Roboto,Helvetica Neue,Arial,sans-serif;font-weight:300}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}strong,b{font-weight:300}.page-stack{display:grid;gap:1.5rem}.page-titlebar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.page-titlebar h1{margin:0;color:var(--text-primary);font-size:clamp(1.55rem,2.5vw,1.9rem);font-weight:300;letter-spacing:-.03em}.page-titlebar p{margin:.25rem 0 0;color:var(--text-secondary);font-size:.88rem;font-weight:300}.card,.module-card,.kpi-card,.filter-card,.table-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card)}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.kpi-card,.module-card{position:relative;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.kpi-card:hover,.module-card:hover{transform:translateY(-2px);border-color:#3366ff38;box-shadow:var(--shadow-pop)}.kpi-card{min-height:7rem;padding:1rem}.kpi-inner{position:relative;display:flex;justify-content:space-between;gap:1rem}.kpi-label{color:var(--text-secondary);font-size:.84rem;font-weight:300}.kpi-value{display:block;margin-top:.2rem;color:var(--text-primary);font-size:1.55rem;font-weight:300;letter-spacing:-.04em}.module-card{min-height:6.75rem;padding:1.25rem}.module-content{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.9rem}.module-title,.module-desc{display:block;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.module-title{color:var(--text-primary);font-weight:300}.module-desc{margin-top:.25rem;color:var(--text-secondary);font-size:.9rem;font-weight:300}.arrow{color:var(--text-hint);font-weight:300}.orb{position:absolute;top:-6rem;right:-6rem;width:14rem;height:14rem;border-radius:999px;opacity:.1}.grad-sky{background:linear-gradient(135deg,#0095ff,#36f)}.grad-emerald{background:linear-gradient(135deg,#00d68f,#00b887)}.grad-amber{background:linear-gradient(135deg,#fa0,#ff7a00)}.grad-violet{background:linear-gradient(135deg,#7c3aed,#36f)}.grad-cyan{background:linear-gradient(135deg,#00b8ff,#36f)}.grad-red{background:linear-gradient(135deg,#ff3d71,#db2c66)}.icon-box{width:2.75rem;height:2.75rem;border-radius:.875rem;display:grid;place-items:center;color:#fff;font-weight:300;box-shadow:0 .75rem 1.5rem #3366ff2e}.filter-card{padding:1rem}.filter-grid{display:grid;grid-template-columns:2fr 1fr 1.2fr .8fr auto;gap:1rem;align-items:end}label{display:grid;gap:.4rem;color:var(--text-secondary);font-size:.78rem;font-weight:300}.input{width:100%;height:2.65rem;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:0 .85rem;color:var(--text-primary);outline:none;background:var(--surface-soft);font-weight:300;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.input:focus{border-color:#3366ff73;background:var(--surface);box-shadow:0 0 0 .25rem #3366ff1a}.btn-primary,.btn-outline{min-height:2.65rem;border-radius:var(--radius-md);border:1px solid transparent;padding:.55rem 1rem;font-weight:300;transition:.16s ease}.btn-primary{color:#fff;background:var(--primary);box-shadow:0 .65rem 1.25rem #36f3}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:disabled{opacity:.55;cursor:wait}.btn-outline{color:var(--text-secondary);background:var(--surface);border-color:var(--border-color)}.btn-outline:hover{color:var(--primary);border-color:#3366ff47;background:var(--surface-soft)}.chip{display:inline-flex;align-items:center;border:1px solid var(--border-color);border-radius:999px;padding:.25rem .7rem;color:var(--text-secondary);background:var(--surface);font-size:.76rem;font-weight:300}.chip.active,.chip.high{color:#fff;border-color:var(--primary);background:var(--primary)}.table-card{overflow:hidden}.table-scroll{overflow-x:auto}.data-table{width:100%;min-width:980px;border-collapse:collapse;font-size:.9rem}.data-table thead{border-bottom:1px solid var(--border-color);background:var(--surface-soft)}.data-table th,.data-table td{padding:.85rem;text-align:left;border-bottom:1px solid var(--border-color);vertical-align:top}.data-table th{color:var(--text-hint);font-size:.72rem;font-weight:300;letter-spacing:.09em;text-transform:uppercase}.data-table tbody tr:hover{background:var(--surface-soft)}.table-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:.85rem;border-bottom:1px solid var(--border-color)}.tabular{font-variant-numeric:tabular-nums}@media(max-width:1180px){.kpi-grid,.module-grid,.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.page-titlebar{align-items:stretch;flex-direction:column}.kpi-grid,.module-grid,.filter-grid{grid-template-columns:1fr}}body.dark-theme .card,body.dark-theme .module-card,body.dark-theme .control-module,body.dark-theme .kpi-card,body.dark-theme .filter-card,body.dark-theme .table-card,body.dark-theme .device-card,body.dark-theme .empty-card,body.dark-theme .mobile-session-card,body.dark-theme .tracking-card,body.dark-theme .info-card,body.dark-theme .stats-card{color:var(--text-primary)!important;background:var(--surface)!important;border-color:var(--border-color)!important;box-shadow:var(--shadow-card)!important}body.dark-theme .module-card:hover,body.dark-theme .kpi-card:hover,body.dark-theme .card:hover{border-color:#7c96ff5c!important;box-shadow:var(--shadow-pop)!important}body.dark-theme .input,body.dark-theme input,body.dark-theme select,body.dark-theme textarea,body.dark-theme .suggestions,body.dark-theme .suggestions button,body.dark-theme .search,body.dark-theme .primary-metrics div,body.dark-theme .webgl-box,body.dark-theme .table-card-head,body.dark-theme .table-actions,body.dark-theme .modal-card,body.dark-theme .payer-line,body.dark-theme .modal-row,body.dark-theme .student-autocomplete,body.dark-theme .course-autocomplete{color:var(--text-primary)!important;background:var(--surface-soft)!important;border-color:var(--border-color)!important}body.dark-theme .suggestions button:hover,body.dark-theme .btn-outline:hover,body.dark-theme .btn-soft:hover{color:var(--primary)!important;background:#24304a!important;border-color:#7c96ff61!important}body.dark-theme .btn-outline,body.dark-theme .btn-soft,body.dark-theme .chip,body.dark-theme .metric-pill,body.dark-theme .status-pill,body.dark-theme .money-pill,body.dark-theme .events-pill,body.dark-theme .session-id{color:var(--text-secondary)!important;background:var(--surface-soft)!important;border-color:var(--border-color)!important}body.dark-theme .btn-primary,body.dark-theme .chip.active,body.dark-theme .chip.high{color:#fff!important;background:var(--primary)!important;border-color:var(--primary)!important}body.dark-theme .data-table,body.dark-theme .data-table th,body.dark-theme .data-table td{color:var(--text-primary)!important;border-color:var(--border-color)!important}body.dark-theme .data-table thead,body.dark-theme .data-table tbody tr:hover{background:var(--surface-soft)!important}body.dark-theme .data-table th,body.dark-theme .kpi-label,body.dark-theme .module-desc,body.dark-theme .page-titlebar p,body.dark-theme small,body.dark-theme dt,body.dark-theme .muted,body.dark-theme .muted-id{color:var(--text-secondary)!important}body.dark-theme .kpi-value,body.dark-theme .module-title,body.dark-theme h1,body.dark-theme h2,body.dark-theme h3,body.dark-theme strong,body.dark-theme dd{color:var(--text-primary)!important}body.dark-theme .ip-change,body.dark-theme .message.error{color:#fecdd3!important;background:#fb718524!important;border-color:#fb718547!important}body.dark-theme .tracking-card-head,body.dark-theme .tracking-card-body,body.dark-theme .case-note,body.dark-theme .payers-table,body.dark-theme .payer-row,body.dark-theme .tracking-modal,body.dark-theme .tracking-modal header,body.dark-theme .tracking-modal footer,body.dark-theme .modal-content,body.dark-theme .payers-editor,body.dark-theme .payers-editor-head,body.dark-theme .payer-edit-row{color:var(--text-primary)!important;background:var(--surface)!important;border-color:var(--border-color)!important}body.dark-theme .tracking-card-head,body.dark-theme .payer-head,body.dark-theme .payers-editor-head,body.dark-theme .case-note{background:var(--surface-soft)!important}body.dark-theme .case-note span,body.dark-theme .case-note p,body.dark-theme .student-block p,body.dark-theme .payer-row small,body.dark-theme .tracking-modal p,body.dark-theme .suggestions small{color:var(--text-secondary)!important}body.dark-theme .mini-action,body.dark-theme .remove-line,body.dark-theme .icon-close{color:var(--primary)!important;background:var(--surface-soft)!important;border-color:var(--border-color)!important}body.dark-theme .remove-line{color:#fda4af!important}body.dark-theme .status-paid,body.dark-theme .money-pill.paid{color:#bfdbfe!important;background:#3b82f62e!important;border-color:#93c5fd47!important}body.dark-theme .status-observation{color:#fed7aa!important;background:#f9731629!important;border-color:#fdba7447!important}body.dark-theme .status-false{color:#bbf7d0!important;background:#22c55e26!important;border-color:#86efac42!important}body.dark-theme .status-expulsion{color:#fecdd3!important;background:#f43f5e29!important;border-color:#fda4af47!important}body.dark-theme .status-progress,body.dark-theme .status-default,body.dark-theme .money-pill.pending{color:var(--text-secondary)!important;background:#94a3b81f!important;border-color:#94a3b838!important}
