
/* ============================================================
   CorExam ULTRA — Corebit Global Product UI
   Design direction: adaptive, premium, accessible, motion-aware
   Inspired by modern adaptive design systems and WCAG 2.2.
   ============================================================ */

:root{
  --cx-bg:#f5faf9;
  --cx-surface:#ffffff;
  --cx-surface-2:#f8fcfb;
  --cx-ink:#102f2c;
  --cx-muted:#657b78;
  --cx-line:rgba(16,73,68,.105);
  --cx-brand:#00a896;
  --cx-brand-2:#0bbda8;
  --cx-brand-dark:#007d71;
  --cx-blue:#3b82f6;
  --cx-violet:#7c5cff;
  --cx-success:#16a37e;
  --cx-warning:#e29a20;
  --cx-danger:#d94b63;
  --cx-radius-sm:10px;
  --cx-radius-md:16px;
  --cx-radius-lg:22px;
  --cx-radius-xl:30px;
  --cx-shadow-sm:0 5px 22px rgba(16,73,68,.055);
  --cx-shadow-md:0 16px 50px rgba(16,73,68,.09);
  --cx-shadow-lg:0 28px 90px rgba(16,73,68,.14);
  --cx-ease:cubic-bezier(.2,.8,.2,1);
}

:root[data-theme="dark"]{
  --cx-bg:#07141b;
  --cx-surface:#0d1d25;
  --cx-surface-2:#10232d;
  --cx-ink:#effffc;
  --cx-muted:#9bb4b0;
  --cx-line:rgba(210,255,249,.105);
  --cx-brand:#20cbb4;
  --cx-brand-2:#53e0cc;
  --cx-brand-dark:#67ead8;
  --cx-shadow-sm:0 5px 25px rgba(0,0,0,.18);
  --cx-shadow-md:0 18px 55px rgba(0,0,0,.25);
  --cx-shadow-lg:0 30px 100px rgba(0,0,0,.35);
}

html{scroll-padding-top:88px}
body{
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  background:
    radial-gradient(900px 500px at 4% -8%,rgba(0,168,150,.105),transparent 62%),
    radial-gradient(800px 520px at 98% 6%,rgba(124,92,255,.055),transparent 60%),
    var(--cx-bg);
}
body:after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background-image:radial-gradient(rgba(0,168,150,.09) .65px,transparent .65px);
  background-size:28px 28px;
  opacity:.18;
  mask-image:linear-gradient(to bottom,black,transparent 80%);
}

::selection{background:rgba(0,168,150,.20);color:inherit}
:focus-visible{
  outline:3px solid rgba(0,168,150,.38)!important;
  outline-offset:3px!important;
}

/* Premium scrollbar */
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,rgba(0,168,150,.45),rgba(0,168,150,.20));
  border:3px solid transparent;
  background-clip:padding-box;
  border-radius:99px;
}
::-webkit-scrollbar-thumb:hover{background-color:rgba(0,168,150,.45)}

/* Topbar */
.topbar{
  height:78px!important;
  padding-inline:clamp(14px,2.3vw,34px)!important;
  background:color-mix(in srgb,var(--cx-surface) 88%,transparent)!important;
  backdrop-filter:blur(24px) saturate(150%)!important;
  -webkit-backdrop-filter:blur(24px) saturate(150%)!important;
  box-shadow:0 1px 0 var(--cx-line),0 10px 40px rgba(16,73,68,.035);
}
.brand-lockup{gap:11px}
.corebit-mark{
  width:34px;height:34px;border-radius:11px;
  background:linear-gradient(145deg,#00b8a4,#007f73);
  box-shadow:0 9px 25px rgba(0,168,150,.22);
}
.brand-name{font-size:16px!important}
.corebit-badge{letter-spacing:.03em}
.top-right{gap:8px!important}
.top-right>.btn,.top-right>.live-presence,.top-right>.user-chip{
  min-height:42px;
  border-radius:13px!important;
}
.top-right>.btn{
  box-shadow:var(--cx-shadow-sm);
  transition:transform .22s var(--cx-ease),box-shadow .22s var(--cx-ease),border-color .22s ease;
}
.top-right>.btn:hover{transform:translateY(-2px);box-shadow:var(--cx-shadow-md)}
.user-chip{padding:4px 7px!important}
.user-chip .avatar{width:34px;height:34px;border-radius:10px}

/* Sidebar */
.sidebar{
  width:258px;
  padding:18px 12px!important;
  background:color-mix(in srgb,var(--cx-surface) 94%,transparent)!important;
  backdrop-filter:blur(18px) saturate(140%)!important;
  box-shadow:12px 0 50px rgba(16,73,68,.035);
}
.layout{grid-template-columns:258px minmax(0,1fr)!important}
.nav-title{
  padding:12px 11px 8px!important;
  text-transform:none;
  letter-spacing:.02em;
  font-weight:800;
}
.nav-item{
  position:relative;
  min-height:44px;
  border-radius:14px!important;
  margin:3px 0!important;
  padding:10px 11px!important;
  overflow:hidden;
  transition:transform .22s var(--cx-ease),background .22s ease,color .22s ease,box-shadow .22s ease;
}
.nav-item:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,168,150,.12),transparent);
  opacity:0;
  transition:opacity .22s ease;
}
.nav-item:hover{transform:translateX(-2px)}
.nav-item:hover:before,.nav-item.active:before{opacity:1}
.nav-item.active{
  box-shadow:inset -3px 0 var(--cx-brand),0 6px 20px rgba(0,168,150,.06)!important;
}
.nav-icon{
  position:relative;
  z-index:1;
  width:28px!important;
  height:28px;
  display:grid!important;
  place-items:center;
  border-radius:9px;
  background:rgba(0,168,150,.07);
  color:var(--cx-brand-dark)!important;
  flex:0 0 28px;
}
.nav-icon svg{width:16px;height:16px;stroke-width:2.2}
.nav-label{position:relative;z-index:1}

