:root{--color-bg: #07111f;--color-bg-muted: #0d1b2d;--color-surface: #f8fbff;--color-surface-strong: #eef4fb;--color-surface-dark: rgba(8, 17, 31, .82);--color-text: #132238;--color-text-muted: #5f7289;--color-border: rgba(125, 151, 179, .24);--color-primary: #133c72;--color-primary-strong: #0b2a52;--color-accent: #f2b94b;--color-danger: #c2410c;--color-success: #1d7a52;--space-1: .35rem;--space-2: .65rem;--space-3: .95rem;--space-4: 1.3rem;--radius-sm: 12px;--radius-md: 24px;--shadow-soft: 0 24px 60px rgba(3, 11, 22, .16);font-family:Plus Jakarta Sans,Segoe UI,sans-serif;color:var(--color-text);background:radial-gradient(circle at top left,rgba(69,122,255,.18),transparent 32%),radial-gradient(circle at top right,rgba(242,185,75,.14),transparent 30%),linear-gradient(180deg,#07111f,#0c1830 26%,#eef4fb 26%,#f8fbff)}:root[data-contrast=high]{--color-bg: #ffffff;--color-bg-muted: #ffffff;--color-surface: #ffffff;--color-surface-strong: #f3f4f6;--color-surface-dark: #ffffff;--color-text: #000000;--color-text-muted: #111827;--color-border: #111827;--color-primary: #0037ff;--color-accent: #8a0f00;--color-danger: #8b0000;--color-success: #14532d}*{box-sizing:border-box}body{margin:0;background:transparent;min-height:100vh}body.dialog-open{overflow:hidden}.app-shell{min-height:100vh;display:block}.app-sidebar-backdrop{display:none}.app-utilitybar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 28px;background:#07111f;color:#ecf3fcd1;font-size:.9rem}.app-utilitybar__meta,.app-utilitybar__actions{display:flex;gap:1.1rem;align-items:center;flex-wrap:wrap}.app-utilitybar__actions a{color:#fff;text-decoration:none;font-weight:700}.app-sidebar__eyebrow,.app-topbar__eyebrow,.admin-dashboard-eyebrow{margin:0 0 .55rem;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent);font-weight:700}.app-sidebar__summary{margin:.85rem 0 0;color:#e2ebf8c7;line-height:1.6}.app-headerbar{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:auto 1fr auto;gap:1.2rem;align-items:center;padding:1rem 28px;background:#fffffff7;border-bottom:1px solid rgba(125,151,179,.16);box-shadow:0 16px 40px #06101e14;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-headerbar__brand,.app-headerbar__actions{display:flex;gap:1rem;align-items:center}.app-brandmark{display:block;color:inherit;text-decoration:none}.app-brandmark h2{margin:0;font-size:2rem;line-height:1}.app-meganav{display:flex;justify-content:center;gap:.35rem;align-items:center;flex-wrap:wrap}.app-meganav__item{position:relative;padding-bottom:.9rem;margin-bottom:-.9rem}.app-meganav__toggle{border:0;background:transparent;color:var(--color-text);font-weight:700;min-height:46px;padding-inline:.95rem}.app-meganav__toggle:hover,.app-meganav__item.is-expanded .app-meganav__toggle{color:var(--color-primary)}.app-meganav__dropdown{position:absolute;top:calc(100% + .18rem);left:0;min-width:280px;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease}.app-meganav__item.is-expanded .app-meganav__dropdown,.app-meganav__item:hover .app-meganav__dropdown{opacity:1;pointer-events:auto;transform:translateY(0)}.app-meganav__dropdown-inner{padding:1rem;border-radius:20px;border:1px solid rgba(125,151,179,.18);background:#fffffffa;box-shadow:0 24px 60px #06101e1f}.app-meganav__dropdown-title{margin:0 0 .75rem;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted);font-weight:800}.app-meganav__links{display:grid;gap:.45rem}.app-meganav__link{display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:.8rem .95rem;border-radius:14px;color:var(--color-text);text-decoration:none;font-weight:600}.app-meganav__link:hover,.app-meganav__link.is-active{background:linear-gradient(180deg,#f2f7ff,#ebf2fc);color:var(--color-primary)}.app-mobile-nav{display:none}.app-mobile-nav__panel{display:grid;gap:1rem;padding:1rem;height:100%;background:linear-gradient(180deg,#142948fa,#07111ffa);color:#f5f8fc}.app-mobile-nav__header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.app-sidebar__status,.app-sidebar__footer{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.app-role-pill{display:inline-flex;align-items:center;gap:.4rem;min-height:40px;padding:.55rem .95rem;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ffffff14;color:inherit;font-size:.88rem;font-weight:700}.app-role-pill--soft{background:#ffffff0a;color:#e6eef8c7}.app-sidebar__nav{display:grid;gap:.85rem;overflow:auto;padding-right:.25rem}.app-sidebar__group{border:1px solid rgba(255,255,255,.08);border-radius:18px;background:#ffffff08}.app-sidebar__group-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.95rem 1rem;background:transparent;border:0;color:#f8fbff;font-weight:700}.app-sidebar__group-links{display:grid;gap:.4rem;padding:0 .8rem .9rem}.app-sidebar__link{display:flex;justify-content:space-between;align-items:center;gap:.8rem;min-height:44px;padding:.8rem .95rem;border-radius:14px;color:#e6eef8d1;text-decoration:none;font-weight:600;transition:transform .18s ease,background .18s ease,color .18s ease}.app-sidebar__link:hover,.app-sidebar__link.is-active{background:linear-gradient(135deg,#f2b94b2e,#5689ff2e);color:#fff;transform:translate(2px)}.app-sidebar__logout,.app-topbar__quicklink,.admin-dashboard-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.8rem 1rem;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ffffff14;color:inherit;text-decoration:none;font-weight:700}.app-frame{display:grid;grid-template-rows:auto 1fr;min-width:0}.app-topbar__menu{min-width:92px;background:var(--color-primary-strong);color:#fff;border-color:#ffffff1a}.app-topbar__menu--mobile-only{display:none}.nav-badge{margin-inline-start:.35rem;padding:.18rem .48rem;border-radius:999px;background:var(--color-accent);color:#08111f;font-size:.74rem;font-weight:800}.app-main{padding:28px}.app-main>*{padding:28px;border:1px solid var(--color-border);border-radius:30px;background:linear-gradient(180deg,#fffffff5,#f6fafff5),var(--color-surface);box-shadow:var(--shadow-soft)}.stack{display:grid;gap:8px;max-width:420px;margin-bottom:16px}input,select,textarea,button{padding:.8rem .9rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:#fffffff5;color:var(--color-text);font:inherit}button{cursor:pointer;font-weight:700}button:hover{border-color:var(--color-primary)}.crud-table{width:100%;border-collapse:collapse;margin-top:12px;display:block;overflow-x:auto;white-space:nowrap}.crud-table th,.crud-table td{border:1px solid var(--color-border);padding:.85rem .9rem;text-align:left;background:#ffffffeb}.crud-table .actions{display:flex;gap:6px;flex-wrap:wrap}.toolbar{display:flex;gap:8px;align-items:center;margin:10px 0 12px;flex-wrap:wrap}.pager{display:flex;gap:10px;align-items:center;margin-top:12px}.preview-box{margin:8px 0 12px;padding:10px;border:1px solid #bfd8d2;background:#edf7f6;color:#155e75;border-radius:6px}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:grid;place-items:center;padding:20px;z-index:1000}.dialog-panel{width:min(900px,100%);max-height:88vh;overflow:auto;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-soft);padding:16px}.dialog-panel__header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.dialog-panel__body{display:grid;gap:12px}.toast{padding:10px 12px;margin:10px 0;border-radius:6px;font-weight:600}.toast-success{background:#dcfce7;color:var(--color-success)}.toast-error{background:#fee2e2;color:#991b1b}.option-box{border:1px solid var(--color-border);background:var(--color-surface);padding:10px;border-radius:6px;display:grid;gap:8px}.option-row{display:grid;grid-template-columns:80px 1fr auto auto;gap:8px;align-items:center}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:12px 0}.dashboard-card{padding:1rem 1.1rem;border-radius:20px;border:1px solid rgba(125,151,179,.2);background:linear-gradient(180deg,#fff,#f3f8ff);color:var(--color-text);font-weight:600;box-shadow:var(--shadow-soft)}.section-block{margin:16px 0 20px;padding:14px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:#ffffffe0;box-shadow:var(--shadow-soft)}.catalog-list,.stat-list{list-style:none;padding:0;margin:12px 0;display:grid;gap:12px}.catalog-card{padding:14px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:#fffffff0;box-shadow:var(--shadow-soft)}.inline-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}.mobile-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end;margin:12px 0 16px}.metric-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:12px 0}.metric-strip__item{padding:12px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:#ffffffeb}.admin-dashboard-page,.admin-dashboard-content,.portal-home,.catalog-page,.auth-page,.student-dashboard-page{display:grid;gap:1.5rem}.page-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:1.3rem;padding:1.5rem;border-radius:28px;background:radial-gradient(circle at top left,rgba(242,185,75,.18),transparent 36%),linear-gradient(135deg,#0b1e39,#15355f 54%,#1e5587);color:#f8fbff}.page-hero--home{min-height:360px;align-items:center}.page-hero__copy h1,.page-hero__copy h2{margin:0;font-size:clamp(2.1rem,3.8vw,3.8rem);line-height:1.04}.page-hero__copy p{margin:1rem 0 0;color:#ecf3fcd6;line-height:1.75;max-width:60ch}.page-hero__eyebrow,.section-heading__eyebrow{margin:0 0 .65rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;color:var(--color-accent);font-weight:800}.page-hero__actions{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:1.4rem}.page-hero__actions a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.9rem 1.2rem;border-radius:999px;background:#fff;color:#10243e;text-decoration:none;font-weight:800}.page-hero__feature{display:grid;align-items:stretch}.feature-callout{display:grid;gap:.8rem;padding:1.2rem;border-radius:22px;background:#ffffff1a;border:1px solid rgba(255,255,255,.14)}.feature-callout__label{display:inline-flex;width:fit-content;padding:.35rem .7rem;border-radius:999px;background:#f2b94b29;color:var(--color-accent);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800}.feature-callout h3{margin:0;font-size:1.5rem}.feature-callout p{margin:0;color:#ecf3fccc;line-height:1.7}.feature-list{margin:0;padding-left:1rem;color:#ecf3fcd6}.section-heading{margin-bottom:1rem}.section-heading h2{margin:0;font-size:1.8rem}.surface-grid{display:grid;gap:1.25rem}.surface-grid--home{grid-template-columns:repeat(2,minmax(0,1fr))}.surface-panel{padding:1.3rem;border-radius:24px;border:1px solid var(--color-border);background:linear-gradient(180deg,#fffffffa,#f4f8fff5);box-shadow:var(--shadow-soft)}.stats-ribbon{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.stats-ribbon__card{display:grid;gap:.45rem;padding:1rem 1.1rem;border-radius:20px;border:1px solid rgba(125,151,179,.16);background:linear-gradient(180deg,#fff,#f4f8ff);box-shadow:var(--shadow-soft)}.stats-ribbon__card span{color:var(--color-text-muted);font-weight:600}.stats-ribbon__card strong{font-size:1.45rem}.catalog-grid,.pillar-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.catalog-card--rich,.catalog-showcase,.pillar-card{display:grid;gap:.85rem;padding:1.2rem;border-radius:22px;border:1px solid rgba(125,151,179,.18);background:linear-gradient(180deg,#fffffffa,#f4f8fff0)}.catalog-card__header,.catalog-card__footer{display:flex;justify-content:space-between;align-items:center;gap:.8rem;flex-wrap:wrap}.catalog-card h3,.catalog-showcase h3,.pillar-card h3{margin:0;font-size:1.35rem}.catalog-card p,.catalog-showcase p,.pillar-card p{margin:0;line-height:1.7;color:var(--color-text-muted)}.catalog-showcase__tag,.catalog-chip{display:inline-flex;width:fit-content;padding:.35rem .7rem;border-radius:999px;background:#133c7214;color:var(--color-primary);font-size:.82rem;font-weight:800}.catalog-chip--soft{background:#f2b94b1f;color:#8f6505}.catalog-showcase__meta{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.catalog-showcase__meta a{color:var(--color-primary);text-decoration:none;font-weight:800}.auth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.admin-dashboard-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.95fr);gap:1.25rem;padding:1.5rem;border-radius:28px;background:radial-gradient(circle at top left,rgba(242,185,75,.22),transparent 34%),linear-gradient(135deg,#0d2240,#173867 58%,#204b7f);color:#f8fbff}.admin-dashboard-hero h2{margin:0;font-size:clamp(2rem,3vw,3rem)}.admin-dashboard-hero p{margin:.85rem 0 0;max-width:54ch;color:#edf3fcd1;line-height:1.7}.admin-dashboard-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.3rem}.admin-dashboard-hero__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.admin-dashboard-hero__metric{display:grid;gap:.35rem;padding:1rem;border-radius:20px;background:#ffffff1a;border:1px solid rgba(255,255,255,.12)}.admin-dashboard-hero__metric span{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#edf3fcb8}.admin-dashboard-hero__metric strong{font-size:1.8rem;line-height:1}.error-boundary{max-width:720px;margin:5rem auto;padding:2rem;border:1px solid #fecaca;border-radius:var(--radius-md);background:#fff7ed;box-shadow:var(--shadow-soft)}.error-boundary__eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent);font-weight:700}.activity-feed{display:grid;gap:10px;margin:12px 0 18px}.activity-feed__item{display:grid;gap:4px;padding:12px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:#fffaf2db}.activity-feed__item--warning{border-color:#f59e0b;background:#fff7ed}.activity-feed__item--critical{border-color:#ef4444;background:#fef2f2}.shortcut-hint{margin:12px 0;padding:10px 12px;border-radius:var(--radius-sm);border:1px dashed #94a3b8;background:#f8fafc;color:#334155}.exam-swipe-surface{touch-action:pan-y}.obs-legend{margin:8px 0 12px;color:#334155}.stale-row td{background:#fef2f2;color:#991b1b}.obs-sparkline{display:flex;align-items:flex-end;gap:4px;min-height:56px;padding:8px 0}.spark-group{display:flex;align-items:flex-end;gap:2px}.spark-bar{width:7px;border-radius:4px 4px 0 0;display:inline-block}.spark-delivered{background:#0f766e}.spark-failed{background:#b91c1c}.spark-dead{background:#9a3412}.question-chip{border-radius:999px;padding:6px 10px;border:1px solid #cbd5e1;background:#fff}.chip-open{background:#f8fafc;color:#334155}.chip-answered{background:#dcfce7;border-color:#86efac;color:#166534}.chip-review{background:#fff7ed;border-color:#fdba74;color:#9a3412}.chip-current{background:#dbeafe;border-color:#93c5fd;color:#1e3a8a}.exam-sticky-controls{position:sticky;bottom:8px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px;border-radius:10px;border:1px solid #d7d0c3;background:#fffaf2f2}[dir=rtl] body{direction:rtl}[dir=rtl] .app-header nav,[dir=rtl] .toolbar,[dir=rtl] .pager,[dir=rtl] .crud-table th,[dir=rtl] .crud-table td{direction:rtl}[dir=rtl] .crud-table th,[dir=rtl] .crud-table td{text-align:right}@media (max-width: 720px){.app-topbar__menu--mobile-only{display:inline-flex}.app-shell{grid-template-columns:1fr}.app-sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:block;background:#07111f8c;opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:35}.app-shell--nav-open .app-sidebar-backdrop{opacity:1;pointer-events:auto}.app-sidebar,.app-utilitybar{display:none}.app-headerbar{grid-template-columns:1fr auto;justify-content:space-between;padding:1rem 16px}.app-headerbar__actions,.app-meganav{display:none}.app-mobile-nav{position:fixed;inset:0 auto 0 0;width:min(88vw,360px);display:block;transform:translate(-105%);transition:transform .22s ease;z-index:40}.app-shell--nav-open .app-mobile-nav{transform:translate(0)}.app-main{padding-inline:16px}.app-main>*{padding:18px}.dashboard-grid,.surface-grid--home,.stats-ribbon,.auth-grid,.option-row,.mobile-form-grid{grid-template-columns:1fr}.inline-actions>*{flex:1 1 100%}.admin-dashboard-hero,.page-hero{grid-template-columns:1fr;padding:1.15rem}.admin-dashboard-hero__stats{grid-template-columns:1fr 1fr}.exam-sticky-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}
