/* Educator + Evaluator Premium Theme — added by ChatGPT */
:root{
  --ee-bg:#040609;
  --ee-bg2:#090f1c;
  --ee-panel:rgba(14,20,36,.78);
  --ee-panel2:rgba(18,26,46,.92);
  --ee-stroke:rgba(255,255,255,.12);
  --ee-stroke2:rgba(245,182,56,.28);
  --ee-text:#f6f7fb;
  --ee-muted:#aeb8d2;
  --ee-gold:#f5b638;
  --ee-gold2:#ffda83;
  --ee-green:#38d996;
  --ee-red:#ff5c7a;
  --ee-blue:#82a7ff;
  --ee-radius:22px;
  --ee-shadow:0 24px 70px rgba(0,0,0,.52);
  --ee-soft-shadow:0 14px 34px rgba(0,0,0,.32);
}
html{scroll-behavior:smooth;}
body{
  color:var(--ee-text) !important;
  background:
    radial-gradient(1000px 620px at 12% -8%, rgba(245,182,56,.20), transparent 58%),
    radial-gradient(820px 520px at 92% 8%, rgba(130,167,255,.16), transparent 60%),
    radial-gradient(700px 520px at 82% 105%, rgba(56,217,150,.10), transparent 56%),
    linear-gradient(180deg,var(--ee-bg),var(--ee-bg2) 56%,#030407) !important;
  background-attachment:fixed !important;
}
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.72),transparent 78%);
}
a{color:inherit;}
.main,.content,.wrap,.container,main{position:relative;}
.hero,.brand,.card,.ec-v2-card,.ec-v2-stat,.metric-card,.kpi,.panel,.box,.section,.sidebar-footer,section.card,[class*="card"],[class*="panel"]{
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035)) !important;
  border:1px solid var(--ee-stroke) !important;
  border-radius:var(--ee-radius) !important;
  box-shadow:var(--ee-shadow) !important;
  backdrop-filter:blur(18px) saturate(135%) !important;
}
.hero,.brand.ec-v2-dashboard-brand,header .brand{
  overflow:hidden;position:relative;
  border-color:var(--ee-stroke2) !important;
}
.hero::after,.brand.ec-v2-dashboard-brand::after,header .brand::after{
  content:"";position:absolute;inset:-1px;pointer-events:none;
  background:linear-gradient(135deg,rgba(245,182,56,.22),transparent 34%,rgba(130,167,255,.13));
  opacity:.9;
}
.hero > *,.brand.ec-v2-dashboard-brand > *,header .brand > *{position:relative;z-index:1;}
.sidebar,aside,.side-nav{
  background:linear-gradient(180deg,rgba(11,16,31,.96),rgba(5,7,13,.96)) !important;
  border-right:1px solid rgba(255,255,255,.10) !important;
  box-shadow:18px 0 48px rgba(0,0,0,.32) !important;
  backdrop-filter:blur(18px) !important;
}
.nav a,.nav-link,.menu a,.sidebar a,.btn,button,.ec-v2-pill,.pill,[role="button"]{
  border-radius:14px !important;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease !important;
}
.nav a:hover,.nav-link:hover,.menu a:hover,.sidebar a:hover,.btn:hover,button:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(0,0,0,.28) !important;
}
.btn,button[type="submit"],.primary,.btn-primary{
  background:linear-gradient(135deg,var(--ee-gold),var(--ee-gold2)) !important;
  color:#1b1204 !important;
  border:1px solid rgba(255,231,172,.48) !important;
  font-weight:900 !important;
}
.btn.secondary,button.secondary,.btn-outline{
  background:rgba(255,255,255,.055) !important;
  color:var(--ee-text) !important;
  border:1px solid var(--ee-stroke) !important;
}
h1,h2,h3,.title{
  letter-spacing:-.035em;
  text-wrap:balance;
}
h1{font-weight:900 !important;}
h2,h3{font-weight:850 !important;}
p,.muted,.sub,.mut,.hint,small{color:var(--ee-muted) !important;}
input,select,textarea{
  background:rgba(255,255,255,.065) !important;
  color:var(--ee-text) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:14px !important;
  outline:none !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05) !important;
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(245,182,56,.58) !important;
  box-shadow:0 0 0 4px rgba(245,182,56,.18), inset 0 1px 0 rgba(255,255,255,.05) !important;
}
table{
  overflow:hidden;border-radius:18px !important;
  background:rgba(255,255,255,.035) !important;
  border:1px solid rgba(255,255,255,.10) !important;
}
th{
  color:#ffe1a3 !important;
  background:rgba(245,182,56,.08) !important;
}
td,th{border-color:rgba(255,255,255,.10) !important;}
.badge,.status,.tag,.chip,.ec-v2-pill{
  background:rgba(245,182,56,.12) !important;
  color:#ffe1a3 !important;
  border:1px solid rgba(245,182,56,.24) !important;
}
.logo,.brand-badge,.user-avatar{
  box-shadow:0 18px 38px rgba(245,182,56,.18), inset 0 1px 0 rgba(255,255,255,.25) !important;
}
img.ec-logo-official,.float-logo img{filter:drop-shadow(0 10px 24px rgba(0,0,0,.35));}
@media(max-width:760px){
  .wrap,.container,main,.main,.content{padding-left:16px !important;padding-right:16px !important;}
  .hero,.brand,.card,.ec-v2-card,[class*="card"]{border-radius:18px !important;}
}

