:root {
    --brand-primary: #073b31;
    --brand-primary-2: #0f5a47;
    --brand-primary-3: #15735c;
    --brand-gold: #caa44a;
    --brand-gold-2: #f3d47b;
    --brand-bg: #f4f7fb;
    --brand-card: #ffffff;
    --brand-border: #e5edf3;
    --brand-text: #102a24;
    --brand-muted: #64748b;
    --brand-danger: #b42318;
    --shadow-sm: 0 10px 24px rgba(15,23,42,.055);
    --shadow-md: 0 18px 42px rgba(15,23,42,.09);
}
* { box-sizing: border-box; }
html { font-size: 16px; }
body {
    margin: 0;
    direction: rtl;
    text-align: right;
    background: radial-gradient(circle at top left, rgba(15,90,71,.08), transparent 30%), linear-gradient(180deg,#f8fbfa 0%, var(--brand-bg) 100%);
    color: var(--brand-text);
    font-family: Tahoma, Arial, sans-serif;
}
a { text-decoration: none; }
img { max-width: 100%; }
.login-only-wrapper { min-height: 100vh; }
.app-shell { min-height: 100vh; display: flex; flex-direction: row; }
.app-sidebar {
    width: 292px;
    min-height: 100vh;
    background: radial-gradient(circle at top right, rgba(255,255,255,.13), transparent 32%), linear-gradient(180deg,#061b16 0%,#0b2d24 44%,#0f5132 100%);
    color: #fff;
    padding: 22px 18px;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    overflow-y: auto;
    box-shadow: -12px 0 35px rgba(0,0,0,.14);
    z-index: 1000;
}
.brand-box { background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.18); border-radius: 24px; padding: 18px; margin-bottom: 18px; display: flex; gap: 12px; align-items: center; }
.brand-logo { width: 58px; height: 58px; border-radius: 20px; background: linear-gradient(135deg,var(--brand-gold),var(--brand-gold-2)); display: flex; align-items: center; justify-content: center; color: #13251e; font-size: 28px; font-weight: 950; box-shadow: 0 12px 26px rgba(183,121,31,.25); overflow:hidden; }
.brand-logo-img { background:#fff; padding:6px; }
.brand-logo-img img { width:100%; height:100%; object-fit:contain; display:block; }
.brand-title { font-weight: 950; font-size: 18px; line-height: 1.6; }
.brand-subtitle { color: rgba(255,255,255,.72); font-size: 12px; font-weight: 800; line-height:1.7; }
.user-panel { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15); border-radius: 22px; padding: 14px; margin-bottom: 18px; }
.user-name { font-weight: 950; font-size: 15px; margin-bottom: 7px; }
.user-role { display: inline-block; background: rgba(183,121,31,.25); color: #ffe6b0; border: 1px solid rgba(255,230,176,.25); border-radius: 50px; padding: 6px 12px; font-size: 12px; font-weight: 900; }
.menu-title { color: rgba(255,255,255,.55); font-size: 12px; font-weight: 950; margin: 18px 8px 8px; }
.side-link { display: flex; align-items: center; justify-content: space-between; color: rgba(255,255,255,.92); padding: 13px 14px; border-radius: 17px; margin-bottom: 7px; font-weight: 900; transition: .2s ease; border: 1px solid transparent; }
.side-link:hover { color: #fff; background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.16); transform: translateX(-3px); }
.side-link.active { background: linear-gradient(135deg,rgba(183,121,31,.98),rgba(243,196,101,.9)); color: #15251f; box-shadow: 0 12px 24px rgba(183,121,31,.22); }
.side-link.logout { margin-top: 8px; background: rgba(180,35,24,.12); }
.side-icon { width: 28px; display: inline-block; text-align: center; margin-left: 7px; }
.main-area { margin-right: 292px; width: calc(100% - 292px); min-height: 100vh; display: flex; flex-direction: column; }
.topbar-title-main { display:flex; align-items:center; gap:14px; min-width:0; }
.topbar-logo-mini { width:120px; height:54px; border-radius:18px; background:#fff; border:1px solid var(--brand-border); padding:6px; display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-sm); }
.topbar-logo-mini img { width:100%; height:100%; object-fit:contain; }
.topbar { min-height: 82px; background: rgba(255,255,255,.90); backdrop-filter: blur(13px); border-bottom: 1px solid var(--brand-border); display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 18px 28px; position: sticky; top: 0; z-index: 900; box-shadow: 0 8px 24px rgba(15,23,42,.04); }
.page-heading h1 { margin: 0; font-weight: 950; font-size: 23px; color: var(--brand-text); line-height:1.5; }
.eyebrow { color: var(--brand-muted); font-size: 13px; font-weight: 900; margin-bottom: 3px; }
.topbar-status { display:flex; align-items:center; gap:10px; background:#fff; border:1px solid var(--brand-border); padding:10px 14px; border-radius:999px; color:var(--brand-primary); font-weight:900; box-shadow: var(--shadow-sm); }
.status-dot { width:12px; height:12px; border-radius:50%; background:#16a34a; box-shadow:0 0 0 7px rgba(22,163,74,.11); }
.content-body { padding: 28px; flex: 1; }
.system-footer { background: #fff; border-top: 1px solid var(--brand-border); padding: 16px 28px; color: var(--brand-muted); font-weight: 800; }
.mobile-header { display: none; background: linear-gradient(135deg,#061b16,#0f5132); color: #fff; padding: 14px 18px; align-items: center; justify-content: space-between; }
.mobile-brand { font-weight: 950; }
.mobile-menu-btn { border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.1); color: #fff; border-radius: 12px; padding: 8px 12px; font-weight: 900; }
.sidebar-overlay { display: none; }
.app-card, .panel { background: var(--brand-card); border: 1px solid var(--brand-border); border-radius: 22px; box-shadow: var(--shadow-sm); overflow: hidden; }
.panel-head { padding: 16px 18px; background: #fff; border-bottom: 1px solid var(--brand-border); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.panel-title, .section-title { font-weight: 950; color: var(--brand-primary); margin: 0; }
.panel-body { padding: 18px; }
.small-muted { color: var(--brand-muted); font-size: .92rem; }
.btn { border-radius: 14px !important; font-weight: 850; }
.btn-brand { background: linear-gradient(90deg,var(--brand-primary),var(--brand-primary-2)); border-color: var(--brand-primary); color: #fff; }
.btn-brand:hover { color:#fff; filter: brightness(.96); transform: translateY(-1px); }
.btn-outline-brand { border-color: rgba(11,58,46,.35); color: var(--brand-primary); }
.btn-outline-brand:hover { background: rgba(11,58,46,.06); border-color: rgba(11,58,46,.45); color: var(--brand-primary); }
.badge-brand { background: var(--brand-gold); color:#1b1b1b; }
.form-control, .form-select { border-radius: 14px; border-color:#dce5ee; min-height: 44px; }
.form-control:focus, .form-select:focus { border-color: rgba(15,90,71,.45); box-shadow: 0 0 0 .25rem rgba(15,90,71,.09); }
.table { vertical-align: middle; }
.table thead th { color: var(--brand-primary); background:#f8fafc; border-bottom-color:#dde7ef; }
.login-page { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 24px; background: radial-gradient(circle at top right, rgba(202,164,74,.12), transparent 25%), radial-gradient(circle at bottom left, rgba(11,58,46,.09), transparent 28%), var(--brand-bg); }
.login-wrapper { width: 100%; max-width: 1120px; margin: 0 auto; }
.login-card { background: #fff; border-radius: 28px; border: 1px solid var(--brand-border); box-shadow: 0 24px 60px rgba(15,23,42,.12); }
.login-side-info { background: radial-gradient(circle at top left, rgba(255,255,255,.14), transparent 34%), linear-gradient(135deg,var(--brand-primary),var(--brand-primary-2)); color: #fff; min-height: 660px; position: relative; }
.login-side-content { padding: 56px 42px; display:flex; flex-direction:column; justify-content:center; width:100%; }
.login-badge { display:inline-block; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.18); color:#fff; padding:8px 14px; border-radius:999px; font-weight:800; margin-bottom:22px; width:fit-content; }
.login-side-logo, .login-top-logo { max-width:260px; width:100%; height:auto; background:rgba(255,255,255,.95); padding:10px 14px; border-radius:16px; box-shadow:0 10px 26px rgba(0,0,0,.12); }
.login-top-logo { max-width:220px; }
.login-system-title { font-size:2.15rem; font-weight:950; line-height:1.4; margin:22px 0 18px; }
.login-system-text { font-size:1.05rem; line-height:2; color:rgba(255,255,255,.92); margin-bottom:30px; }
.login-features { display:flex; flex-direction:column; gap:14px; }
.login-feature-item { display:flex; align-items:center; gap:12px; font-size:1rem; color:rgba(255,255,255,.96); }
.login-feature-icon { width:30px; height:30px; border-radius:50%; background:rgba(255,255,255,.16); display:inline-flex; align-items:center; justify-content:center; font-weight:950; }
.login-form-panel { padding:48px 34px; background:#fff; min-height:660px; display:flex; flex-direction:column; justify-content:center; }
.login-form-title { color:var(--brand-primary); font-weight:950; }
.login-form-subtitle, .login-help-text, .login-footer-note { color:var(--brand-muted); }
.login-label { color:var(--brand-primary); font-weight:900; }
.login-input-group .input-group-text { border-radius: 0 14px 14px 0; background:#f8fafc; border-color:#dce5ee; }
.login-input { border-radius: 14px 0 0 14px !important; }
.login-submit-btn { min-height: 52px; }
@media (max-width: 992px) {
    .mobile-header { display: flex; }
    .app-shell { display: block; }
    .app-sidebar { transform: translateX(110%); transition: .25s ease; }
    .app-sidebar.open { transform: translateX(0); }
    .sidebar-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.35); z-index: 999; }
    .sidebar-overlay.show { display: block; }
    .main-area { margin-right: 0; width: 100%; }
    .topbar { min-height:auto; padding: 16px 18px; }
    .topbar-status { display:none; }
    .content-body { padding: 18px; }
}
@media (max-width: 640px) {
    .topbar-logo-mini { width:86px; height:44px; border-radius:14px; }
    .page-heading h1 { font-size: 19px; }
    .content-body { padding: 14px; }
    .login-page { padding: 12px; }
    .login-form-panel { padding: 32px 18px; }
}
@media print {
    .app-sidebar, .topbar, .system-footer, .mobile-header { display:none !important; }
    .main-area { margin:0 !important; width:100% !important; }
    .content-body { padding:0 !important; }
    body { background:#fff !important; }
}


/* =========================================================
   Giant Defense UI Upgrade - university grade visual system
   ========================================================= */
:root{
    --uni-primary:#073b31;
    --uni-primary-2:#0f6b55;
    --uni-gold:#caa44a;
    --uni-gold-2:#f3d47b;
    --uni-ink:#102a24;
    --uni-muted:#667085;
    --uni-line:#e7edf2;
    --uni-soft:#f6faf8;
    --uni-blue:#175cd3;
}
body{scroll-behavior:smooth;}
::selection{background:rgba(202,164,74,.32);color:#0b3a2e;}
.content-body,.admin-content{animation:uiFadeIn .35s ease both;}
@keyframes uiFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.defense-hero{position:relative;overflow:hidden;border-radius:30px;padding:28px;background:radial-gradient(circle at top left,rgba(255,255,255,.18),transparent 25%),radial-gradient(circle at bottom right,rgba(202,164,74,.22),transparent 28%),linear-gradient(135deg,var(--uni-primary),var(--uni-primary-2));color:#fff;box-shadow:0 22px 52px rgba(7,59,49,.20);border:1px solid rgba(255,255,255,.12)}
.defense-hero:before{content:"";position:absolute;inset:auto -80px -90px auto;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.08)}
.defense-hero:after{content:"";position:absolute;right:28px;bottom:0;width:180px;height:5px;border-radius:999px;background:linear-gradient(90deg,var(--uni-gold),var(--uni-gold-2))}
.defense-hero>*{position:relative;z-index:1}.defense-badge{display:inline-flex;gap:8px;align-items:center;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);padding:8px 14px;border-radius:999px;font-weight:900;margin-bottom:12px}.defense-title{font-weight:950;line-height:1.45;margin:0;font-size:clamp(1.6rem,3vw,2.6rem)}.defense-subtitle{color:rgba(255,255,255,.91);line-height:2;font-weight:650;margin:10px 0 0}.defense-logo-card{background:#fff;border-radius:22px;padding:12px 18px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 16px 32px rgba(0,0,0,.14)}.defense-logo-card img{height:86px;object-fit:contain}.ui-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.ui-stat-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--uni-line);border-radius:24px;padding:20px;box-shadow:0 14px 32px rgba(16,42,36,.06);transition:.22s ease}.ui-stat-card:hover{transform:translateY(-3px);box-shadow:0 22px 44px rgba(16,42,36,.10)}.ui-stat-card:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,var(--uni-primary),var(--uni-primary-2),var(--uni-gold))}.ui-stat-icon{width:48px;height:48px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:rgba(15,90,71,.08);font-size:24px;margin-bottom:12px}.ui-stat-label{color:var(--uni-muted);font-size:13px;font-weight:900}.ui-stat-value{font-size:2rem;color:var(--uni-ink);font-weight:950;line-height:1.3}.ui-card{background:#fff;border:1px solid var(--uni-line);border-radius:24px;box-shadow:0 14px 32px rgba(16,42,36,.06);overflow:hidden}.ui-card-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:18px 20px;border-bottom:1px solid var(--uni-line);background:linear-gradient(180deg,#fff,#fbfdfc)}.ui-card-title{font-size:1.2rem;font-weight:950;color:var(--uni-primary);margin:0}.ui-card-body{padding:20px}.ui-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#fff;border:1px solid var(--uni-line);border-radius:22px;padding:14px;box-shadow:0 12px 26px rgba(16,42,36,.04);margin-bottom:16px}.ui-search{min-width:min(100%,320px);border-radius:16px;border:1px solid #dbe5ec;padding:12px 14px;outline:none;font-weight:700}.ui-search:focus{border-color:rgba(15,90,71,.40);box-shadow:0 0 0 4px rgba(15,90,71,.08)}.btn,.btn-admin,.report-action-btn,.lux-btn{transition:.18s ease}.btn:hover,.btn-admin:hover,.report-action-btn:hover,.lux-btn:hover{transform:translateY(-1px)}.btn-danger,.btn-outline-danger{box-shadow:none!important}.table,.table-admin{font-size:.96rem}.table tbody tr,.table-admin tbody tr{transition:.18s ease}.table tbody tr:hover,.table-admin tbody tr:hover{filter:brightness(.995);transform:translateY(-1px)}.table-responsive{border-radius:20px}.badge{font-weight:850;border-radius:999px}.form-label{font-weight:900;color:var(--uni-primary)}.form-control,.form-select,textarea{font-weight:650}.empty-state{background:#fff;border:1px dashed #cbd5df;border-radius:24px;text-align:center;padding:34px;color:var(--uni-muted)}.empty-state-icon{font-size:44px;margin-bottom:10px}.timeline-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.timeline-step{background:#fff;border:1px solid var(--uni-line);border-radius:22px;padding:18px;text-align:center;box-shadow:0 12px 26px rgba(16,42,36,.045)}.timeline-step .num{width:38px;height:38px;border-radius:999px;margin:0 auto 10px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--uni-primary),var(--uni-primary-2));color:#fff;font-weight:950}.timeline-step b{color:var(--uni-primary)}.toast-ui{position:fixed;bottom:24px;left:24px;z-index:3000;background:#0b3a2e;color:#fff;padding:14px 18px;border-radius:16px;box-shadow:0 18px 36px rgba(16,24,40,.2);font-weight:850;opacity:0;transform:translateY(12px);transition:.25s ease;max-width:360px}.toast-ui.show{opacity:1;transform:none}.page-actions-sticky{position:sticky;bottom:16px;z-index:20;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);border:1px solid var(--uni-line);border-radius:22px;padding:12px;box-shadow:0 18px 36px rgba(16,42,36,.10)}.exam-focus-strip{height:9px;border-radius:999px;background:linear-gradient(90deg,#16a34a,#eab308,#ef4444);overflow:hidden}.admin-topbar,.topbar{border-bottom:1px solid rgba(202,164,74,.20)!important}.side-link.active{outline:1px solid rgba(255,255,255,.22)}
@media(max-width:1100px){.ui-stat-grid{grid-template-columns:repeat(2,1fr)}.timeline-flow{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.ui-stat-grid,.timeline-flow{grid-template-columns:1fr}.defense-hero{padding:20px;border-radius:22px}.defense-logo-card img{height:66px}.ui-card-body{padding:14px}.ui-toolbar{align-items:stretch}.ui-search{width:100%}.toast-ui{left:12px;right:12px;bottom:12px;max-width:none}}
@media print{.ui-toolbar,.page-actions-sticky,.toast-ui{display:none!important}.ui-card,.app-card,.panel{box-shadow:none!important}}

/* ===== Production-grade additions ===== */
.production-page{direction:rtl;text-align:right;}
.pro-hero{background:linear-gradient(135deg,#06251d,#0f5132 55%,#bf8c2c);border-radius:28px;padding:28px;color:#fff;box-shadow:0 20px 45px rgba(15,81,50,.20);display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:22px;position:relative;overflow:hidden}
.pro-hero:after{content:"";position:absolute;inset:auto -80px -90px auto;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.10)}
.compact-hero h2{font-weight:950;margin:5px 0 8px;font-size:28px}.compact-hero p{margin:0;line-height:1.9;font-weight:800;opacity:.92}.hero-badge{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);border-radius:22px;padding:14px 18px;font-weight:950;white-space:nowrap}.pro-card{background:#fff;border:1px solid #e6ece9;border-radius:24px;padding:22px;box-shadow:0 15px 34px rgba(16,42,36,.07)}.max-720{max-width:720px}.pro-input{border-radius:15px;padding:12px 14px;font-weight:800;border-color:#dce5e9}.pro-input:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.12)}.pro-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.metric-card{min-height:128px}.metric-label{font-weight:900;color:#64748b;margin-bottom:10px}.metric-value{font-size:34px;font-weight:950;color:#0f5132;overflow-wrap:anywhere}.small-value{font-size:20px;line-height:1.6}.checklist li{margin-bottom:10px;font-weight:800;line-height:1.8}.security-note{border-right:5px solid #198754;background:#f2fbf6;border-radius:16px;padding:14px 16px;font-weight:800;color:#102a24}@media(max-width:900px){.pro-hero{display:block}.hero-badge{display:inline-block;margin-top:14px}.pro-grid-3{grid-template-columns:1fr}}


/* ===== Scientific University UI v2 ===== */
.topbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.topbar-action-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 15px;border-radius:999px;font-weight:950;border:1px solid var(--brand-border,#e5edf3);background:#fff;color:var(--brand-primary,#073b31);box-shadow:0 10px 22px rgba(16,42,36,.055);text-decoration:none!important;transition:.18s ease}
.topbar-action-btn:hover{transform:translateY(-1px);color:var(--brand-primary,#073b31);filter:brightness(.98)}
.topbar-action-btn.danger{background:#fff5f5;border-color:#fecaca;color:#991b1b}
.topbar-action-btn.ghost{background:rgba(255,255,255,.78)}
.content-body, .admin-content{background:radial-gradient(circle at 20% 0%,rgba(202,164,74,.055),transparent 28%),radial-gradient(circle at 80% 4%,rgba(15,90,71,.06),transparent 30%)}
.app-card,.panel,.pro-card,.ui-card{backdrop-filter:saturate(1.1)}
.table thead th,.table-admin thead th{letter-spacing:.01em}
.side-link.logout,.side-link[href*="Logout"]{background:rgba(180,35,24,.14);border-color:rgba(254,202,202,.18)}
.side-link.logout:hover,.side-link[href*="Logout"]:hover{background:rgba(180,35,24,.22)}
.exam-locked-note{background:linear-gradient(135deg,#f8fafc,#fff7ed);border:1px solid #fed7aa;border-radius:20px;padding:16px 18px;color:#92400e;font-weight:900;line-height:1.9}
@media(max-width:992px){.topbar-actions{width:100%;justify-content:flex-start}.topbar-action-btn{min-height:38px;padding:8px 12px}.topbar-status,.topbar-mark{display:none!important}}


/* =========================================================
   FULL UI REDESIGN v5 - Applied to all roles
   Admin / Teacher / Student / Control
   ========================================================= */
:root{
    --full-primary:#06382f;
    --full-primary2:#0f6b55;
    --full-accent:#caa44a;
    --full-accent2:#f3d47b;
    --full-surface:#ffffff;
    --full-bg:#f5f8fb;
    --full-line:#e5edf3;
    --full-text:#0f2a24;
    --full-muted:#667085;
    --full-red:#b42318;
    --full-blue:#175cd3;
    --full-shadow:0 18px 42px rgba(16,42,36,.075);
    --full-shadow2:0 28px 70px rgba(16,42,36,.12);
}
body, input, button, textarea, select {
    font-family: "Segoe UI", Tahoma, Arial, "Noto Sans Arabic", "Cairo", sans-serif;
}
.content-body,.admin-content{min-height:calc(100vh - 140px);}
.content-body > div[style*="max-width"], .admin-content > div[style*="max-width"], .ctrl-page{width:100%!important;max-width:1280px!important;margin-top:0!important;}
.content-body .container,.admin-content .container{max-width:1280px!important;}
.alert{border-radius:18px!important;border-width:1px!important;font-weight:900;box-shadow:0 12px 24px rgba(16,42,36,.05)}
.alert-success{background:#ecfdf3!important;border-color:#abefc6!important;color:#067647!important}.alert-danger{background:#fef3f2!important;border-color:#fecdca!important;color:#b42318!important}.alert-info{background:#eff8ff!important;border-color:#b2ddff!important;color:#175cd3!important}.alert-warning{background:#fffaeb!important;border-color:#fedf89!important;color:#b54708!important}
.full-page-title{font-weight:950;color:var(--full-primary);font-size:clamp(1.35rem,2.2vw,2.2rem);margin:0 0 8px}.full-page-subtitle{color:var(--full-muted);font-weight:750;line-height:1.9;margin:0}.full-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;background:radial-gradient(circle at 8% 8%,rgba(255,255,255,.18),transparent 24%),radial-gradient(circle at 95% 0%,rgba(243,212,123,.22),transparent 28%),linear-gradient(135deg,var(--full-primary),var(--full-primary2));color:#fff;border-radius:30px;padding:28px;box-shadow:var(--full-shadow2);margin-bottom:20px;position:relative;overflow:hidden}.full-hero:after{content:"";position:absolute;left:-70px;bottom:-80px;width:210px;height:210px;background:rgba(255,255,255,.08);border-radius:50%}.full-hero h2{font-weight:950;line-height:1.45;margin:0 0 6px;font-size:clamp(1.5rem,3vw,2.6rem)}.full-hero p{margin:0;color:rgba(255,255,255,.9);line-height:2;font-weight:750}.full-hero-actions{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1}.full-btn-gold{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(90deg,var(--full-accent),var(--full-accent2));color:#102a24!important;border:0;border-radius:16px;padding:13px 18px;font-weight:950;box-shadow:0 14px 30px rgba(202,164,74,.25);text-decoration:none!important}.full-btn-light{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:rgba(255,255,255,.14);color:#fff!important;border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:13px 18px;font-weight:950;text-decoration:none!important}.full-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(90deg,var(--full-primary),var(--full-primary2));color:#fff!important;border:0;border-radius:16px;padding:12px 17px;font-weight:950;text-decoration:none!important;box-shadow:0 12px 24px rgba(15,107,85,.18)}.full-btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#fff;color:var(--full-primary)!important;border:1px solid rgba(15,107,85,.25);border-radius:16px;padding:12px 17px;font-weight:950;text-decoration:none!important}.full-btn-danger{background:#fff5f5!important;color:#991b1b!important;border-color:#fecaca!important}.full-card, .app-card, .panel, .campus-card, .ctrl-card, .pro-card, .ui-card, div[style*="background:#fff"][style*="border"]{border-radius:24px!important;border-color:var(--full-line)!important;box-shadow:var(--full-shadow)!important}.full-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--full-line);padding:18px 20px;background:linear-gradient(180deg,#fff,#fbfdfc)}.full-card-body{padding:20px}.full-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.full-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.full-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.full-stat{background:#fff;border:1px solid var(--full-line);border-radius:24px;padding:20px;box-shadow:var(--full-shadow);position:relative;overflow:hidden}.full-stat:before{content:"";position:absolute;right:0;left:0;top:0;height:5px;background:linear-gradient(90deg,var(--full-primary),var(--full-primary2),var(--full-accent))}.full-stat-icon{width:48px;height:48px;border-radius:16px;background:rgba(15,107,85,.08);display:flex;align-items:center;justify-content:center;font-size:25px;margin-bottom:12px}.full-stat-label{font-weight:900;color:var(--full-muted);font-size:.9rem}.full-stat-value{font-weight:950;color:var(--full-primary);font-size:2rem;line-height:1.3}.table,.table-admin{border-collapse:separate!important;border-spacing:0 8px!important}.table thead th,.table-admin thead th{background:#f8fafc!important;color:var(--full-primary)!important;border:0!important;font-weight:950!important;padding:14px!important}.table tbody tr,.table-admin tbody tr{background:#fff;box-shadow:0 8px 18px rgba(16,42,36,.045)}.table tbody td,.table-admin tbody td{border-top:1px solid var(--full-line)!important;border-bottom:1px solid var(--full-line)!important;padding:14px!important}.table tbody td:first-child,.table-admin tbody td:first-child{border-right:1px solid var(--full-line)!important;border-radius:0 16px 16px 0}.table tbody td:last-child,.table-admin tbody td:last-child{border-left:1px solid var(--full-line)!important;border-radius:16px 0 0 16px}.table-responsive{overflow-x:auto;padding-bottom:4px}.form-control,.form-select,textarea,input[type="number"],input[type="text"],input[type="email"],input[type="password"],input[type="datetime-local"]{border-radius:15px!important;border-color:#dce5ee!important;font-weight:750!important}.form-control:focus,.form-select:focus,textarea:focus,input:focus{border-color:rgba(15,107,85,.45)!important;box-shadow:0 0 0 .25rem rgba(15,107,85,.10)!important}.btn{border-radius:15px!important;font-weight:950!important}.badge,.badge-brand{border-radius:999px!important;padding:.5em .75em!important}.published-exams-grid>div,.teacher-stats-grid>div,.student-home-grid>a>div,.tips-grid>div{transition:.18s ease}.published-exams-grid>div:hover,.teacher-stats-grid>div:hover,.student-home-grid>a>div:hover,.tips-grid>div:hover{transform:translateY(-3px);box-shadow:0 22px 42px rgba(16,42,36,.10)!important}.ctrl-header{box-shadow:var(--full-shadow2)!important}.ctrl-btn{box-shadow:0 12px 26px rgba(16,42,36,.08)}.exam-take-shell{max-width:1100px;margin:0 auto}.timer, .question-timer, [id*="timer"], [id*="Timer"]{font-variant-numeric:tabular-nums}.answer-option{border:1px solid var(--full-line);background:#fff;border-radius:18px;padding:14px;transition:.16s ease}.answer-option:hover{border-color:rgba(15,107,85,.35);background:#fbfdfc}.action-strip{position:sticky;bottom:16px;z-index:60;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border:1px solid var(--full-line);border-radius:22px;padding:12px;box-shadow:0 20px 45px rgba(16,42,36,.12)}.page-mini-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center;justify-content:flex-end;margin-bottom:14px}.page-mini-actions a{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--full-line);border-radius:999px;padding:9px 13px;background:#fff;color:var(--full-primary);font-weight:950;text-decoration:none}.ui-empty{border:1px dashed #cbd5df;background:#fff;border-radius:24px;padding:34px;text-align:center;color:var(--full-muted);font-weight:850}.ui-empty:before{content:"🗂️";display:block;font-size:44px;margin-bottom:10px}.layout-ready .content-body a[href*="Create"], .layout-ready .admin-content a[href*="Create"]{font-weight:950}.layout-ready .content-body a[href*="Logout"], .layout-ready .admin-content a[href*="Logout"]{color:#991b1b}.smart-back-disabled{opacity:.65;pointer-events:none}.admin-sidebar,.app-sidebar{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.35) transparent}.admin-sidebar::-webkit-scrollbar,.app-sidebar::-webkit-scrollbar{width:8px}.admin-sidebar::-webkit-scrollbar-thumb,.app-sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25);border-radius:99px}.student-exam-card,.control-grade-card,.admin-report-card{background:#fff;border:1px solid var(--full-line);border-radius:24px;box-shadow:var(--full-shadow);padding:20px}.pill-status{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;background:#f2f4f7;color:#344054;font-weight:900}.pill-status.success{background:#ecfdf3;color:#067647}.pill-status.warning{background:#fffaeb;color:#b54708}.pill-status.danger{background:#fef3f2;color:#b42318}.pill-status.info{background:#eff8ff;color:#175cd3}
@media(max-width:1100px){.full-grid-4{grid-template-columns:repeat(2,1fr)}.full-grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.full-grid-4,.full-grid-3,.full-grid-2{grid-template-columns:1fr}.full-hero{border-radius:22px;padding:20px}.full-hero-actions>*{width:100%}.topbar-title-main{align-items:flex-start}.topbar{display:block}.topbar-actions{margin-top:12px}.content-body,.admin-content{padding:14px!important}.table tbody td,.table-admin tbody td{padding:10px!important}.page-mini-actions{justify-content:flex-start}}
@media print{.app-sidebar,.admin-sidebar,.topbar,.admin-topbar,.mobile-header,.page-mini-actions,.topbar-actions,.ui-toolbar,.system-footer,.admin-footer{display:none!important}.main-area,.admin-main{margin:0!important;width:100%!important}.content-body,.admin-content{padding:0!important;background:#fff!important}.full-card,.app-card,.panel,.campus-card{box-shadow:none!important}}

/* ===== Shared page composition ===== */
.page-frame{max-width:1280px;margin:24px auto;padding:0 14px;direction:rtl;text-align:right}
.page-hero{position:relative;overflow:hidden;border-radius:30px;padding:28px;color:#fff;box-shadow:var(--full-shadow2);background:radial-gradient(circle at 8% 8%,rgba(255,255,255,.18),transparent 24%),radial-gradient(circle at 95% 0%,rgba(243,212,123,.22),transparent 28%),linear-gradient(135deg,var(--full-primary),var(--full-primary2))}
.page-hero:after{content:"";position:absolute;left:-70px;bottom:-80px;width:210px;height:210px;background:rgba(255,255,255,.08);border-radius:50%}
.page-hero>*{position:relative;z-index:1}
.page-hero-title{font-weight:950;line-height:1.45;margin:0;font-size:clamp(1.55rem,3vw,2.45rem)}
.page-hero-subtitle{margin:10px 0 0;color:rgba(255,255,255,.9);line-height:2;font-weight:750}
.page-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.soft-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 18px;border-radius:16px;font-weight:950;text-decoration:none!important;transition:.18s ease}
.soft-link:hover{transform:translateY(-1px)}
.soft-link.primary{background:linear-gradient(90deg,var(--full-accent),var(--full-accent2));color:#102a24!important;box-shadow:0 14px 30px rgba(202,164,74,.25)}
.soft-link.secondary{background:rgba(255,255,255,.14);color:#fff!important;border:1px solid rgba(255,255,255,.22)}
.soft-link.outline{background:#fff;color:var(--full-primary)!important;border:1px solid rgba(15,107,85,.22)}
.page-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:20px}
.page-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}
.page-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}
.surface-card{background:#fff;border:1px solid var(--full-line);border-radius:24px;box-shadow:var(--full-shadow);overflow:hidden}
.surface-card-head{padding:18px 20px;border-bottom:1px solid var(--full-line);background:linear-gradient(180deg,#fff,#fbfdfc)}
.surface-card-body{padding:20px}
.surface-title{font-size:1.25rem;font-weight:950;color:var(--full-primary);margin:0}
.surface-subtitle{margin-top:6px;color:var(--full-muted);line-height:1.9}
.hero-kicker{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);padding:8px 14px;border-radius:999px;font-weight:900;margin-bottom:12px}
.stat-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--full-line);border-radius:24px;padding:20px;box-shadow:var(--full-shadow);transition:.18s ease}
.stat-card:hover{transform:translateY(-3px);box-shadow:0 22px 44px rgba(16,42,36,.10)}
.stat-card:before{content:"";position:absolute;right:0;left:0;top:0;height:5px;background:linear-gradient(90deg,var(--full-primary),var(--full-primary2),var(--full-accent))}
.stat-label{font-weight:900;color:var(--full-muted);font-size:.92rem}
.stat-value{font-size:2rem;line-height:1.25;font-weight:950;color:var(--full-primary);margin-top:8px}
.stat-note{margin-top:8px;color:var(--full-muted);line-height:1.8;font-size:.92rem}
.subtle-note{background:#f8fafc;border:1px solid var(--full-line);border-radius:20px;padding:16px 18px;color:var(--full-muted);line-height:1.9}
@media(max-width:1100px){.page-grid-4{grid-template-columns:repeat(2,1fr)}.page-grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.page-frame{margin:16px auto;padding:0 12px}.page-hero{padding:20px;border-radius:22px}.page-hero-actions>*{width:100%}.page-grid-4,.page-grid-3,.page-grid-2{grid-template-columns:1fr}.surface-card-body{padding:16px}}
