:root{--blue: #1f3fa0;--navy: #14235c;--red: #d62839;--gold: #e0a526;--kente-green: #1f7a3d;--kente-red: #c0392b;--page: #f4f6fb;--card: #ffffff;--tint: #eef2fb;--border-card: #e2e6f0;--border-row: #edf0f7;--border-input: #cbd2e2;--text: #1a2238;--muted: #5a6280;--faint: #8a90a6}.kente-stripe{height:4px;width:100%;flex:0 0 auto;background:linear-gradient(90deg,var(--gold) 0 33.33%,var(--kente-green) 33.33% 66.66%,var(--kente-red) 66.66% 100%);background-size:42px 100%}*{box-sizing:border-box}body{margin:0;max-width:100%;overflow-x:hidden;font-family:IBM Plex Sans,system-ui,sans-serif;color:var(--text);background:var(--page)}a{color:var(--blue);text-decoration:none}a:hover{color:var(--navy)}input,select,button,textarea{font-family:inherit}input:focus,select:focus,textarea:focus{outline:2px solid var(--blue);outline-offset:0}.sc-input::-webkit-inner-spin-button{opacity:.4}.name-input{border:1px solid transparent;background:transparent;transition:border-color .12s,background .12s}.name-input:hover{border-color:var(--border-input)}.name-input:focus{border-color:var(--blue);background:#fff}.nav-link:hover{filter:brightness(1.12)}.quick-action{transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease}.quick-action:hover{border-color:var(--blue)!important;background:var(--tint)!important;transform:translateY(-1px);box-shadow:0 4px 10px #14235c14}.quick-action-arrow{opacity:0;transform:translate(-3px);transition:opacity .12s ease,transform .12s ease}.quick-action:hover .quick-action-arrow{opacity:1;transform:translate(0)}.row-hover:hover{background:#fafbfe}.btn:hover{filter:brightness(.95)}.stat-tile{transition:transform .15s ease,box-shadow .15s ease}.stat-tile:hover{transform:translateY(-2px);box-shadow:0 4px 10px #14235c14,0 14px 28px -6px #14235c24}.print-sheet{display:none}@media print{.app-noprint{display:none!important}.print-sheet{display:block!important}.report-page{page-break-after:always;page-break-inside:avoid;break-inside:avoid;margin:0 auto;max-width:196mm;zoom:.9}.report-page:last-child{page-break-after:auto}body{background:#fff!important}@page{size:A4 portrait;margin:7mm}.report-page .rc-head{padding:12px 24px 10px!important}.report-page .rc-body{padding:12px 24px 14px!important}.report-page .rc-body>*{margin-top:9px!important}.report-page .rc-info{padding:9px 14px!important;gap:7px 16px!important}.report-page .rc-summary{gap:8px!important}.report-page .rc-table th,.report-page .rc-table td{padding-top:5px!important;padding-bottom:5px!important}.report-page .rc-bill>div:last-child{padding:5px 12px!important}}.app-backdrop{display:none}@media (max-width: 960px){.stat-grid{grid-template-columns:1fr 1fr!important}.two-col,.fees-layout,.report-layout,.settings-grid,.staff-form{grid-template-columns:1fr!important}.two-col>*,.fees-layout>*,.report-layout>*,.settings-grid>*{min-width:0}.app-sidebar{position:fixed!important;top:0;left:0;height:100vh!important;height:100dvh!important;width:84vw!important;max-width:260px;transform:translate(-100%);transition:transform .22s ease;z-index:50;box-shadow:0 0 40px #00000059}.app-sidebar.open{transform:translate(0)}.app-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0a122d80;z-index:45}.app-hamburger{display:flex!important}.app-content{padding:18px 16px 40px!important}.app-topbar{padding:0 14px!important}}@media (max-width: 720px){.login-grid{grid-template-columns:1fr!important}.login-grid>div:first-child{display:none}.stat-grid{grid-template-columns:1fr 1fr!important;gap:12px!important}.stat-tile{padding:14px!important}.stat-value{font-size:19px!important}.quick-actions-grid{grid-template-columns:1fr!important}}@media (max-width: 420px){.app-term-badge{font-size:11px!important;padding:6px 10px!important}}@media screen and (max-width: 560px){.rc-info,.rc-summary{grid-template-columns:1fr 1fr!important}.rc-body{padding:18px 16px 22px!important}}.spinner{width:26px;height:26px;border:3px solid var(--tint);border-top-color:var(--blue);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
