@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Arabic:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#081a17;--surface:#102722;--surface2:#15352d;--line:#29483f;--text:#f6f4ea;--muted:#b1c4bb;--gold:#d7b45c;--green:#0b3d32;--danger:#a63d43;--radius:20px;font-family:"IBM Plex Sans Arabic",system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 80% 0,#173d32 0,transparent 48%),var(--bg);color:var(--text);min-height:100vh}button,input{font:inherit}.topbar{height:82px;border-bottom:1px solid #24443a;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,5vw,76px);background:#071713c9;position:sticky;top:0;z-index:5;backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand strong{display:block;font-size:21px}.brand small{display:block;color:var(--muted);font-size:12px}.brand-mark{width:44px;height:44px;border:1px solid #876d38;border-radius:14px;display:grid;place-items:center;color:var(--gold);font-size:27px;background:#17382e}.session-label{color:var(--muted);margin-inline-start:auto;margin-inline-end:16px;font-size:13px}main{max-width:1240px;margin:auto;padding:38px clamp(16px,4vw,48px) 56px}.login-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,7vw,100px);align-items:center;min-height:calc(100vh - 170px)}.intro h1,.welcome h1{font-size:clamp(36px,5vw,58px);line-height:1.35;margin:10px 0 18px;letter-spacing:-1px}.intro h1 span{color:var(--gold)}.intro>p:not(.eyebrow){color:var(--muted);line-height:2;max-width:570px;font-size:17px}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--gold);font-weight:700}.trust-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.trust-row span,.date-chip{border:1px solid var(--line);background:#0f2922;padding:9px 14px;border-radius:99px;font-size:13px;color:#d9e6df}.panel{border:1px solid var(--line);background:linear-gradient(145deg,#112b24f5,#0d211cf5);border-radius:var(--radius);padding:clamp(20px,3vw,32px);box-shadow:0 22px 60px #0002}.login-panel h2,.panel h2{margin:0 0 8px;font-size:22px}.muted{color:var(--muted);line-height:1.8}.login-panel label,.panel label{display:block;font-size:14px;margin:18px 0 8px;color:#dce8e0}.login-panel input,.panel input{width:100%;background:#081a16;border:1px solid #36584c;color:var(--text);padding:13px 14px;border-radius:12px;outline:none}.login-panel input:focus,.panel input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #d7b45c20}.button{border:1px solid transparent;border-radius:12px;padding:12px 18px;cursor:pointer;font-weight:600;transition:transform .15s,opacity .15s}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.4;cursor:not-allowed;transform:none}.button-primary{background:var(--gold);color:#1a251b}.button-secondary{background:#1a3d32;border-color:#3a5e50;color:#f4f3e9}.button-quiet{background:transparent;border-color:var(--line);color:var(--text)}.button-danger{background:#7f292f;color:white}.full{width:100%;margin-top:22px}.message{min-height:22px;font-size:13px;color:var(--gold);line-height:1.7}.message.error{color:#ff9b9b}.hidden{display:none!important}.welcome{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:8px 0 28px}.welcome h1{font-size:36px;margin:2px 0}.welcome .muted{margin:0}.nav-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:8px;border:1px solid var(--line);background:#0b201a;border-radius:16px;margin-bottom:26px}.tab{border:0;background:transparent;color:var(--muted);padding:11px 18px;border-radius:11px;cursor:pointer}.tab.active{background:var(--gold);color:#1a251b;font-weight:700}.tab-panel{animation:fade .2s ease}.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.metric{background:linear-gradient(160deg,#15382e,#102720);border:1px solid var(--line);border-radius:18px;padding:21px;min-height:142px}.metric span{color:var(--muted);font-size:13px}.metric strong{display:block;font-size:29px;color:var(--gold);margin:14px 0 7px;overflow-wrap:anywhere}.metric small{font-size:11px;color:#91aaa0}.section-card,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.section-card{margin-top:18px}.section-card p{margin-bottom:0}.section-heading{margin-bottom:18px}.section-heading h2{margin:0}.section-heading p{margin:4px 0 0}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;min-width:520px}th,td{text-align:right;padding:13px 15px;border-bottom:1px solid #29483f}th{background:#0a1d18;color:var(--gold);font-size:13px}td{color:#e5ece6;font-size:14px}tbody tr:last-child td{border-bottom:0}.warning-panel{margin-top:18px;border-color:#76613a;background:#2b281a}.warning-panel p{line-height:1.9;color:#e4ddc9}.backup-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.icon-box{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#214638;color:var(--gold);font-size:25px;margin-bottom:18px}.backup-preview{margin-top:14px;padding:14px;background:#091c17;border:1px solid var(--line);border-radius:12px;font-size:13px;line-height:1.9;overflow-wrap:anywhere}.small{font-size:12px}.footer{display:flex;justify-content:space-between;gap:16px;margin-top:38px;padding-top:20px;border-top:1px solid var(--line);font-size:12px;color:#8fa89d}.footer span{max-width:70%;text-align:left}@keyframes fade{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}@media(max-width:900px){.login-layout{grid-template-columns:1fr;min-height:auto;padding:25px 0}.intro h1{font-size:42px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric:last-child{grid-column:span 2}.backup-grid{grid-template-columns:1fr}.welcome{align-items:flex-start;flex-direction:column}.section-card,.section-heading{align-items:flex-start;flex-direction:column}.footer{flex-direction:column}.footer span{max-width:none;text-align:right}}@media(max-width:480px){main{padding-top:20px}.topbar{height:70px;padding:0 16px}.metric-grid{gap:9px}.metric{padding:15px;min-height:125px}.metric strong{font-size:23px}.nav-tabs{gap:4px}.tab{padding:10px 12px;font-size:13px}.welcome h1{font-size:30px}}
.subheading{font-size:20px;margin:28px 0 14px}.three{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}.report-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 24px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.settings-list{display:grid;grid-template-columns:minmax(110px,.7fr) 1.3fr;gap:0;margin:20px 0 0}.settings-list dt,.settings-list dd{padding:13px 0;border-bottom:1px solid var(--line);margin:0;overflow-wrap:anywhere}.settings-list dt{color:var(--muted)}.settings-list dd{font-weight:600}.security-list{padding-right:20px;line-height:2.1;color:#d7e4dc}.settings-grid .button{margin-top:18px}@media(max-width:900px){.three{grid-template-columns:1fr 1fr}.settings-grid{grid-template-columns:1fr}}@media(max-width:480px){.three{grid-template-columns:1fr}.report-actions .button{width:100%}}

@media print{body{background:#fff!important;color:#111!important;font-family:Arial,sans-serif}.topbar,.nav-tabs,.button,.eyebrow,.date-chip,.footer,#app-message{display:none!important}main{max-width:none;padding:0!important}.panel,.metric{background:#fff!important;color:#111!important;box-shadow:none!important;border:1px solid #bbb!important;break-inside:avoid}.muted,.metric span,.metric small,.settings-list dt{color:#333!important}.metric strong{color:#111!important}.tab-panel.hidden,.hidden{display:none!important}table{min-width:0!important;width:100%}th,td{color:#111!important;background:#fff!important;border:1px solid #bbb!important;font-size:10pt;padding:6px}.table-wrap{overflow:visible;border:0}.report-actions{display:none!important}}

.remember-login{display:flex!important;align-items:flex-start;gap:10px;margin:18px 0 0!important;cursor:pointer}.login-panel .remember-login input{width:17px;min-width:17px;height:17px;margin:3px 0 0;accent-color:var(--gold);box-shadow:none}.remember-login span{display:grid;gap:3px}.remember-login strong{font-size:14px;color:var(--text)}.remember-login small{font-size:12px;color:var(--muted);font-weight:400;line-height:1.6}\n.offline-banner{margin:0 0 18px;padding:13px 16px;border:1px solid #9b7a34;border-radius:12px;background:#302b1b;color:#f2dfa6;line-height:1.8;font-size:13px}\nbody.offline-mode #create-backup,body.offline-mode #restore-backup,body.offline-mode #restore-confirm{opacity:.55}\n
/* Clear, consistent audit details and compact date presentation. */
.audit-details{min-width:220px;max-width:420px;white-space:normal;overflow-wrap:anywhere;line-height:1.8}.audit-detail{padding:2px 0;border-bottom:1px solid rgba(255,255,255,.07)}.audit-detail:last-child{border-bottom:0}.restore-ack{display:flex;align-items:flex-start;gap:10px;margin:16px 0;line-height:1.8}.restore-ack input{width:auto;min-width:18px;margin-top:5px}

.archive-panel{border:1px solid var(--border-color,rgba(255,255,255,.14));border-radius:14px;padding:14px;margin-top:18px}.archive-panel>summary{cursor:pointer;color:var(--accent,#e3bd59);font-weight:700;padding:6px}.archive-panel[open]>summary{margin-bottom:12px}

#reminder-due{direction:ltr!important;text-align:left!important;unicode-bidi:isolate;font-variant-numeric:tabular-nums;letter-spacing:.03em}#reminder-date-help{display:block;margin-top:6px;font-size:12px}

.student-search-top{margin:0 0 18px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(217,180,83,.10),rgba(12,39,30,.92));}.student-search-top h2{margin:0 0 5px;color:var(--gold)}.student-search-top .reminder-form{margin:14px 0 0;grid-template-columns:repeat(2,minmax(0,1fr))}.student-search-top input[type=search]{min-height:48px;font-size:16px}@media(max-width:560px){.student-search-top .reminder-form{grid-template-columns:1fr}}