/* Content */
.content{
  max-width:1720px!important;
  padding:clamp(20px,3vw,42px)!important;
}
.page-head{margin-bottom:26px!important}
.page-head h1{
  font-size:clamp(25px,2.4vw,38px)!important;
  letter-spacing:-1px!important;
}
.page-head:after{
  content:"";
  display:block;
  width:42px;height:4px;
  margin-top:13px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--cx-brand),var(--cx-violet));
}

/* Cards */
.card,.school-card,.exam-card,.user-card,.stat{
  border-radius:var(--cx-radius-lg)!important;
  box-shadow:var(--cx-shadow-sm)!important;
  transition:transform .28s var(--cx-ease),box-shadow .28s var(--cx-ease),border-color .28s ease!important;
}
.card:hover,.school-card:hover,.exam-card:hover,.user-card:hover,.stat:hover{
  transform:translateY(-3px);
  box-shadow:var(--cx-shadow-md)!important;
}
.stat{
  min-height:142px;
  isolation:isolate;
}
.stat:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(135deg,rgba(0,168,150,.055),transparent 45%,rgba(124,92,255,.025));
  pointer-events:none;
}
.stats{gap:16px!important}
.grid-2,.grid-3{gap:18px!important}
.section{margin-top:20px!important}

/* Buttons */
.btn{
  min-height:40px;
  border-radius:12px!important;
  transition:transform .2s var(--cx-ease),box-shadow .2s var(--cx-ease),background .2s ease,border-color .2s ease!important;
}
.btn:active{transform:translateY(1px) scale(.985)!important}
.btn-primary{
  background:linear-gradient(135deg,#00a896,#08bda9)!important;
  box-shadow:0 10px 28px rgba(0,168,150,.18)!important;
}
.btn-primary:hover{box-shadow:0 14px 38px rgba(0,168,150,.27)!important}

/* Inputs */
.input{
  min-height:44px;
  border-radius:13px!important;
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease!important;
}
.input:hover{border-color:rgba(0,168,150,.28)!important}
.input:focus{transform:translateY(-1px)}

/* Tables */
.table-wrap{
  border:1px solid var(--cx-line);
  border-radius:20px;
  box-shadow:var(--cx-shadow-sm);
}
.table{overflow:hidden}
.table th{
  background:rgba(0,168,150,.035);
  font-weight:800;
}
.table tbody tr{transition:background .18s ease,transform .18s ease}
.table tbody tr:hover td{background:rgba(0,168,150,.035)!important}

/* Badges */
.badge{font-weight:800!important;letter-spacing:.01em}

/* Modal */
.modal{animation:cxOverlayIn .22s ease both}
.modal-card{
  border-radius:26px!important;
  box-shadow:var(--cx-shadow-lg)!important;
  animation:cxModalIn .32s var(--cx-ease) both!important;
}
@keyframes cxOverlayIn{from{opacity:0}to{opacity:1}}
@keyframes cxModalIn{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}

/* Login — cinematic but restrained */
.login-visual{
  isolation:isolate;
  background:
    radial-gradient(600px 450px at 80% 18%,rgba(124,92,255,.28),transparent 65%),
    radial-gradient(520px 400px at 10% 90%,rgba(0,255,220,.20),transparent 65%),
    linear-gradient(145deg,#006e65,#00a896 52%,#117b8a)!important;
}
.login-visual:before,.login-visual:after{filter:blur(2px)}
.login-visual h1{letter-spacing:-2.5px}
.login-card{
  border-radius:28px!important;
  box-shadow:var(--cx-shadow-lg)!important;
}
.login-card .btn-primary{min-height:48px;font-size:13px}

/* Motion / page transitions */
#content.cx-page-enter{animation:cxPageIn .38s var(--cx-ease) both}
@keyframes cxPageIn{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:none}
}
.cx-reveal{
  opacity:0;
  transform:translateY(8px);
  animation:cxReveal .55s var(--cx-ease) forwards;
}
@keyframes cxReveal{to{opacity:1;transform:none}}
.cx-reveal:nth-child(2){animation-delay:.035s}
.cx-reveal:nth-child(3){animation-delay:.07s}
.cx-reveal:nth-child(4){animation-delay:.105s}

/* Ambient premium glow */
.cx-ambient{
  position:fixed;
  width:340px;height:340px;
  border-radius:50%;
  pointer-events:none;
  z-index:-1;
  filter:blur(70px);
  opacity:.12;
  background:linear-gradient(135deg,var(--cx-brand),var(--cx-violet));
  left:-140px;top:20%;
  animation:cxAmbient 16s ease-in-out infinite alternate;
}
@keyframes cxAmbient{
  from{transform:translate3d(0,0,0) scale(1)}
  to{transform:translate3d(80vw,30vh,0) scale(1.25)}
}

/* Command palette */
.cx-command{
  position:fixed;inset:0;z-index:300;
  display:grid;place-items:start center;
  padding:10vh 18px 30px;
  background:rgba(5,20,18,.36);
  backdrop-filter:blur(12px);
  opacity:0;pointer-events:none;
  transition:opacity .22s ease;
}
.cx-command.open{opacity:1;pointer-events:auto}
.cx-command-box{
  width:min(720px,100%);
  max-height:min(620px,80vh);
  overflow:auto;
  border:1px solid var(--cx-line);
  border-radius:24px;
  background:var(--cx-surface);
  box-shadow:0 35px 120px rgba(0,0,0,.24);
  transform:translateY(-8px) scale(.985);
  transition:transform .28s var(--cx-ease);
}
.cx-command.open .cx-command-box{transform:none}
.cx-command-search{
  display:flex;align-items:center;gap:10px;
  padding:15px 18px;
  border-bottom:1px solid var(--cx-line);
}
.cx-command-search input{
  flex:1;border:0;outline:0;background:transparent;color:var(--cx-ink);
  font:inherit;font-size:14px;
}
.cx-command-list{padding:10px}
.cx-command-item{
  width:100%;display:flex;align-items:center;gap:12px;
  border:0;background:transparent;color:var(--cx-ink);
  padding:12px;border-radius:13px;text-align:right;font:inherit;cursor:pointer;
}
.cx-command-item:hover,.cx-command-item.active{background:rgba(0,168,150,.08)}
.cx-command-item svg{color:var(--cx-brand);width:18px}
.cx-command-item small{margin-right:auto;color:var(--cx-muted)}
.cx-command-foot{
  display:flex;gap:8px;align-items:center;
  padding:10px 15px;border-top:1px solid var(--cx-line);
  color:var(--cx-muted);font-size:10px;
}
.cx-kbd{
  padding:3px 7px;border:1px solid var(--cx-line);border-radius:7px;background:var(--cx-surface-2);
}

/* Topbar search trigger */
.cx-search-trigger{
  display:inline-flex;align-items:center;gap:8px;
  min-height:42px;padding:0 12px;
  border:1px solid var(--cx-line);border-radius:13px;
  background:var(--cx-surface);color:var(--cx-muted);
  font:inherit;font-size:11px;cursor:pointer;
  box-shadow:var(--cx-shadow-sm);
  transition:.2s var(--cx-ease);
}
.cx-search-trigger:hover{transform:translateY(-2px);color:var(--cx-ink);border-color:rgba(0,168,150,.28)}
.cx-search-trigger svg{width:16px;color:var(--cx-brand)}
.cx-search-trigger kbd{font-size:9px;padding:2px 5px;border:1px solid var(--cx-line);border-radius:5px}

/* Mobile */
.cx-mobile-bar{display:none}
.cx-mobile-item{
  min-width:58px;flex:1;border:0;background:transparent;color:var(--cx-muted);
  display:grid;place-items:center;gap:3px;padding:5px 2px;border-radius:12px;font:inherit;font-size:8px;
}
.cx-mobile-item svg{width:19px;height:19px}
.cx-mobile-item.active{color:var(--cx-brand-dark);background:rgba(0,168,150,.08)}
.cx-mobile-item:active{transform:scale(.94)}

@media(max-width:1200px){
  .sidebar{width:236px}
  .layout{grid-template-columns:236px minmax(0,1fr)!important}
  .cx-search-trigger{width:42px;justify-content:center;padding:0}
  .cx-search-trigger span,.cx-search-trigger kbd{display:none}
}
@media(max-width:1050px){
  .layout{display:block!important}
  .sidebar{display:none!important}
  .content{padding-bottom:100px!important}
  .cx-mobile-bar{
    position:fixed;left:10px;right:10px;bottom:10px;z-index:120;
    display:flex;gap:5px;padding:6px;
    overflow-x:auto;overflow-y:hidden;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    border:1px solid var(--cx-line);border-radius:20px;
    background:color-mix(in srgb,var(--cx-surface) 90%,transparent);
    backdrop-filter:blur(22px) saturate(160%);
    box-shadow:0 18px 55px rgba(0,0,0,.14);
  }
  .cx-mobile-bar::-webkit-scrollbar{display:none}
  .cx-mobile-item{
    flex:0 0 auto;
    flex:0 0 auto;
    min-width:72px;
    min-height:52px;
    padding:7px 10px;
    touch-action:manipulation;
    white-space:nowrap;
  }
  .cx-ambient{display:none}
}
@media(max-width:700px){
  .topbar{height:68px!important}
  .top-left .corebit-badge{display:none}
  .top-right>.live-presence{display:none}
  .top-right>.btn:last-child{font-size:0;width:42px}
  .top-right>.btn:last-child:after{content:"↪";font-size:16px}
  .content{padding:18px 12px 96px!important}
  .page-head{gap:12px!important}
  .page-head h1{font-size:25px!important}
  .stats{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .stat{min-height:126px;padding:15px!important}
  .stat-value{font-size:25px!important}
}
@media(max-width:480px){
  .topbar{padding-inline:9px!important}
  .brand-name{font-size:14px!important}
  .brand-by{display:none!important}
  .corebit-mark{width:32px;height:32px}
  .top-right{gap:5px!important}
  .top-right>.btn{min-height:38px!important}
  .user-chip{display:none!important}
  .stats{grid-template-columns:1fr!important}
  .grid-2,.grid-3{grid-template-columns:1fr!important}
  .page-head h1{font-size:23px!important}
  .card,.school-card,.exam-card,.user-card,.stat{border-radius:18px!important}
  .cx-command{padding-top:6vh}
}

/* Respect reduced motion */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
  }
  .cx-ambient{display:none!important}
}


