:root{font-family:Avenir Next,Segoe UI,sans-serif;color:#112240;background:radial-gradient(circle at top left,rgba(245,158,11,.18),transparent 22%),radial-gradient(circle at 78% 12%,rgba(59,130,246,.12),transparent 28%),linear-gradient(180deg,#f6f1e9,#e7edf5)}*{box-sizing:border-box}html,body{margin:0;min-width:320px;min-height:100%}button,input,select{font:inherit}button{border:0;border-radius:.75rem;padding:.85rem 1rem;background:linear-gradient(135deg,#112240,#1e3a5f);color:#fff;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}button:hover{opacity:.96;transform:translateY(-1px);box-shadow:0 14px 30px #11224029}input,select{width:100%;margin-top:.4rem;border:1px solid #cbd5e1;border-radius:.75rem;padding:.85rem .9rem;background:#fff}small{color:#b91c1c}.app-frame{min-height:100vh;display:grid;grid-template-columns:300px 1fr}.sidebar{padding:1.5rem 1.25rem;background:radial-gradient(circle at top,rgba(245,158,11,.14),transparent 18%),linear-gradient(180deg,#10203d,#0b1426);color:#edf3ff;display:grid;align-content:start;gap:1.5rem;position:sticky;top:0;height:100vh;overflow-y:auto;scrollbar-gutter:stable}.brand-block h1,.topbar h2,.login-hero h1,.hero-card h1,.card h2{margin:0}.brand-block .muted,.sidebar .eyebrow{color:#9fb0cd}.brand-row{display:flex;align-items:center;gap:1rem}.brand-mark{display:inline-flex;align-items:center;justify-content:center;border-radius:1.1rem;background:#ffffff14;box-shadow:inset 0 0 0 1px #ffffff14}.brand-mark-small{width:56px;height:56px;padding:.35rem}.brand-mark-large{width:96px;height:96px;padding:.55rem;background:#ffffff1a}.brand-mark svg{width:100%;height:100%}.profile-chip{display:grid;gap:.2rem;padding:1rem;border-radius:1rem;background:#9fb0cd1f;border:1px solid rgba(159,176,205,.18)}.profile-chip span,.profile-chip small{color:#cfdbf3}.nav-list{display:grid;gap:1rem}.nav-section{display:grid;gap:.45rem}.nav-group-label{margin:0 0 .15rem;padding:0 .4rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8fa3c5}.subnav-list{display:flex;gap:.75rem;flex-wrap:wrap}.nav-link{color:inherit;text-decoration:none;padding:.8rem .9rem;border-radius:1rem;background:#9fb0cd1a;border:1px solid transparent;transition:background .18s ease,transform .18s ease,border-color .18s ease}.nav-link:hover{transform:translate(2px);background:#9fb0cd29}.nav-link-active{background:#f59e0b24;border-color:#f59e0b3d;color:#fff4d0}.subnav-link{color:#112240;text-decoration:none;padding:.75rem 1rem;border-radius:999px;background:#ffffffb8;border:1px solid rgba(203,213,225,.8);transition:background .18s ease,transform .18s ease,border-color .18s ease}.subnav-link:hover{transform:translateY(-1px);border-color:#1122402e}.subnav-link-active{background:#11224014;border-color:#11224038;box-shadow:inset 0 0 0 1px #11224014}.secondary-button{background:#9fb0cd1f;color:#edf3ff}.sidebar-footer{margin-top:auto;display:grid;gap:1rem}.sidebar-note{font-size:.92rem;color:#aebcd8}.content-pane{padding:1.75rem 2rem}.topbar{margin-bottom:1.25rem}.page-shell{display:grid;gap:1.25rem}.login-layout{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(380px,460px);gap:1.75rem;padding:1.75rem}.login-layout-simple{grid-template-columns:minmax(320px,440px);place-content:center;justify-content:center}.card{border-radius:1.25rem;padding:1.5rem;background:#ffffffeb;box-shadow:0 22px 70px #11224014;border:1px solid rgba(207,219,243,.78)}.auth-card{align-self:center}.auth-card-compact{width:min(100%,440px)}.login-hero,.hero-card{border-radius:1.8rem;background:linear-gradient(145deg,#fffffff5,#f8fafcdb),#fff;box-shadow:0 24px 80px #11224014;border:1px solid rgba(207,219,243,.72)}.login-hero{padding:2rem}.hero-card{padding:1rem 1.25rem;border-radius:1.35rem}.credentials-panel{margin-top:1.5rem;display:grid;gap:.75rem}.credential-card{display:grid;gap:.3rem;padding:.9rem 1rem;border-radius:1rem;background:#f6f8fcf5;border:1px solid rgba(203,213,225,.8)}.credential-card-button{width:100%;text-align:left;color:#112240;cursor:pointer}.credential-card-button small{color:#6b7b93}.login-hero{display:grid;align-content:center;gap:1.5rem;background:radial-gradient(circle at 18% 20%,rgba(245,158,11,.16),transparent 18%),radial-gradient(circle at 78% 15%,rgba(59,130,246,.12),transparent 20%),linear-gradient(145deg,#fffffff5,#f4f7fce0)}.login-brand{display:flex;align-items:center;gap:1rem}.login-brand-simple{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.hero-copy-block{display:grid;gap:.75rem}.hero-copy{max-width:60ch;font-size:1.02rem;line-height:1.7}.hero-grid,.metric-grid,.module-grid,.context-grid{display:grid;gap:1rem}.hero-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.login-showcase{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.showcase-card{display:grid;gap:.45rem;padding:1.1rem 1.2rem;border-radius:1.25rem;background:#ffffffc7;border:1px solid rgba(203,213,225,.8)}.showcase-card-accent{background:linear-gradient(145deg,#112240f5,#1e3a5ff5);color:#eef4ff}.showcase-card-accent .showcase-label,.showcase-card-accent p{color:#dbe7fb}.showcase-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#6b7b93}.hero-stat,.module-link,.metric-card{border-radius:1rem;padding:1rem;background:#f8fafceb;border:1px solid rgba(203,213,225,.8)}.hero-stat,.module-link{display:grid;gap:.35rem}.module-link{color:inherit;text-decoration:none;box-shadow:inset 0 0 0 1px transparent;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.module-link:hover{transform:translateY(-2px);border-color:#11224029;box-shadow:0 18px 36px #11224014}.dashboard-shell{max-width:1260px}.status-pill{display:inline-flex;align-items:center;gap:.7rem;width:fit-content;padding:.8rem 1rem;border-radius:999px;background:#1122400f}.status-dot{width:.8rem;height:.8rem;border-radius:999px;background:#f59e0b}.status-up{background:#16a34a}.metric-grid,.module-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.25rem}.context-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.eyebrow{margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:#475569}.muted{color:#56657d}.form-grid{margin-top:1rem;display:grid;gap:1rem}label{display:grid}label span{font-weight:600}.section-heading{margin-bottom:1rem}.subheading{margin:0;font-size:1.05rem}.stack-list{display:grid;gap:.85rem}.list-tile,.list-card{width:100%;text-align:left;border-radius:1rem;padding:1rem;border:1px solid rgba(203,213,225,.8);background:#f8fafce6}.list-tile{color:#0f172a;display:grid;gap:.35rem}.list-tile-active{border-color:#112240;box-shadow:inset 0 0 0 1px #11224029}.list-card{display:grid;gap:.45rem}.list-card-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.badge{display:inline-flex;align-items:center;padding:.3rem .65rem;border-radius:999px;background:#16a34a1f;color:#166534;font-size:.85rem;font-weight:700}.split-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.fee-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.attendance-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.attendance-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border-radius:1rem;border:1px solid rgba(203,213,225,.8);background:#f8fafce0}.attendance-meta{display:grid;gap:.25rem}.attendance-actions{display:flex;gap:.5rem}.attendance-chip{background:#0f172a14;color:#0f172a}.attendance-chip-active{background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff}.checkbox-row{display:flex;align-items:center;gap:.75rem}.checkbox-row input{width:auto;margin-top:0}.hero-split{display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.hero-stack{display:grid;gap:.25rem;max-width:58ch}.hero-utility{display:grid;gap:1rem;align-content:start}.hero-utility-compact{grid-template-columns:repeat(2,max-content);align-items:center;gap:.75rem}.hero-title-compact{margin:0;font-size:1.15rem;font-weight:700;color:#112240}.hero-description-compact{margin:0;font-size:.95rem;line-height:1.45}.status-pill-compact{padding:.65rem .85rem}.context-badge{display:grid;gap:.2rem;padding:1rem 1.1rem;border-radius:1.1rem;background:#ffffffc7;border:1px solid rgba(203,213,225,.78);min-width:260px}.context-badge-compact{min-width:0;padding:.65rem .85rem;gap:.15rem}.context-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.context-card{align-content:start}.report-card{display:grid;gap:1.25rem}.report-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.report-actions{display:flex;align-items:flex-end;gap:.85rem;flex-wrap:wrap}.report-action-button{white-space:nowrap}.report-date-field{min-width:180px}.report-date-field input{margin-top:.35rem}.report-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.report-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.25rem}.report-panel{display:grid;gap:1rem}.report-table-shell{overflow-x:auto;border-radius:1rem;border:1px solid rgba(203,213,225,.8);background:#f8fafce0}.report-table{width:100%;border-collapse:collapse;min-width:560px}.report-table th,.report-table td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid rgba(203,213,225,.72)}.report-table th{font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:#475569;background:#f1f5f9e0}.report-table tbody tr:last-child td{border-bottom:0}.report-error{margin:0;color:#b91c1c}.auth-header{display:grid;gap:.4rem}.auth-footer-note{margin-top:1rem;text-align:center}@media(max-width:960px){.app-frame,.login-layout,.hero-grid,.metric-grid,.module-grid,.login-showcase,.context-grid,.workspace-grid,.split-grid,.fee-summary-grid,.report-summary-grid,.report-grid{grid-template-columns:1fr}.sidebar{gap:1rem;position:static;height:auto}.content-pane{padding:1rem}.hero-split,.hero-utility-compact,.report-card-header,.attendance-row,.attendance-toolbar,.attendance-actions{flex-direction:column;align-items:stretch}.hero-utility-compact{grid-template-columns:1fr}}
