@import url('./theme-custom.css');
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

:root{
  --blue:#0b3d78;--blue2:#164f97;--gold:#c6a15b;--ink:#162033;--muted:#667085;
  --bg:#f4f7fb;--card:#fff;--line:#dfe6ef;--success:#0f8a4b;--danger:#c9362b;--warning:#a66d00;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink)}
a{color:var(--blue);text-decoration:none}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 22px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 4px 14px rgba(13,37,68,.05)}
.brand{display:flex;align-items:center;gap:12px;color:var(--blue)}.brand-mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;display:grid;place-items:center;font-weight:900}.brand span:last-child{display:flex;flex-direction:column;line-height:1.15}.brand small{color:var(--muted);font-size:11px;margin-top:3px}.topbar-actions{display:flex;align-items:center;gap:10px}.user-chip{padding:8px 12px;border-radius:999px;background:#eef4fb;color:var(--blue);font-weight:700}.area-title{text-align:center;background:var(--blue);color:#fff;padding:8px;font-weight:800;letter-spacing:.04em}
.container{width:min(1180px,calc(100% - 28px));margin:24px auto}.container.narrow{width:min(620px,calc(100% - 28px))}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 8px 24px rgba(13,37,68,.05)}.card h1,.card h2,.card h3{margin-top:0}.hero{min-height:calc(100vh - 86px);display:grid;place-items:center;padding:28px}.hero-card{width:min(920px,100%);background:#fff;border-radius:26px;padding:34px;border:1px solid var(--line);box-shadow:0 24px 70px rgba(11,61,120,.15)}.hero-title{font-size:clamp(30px,5vw,54px);line-height:1.02;margin:0;color:var(--blue)}.hero-sub{color:var(--muted);font-size:18px;margin:12px 0 28px}.portal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.portal-card{padding:22px;border:1px solid var(--line);border-radius:18px;background:#fbfdff;transition:.2s}.portal-card:hover{transform:translateY(-2px);border-color:#a9bfda;box-shadow:0 10px 30px rgba(11,61,120,.1)}.portal-card b{display:block;color:var(--blue);font-size:20px;margin-bottom:5px}.portal-card span{color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:11px;padding:11px 16px;font-weight:800;cursor:pointer;font:inherit}.btn-primary{background:var(--blue);color:#fff}.btn-gold{background:var(--gold);color:#fff}.btn-light{background:#edf2f7;color:var(--blue)}.btn-danger{background:var(--danger);color:#fff}.btn-success{background:var(--success);color:#fff}.btn-outline{background:#fff;color:var(--blue);border:1px solid #b8c8da}.btn-sm{padding:8px 11px;font-size:13px}.btn-block{width:100%}.actions{display:flex;gap:8px;flex-wrap:wrap}.muted{color:var(--muted)}.small{font-size:13px}.text-danger{color:var(--danger)}.text-success{color:var(--success)}
.form-group{margin-bottom:15px}label{display:block;font-size:13px;font-weight:800;color:#4b5a6f;margin-bottom:7px;text-transform:uppercase;letter-spacing:.03em}input,select,textarea{width:100%;border:1.5px solid #ced8e5;border-radius:11px;padding:11px 13px;background:#fff;font:inherit;color:var(--ink);outline:0}input:focus,select:focus,textarea:focus{border-color:var(--blue2);box-shadow:0 0 0 3px rgba(22,79,151,.1)}textarea{min-height:110px;resize:vertical;line-height:1.5}.inline{display:flex;gap:10px;align-items:end}.inline>*{flex:1}
.stat{padding:18px;border-radius:16px;background:#fff;border:1px solid var(--line)}.stat b{display:block;font-size:32px;color:var(--blue);margin-top:6px}.stat span{color:var(--muted);font-size:13px;font-weight:700}.dashboard-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px}.sidebar{background:var(--blue);color:#fff;border-radius:18px;padding:12px;height:max-content;position:sticky;top:90px}.sidebar a{display:block;color:#fff;padding:12px 13px;border-radius:10px;font-weight:700}.sidebar a:hover,.sidebar a.active{background:rgba(255,255,255,.14)}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff}table{width:100%;border-collapse:collapse;min-width:780px}th,td{padding:12px 13px;border-bottom:1px solid #edf1f5;text-align:left;vertical-align:top}th{font-size:12px;text-transform:uppercase;color:#5c6b7d;background:#f8fafc;position:sticky;top:0}tr:last-child td{border-bottom:0}.badge{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:900}.badge.success{background:#e7f7ee;color:#0e7c45}.badge.warning{background:#fff5d6;color:#966400}.badge.danger{background:#fdecea;color:#b52b22}.badge.neutral{background:#eef2f6;color:#5c6877}
.flash{width:min(1180px,calc(100% - 28px));margin:14px auto 0;padding:12px 14px;border-radius:12px;font-weight:700}.flash.success{background:#e9f8ef;color:#08723d}.flash.error{background:#fdecea;color:#a92d25}.flash.warning{background:#fff5d6;color:#8b6200}.footer{text-align:center;color:#7c8798;padding:30px 14px;font-size:13px}
.question-card{border:1px solid var(--line);border-radius:16px;padding:16px;margin:15px 0;background:#fff}.question-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.question-head b{color:var(--blue);font-size:18px}.qgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.paste-zone{border:2px dashed #b8c8da;border-radius:12px;padding:12px;text-align:center;color:#64748b;background:#f8fafc;cursor:pointer}.paste-zone.active{border-color:var(--blue);background:#edf5ff}.preview-img{display:block;max-width:100%;max-height:260px;border-radius:12px;margin:10px auto;border:1px solid var(--line)}
.exam-shell{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:18px}.exam-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}.exam-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}.timer{font-size:28px;font-weight:900;color:var(--danger)}.stimulus{white-space:pre-wrap;background:#f7f9fc;border:1px solid var(--line);border-radius:14px;padding:16px;margin:16px 0;line-height:1.55}.exam-image{display:block;max-width:100%;max-height:520px;margin:0 auto 16px;border-radius:14px;border:1px solid var(--line)}.qtext{font-size:20px;line-height:1.55;font-weight:750;white-space:pre-wrap;margin:14px 0}.option{display:block;width:100%;text-align:left;border:2px solid #e1e7ef;background:#fff;border-radius:12px;padding:13px 14px;margin:10px 0;cursor:pointer}.option.selected{border-color:var(--blue);background:#eef5ff}.number-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.num-btn{aspect-ratio:1;border:0;border-radius:9px;background:#edf2f7;color:#344054;font-weight:800;cursor:pointer}.num-btn.answered{background:#dff3e8;color:#0f7b45}.num-btn.current{outline:2px solid var(--blue);background:#eaf2ff}.num-btn.marked{background:#fff0b8;color:#805d00}.exam-nav{display:flex;gap:10px;margin-top:18px}.exam-nav .btn{flex:1}.sticky-box{position:sticky;top:92px}.score-big{font-size:54px;font-weight:900;color:var(--blue)}
.print-only{display:none}@media print{.topbar,.area-title,.sidebar,.actions,.btn,.footer,.no-print{display:none!important}.container{width:100%;margin:0}.card,.table-wrap{box-shadow:none;border:0}.print-only{display:block}.dashboard-layout{display:block}}
@media(max-width:900px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr}.dashboard-layout{grid-template-columns:1fr}.sidebar{position:static;display:grid;grid-template-columns:repeat(2,1fr)}.exam-shell{grid-template-columns:1fr}.sticky-box{position:static}.portal-grid{grid-template-columns:1fr}}
@media(max-width:620px){.topbar{padding:10px 12px}.brand small{display:none}.container{width:min(100% - 18px,1180px);margin:14px auto}.card{padding:16px}.grid-2,.grid-4,.qgrid{grid-template-columns:1fr}.inline{flex-direction:column;align-items:stretch}.sidebar{grid-template-columns:1fr 1fr}.exam-nav{flex-direction:column}.number-grid{grid-template-columns:repeat(6,1fr)}}
.exam-save-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}.exam-save-row .btn{padding:6px 9px}.offline-note{color:var(--danger);font-weight:700}


/* =========================================================
   AAIBS MODERN PRO DASHBOARD v3
   Desktop + iPad responsive. Does not alter student exam UI.
   ========================================================= */

.ui-icon{width:20px;height:20px;display:block;flex:0 0 auto}
.app-shell{background:#f5f8fc;color:#10233e;min-height:100vh}
.app-shell .area-title{display:none}

/* TOPBAR */
.app-topbar{
  position:fixed;z-index:120;left:260px;right:0;top:0;height:64px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:0 28px;background:rgba(255,255,255,.97);
  border-bottom:1px solid #e7edf5;box-shadow:0 2px 12px rgba(31,64,104,.04);
  backdrop-filter:blur(12px)
}
.app-topbar-left,.app-topbar-right{display:flex;align-items:center;gap:14px}
.topbar-icon,.notification-button{
  width:42px;height:42px;border:0;border-radius:12px;background:transparent;color:#0e4b92;
  display:grid;place-items:center;cursor:pointer;position:relative
}
.topbar-icon:hover,.notification-button:hover{background:#eef5ff}
.global-search{position:relative;width:min(440px,40vw)}
.global-search>input{
  height:42px;border:0;background:#f0f5fb;border-radius:22px;padding:0 42px;
  color:#243b58;box-shadow:none
}
.global-search>input:focus{box-shadow:0 0 0 3px rgba(47,128,237,.10);background:#fff}
.global-search .search-icon{position:absolute;left:15px;top:11px;color:#58799e;width:18px;height:18px}
.global-search-results{
  display:none;position:absolute;left:0;right:0;top:48px;background:#fff;border:1px solid #dce6f1;
  border-radius:15px;box-shadow:0 16px 38px rgba(29,61,99,.16);padding:7px;z-index:160
}
.global-search-results.open{display:block}
.global-search-results a{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:10px;color:#294664;font-weight:700;font-size:13px}
.global-search-results a:hover{background:#f2f7fd}
.notification-count{
  position:absolute;right:5px;top:4px;min-width:17px;height:17px;padding:0 4px;border-radius:10px;
  display:grid;place-items:center;background:#ee3f5b;color:#fff;font-size:10px;font-weight:900;border:2px solid #fff
}
.profile-avatar{
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#0e4387;color:#fff;
  font-weight:900;font-size:14px
}
.profile-copy{display:flex;flex-direction:column;line-height:1.25;min-width:135px}
.profile-copy b{font-size:13px;color:#10233e}.profile-copy span{font-size:11px;color:#6d7f95;margin-top:2px}
.profile-chevron{color:#184a85}.profile-chevron .ui-icon{width:16px;height:16px}

/* SIDEBAR */
.app-sidebar{
  position:fixed!important;left:0;top:0;bottom:0;z-index:140;width:260px!important;height:100vh!important;
  padding:20px 16px 18px!important;margin:0!important;border-radius:0!important;
  display:flex!important;flex-direction:column;background:
    radial-gradient(circle at 18% 92%,rgba(79,158,245,.22),transparent 26%),
    linear-gradient(180deg,#0c3c80 0%,#074d9b 54%,#0a3f82 100%)!important;
  color:#fff;box-shadow:10px 0 32px rgba(10,47,94,.08);overflow:auto
}
.sidebar-brand{display:flex;align-items:flex-start;gap:11px;padding:2px 4px 20px;margin-bottom:4px}
.sidebar-logo{
  width:54px;height:54px;border-radius:16px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);
  display:grid;place-items:center;font-size:20px;font-weight:900;letter-spacing:.04em;box-shadow:inset 0 1px 0 rgba(255,255,255,.15)
}
.sidebar-brand>div:last-child{display:flex;flex-direction:column}
.sidebar-brand strong{font-size:25px;line-height:1;color:#fff;letter-spacing:.04em}
.sidebar-brand span{font-size:15px;font-weight:900;letter-spacing:.05em;margin-top:4px;color:#fff}
.sidebar-brand small{font-size:8px;line-height:1.35;margin-top:7px;color:#dbe9fa;letter-spacing:.05em}
.sidebar-nav{display:flex;flex-direction:column;gap:6px;margin-top:5px}
.app-sidebar .sidebar-nav a{
  display:flex!important;align-items:center;gap:14px;padding:13px 15px!important;border-radius:12px!important;
  color:#eef6ff!important;font-size:14px;font-weight:800;background:transparent!important;transition:.18s ease
}
.app-sidebar .sidebar-nav a:hover{background:rgba(255,255,255,.10)!important;transform:translateX(2px)}
.app-sidebar .sidebar-nav a.active{
  background:linear-gradient(90deg,#1674e8,#1760c8)!important;color:#fff!important;
  box-shadow:0 8px 20px rgba(0,43,106,.20)
}
.nav-icon{width:24px;display:grid;place-items:center}.nav-icon .ui-icon{width:20px;height:20px}
.sidebar-spacer{flex:1;min-height:32px}
.sidebar-quote{padding:10px 16px 16px;color:#fff;position:relative}
.quote-mark{font-size:30px;line-height:1;color:#b8d9ff}.sidebar-quote p{font-size:15px;line-height:1.45;margin:2px 0 12px}.quote-line{display:block;width:28px;height:2px;background:#b8d9ff;border-radius:3px}
.sidebar-logout{
  display:flex!important;align-items:center;gap:12px;color:#eef6ff!important;padding:12px 14px!important;
  border-radius:12px!important;background:rgba(255,255,255,.07)!important;font-weight:800
}
.sidebar-logout:hover{background:rgba(255,255,255,.13)!important}
.sidebar-backdrop{display:none}

/* CONTENT SHELL */
.container.dashboard-layout{
  width:auto!important;max-width:none!important;margin:64px 0 0 260px!important;padding:24px 28px 12px!important;
  display:block!important;min-height:calc(100vh - 64px)!important
}
.dashboard-layout>main{min-width:0;width:100%;max-width:1500px;margin:0 auto}
.app-shell .flash{width:auto;max-width:1444px;margin:78px 28px -54px 288px;position:relative;z-index:20}
.app-footer{
  margin-left:260px;display:flex;justify-content:space-between;align-items:center;padding:18px 29px 26px;
  color:#6f8198;background:#f5f8fc;font-size:12px
}

/* Generic pages inside modern shell */
.dashboard-layout main>.card,.dashboard-layout main .card{border:1px solid #e0e8f1;box-shadow:0 8px 24px rgba(29,62,102,.05)}
.dashboard-layout .table-wrap{border-color:#dfe7f1}.dashboard-layout th{background:#f4f8fc;color:#526985}
.dashboard-layout .btn-primary{background:#1267ce}.dashboard-layout .btn-gold{background:#cba44f}

/* DASHBOARD HEADING */
.modern-dashboard-main{padding-bottom:10px}
.dashboard-welcome{
  min-height:88px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px
}
.dashboard-welcome h1{font-size:29px;line-height:1.15;margin:0;color:#10233e;font-weight:900}
.dashboard-welcome h1 span{color:#1670df}.dashboard-welcome p{font-size:16px;margin:7px 0 2px;color:#294866}
.dashboard-welcome small{font-size:12px;color:#637b96}.dashboard-welcome-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.dashboard-date{
  display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:13px;background:transparent;color:#173f70;min-width:230px
}
.date-icon{width:43px;height:43px;border-radius:12px;background:#e8f2ff;color:#1763ba;display:grid;place-items:center}.date-icon .ui-icon{width:20px;height:20px}
.dashboard-date>div{display:flex;flex-direction:column}.dashboard-date b{font-size:12px}.dashboard-date span{font-size:11px;margin-top:4px;color:#55708f}
.modern-action-btn{height:43px}.modern-action-btn .ui-icon{width:17px;height:17px}

/* METRICS */
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}
.metric-card{
  min-height:119px;border-radius:16px;border:1px solid #dfe8f4;padding:16px;display:flex;align-items:flex-start;gap:16px;
  box-shadow:0 8px 24px rgba(30,66,109,.05);overflow:hidden
}
.metric-card>div:last-child{display:flex;flex-direction:column;min-width:0}
.metric-card span:not(.metric-icon){font-size:13px;color:#254366;font-weight:800}
.metric-card b{font-size:29px;line-height:1;margin:11px 0 8px;color:#102f56}.metric-card small{font-size:11px;color:#637b96}
.metric-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;flex:0 0 auto}
.metric-icon .ui-icon{width:27px;height:27px;stroke-width:2}
.metric-icon.blue{background:#dfeeff;color:#126ce0}.metric-icon.green{background:#d9f6eb;color:#0aa665}
.metric-icon.purple{background:#eee4ff;color:#7a4de2}.metric-icon.yellow{background:#fff0ca;color:#f0a600}
.metric-icon.red{background:#ffe2e4;color:#ef3f4e}.metric-icon.cyan{background:#d9f5fb;color:#00a9c9}
.metric-icon.pink{background:#ffe0ec;color:#ed477b}
.tone-blue{background:linear-gradient(135deg,#fff,#f5faff)}.tone-green{background:linear-gradient(135deg,#fff,#f3fffb)}
.tone-purple{background:linear-gradient(135deg,#fff,#faf7ff)}.tone-yellow{background:linear-gradient(135deg,#fff,#fffaf0)}
.tone-red{background:linear-gradient(135deg,#fff,#fff6f6)}.tone-cyan{background:linear-gradient(135deg,#fff,#f3fdff)}
.tone-pink{background:linear-gradient(135deg,#fff,#fff6fa)}

/* PROMO CARD */
.promo-card{
  min-height:119px;border-radius:16px;overflow:hidden;position:relative;padding:18px 18px 16px;
  background:linear-gradient(135deg,#e9f5ff,#cfe6ff);display:flex;justify-content:space-between;gap:12px;border:1px solid #d5e7fb
}
.promo-card:before,.promo-card:after{content:"";position:absolute;border-radius:50%;background:rgba(72,145,232,.14)}
.promo-card:before{width:80px;height:80px;right:-20px;top:-24px}.promo-card:after{width:45px;height:45px;right:80px;bottom:-18px}
.promo-copy{display:flex;flex-direction:column;align-items:flex-start;z-index:2}.promo-copy b{font-size:18px;color:#123e73}.promo-copy span{font-size:11px;color:#345b85;margin-top:6px}
.promo-copy a{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#1670df;color:#fff;margin-top:15px}
.promo-copy a .ui-icon{width:15px;height:15px}.promo-visual{position:relative;z-index:2;color:#1557a2;display:grid;place-items:center;padding-right:8px}
.promo-visual>.ui-icon{width:64px;height:64px}.promo-cap{position:absolute;right:0;top:-3px;font-size:28px;transform:rotate(-10deg)}

/* ANALYTICS */
.analytics-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(310px,.9fr);gap:16px;margin:18px 0}
.dashboard-panel{
  background:#fff;border:1px solid #dfe7f1;border-radius:17px;box-shadow:0 8px 24px rgba(30,65,105,.05);padding:17px
}
.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}
.panel-title-row>div{display:flex;align-items:center;gap:10px}.panel-title-row h2{font-size:17px;margin:0;color:#163b66}
.panel-title-icon{color:#176fdf}.panel-title-icon .ui-icon{width:21px;height:21px}
.panel-filter{
  display:flex;align-items:center;gap:5px;padding:8px 10px;border:1px solid #d8e3ef;border-radius:10px;color:#466785;font-size:11px;font-weight:700
}
.panel-filter .ui-icon{width:12px;height:12px;transform:rotate(90deg)}
.chart-shell{height:210px;position:relative}.chart-shell canvas{width:100%;height:100%;display:block}
.chart-legend{display:flex;justify-content:center;gap:28px;font-size:11px;color:#4f6885;margin-top:8px}.chart-legend span{display:flex;align-items:center;gap:7px}
.dot{width:9px;height:9px;border-radius:50%;display:inline-block}.dot-blue{background:#2f80ed}.dot-green{background:#10b981}.dot-yellow{background:#f4b318}.dot-purple{background:#7a5af8}.dot-red{background:#ef4444}
.status-body{display:grid;grid-template-columns:165px 1fr;gap:18px;align-items:center;min-height:238px}
.donut-wrap{display:grid;place-items:center}.donut{width:145px;height:145px;border-radius:50%;position:relative}.donut:after{content:"";position:absolute;inset:27px;border-radius:50%;background:#fff}
.donut-hole{position:absolute;inset:0;z-index:2;display:grid;place-content:center;text-align:center}.donut-hole b{font-size:24px;color:#173c6b}.donut-hole span{font-size:11px;color:#61748b;font-weight:700}
.status-list{display:flex;flex-direction:column;gap:15px}.status-list>div{display:grid;grid-template-columns:1fr 28px 42px;gap:8px;align-items:center;font-size:11px;color:#34506e}
.status-list span{display:flex;align-items:center;gap:8px}.status-list b{font-size:12px;color:#15375e;text-align:right}.status-list em{font-style:normal;text-align:right;color:#5d7590}

/* ACTIVITY TABLE */
.activity-panel{padding:14px 16px 0}.see-all,.table-action{
  display:inline-flex;align-items:center;gap:6px;color:#1267ce;font-size:11px;font-weight:800
}
.see-all{background:#1267ce;color:#fff;padding:9px 13px;border-radius:9px}.see-all .ui-icon,.table-action .ui-icon{width:13px;height:13px}
.modern-table{border-radius:13px;border:1px solid #e0e8f1;margin-bottom:16px}.modern-table table{min-width:900px}
.modern-table th{padding:10px 12px;font-size:10px;background:#f3f7fc;color:#526a86}.modern-table td{padding:12px;font-size:11px}
.empty-state{min-height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#68809b;gap:5px}
.empty-state>.ui-icon{width:29px;height:29px;color:#4d94ed}.empty-state b{font-size:12px;color:#345577}.empty-state span{font-size:10px}
.guru-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.guru-recent-panel{margin-top:18px}

/* RESPONSIVE */
@media(max-width:1180px){
  .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .analytics-grid{grid-template-columns:1fr}
  .status-body{grid-template-columns:190px 1fr}
  .global-search{width:min(360px,35vw)}
}
@media(max-width:900px){
  .app-topbar{left:0;padding:0 14px}.profile-copy,.profile-chevron{display:none}.global-search{width:min(520px,62vw)}
  .app-sidebar{transform:translateX(-102%);transition:transform .24s ease}
  .app-shell.sidebar-open .app-sidebar{transform:translateX(0)}
  .sidebar-backdrop{position:fixed;inset:0;background:rgba(10,25,45,.45);border:0;z-index:130}
  .app-shell.sidebar-open .sidebar-backdrop{display:block}
  .container.dashboard-layout{margin-left:0!important;padding:20px 18px 10px!important}
  .app-footer{margin-left:0;padding:18px;gap:12px;flex-wrap:wrap}
  .app-shell .flash{margin:78px 18px -54px;width:auto}
}
@media(max-width:650px){
  .app-topbar{height:58px}.global-search{width:auto;flex:1}.app-topbar-left{flex:1}.app-topbar-right{gap:5px}.notification-button{width:36px;height:36px}.profile-avatar{width:36px;height:36px}
  .container.dashboard-layout{margin-top:58px!important;padding:16px 10px 8px!important}
  .dashboard-welcome{flex-direction:column;min-height:0}.dashboard-welcome h1{font-size:24px}.dashboard-welcome-actions{justify-content:flex-start}
  .dashboard-date{padding:6px 0;min-width:0}.metric-grid,.guru-metric-grid{grid-template-columns:1fr}.metric-card{min-height:104px}
  .status-body{grid-template-columns:1fr}.status-list{padding:0 12px}.chart-shell{height:185px}.app-footer{font-size:10px}
}


/* =========================================================
   AAIBS V4 SVG SAFETY GUARD
   Prevents inline UI icons from ever expanding to viewport size.
   ========================================================= */
svg.ui-icon,
svg.search-icon,
.app-topbar svg,
.app-sidebar svg,
.modern-dashboard-main svg,
.dashboard-layout svg{
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  min-height:20px !important;
  max-width:20px !important;
  max-height:20px !important;
  display:block !important;
  flex:0 0 20px !important;
  overflow:hidden !important;
}
.global-search svg.search-icon{
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  max-width:18px !important;
  max-height:18px !important;
}
.metric-icon svg{
  width:27px !important;
  height:27px !important;
  min-width:27px !important;
  min-height:27px !important;
  max-width:27px !important;
  max-height:27px !important;
}
.promo-visual > svg{
  width:64px !important;
  height:64px !important;
  min-width:64px !important;
  min-height:64px !important;
  max-width:64px !important;
  max-height:64px !important;
}


/* =========================================================
   AAIBS V5 - STANDALONE FORM / SCROLL HOTFIX
   Fixes paket_edit.php, guru_edit.php, siswa_edit.php, soal_edit.php
   being hidden behind the fixed topbar or unable to scroll.
   ========================================================= */

html{
  min-height:100%;
}

body.app-standalone-page{
  min-height:100vh !important;
  height:auto !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  background:#f5f8fc !important;
  -webkit-overflow-scrolling:touch;
}

/* Tidak ada sidebar pada halaman edit/form, jadi topbar memakai seluruh lebar. */
body.app-standalone-page .app-topbar{
  left:0 !important;
  right:0 !important;
  top:0 !important;
  position:fixed !important;
}

body.app-standalone-page .sidebar-toggle{
  display:none !important;
}

/* Form harus dimulai DI BAWAH fixed topbar. */
body.app-standalone-page > .container{
  width:min(900px,calc(100% - 32px)) !important;
  max-width:900px !important;
  margin:0 auto !important;
  padding-top:94px !important;
  padding-bottom:72px !important;
  min-height:calc(100vh - 64px) !important;
  overflow:visible !important;
}

body.app-standalone-page > .container.narrow{
  width:min(720px,calc(100% - 32px)) !important;
  max-width:720px !important;
}

/* Hindari card memotong dropdown, textarea, atau konten panjang. */
body.app-standalone-page > .container .card{
  overflow:visible !important;
  height:auto !important;
  max-height:none !important;
  margin:0 !important;
  border:1px solid #dfe7f1 !important;
  border-radius:18px !important;
  box-shadow:0 10px 30px rgba(29,62,102,.07) !important;
}

/* Footer normal dan tetap berada setelah isi halaman. */
body.app-standalone-page .app-footer,
body.app-standalone-page .footer{
  margin-left:0 !important;
  position:relative !important;
  width:100% !important;
  clear:both !important;
}

/* Flash message juga tidak boleh berada di balik topbar. */
body.app-standalone-page .flash{
  width:min(900px,calc(100% - 32px)) !important;
  max-width:900px !important;
  margin:80px auto -70px !important;
  position:relative !important;
  z-index:20 !important;
}

/* Form lebih nyaman di layar panjang. */
body.app-standalone-page form{
  overflow:visible !important;
}

body.app-standalone-page textarea{
  min-height:120px;
}

/* Tablet / iPad */
@media(max-width:900px){
  body.app-standalone-page .app-topbar{
    left:0 !important;
  }

  body.app-standalone-page > .container,
  body.app-standalone-page > .container.narrow{
    width:min(760px,calc(100% - 24px)) !important;
    padding-top:86px !important;
    padding-bottom:56px !important;
  }

  body.app-standalone-page .global-search{
    width:min(520px,64vw);
  }
}

/* Mobile */
@media(max-width:650px){
  body.app-standalone-page > .container,
  body.app-standalone-page > .container.narrow{
    width:calc(100% - 16px) !important;
    padding-top:74px !important;
    padding-bottom:40px !important;
  }

  body.app-standalone-page .app-topbar{
    height:58px !important;
  }

  body.app-standalone-page .global-search{
    width:auto;
  }

  body.app-standalone-page .card{
    padding:16px !important;
  }
}


/* =========================================================
   AAIBS V6 - GURU BUILDER PARITY
   Browser-local draft workflow inspired by the original GS portal.
   ========================================================= */

.guru-builder-pro{padding-bottom:56px}
.builder-stat-grid{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px
}
.builder-stat{
  background:#fff;border:1px solid #dfe7f1;border-radius:15px;padding:15px 16px;
  box-shadow:0 7px 22px rgba(29,62,102,.045)
}
.builder-stat span{display:block;color:#6b7f97;font-size:11px;font-weight:800}
.builder-stat b{display:block;margin-top:6px;font-size:25px;color:#143f79}
.builder-package-card{padding:18px!important}
.builder-package-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap}
.builder-package-top h1{font-size:21px;margin:13px 0 4px;color:#123d71}
.builder-package-top p{margin:0}
.builder-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.builder-admin-note{width:100%!important;margin:14px 0 0!important}
.builder-progress{height:9px;background:#e9eef5;border-radius:999px;overflow:hidden;margin:15px 0 7px}
.builder-progress>div{height:100%;width:0;background:linear-gradient(90deg,#0f8a55,#25b978);transition:width .2s ease}
.builder-local-status{
  margin-top:10px;padding:10px 12px;border-radius:10px;background:#f3f6fa;color:#587088;
  font-size:12px;border:1px solid #e4ebf3
}
.builder-navigator{
  display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:7px;margin-top:12px
}
.builder-nav-btn{
  height:36px;border:2px solid transparent;border-radius:9px;background:#eef2f6;color:#52677e;
  font-weight:800;cursor:pointer
}
.builder-nav-btn.current{border-color:#164d91;background:#eaf3ff;color:#164d91}
.builder-nav-btn.filled{background:#e4f7ec;color:#107345}
.builder-nav-btn.missing{background:#f1f4f8;color:#718399}

.builder-stimulus-card,.builder-question-card,.builder-summary-card{margin-top:16px}
.builder-stimulus-card h2,.builder-question-card h2,.builder-summary-card h2{margin-top:0}
.builder-pastebox{
  min-height:112px;border:2px dashed #9eb7d4;border-radius:12px;background:#fbfdff;padding:12px;
  display:flex;align-items:center;justify-content:center;text-align:center;color:#657a91;cursor:pointer;outline:none
}
.builder-pastebox>div{display:flex;flex-direction:column;align-items:center;gap:6px}
.builder-pastebox img{max-width:100%;max-height:230px;border-radius:9px;display:block}
.builder-pastebox span{font-size:12px}
.builder-pastebox.uploading{border-color:#d7a42d;background:#fff9e9}
.builder-pastebox.done{border-color:#24a06b;background:#f2fbf6}
.builder-pastebox.readonly{cursor:default}
.builder-stimulus-row{
  display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px;padding:10px 12px;
  border:1px solid #e1e8f0;border-radius:10px;background:#fff
}
.builder-stimulus-row>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.builder-stimulus-row span{font-size:10px;font-weight:800;color:#315f92;background:#eaf3ff;padding:4px 7px;border-radius:999px}

.builder-editor-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap}
.builder-editor-head h2{font-size:21px;margin:0 0 3px}
.builder-type-select{min-width:230px;margin:0}
.builder-active-stimulus{
  border:1.5px solid #9fc4ad;background:#f0fbf5;border-radius:12px;padding:14px;margin:14px 0
}
.builder-active-stimulus[hidden]{display:none!important}
#activeStimulusText{white-space:pre-wrap;margin-top:8px}
#activeStimulusImage{max-width:100%;max-height:260px;border-radius:9px;margin-top:10px}
.builder-image-section{
  border:1px solid #dfe7f1;border-radius:13px;background:#f8fbff;padding:14px;margin-top:12px
}
.builder-question-preview{max-width:100%;max-height:320px;border-radius:10px;margin:12px auto 0;display:block}
.builder-question-preview[hidden]{display:none!important}
.builder-question-actions{margin-top:14px}
.builder-summary-card .table-wrap{margin-top:10px}
.stimulus-image{margin-bottom:10px!important}

@media(max-width:1100px){
  .builder-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .builder-navigator{grid-template-columns:repeat(8,minmax(0,1fr))}
}
@media(max-width:820px){
  .builder-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .builder-navigator{grid-template-columns:repeat(5,minmax(0,1fr))}
  .builder-actions{justify-content:flex-start}
}
@media(max-width:520px){
  .builder-stat-grid{grid-template-columns:1fr}
  .builder-navigator{grid-template-columns:repeat(4,minmax(0,1fr))}
  .builder-actions .btn{width:100%}
  .builder-type-select{min-width:100%}
}


/* =========================================================
   AAIBS V7 - KIRIM KE ADMIN + IMPOR SOAL
   ========================================================= */

.package-actions{
  gap:7px;
  align-items:center;
  flex-wrap:wrap;
}
.package-actions form{margin:0}

body.modal-open{
  overflow:hidden!important;
}

.builder-modal[hidden]{
  display:none!important;
}
.builder-modal{
  position:fixed;
  inset:0;
  z-index:500;
  display:grid;
  place-items:center;
  padding:22px;
}
.builder-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(10,28,52,.55);
  backdrop-filter:blur(3px);
}
.builder-modal-card{
  position:relative;
  z-index:1;
  width:min(760px,96vw);
  max-height:min(820px,90vh);
  overflow:auto;
  background:#fff;
  border:1px solid #dfe7f0;
  border-radius:18px;
  padding:22px;
  box-shadow:0 28px 80px rgba(8,35,69,.28);
}
.builder-modal-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:15px;
}
.builder-modal-head h2{
  margin:0 0 4px;
  color:#123e72;
}
.builder-modal-head p{margin:0}
.builder-modal-close{
  width:38px;
  height:38px;
  border:0;
  border-radius:10px;
  background:#eef3f8;
  color:#254a74;
  font-size:27px;
  line-height:1;
  cursor:pointer;
}
.builder-import-divider{
  display:flex;
  align-items:center;
  gap:12px;
  color:#8a9aae;
  font-size:11px;
  font-weight:800;
  margin:12px 0;
}
.builder-import-divider:before,
.builder-import-divider:after{
  content:"";
  height:1px;
  background:#e1e8f0;
  flex:1;
}
.builder-import-text{
  min-height:260px!important;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:13px;
}
.builder-import-format{
  margin-top:12px;
  border:1px solid #dfe7ef;
  border-radius:12px;
  background:#f8fbff;
  padding:10px 12px;
}
.builder-import-format summary{
  cursor:pointer;
  font-weight:800;
  color:#285786;
}
.builder-import-format pre{
  white-space:pre-wrap;
  margin:12px 0 0;
  padding:12px;
  border-radius:10px;
  background:#12233c;
  color:#eaf2fc;
  font-size:12px;
  line-height:1.55;
  overflow:auto;
}
.builder-modal-actions{
  margin-top:15px;
}
.builder-import-warnings{
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid #e0e7ef;
  color:#8a5b00;
  font-size:11px;
  line-height:1.55;
}

@media(max-width:720px){
  .builder-modal{padding:10px}
  .builder-modal-card{
    width:100%;
    max-height:94vh;
    padding:16px;
  }
  .builder-import-text{
    min-height:220px!important;
  }
}


/* =========================================================
   AAIBS V8 - STUDENT ACCOUNT LOGIN
   ========================================================= */
.student-login-card{
  max-width:620px;
  margin:0 auto;
}
.student-profile-box{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
}
.student-profile-label{
  display:inline-block;
  padding:5px 9px;
  border-radius:999px;
  background:#e8f2ff;
  color:#155da8;
  font-size:11px;
  font-weight:800;
}
.student-empty-exam{
  border:1px dashed #b8c8da;
  border-radius:14px;
  padding:24px;
  text-align:center;
  background:#f8fbff;
  color:#5f748c;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.student-empty-exam b{
  color:#244e7a;
}
.student-exam-list{
  display:grid;
  gap:9px;
  margin-top:17px;
}
.student-exam-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:12px 14px;
  border:1px solid #e0e7ef;
  border-radius:11px;
  background:#f9fbfd;
}
.student-exam-item>div:first-child{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.student-exam-item b{
  color:#164d8c;
}
.student-exam-item span{
  font-size:12px;
  color:#62788f;
}

@media(max-width:650px){
  .student-profile-box,
  .student-exam-item{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* === AAIBS PREMIUM CAMPUS THEME V9 START === */

/* =========================================================
   AAIBS PREMIUM CAMPUS THEME V9
   Uses school assets supplied by AAIBS.
   ========================================================= */

:root{
  --aaibs-navy:#07346f;
  --aaibs-navy-2:#0b4f9c;
  --aaibs-blue:#1671e6;
  --aaibs-blue-soft:#eaf3ff;
  --aaibs-gold:#c9a34b;
  --aaibs-gold-2:#e0bd68;
  --aaibs-ink:#10233f;
  --aaibs-muted:#6d7f95;
  --aaibs-surface:#ffffff;
  --aaibs-bg:#f4f8fc;
  --aaibs-line:#dfe8f2;
  --aaibs-shadow:0 14px 36px rgba(17,54,96,.08);
}

body{
  background:
    radial-gradient(circle at 88% 8%,rgba(29,113,229,.06),transparent 22%),
    var(--aaibs-bg);
  color:var(--aaibs-ink);
}

.card,
.dashboard-panel,
.metric-card,
.student-exam-item{
  box-shadow:var(--aaibs-shadow);
}

.btn{
  font-weight:800;
  border-radius:11px;
}
.btn-primary{
  background:linear-gradient(135deg,var(--aaibs-blue),#0d59bb)!important;
  border-color:transparent!important;
}
.btn-gold{
  background:linear-gradient(135deg,var(--aaibs-gold),#b98928)!important;
  border-color:transparent!important;
}

/* ---------- shared branding ---------- */
.brand-mark,
.sidebar-logo{
  color:transparent!important;
  background:
    rgba(255,255,255,.97)
    url('/ujian/assets/img/logo-aaibs.png') center/82% no-repeat!important;
  border:1px solid rgba(255,255,255,.35)!important;
  box-shadow:0 8px 20px rgba(0,28,71,.14)!important;
}

.brand b{
  color:var(--aaibs-navy)!important;
  letter-spacing:.01em;
}
.brand small{
  color:#627991!important;
}

.app-sidebar{
  background:
    linear-gradient(180deg,rgba(5,43,95,.97),rgba(7,75,151,.97)),
    url('/ujian/assets/img/gedung-aaibs-cutout.png') bottom center/118% auto no-repeat!important;
}
.app-sidebar:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:40%;
  pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(2,32,72,.78));
  z-index:-1;
}
.sidebar-brand small{
  color:#cfe0f5!important;
}
.app-sidebar .sidebar-nav a.active{
  background:linear-gradient(90deg,#1b79ed,#155fc4)!important;
  box-shadow:0 10px 24px rgba(0,32,87,.26)!important;
}
.sidebar-quote{
  background:rgba(2,34,78,.28);
  border:1px solid rgba(255,255,255,.09);
  border-radius:16px;
  backdrop-filter:blur(4px);
}

/* ---------- top bar ---------- */
.app-topbar{
  background:rgba(255,255,255,.94)!important;
  border-bottom:1px solid rgba(219,230,242,.9)!important;
  box-shadow:0 8px 26px rgba(26,66,109,.06)!important;
}
.global-search>input{
  background:#f1f6fc!important;
}
.profile-avatar{
  background:linear-gradient(135deg,var(--aaibs-navy),var(--aaibs-blue))!important;
  box-shadow:0 7px 18px rgba(17,83,159,.22);
}

/* ---------- admin/guru dashboard ---------- */
.dashboard-welcome{
  background:
    linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.88)),
    url('/ujian/assets/img/gedung-aaibs-wide.png') center 52%/cover no-repeat;
  border:1px solid var(--aaibs-line);
  border-radius:20px;
  padding:22px 24px;
  box-shadow:var(--aaibs-shadow);
}
.dashboard-welcome h1{
  color:var(--aaibs-navy)!important;
}
.dashboard-welcome h1 span{
  color:var(--aaibs-blue)!important;
}
.metric-card{
  border:1px solid #e0e9f4!important;
  border-radius:18px!important;
  background:#fff!important;
}
.dashboard-panel{
  border-radius:19px!important;
  border:1px solid #e0e9f3!important;
}
.panel-title-row h2{
  color:#123c6f!important;
}

/* ---------- STUDENT LOGIN: professional split hero ---------- */
body:has(.student-login-card){
  min-height:100vh;
  background:
    linear-gradient(90deg,rgba(3,40,89,.92) 0%,rgba(6,69,139,.78) 43%,rgba(8,52,103,.20) 58%,rgba(245,248,252,.10) 100%),
    url('/ujian/assets/img/gedung-aaibs-wide.png') center/cover fixed no-repeat!important;
}
body:has(.student-login-card)>.topbar,
body:has(.student-login-card)>.area-title,
body:has(.student-login-card)>.footer{
  display:none!important;
}
body:has(.student-login-card)>.container.narrow{
  width:min(1260px,calc(100% - 44px))!important;
  max-width:1260px!important;
  min-height:100vh;
  margin:0 auto!important;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  position:relative;
  padding:50px 0!important;
}
body:has(.student-login-card)>.container.narrow:before{
  content:"AAIBS ONLINE EXAM\A Al-Azhar Asy-Syarif Islamic Boarding School\A Sumatera Utara\A\A Membangun Generasi Qur'ani,\A Berilmu dan Berakhlak Mulia";
  white-space:pre-line;
  position:absolute;
  left:30px;
  top:50%;
  transform:translateY(-50%);
  width:min(430px,42vw);
  padding-top:122px;
  color:#fff;
  font-size:19px;
  line-height:1.55;
  font-weight:700;
  text-shadow:0 2px 18px rgba(0,32,72,.30);
  background:url('/ujian/assets/img/logo-aaibs.png') top left/98px 98px no-repeat;
}
.student-login-card{
  width:min(500px,46vw)!important;
  max-width:500px!important;
  margin:0!important;
  padding:34px!important;
  border-radius:24px!important;
  border:1px solid rgba(255,255,255,.75)!important;
  background:rgba(255,255,255,.96)!important;
  backdrop-filter:blur(14px);
  box-shadow:0 28px 70px rgba(1,36,80,.26)!important;
}
.student-login-card h1{
  font-size:31px;
  color:var(--aaibs-navy)!important;
  margin-bottom:8px!important;
}
.student-login-card .muted{
  line-height:1.55;
}
.student-login-card input{
  height:50px!important;
  border-radius:12px!important;
  background:#f8fbff!important;
}
.student-login-card .btn-block{
  min-height:50px;
  margin-top:5px;
  box-shadow:0 10px 25px rgba(17,93,187,.20);
}

/* ---------- logged-in student portal ---------- */
body:has(.student-profile-box){
  background:#f4f8fc!important;
}
body:has(.student-profile-box) .area-title{
  background:linear-gradient(90deg,var(--aaibs-navy),var(--aaibs-blue))!important;
}
body:has(.student-profile-box)>.container.narrow{
  width:min(1180px,calc(100% - 30px))!important;
  max-width:1180px!important;
}
.student-profile-box{
  min-height:180px;
  align-items:flex-end!important;
  padding:26px!important;
  border-radius:18px;
  color:#fff;
  background:
    linear-gradient(90deg,rgba(4,47,103,.93),rgba(5,78,153,.60),rgba(5,66,129,.28)),
    url('/ujian/assets/img/gedung-aaibs-wide.png') center 46%/cover no-repeat;
}
.student-profile-box h1,
.student-profile-box .muted,
.student-profile-box b{
  color:#fff!important;
}
.student-profile-label{
  background:rgba(255,255,255,.17)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.25);
}
.student-profile-box .btn{
  background:#fff!important;
  color:var(--aaibs-navy)!important;
}
.student-exam-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.student-exam-item{
  border-radius:15px!important;
  background:#fff!important;
  border:1px solid #e1e9f2!important;
  padding:16px!important;
}
.student-exam-item b{
  color:var(--aaibs-navy)!important;
}

/* ---------- exam experience ---------- */
.exam-shell{
  width:min(1440px,100%);
  margin:0 auto;
  grid-template-columns:minmax(0,1fr) 290px!important;
}
.exam-card{
  border-radius:20px!important;
  border:1px solid #e0e8f2!important;
  box-shadow:var(--aaibs-shadow)!important;
}
.exam-top{
  padding-bottom:12px;
  border-bottom:1px solid #edf1f6;
}
.timer{
  color:#d43b3b!important;
  background:#fff2f2;
  border:1px solid #ffd8d8;
  padding:9px 13px;
  border-radius:12px;
  font-size:22px!important;
}
.qtext{
  color:#173452!important;
}
.option{
  border:1.5px solid #dbe5ef!important;
  border-radius:13px!important;
  transition:.16s ease;
}
.option:hover{
  border-color:#8cb9ef!important;
  background:#f5faff!important;
}
.option.selected{
  border-color:#2275d7!important;
  background:#eaf4ff!important;
  box-shadow:0 0 0 3px rgba(34,117,215,.08);
}
.num-btn{
  border-radius:9px!important;
}
.sticky-box{
  border-top:5px solid var(--aaibs-navy)!important;
}
.exam-image{
  box-shadow:0 8px 24px rgba(18,53,92,.08);
}

/* ---------- result page ---------- */
.score-big{
  color:var(--aaibs-navy)!important;
}
body:has(.score-big) .card{
  position:relative;
  overflow:hidden;
}
body:has(.score-big) .card:before{
  content:"✓";
  width:70px;
  height:70px;
  margin:0 auto 12px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#e2f8ec;
  color:#10a15a;
  font-size:38px;
  font-weight:900;
}

/* ---------- general premium finish ---------- */
.table-wrap{
  border-radius:14px!important;
}
table th{
  letter-spacing:.035em;
}
input,select,textarea{
  border-color:#ccd9e7!important;
}
input:focus,select:focus,textarea:focus{
  border-color:#4b92e5!important;
  box-shadow:0 0 0 3px rgba(75,146,229,.10)!important;
}

@media(max-width:900px){
  body:has(.student-login-card)>.container.narrow{
    justify-content:center;
    padding:28px 0!important;
  }
  body:has(.student-login-card)>.container.narrow:before{
    display:none;
  }
  .student-login-card{
    width:min(520px,94vw)!important;
  }
  .student-exam-list{
    grid-template-columns:1fr;
  }
  .exam-shell{
    grid-template-columns:1fr!important;
  }
}

/* === AAIBS PREMIUM CAMPUS THEME V9 END === */

/* AAIBS_FONT_V13_START */
:root{
  --aaibs-font-main:'Plus Jakarta Sans',Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

html,
body,
button,
input,
select,
textarea,
table{
  font-family:var(--aaibs-font-main)!important;
}

body{
  font-size:14px;
  line-height:1.55;
  font-weight:400;
  letter-spacing:-0.005em;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

h1,h2,h3,h4,h5,h6,
.dashboard-welcome h1,
.sidebar-brand strong,
.topbar-title{
  font-family:var(--aaibs-font-main)!important;
  font-weight:800;
  letter-spacing:-0.028em;
}

h1{font-size:30px;line-height:1.15}
h2{font-size:22px;line-height:1.2}
h3{font-size:18px;line-height:1.25}

.btn,
.sidebar-nav a,
.nav-link,
label,
.badge,
.tab,
.menu-item{
  font-family:var(--aaibs-font-main)!important;
  font-weight:600;
  letter-spacing:-0.01em;
}

button,.btn{font-weight:700}

input,select,textarea{
  font-weight:500;
  letter-spacing:-0.008em;
}

table{
  font-size:13px;
  letter-spacing:-0.006em;
}

th{font-weight:700!important}
td{font-weight:450}

.small,
.muted,
.help,
.form-text{
  font-family:var(--aaibs-font-main)!important;
  letter-spacing:-0.003em;
}

.sidebar-brand,
.sidebar-brand strong,
.brand-title{
  letter-spacing:-0.02em;
}

@media(max-width:768px){
  h1{font-size:25px}
  h2{font-size:20px}
  body{font-size:14px}
}
/* AAIBS_FONT_V13_END */

/* AAIBS_THEME_FORCE_V14_3_START */
:root{
  --aaibs-primary: #1E9091;
  --aaibs-primary-dark: #187374;
  --aaibs-primary-darker: #145E5E;
  --aaibs-primary-mid: #56ACAD;
  --aaibs-primary-soft: #E9F4F4;
  --aaibs-primary-soft-2: #F4F9FA;
  --aaibs-primary-rgb: 30, 144, 145;
}

body .student-login-hero::before,
body .student-login-hero:before,
body .login-hero::before,
body .login-hero:before,
body .login-visual::before,
body .login-visual:before,
body .login-side::before,
body .login-side:before,
body .login-left::before,
body .login-left:before{
  background:linear-gradient(
    90deg,
    rgba(var(--aaibs-primary-rgb),.91) 0%,
    rgba(var(--aaibs-primary-rgb),.76) 55%,
    rgba(var(--aaibs-primary-rgb),.45) 100%
  )!important;
}

body .login-card h1,
body .student-login-card h1,
body .login-card h2,
body .topbar-title,
body main .card h1,
body main .card h2,
body main .card h3{
  color:var(--aaibs-primary-dark)!important;
}

body .login-card button,
body .login-card .btn-primary,
body .student-login-card .btn-primary,
body .student-login-card button,
body .login-card button[type="submit"],
body .btn-primary,
body button.btn-primary,
body input[type="submit"].btn-primary,
body .actions .btn-primary{
  background:linear-gradient(
    135deg,
    var(--aaibs-primary),
    var(--aaibs-primary-dark)
  )!important;
  border-color:var(--aaibs-primary)!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(var(--aaibs-primary-rgb),.18)!important;
}

body .sidebar,
body .admin-sidebar,
body .dashboard-sidebar,
body aside.sidebar{
  background:linear-gradient(
    180deg,
    var(--aaibs-primary-darker) 0%,
    var(--aaibs-primary-dark) 48%,
    var(--aaibs-primary) 100%
  )!important;
}

body .sidebar-nav a.active,
body .sidebar a.active,
body .admin-sidebar a.active,
body .dashboard-sidebar a.active{
  background:rgba(255,255,255,.17)!important;
  color:#fff!important;
}

body .btn-outline,
body .btn-outline-primary{
  color:var(--aaibs-primary)!important;
  border-color:rgba(var(--aaibs-primary-rgb),.42)!important;
}

body input:focus,
body select:focus,
body textarea:focus{
  border-color:var(--aaibs-primary)!important;
  box-shadow:0 0 0 3px rgba(var(--aaibs-primary-rgb),.14)!important;
}

body .tab.active,
body .tabs a.active,
body .nav-tabs a.active,
body .pill.active,
body .filter-chip.active,
body .question-nav button.active,
body .navigator button.active,
body .nomor-soal.active,
body .question-number.active{
  background:var(--aaibs-primary)!important;
  border-color:var(--aaibs-primary)!important;
  color:#fff!important;
}

body .exam-progress > span,
body .progress > span,
body .progress-bar,
body .title-band,
body .hero-bar,
body .section-title-bar,
body .page-hero{
  background:linear-gradient(
    90deg,
    var(--aaibs-primary-dark),
    var(--aaibs-primary)
  )!important;
}
/* AAIBS_THEME_FORCE_V14_3_END */




/* PADY_EXAM_BRANDING_V1_START */
.sidebar-brand{
  gap:12px!important;
}
.sidebar-logo.pady-sidebar-logo{
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  display:grid!important;
  place-items:center!important;
  padding:5px!important;
  overflow:hidden!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 9px 22px rgba(0,0,0,.13)!important;
}
.sidebar-logo.pady-sidebar-logo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  border-radius:10px!important;
}
.sidebar-brand>div:last-child>strong{
  display:block!important;
  color:#fff!important;
  font-size:19px!important;
  line-height:1!important;
  letter-spacing:.02em!important;
}
.sidebar-brand>div:last-child>span{
  display:block!important;
  margin-top:5px!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.1!important;
}
.sidebar-brand>div:last-child>small{
  display:block!important;
  margin-top:7px!important;
  color:rgba(255,255,255,.72)!important;
  font-size:7.5px!important;
  line-height:1.35!important;
  font-weight:800!important;
  letter-spacing:.02em!important;
}
/* PADY_EXAM_BRANDING_V1_END */

/* AAIBS_THEME_PREMIUM_COMPAT_V14_4_START */
:root{
  --aaibs-navy: #0F6E81!important;
  --aaibs-navy-2: #12869D!important;
  --aaibs-blue: #17A7C4!important;
  --aaibs-blue-soft: #E8F6F9!important;
  --aaibs-primary: #17A7C4;
  --aaibs-primary-dark: #12869D;
  --aaibs-primary-darker: #0F6E81;
  --aaibs-primary-rgb: 23, 167, 196;
}

body{
  background:
    radial-gradient(circle at 88% 8%,rgba(23,167,196,.06),transparent 22%),
    var(--aaibs-bg)!important;
}

.btn-primary{
  background:linear-gradient(135deg,#17A7C4,#12869D)!important;
  border-color:transparent!important;
  box-shadow:0 10px 25px rgba(23,167,196,.20)!important;
}

.app-sidebar{
  background:
    linear-gradient(
      180deg,
      rgba(23,167,196,.96),
      rgba(23,167,196,.82)
    ),
    url('/ujian/assets/img/gedung-aaibs-cutout.png')
      bottom center/118% auto no-repeat!important;
}

.app-sidebar:after{
  background:linear-gradient(
    180deg,
    transparent,
    rgba(23,167,196,.72)
  )!important;
}

.app-sidebar .sidebar-nav a.active{
  background:linear-gradient(90deg,#17A7C4,#12869D)!important;
  box-shadow:0 10px 24px rgba(23,167,196,.25)!important;
}

.profile-avatar{
  background:linear-gradient(135deg,#0F6E81,#17A7C4)!important;
}

.dashboard-welcome h1{
  color:#0F6E81!important;
}

.dashboard-welcome h1 span{
  color:#17A7C4!important;
}

.panel-title-row h2{
  color:#0F6E81!important;
}

body:has(.student-login-card){
  min-height:100vh;
  background:
    linear-gradient(
      90deg,
      rgba(23,167,196,.94) 0%,
      rgba(23,167,196,.82) 43%,
      rgba(23,167,196,.24) 58%,
      rgba(245,248,252,.10) 100%
    ),
    url('/ujian/assets/img/gedung-aaibs-wide.png')
      center/cover fixed no-repeat!important;
}

body:has(.student-login-card)>.container.narrow:before{
  text-shadow:0 2px 18px rgba(23,167,196,.34)!important;
}

.student-login-card{
  box-shadow:0 28px 70px rgba(23,167,196,.24)!important;
}

.student-login-card h1{
  color:#0F6E81!important;
}

.student-login-card input:focus{
  border-color:#17A7C4!important;
  box-shadow:0 0 0 3px rgba(23,167,196,.12)!important;
}

.student-login-card .btn-block{
  background:linear-gradient(135deg,#17A7C4,#12869D)!important;
  box-shadow:0 10px 25px rgba(23,167,196,.22)!important;
}

body:has(.student-profile-box) .area-title{
  background:linear-gradient(90deg,#0F6E81,#17A7C4)!important;
}

.student-profile-box{
  background:
    linear-gradient(
      90deg,
      rgba(23,167,196,.94),
      rgba(23,167,196,.65),
      rgba(23,167,196,.30)
    ),
    url('/ujian/assets/img/gedung-aaibs-wide.png')
      center 46%/cover no-repeat!important;
}

.student-profile-box .btn{
  color:#0F6E81!important;
}

input:focus,
select:focus,
textarea:focus{
  border-color:#7FCFDF!important;
  box-shadow:0 0 0 3px rgba(23,167,196,.10)!important;
}

.choice input:checked + label,
.option input:checked + label,
.answer-option input:checked + label{
  border-color:#17A7C4!important;
  background:#E8F6F9!important;
  box-shadow:0 0 0 3px rgba(23,167,196,.08)!important;
}

.exam-card,
.question-card{
  border-top-color:#0F6E81!important;
}

.exam-card h2,
.question-card h2{
  color:#0F6E81!important;
}

.question-nav button.active,
.navigator button.active,
.nomor-soal.active,
.question-number.active{
  background:#17A7C4!important;
  border-color:#17A7C4!important;
  color:#fff!important;
}
/* AAIBS_THEME_PREMIUM_COMPAT_V14_4_END */
