﻿:root{--sidebar:#182235;--panel:#fff;--text:#172033;--muted:#64748b;--border:#dbe3ef;--bg:#eef2f7;--shadow:0 14px 35px rgba(15,23,42,.08)}[data-theme=dark]{--sidebar:#0f172a;--panel:#121c2e;--text:#e5edf8;--muted:#96a6bd;--border:#24344c;--bg:#09111f}body{background:var(--bg);color:var(--text)}.page-loader{position:fixed;inset:0;background:var(--bg);display:grid;place-items:center;z-index:1000;transition:.25s}.page-loader.hidden{opacity:0;pointer-events:none}.spinner{width:42px;height:42px;border:4px solid #cbd5e1;border-top-color:#2457c5;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:278px;background:var(--sidebar);color:#fff;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:.8rem;padding:1rem}.brand-mark{width:42px;height:42px;border-radius:8px;background:#f8c146;color:#10203a;display:grid;place-items:center;font-weight:900}.brand span,.sidebar-user span{display:block;color:#b6c2d4;font-size:.82rem}.side-nav{padding:.5rem;overflow:auto}.side-nav a{display:flex;align-items:center;gap:.75rem;color:#dbe7f7;padding:.72rem .85rem;border-radius:.45rem;margin:.12rem 0}.side-nav a.active,.side-nav a:hover{background:#2457c5;color:#fff}.sidebar-user{margin-top:auto;padding:1rem;border-top:1px solid rgba(255,255,255,.1)}.app-main{margin-left:278px;min-width:0;flex:1}.topbar{height:78px;display:flex;align-items:center;gap:1rem;padding:0 1.3rem;background:var(--panel);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.page-title{font-size:1.35rem;margin:.1rem 0 0}.topbar-actions{margin-left:auto;display:flex;gap:.5rem;align-items:center}.icon-btn{width:42px;height:42px;justify-content:center}.content-wrap{padding:1.25rem}.panel,.login-card,.mini-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);padding:1.15rem}.panel h2{font-size:1.05rem;margin:.1rem 0 1rem}.stats-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.stat-card{position:relative;min-height:118px;color:#fff;border-radius:8px;padding:1rem;overflow:hidden}.stat-card i{position:absolute;right:1rem;top:1rem;font-size:2rem;opacity:.35}.stat-card span{display:block;opacity:.9}.stat-card strong{display:block;font-size:2rem;margin-top:1.2rem}.chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1rem}.searchbar{display:flex;gap:.5rem;max-width:560px;width:100%}.action-cell{white-space:nowrap}.inline-delete{display:inline}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.detail-grid div{border:1px solid var(--border);border-radius:8px;padding:.85rem;background:rgba(148,163,184,.06)}.detail-grid span{display:block;color:var(--muted);font-size:.82rem}.detail-grid strong{display:block;margin-top:.25rem}.form-actions{display:flex;justify-content:flex-end;gap:.65rem;border-top:1px solid var(--border);padding-top:1rem}.form-narrow{max-width:560px}.login-screen{min-height:100vh;display:grid;place-items:center;padding:1rem;background:linear-gradient(135deg,#f4f7fb,#dfe8f7)}.login-card{width:min(440px,100%)}.brand-login{padding:0 0 1rem}.toastish{animation:fade 4s forwards}@keyframes fade{0%,80%{opacity:1}100%{opacity:.15}}.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.report-card i{font-size:1.8rem;color:#2457c5}.table-panel{padding:0;overflow:hidden}.data-table input{min-width:160px}@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(3,1fr)}.chart-grid,.report-grid{grid-template-columns:1fr}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.app-main{margin-left:0}.topbar{height:auto;align-items:flex-start;flex-wrap:wrap;padding:1rem}.topbar-actions{width:100%;margin-left:0;flex-wrap:wrap}.stats-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.toolbar{align-items:stretch;flex-direction:column}.searchbar{max-width:none}.content-wrap{padding:.8rem}}