/* ULTRA interaction hardening */
.cx-action{cursor:pointer;pointer-events:auto;position:relative;z-index:2}
.modal-card .cx-action{touch-action:manipulation}

/* Removed by CorExam configuration: Intelligence / EduAI entry */
[data-page="ai"],
[data-action="ai"],
[data-action="intelligence"],
[data-feature="ai"],
[data-feature="intelligence"],\n#cxv7-launch,\n.cxv7-launch{
  display:none!important;
}

/* Corebit Complete UX */
.cx-mobile-bar{scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x}.cx-mobile-bar::-webkit-scrollbar{display:none}.cx-mobile-item{min-width:72px;flex:0 0 auto}.cx-network-status{position:fixed;bottom:7px;left:50%;transform:translateX(-50%);z-index:10001;padding:4px 10px;border:1px solid var(--cx-line);border-radius:999px;background:rgba(7,17,31,.8);backdrop-filter:blur(12px);color:#8da0bb;font:10px Vazirmatn,sans-serif;opacity:.65;pointer-events:none}.cx-network-status.offline{color:#ffb454}.cx-student-progress{margin-top:18px}.cx-progress-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.cx-progress-head h3{margin:5px 0}.cx-progress-head p{margin:0;color:var(--cx-muted);font-size:11px}.cx-streak{font-weight:800;font-size:14px;white-space:nowrap}.cx-progress-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;color:var(--cx-muted);font-size:11px}.cx-quick-actions{margin:14px 0}.cx-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.cx-quick-grid .btn{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px}.cx-fab-search{display:none;position:fixed;right:16px;bottom:82px;width:48px;height:48px;border-radius:50%;border:1px solid var(--cx-line);background:linear-gradient(135deg,#6d72ff,#a06cff);color:white;box-shadow:0 12px 35px rgba(0,0,0,.25);z-index:9998;font-size:24px}@media(max-width:760px){.cx-fab-search{display:grid;place-items:center}.cx-network-status{bottom:68px}.cx-progress-head{flex-direction:column}.cx-progress-foot{align-items:stretch;flex-direction:column}.cx-progress-foot .btn{width:100%}.cx-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cx-mobile-bar{padding-bottom:max(8px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}


/* CorExam logo asset */
.brand-lockup{gap:0!important}
.corexam-logo{display:block;object-fit:contain;filter:drop-shadow(0 9px 24px rgba(0,168,150,.18))}
.topbar .corexam-logo{width:96px;height:60px}
.login-card .corexam-logo{width:170px;height:170px}
@media(max-width:650px){.topbar .corexam-logo{width:82px;height:54px}}