/* Premium UX Patch — responsive, dashboard cards, forms, tables */
:root{
  --ee-page-max:1280px;
  --ee-gap:18px;
  --ee-card-pad:20px;
  --ee-line:rgba(255,255,255,.11);
  --ee-glow:0 0 0 1px rgba(245,182,56,.16),0 22px 70px rgba(0,0,0,.45);
}
*{box-sizing:border-box;}
body{min-height:100vh;}
body,button,input,select,textarea{font-family:Inter,Poppins,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;}
.wrap,.container,.main,main,.content{max-width:var(--ee-page-max);}
.app{min-height:100vh;}
.topbar,.mhead,.top,.card-head,.hd,.ec-v2-section-head{
  background:rgba(8,12,23,.72) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:20px !important;
  box-shadow:0 16px 44px rgba(0,0,0,.28) !important;
  backdrop-filter:blur(16px) saturate(145%) !important;
}
.topbar,.mhead,.top{position:sticky;top:12px;z-index:20;margin-bottom:18px;padding:12px 14px !important;}
.card,.ec-v2-card,.ec-v2-stat,.metric-card,.kpi,.panel,.box,.section,[class*="card"],[class*="panel"]{
  position:relative;isolation:isolate;padding:var(--ee-card-pad);
}
.card::before,.ec-v2-card::before,.ec-v2-stat::before,.metric-card::before,.kpi::before,.panel::before,.section.card::before{
  content:"";position:absolute;inset:0 0 auto 0;height:1px;border-radius:inherit;z-index:-1;
  background:linear-gradient(90deg,transparent,rgba(255,232,177,.72),transparent);
  opacity:.6;
}
.card:hover,.ec-v2-card:hover,.ec-v2-stat:hover,.metric-card:hover,.kpi:hover,.panel:hover,.section.card:hover{
  transform:translateY(-2px);
  border-color:rgba(245,182,56,.26) !important;
  box-shadow:var(--ee-glow) !important;
}
.grid,.grid3,.ec-v2-card-grid,.ec-v2-metric-grid,.cards,.stats,.metrics{
  display:grid !important;
  gap:var(--ee-gap) !important;
}
.ec-v2-metric-grid,.stats,.metrics{grid-template-columns:repeat(auto-fit,minmax(190px,1fr)) !important;}
.ec-v2-card-grid,.grid,.cards{grid-template-columns:repeat(auto-fit,minmax(245px,1fr)) !important;}
.grid3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) !important;}
.stat,.num,.metric,.value,.ec-v2-stat b,.ec-v2-stat strong{
  font-weight:950 !important;letter-spacing:-.045em;
  background:linear-gradient(135deg,#fff,#ffe0a1 55%,#9fbbff);
  -webkit-background-clip:text;background-clip:text;color:transparent !important;
}
.nav a,.nav-link,.sidebar a,.menu a{
  display:flex;align-items:center;gap:10px;
  border:1px solid transparent !important;
  color:rgba(246,247,251,.82) !important;
}
.nav a.active,.nav-link.active,.sidebar a.active,.nav .active,.active > a{
  background:linear-gradient(135deg,rgba(245,182,56,.20),rgba(255,255,255,.055)) !important;
  border-color:rgba(245,182,56,.32) !important;
  color:#ffe0a1 !important;
  box-shadow:0 12px 30px rgba(245,182,56,.10) !important;
}
.nav-section{color:rgba(255,224,163,.72) !important;font-weight:900;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;}
.btn,button,a.btn,.tab,.ec-v2-pill,.pill,.chip,.badge,.status,.tag{
  min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;
}
.btn.danger,button.danger,.danger{
  background:linear-gradient(135deg,rgba(255,92,122,.92),rgba(255,138,155,.92)) !important;
  color:white !important;border-color:rgba(255,185,197,.38) !important;
}
.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0;}
.tab{padding:10px 14px;background:rgba(255,255,255,.055) !important;border:1px solid var(--ee-line) !important;color:var(--ee-muted) !important;border-radius:999px !important;}
.tab.active{background:linear-gradient(135deg,rgba(245,182,56,.24),rgba(255,255,255,.075)) !important;color:#ffe0a1 !important;border-color:rgba(245,182,56,.38) !important;}
label,.field label{color:#ffe0a1 !important;font-weight:850 !important;margin-bottom:6px;display:block;}
input,select,textarea{width:100%;padding:11px 12px !important;min-height:42px;}
::placeholder{color:rgba(174,184,210,.66) !important;}
.table,table{width:100%;border-collapse:separate !important;border-spacing:0 !important;display:table;}
.table-wrap,.table-responsive{overflow-x:auto;border-radius:18px;}
th,td{padding:12px 14px !important;vertical-align:middle;}
tbody tr:hover{background:rgba(255,255,255,.045) !important;}
.empty,.empty-state,[data-empty]{border:1px dashed rgba(245,182,56,.28) !important;background:rgba(245,182,56,.055) !important;border-radius:18px !important;padding:20px !important;color:var(--ee-muted) !important;}
.ec-float-logo,.float-logo{filter:drop-shadow(0 18px 42px rgba(245,182,56,.16));}
@media(max-width:1024px){
  .app{display:block !important;}
  .sidebar,aside,.side-nav{position:relative !important;width:100% !important;min-height:auto !important;border-right:0 !important;border-bottom:1px solid var(--ee-line) !important;}
  .main,main,.content{width:100% !important;margin-left:0 !important;}
}
@media(max-width:760px){
  :root{--ee-gap:14px;--ee-card-pad:16px;}
  body{background-attachment:scroll !important;}
  .topbar,.mhead,.top{position:relative;top:0;border-radius:16px !important;}
  .grid,.grid3,.ec-v2-card-grid,.ec-v2-metric-grid,.cards,.stats,.metrics{grid-template-columns:1fr !important;}
  .btn,button,a.btn{width:100%;margin-top:6px;}
  .tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;}
  .tab{white-space:nowrap;}
  table,.table{font-size:.88rem;}
  th,td{padding:10px 11px !important;}
  .brand,.hero{padding:18px !important;}
  h1{font-size:clamp(1.8rem,9vw,2.45rem) !important;}
  h2{font-size:clamp(1.35rem,6vw,1.8rem) !important;}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none !important;animation:none !important;scroll-behavior:auto !important;}
}
