/* CAS Premium Experience v1.6.0 — global public, auth, admin and portal polish */
:root{
  --premium-ink:#081525;
  --premium-ink-soft:#26384b;
  --premium-muted:#718094;
  --premium-line:rgba(8,46,77,.105);
  --premium-line-strong:rgba(8,46,77,.18);
  --premium-bg:#f3f7fb;
  --premium-surface:#ffffff;
  --premium-surface-soft:#f8fbfd;
  --premium-glow:rgba(21,108,159,.18);
  --premium-gold-glow:rgba(216,170,69,.22);
  --premium-shadow-xs:0 4px 12px rgba(8,32,55,.055);
  --premium-shadow-sm:0 9px 28px rgba(8,32,55,.075);
  --premium-shadow:0 18px 48px rgba(8,32,55,.105);
  --premium-shadow-lg:0 34px 90px rgba(2,19,37,.18);
  --premium-radius-sm:12px;
  --premium-radius:18px;
  --premium-radius-lg:26px;
}
html[data-theme=dark]{
  --premium-ink:#eef6fb;
  --premium-ink-soft:#c6d4df;
  --premium-muted:#93a6b7;
  --premium-line:rgba(194,216,232,.105);
  --premium-line-strong:rgba(194,216,232,.18);
  --premium-bg:#07131e;
  --premium-surface:#0d202f;
  --premium-surface-soft:#102635;
  --premium-glow:rgba(35,145,205,.16);
  --premium-gold-glow:rgba(216,170,69,.13);
  --premium-shadow-xs:0 4px 14px rgba(0,0,0,.18);
  --premium-shadow-sm:0 10px 30px rgba(0,0,0,.22);
  --premium-shadow:0 18px 52px rgba(0,0,0,.28);
  --premium-shadow-lg:0 34px 90px rgba(0,0,0,.4);
}

/* Global visual quality */
body{background:var(--premium-bg);text-rendering:optimizeLegibility}
::selection{background:color-mix(in srgb,var(--blue) 26%,transparent)}
:where(.public-body,.cas-admin-theme,.cas-portal-theme) :where(a,button,input,select,textarea,summary){-webkit-tap-highlight-color:transparent}
:where(.public-body,.cas-admin-theme,.cas-portal-theme) :where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 28%,transparent);outline-offset:2px}
.button{border-radius:12px;min-height:42px;font-weight:800;letter-spacing:-.01em;box-shadow:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}
.button:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(8,46,77,.12)}
.button-primary{background:linear-gradient(135deg,var(--navy-2),var(--blue));box-shadow:0 10px 24px color-mix(in srgb,var(--blue) 22%,transparent)}
.button-gold{background:linear-gradient(135deg,#e7bd5c,var(--gold));box-shadow:0 10px 24px var(--premium-gold-glow)}
.button-outline{border-color:var(--premium-line-strong);background:color-mix(in srgb,var(--premium-surface) 94%,transparent)}
.panel,.content-card,.portal-card,.report-card{border-color:var(--premium-line);box-shadow:var(--premium-shadow-xs)}

/* Premium public shell, compatible with the existing rich page layouts */
.public-body{background:#fff;color:var(--premium-ink)}
html[data-theme=dark] .public-body{background:var(--premium-bg);color:var(--premium-ink)}
.cas-top-strip{background:linear-gradient(90deg,#041829,#082d4d 52%,#07385c);border-bottom:1px solid rgba(255,255,255,.08)}
.cas-top-strip a{transition:color .18s ease}.cas-top-strip a:hover{color:#fff}
.final-public-header{box-shadow:0 10px 32px rgba(6,31,51,.06);border-bottom:1px solid rgba(8,46,77,.075)!important}
.final-public-header .public-brand img{filter:drop-shadow(0 5px 9px rgba(5,31,52,.08))}
.final-public-nav>a:not(.button),.cas-nav-group>summary{border-radius:10px;padding:9px 10px!important;transition:background .18s ease,color .18s ease}
.final-public-nav>a:not(.button):hover,.cas-nav-group>summary:hover{background:rgba(21,108,159,.07);color:var(--blue)}
.cas-nav-menu{border:1px solid rgba(8,46,77,.1)!important;box-shadow:0 28px 70px rgba(6,31,51,.16)!important;border-radius:18px!important;overflow:hidden}
.cas-nav-menu a{border-radius:11px!important}.cas-nav-menu a:hover{background:linear-gradient(135deg,rgba(21,108,159,.075),rgba(216,170,69,.06))!important}
.final-cas-site :where(.page-hero,.hero-section,.source-hero,.final-home-hero){position:relative;isolation:isolate}
.final-cas-site :where(.page-hero,.hero-section,.source-hero,.final-home-hero):after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 85% 15%,rgba(255,255,255,.11),transparent 22%),radial-gradient(circle at 12% 90%,rgba(216,170,69,.14),transparent 25%);z-index:-1}
.final-cas-site .page-hero{background:linear-gradient(120deg,#041a2d 0%,#083656 58%,#0c5279 100%);box-shadow:inset 0 -1px rgba(255,255,255,.08)}
.final-cas-site :where(.content-card,.portal-card,.program-card,.final-card,.source-card){border-radius:20px!important;box-shadow:var(--premium-shadow-xs);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.final-cas-site :where(.content-card,.portal-card,.program-card,.final-card,.source-card):hover{transform:translateY(-5px);box-shadow:var(--premium-shadow);border-color:rgba(21,108,159,.22)!important}
.final-cas-site :where(input,select,textarea){border-radius:12px!important;border-color:var(--premium-line-strong)!important;box-shadow:0 1px 0 rgba(255,255,255,.6) inset;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.final-cas-site :where(input,select,textarea):focus{border-color:color-mix(in srgb,var(--blue) 66%,white)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--blue) 12%,transparent)!important}
.content-complete-footer{background:radial-gradient(circle at 15% 0,rgba(18,90,139,.23),transparent 24%),linear-gradient(145deg,#031522,#061f33 58%,#072b45)!important}
.content-complete-footer-grid>div:not(:first-child) a{opacity:.82;transition:opacity .18s ease,transform .18s ease,color .18s ease}.content-complete-footer-grid>div:not(:first-child) a:hover{opacity:1;transform:translateX(3px);color:#fff}

/* Portal selector page */
.public-body .card-grid .portal-card{position:relative;overflow:hidden;padding:28px!important;background:linear-gradient(180deg,#fff,#fbfdff)}
.public-body .card-grid .portal-card:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--blue),var(--gold));transform:scaleX(.22);transform-origin:left;transition:transform .25s ease}
.public-body .card-grid .portal-card:hover:before{transform:scaleX(1)}
.public-body .portal-card .quick-icon{width:54px;height:54px;border-radius:16px;background:linear-gradient(145deg,#e8f5fc,#f5f9fc);border:1px solid rgba(21,108,159,.12);box-shadow:0 8px 18px rgba(21,108,159,.09)}

/* Authentication — purpose-built premium split screen */
.auth-section.premium-auth-v11{position:relative;isolation:isolate;min-height:calc(100vh - 140px);display:grid;place-items:center;padding:72px 20px;background:linear-gradient(135deg,#eef5fa 0%,#f8fbfd 47%,#edf4f8 100%);overflow:hidden}
html[data-theme=dark] .auth-section.premium-auth-v11{background:linear-gradient(135deg,#07131e,#0b1a27 48%,#071725)}
.premium-auth-v11:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(8,46,77,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(8,46,77,.025) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,black,transparent 78%);z-index:-2}
.auth-ambient{position:absolute;border-radius:999px;filter:blur(1px);opacity:.9;pointer-events:none;z-index:-1}.auth-ambient-one{width:440px;height:440px;right:-170px;top:-150px;background:radial-gradient(circle,rgba(21,108,159,.18),transparent 68%)}.auth-ambient-two{width:380px;height:380px;left:-130px;bottom:-180px;background:radial-gradient(circle,rgba(216,170,69,.18),transparent 68%)}
.premium-auth-shell{width:min(1120px,100%);min-height:650px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);border:1px solid rgba(8,46,77,.09);border-radius:30px;overflow:hidden;background:var(--premium-surface);box-shadow:var(--premium-shadow-lg)}
.premium-auth-brand{position:relative;overflow:hidden;padding:54px!important;display:flex!important;flex-direction:column;justify-content:space-between;gap:38px;background:radial-gradient(circle at 78% 18%,rgba(216,170,69,.18),transparent 22%),radial-gradient(circle at 12% 84%,rgba(40,139,194,.22),transparent 26%),linear-gradient(145deg,#031827 0%,#072f4d 52%,#0c5278 100%)!important;color:#fff}
.premium-auth-brand:after{content:"";position:absolute;inset:auto -80px -140px auto;width:360px;height:360px;border:1px solid rgba(255,255,255,.1);border-radius:50%;box-shadow:0 0 0 46px rgba(255,255,255,.025),0 0 0 92px rgba(255,255,255,.02);pointer-events:none}
.premium-auth-logo{position:relative;z-index:1;width:max-content;padding:10px 13px;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:rgba(255,255,255,.94);box-shadow:0 12px 30px rgba(0,0,0,.14)}
.premium-auth-logo img{display:block;width:auto;max-width:190px;height:48px;object-fit:contain}
.premium-auth-copy{position:relative;z-index:1;max-width:560px}.premium-auth-copy .eyebrow{color:#f1cf7d!important}.premium-auth-copy .eyebrow:before{display:none}.premium-status-dot{width:8px;height:8px;border-radius:50%;background:#6ee7b7;box-shadow:0 0 0 5px rgba(110,231,183,.12)}
.premium-auth-copy h1{margin:14px 0 16px;font-size:clamp(2.5rem,4.4vw,4.25rem);line-height:.98;letter-spacing:-.055em;color:#fff}.premium-auth-copy p{margin:0;max-width:520px;color:#cee0eb;font-size:1.05rem;line-height:1.75}
.premium-auth-assurance{position:relative;z-index:1;display:grid!important;grid-template-columns:repeat(3,1fr);gap:10px!important}.premium-auth-assurance>span{display:grid!important;grid-template-columns:auto 1fr!important;gap:1px 10px!important;align-items:center!important;padding:14px!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:15px;background:rgba(255,255,255,.07)!important;backdrop-filter:blur(10px)}.premium-auth-assurance svg{grid-row:1/3;color:#f1cb6b}.premium-auth-assurance b{font-size:.8rem;color:#fff}.premium-auth-assurance small{font-size:.67rem;color:#b9d0de}
.premium-auth-foot{position:relative;z-index:1;display:flex;justify-content:space-between;gap:12px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:#bcd0dc}.premium-auth-foot small{font-size:inherit;color:#91afc2}
.premium-auth-form-panel{padding:62px!important;display:flex!important;flex-direction:column;justify-content:center;background:linear-gradient(180deg,var(--premium-surface),color-mix(in srgb,var(--premium-surface-soft) 60%,var(--premium-surface)))}
.premium-auth-kicker{display:inline-flex;width:max-content;padding:7px 10px;border-radius:999px;background:rgba(21,108,159,.08);color:var(--blue);font-weight:850;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem}
.premium-auth-form-head h2{font-size:2rem!important;letter-spacing:-.035em;margin:12px 0 7px!important;color:var(--premium-ink)}.premium-auth-form-head p{color:var(--premium-muted)!important;margin:0 0 28px!important}
.premium-auth-form{display:grid;gap:18px!important}.premium-auth-form label{display:grid;gap:8px;color:var(--premium-ink-soft);font-weight:800;font-size:.82rem}.premium-auth-form .label-row{display:flex;align-items:center;justify-content:space-between;gap:15px}.premium-auth-form .label-row a{font-size:.76rem;color:var(--blue);font-weight:800}.premium-auth-form input{width:100%;height:52px;border:1px solid var(--premium-line-strong)!important;border-radius:13px!important;padding:0 15px;background:var(--premium-surface)!important;color:var(--premium-ink);box-shadow:0 2px 5px rgba(8,32,55,.025) inset}.premium-auth-form input:focus{outline:0;border-color:var(--blue)!important;box-shadow:0 0 0 4px rgba(21,108,159,.1)!important}.premium-auth-form input::placeholder{color:#a2adba}
.premium-auth-submit{height:54px;margin-top:4px;border-radius:13px!important;background:linear-gradient(135deg,#082e4d,#0e6f9e 72%,#1685b4)!important;box-shadow:0 15px 30px rgba(8,73,112,.2)!important}.premium-auth-submit:hover{box-shadow:0 18px 36px rgba(8,73,112,.28)!important}
.premium-auth-divider{display:flex;align-items:center;gap:12px;margin:25px 0 18px;color:var(--premium-muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.09em}.premium-auth-divider:before,.premium-auth-divider:after{content:"";height:1px;flex:1;background:var(--premium-line)}.premium-auth-v11 .auth-back{display:flex!important;justify-content:space-between;gap:20px;margin:0!important;font-size:.78rem}.premium-auth-v11 .auth-back a{font-weight:800;color:var(--blue)}

/* Admin & portal design system */
body.cas-admin-theme,body.cas-portal-theme{--bg:var(--premium-bg);--surface:var(--premium-surface);--surface-2:var(--premium-surface-soft);--ink:var(--premium-ink);--muted:var(--premium-muted);--line:var(--premium-line);background:var(--premium-bg)!important;color:var(--premium-ink);min-height:100vh}
.cas-admin-theme .admin-app,.cas-portal-theme .admin-app{min-height:100vh;background:radial-gradient(circle at 78% 0,var(--premium-glow),transparent 20%),var(--premium-bg)}
.cas-sidebar{background:radial-gradient(circle at 110% -5%,rgba(32,141,197,.35),transparent 28%),radial-gradient(circle at 0 82%,rgba(216,170,69,.16),transparent 20%),linear-gradient(180deg,#041827 0%,#06243a 52%,#041a2a 100%)!important;border-right:1px solid rgba(255,255,255,.065)!important;box-shadow:16px 0 50px rgba(2,20,35,.12)!important}
.cas-sidebar:after{opacity:.4!important}
.cas-sidebar .sidebar-brand{border-bottom:1px solid rgba(255,255,255,.08)!important;background:rgba(0,0,0,.055)}
.cas-sidebar-logo{padding:6px 9px;border-radius:12px;background:rgba(255,255,255,.94);box-shadow:0 8px 24px rgba(0,0,0,.16)}.cas-sidebar-logo .brand-logo{max-height:40px!important;filter:none!important}
.sidebar-main-label{color:rgba(255,255,255,.48)!important;font-weight:900!important;letter-spacing:.16em!important}
.cas-sidebar .nav-item,.cas-sidebar .nav-group summary{color:#c7d9e4!important;border:1px solid transparent;transition:background .17s ease,color .17s ease,border-color .17s ease,transform .17s ease}
.cas-sidebar .nav-item svg,.cas-sidebar .nav-group summary svg{opacity:.8}.cas-sidebar .nav-item:hover,.cas-sidebar .nav-group summary:hover{background:rgba(255,255,255,.075)!important;color:#fff!important;border-color:rgba(255,255,255,.06);transform:translateX(2px)}
.cas-sidebar .nav-item.active{position:relative;background:linear-gradient(90deg,rgba(27,137,191,.3),rgba(255,255,255,.075))!important;color:#fff!important;border-color:rgba(106,196,239,.19)!important;box-shadow:inset 3px 0 #e3b750,0 7px 18px rgba(0,0,0,.07)}.cas-sidebar .nav-item.active svg{color:#f4cc72;opacity:1}
.cas-sidebar .nav-submenu{border-left:1px solid rgba(255,255,255,.09)}.cas-sidebar .nav-dot{background:rgba(255,255,255,.42)!important}.cas-sidebar .nav-item.active .nav-dot{background:#f1c65f!important;box-shadow:0 0 0 4px rgba(241,198,95,.1)}
.cas-sidebar-help{border:1px solid rgba(255,255,255,.09)!important;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.035))!important;box-shadow:inset 0 1px rgba(255,255,255,.055)}.cas-sidebar-help>span{background:rgba(216,170,69,.16)!important;color:#f4cf78!important}.cas-sidebar-help a{background:rgba(255,255,255,.095)!important;border:1px solid rgba(255,255,255,.08)!important;color:#fff!important}.cas-sidebar-help a:hover{background:rgba(255,255,255,.15)!important}
.cas-sidebar .sidebar-user{border-top:1px solid rgba(255,255,255,.08)!important;background:rgba(0,0,0,.07)!important}.cas-sidebar .sidebar-user .avatar{background:linear-gradient(145deg,#eac15f,#d6a940)!important;color:#08253b!important;box-shadow:0 6px 16px rgba(0,0,0,.15)}.cas-sidebar .sidebar-user strong{color:#fff!important}.cas-sidebar .sidebar-user small{color:#9eb9ca!important}

.cas-admin-header,.cas-portal-header{position:sticky;top:0;z-index:35;background:color-mix(in srgb,var(--premium-surface) 90%,transparent)!important;border-bottom:1px solid var(--premium-line)!important;box-shadow:0 8px 30px rgba(8,32,55,.045)!important;backdrop-filter:blur(18px) saturate(1.25)}
.cas-admin-header .header-left h1,.cas-portal-header .header-left h1{color:var(--premium-ink)!important;font-weight:880!important;letter-spacing:-.025em}.cas-admin-header .breadcrumbs,.cas-portal-header .breadcrumbs{color:var(--premium-muted)!important}.cas-admin-header .breadcrumbs a,.cas-portal-header .breadcrumbs a{color:var(--blue);font-weight:750}
.cas-admin-header .icon-button,.cas-portal-header .icon-button{border:1px solid var(--premium-line)!important;background:var(--premium-surface)!important;color:var(--premium-ink-soft)!important;box-shadow:var(--premium-shadow-xs);border-radius:12px!important}.cas-admin-header .icon-button:hover,.cas-portal-header .icon-button:hover{border-color:rgba(21,108,159,.2)!important;color:var(--blue)!important;background:color-mix(in srgb,var(--premium-surface) 92%,#dff3fc)!important}
.cas-user-menu{border:1px solid var(--premium-line)!important;background:var(--premium-surface)!important;border-radius:14px!important;padding:6px 10px 6px 7px!important;box-shadow:var(--premium-shadow-xs)}.cas-user-menu .avatar{background:linear-gradient(145deg,var(--navy-2),var(--blue))!important;color:#fff!important}.cas-user-menu strong{color:var(--premium-ink)!important}.cas-user-menu small{color:var(--premium-muted)!important}
.admin-content,.portal-content{padding:26px 28px 34px!important;max-width:1700px;width:100%;margin-inline:auto}

.cas-admin-search-band{padding:12px!important;border:1px solid var(--premium-line);border-radius:17px;background:var(--premium-surface);box-shadow:var(--premium-shadow-xs)}.cas-admin-search-band form{background:var(--premium-surface-soft)!important;border:1px solid var(--premium-line)!important}.cas-admin-search-band input{background:transparent!important;color:var(--premium-ink)!important}
.cas-admin-dashboard-hero,.cas-portal-hero,.portal-hero-card{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.1)!important;border-radius:23px!important;background:radial-gradient(circle at 75% 20%,rgba(255,255,255,.12),transparent 18%),radial-gradient(circle at 28% 100%,rgba(216,170,69,.17),transparent 26%),linear-gradient(125deg,#041d31 0%,#093c61 58%,#0e688f 100%)!important;box-shadow:0 22px 50px rgba(4,36,59,.2)!important}.cas-admin-dashboard-hero:after,.cas-portal-hero:after,.portal-hero-card:after{content:"";position:absolute;width:330px;height:330px;border-radius:50%;right:-150px;bottom:-180px;border:1px solid rgba(255,255,255,.11);box-shadow:0 0 0 55px rgba(255,255,255,.03),0 0 0 110px rgba(255,255,255,.02);pointer-events:none}.cas-admin-dashboard-hero h2,.cas-portal-hero h2,.portal-hero-card h1,.portal-hero-card h2{color:#fff!important;letter-spacing:-.04em}.cas-admin-dashboard-hero p,.cas-portal-hero p,.portal-hero-card p{color:#c9dce7!important}.cas-hero-meta>span{border:1px solid rgba(255,255,255,.1)!important;background:rgba(255,255,255,.075)!important;border-radius:12px!important;backdrop-filter:blur(6px)}

.cas-admin-top-stats article,.cas-portal-stat-grid>a,.cas-role-stat-grid>a,.cas-exec-stats>article,.portal-stat-strip>article{position:relative;overflow:hidden;border:1px solid var(--premium-line)!important;border-radius:17px!important;background:linear-gradient(180deg,var(--premium-surface),color-mix(in srgb,var(--premium-surface-soft) 60%,var(--premium-surface)))!important;box-shadow:var(--premium-shadow-xs)!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.cas-admin-top-stats article:before,.cas-portal-stat-grid>a:before,.cas-role-stat-grid>a:before,.cas-exec-stats>article:before,.portal-stat-strip>article:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(var(--blue),var(--gold));opacity:.7}.cas-admin-top-stats article:hover,.cas-portal-stat-grid>a:hover,.cas-role-stat-grid>a:hover{transform:translateY(-3px);box-shadow:var(--premium-shadow-sm)!important;border-color:rgba(21,108,159,.18)!important}.cas-admin-top-stats strong,.cas-portal-stat-grid strong,.cas-role-stat-grid strong{color:var(--premium-ink)!important;letter-spacing:-.035em}

.cas-admin-theme .panel,.cas-portal-theme .panel,.cas-admin-theme .report-card,.cas-portal-theme .portal-card,.cas-portal-theme .assignment-card,.cas-portal-theme .exam-card{border:1px solid var(--premium-line)!important;border-radius:18px!important;background:linear-gradient(180deg,var(--premium-surface),color-mix(in srgb,var(--premium-surface-soft) 30%,var(--premium-surface)))!important;box-shadow:var(--premium-shadow-xs)!important;overflow:hidden}.cas-admin-theme .panel:hover,.cas-portal-theme .panel:hover{border-color:rgba(21,108,159,.16)!important;box-shadow:var(--premium-shadow-sm)!important}
.cas-admin-theme .panel-header,.cas-portal-theme .panel-header{padding-bottom:16px!important;border-bottom:1px solid var(--premium-line)!important}.panel-kicker,.card-kicker{color:var(--blue)!important;font-weight:900!important;letter-spacing:.11em!important}.panel-header h2{color:var(--premium-ink)!important;letter-spacing:-.025em}

.cas-admin-theme :where(input,select,textarea),.cas-portal-theme :where(input,select,textarea){border:1px solid var(--premium-line-strong)!important;border-radius:11px!important;background:var(--premium-surface)!important;color:var(--premium-ink)!important;box-shadow:0 1px 2px rgba(8,32,55,.02) inset!important}.cas-admin-theme :where(input,select,textarea):focus,.cas-portal-theme :where(input,select,textarea):focus{outline:0!important;border-color:var(--blue)!important;box-shadow:0 0 0 4px rgba(21,108,159,.09)!important}.premium-form label>span,.field>span{color:var(--premium-ink-soft)!important;font-weight:800!important}
.cas-admin-theme table,.cas-portal-theme table{border-collapse:separate!important;border-spacing:0;width:100%}.cas-admin-theme thead th,.cas-portal-theme thead th{background:var(--premium-surface-soft)!important;color:var(--premium-muted)!important;font-size:.7rem!important;text-transform:uppercase;letter-spacing:.075em;font-weight:900!important;border-bottom:1px solid var(--premium-line)!important}.cas-admin-theme tbody tr,.cas-portal-theme tbody tr{transition:background .15s ease}.cas-admin-theme tbody tr:hover,.cas-portal-theme tbody tr:hover{background:color-mix(in srgb,var(--blue) 4%,var(--premium-surface))!important}.cas-admin-theme td,.cas-portal-theme td{border-color:var(--premium-line)!important;color:var(--premium-ink-soft)}.cas-admin-theme td strong,.cas-portal-theme td strong{color:var(--premium-ink)}
.table-wrap,.portal-table-wrap{border:1px solid var(--premium-line)!important;border-radius:14px!important;background:var(--premium-surface)!important;overflow:auto!important}.panel>.table-wrap{border-left:0!important;border-right:0!important;border-radius:0!important}
.dots-button{border:1px solid var(--premium-line)!important;background:var(--premium-surface)!important;border-radius:10px!important}.dots-menu{border:1px solid var(--premium-line)!important;border-radius:13px!important;background:var(--premium-surface)!important;box-shadow:var(--premium-shadow)!important;padding:6px!important}.dots-menu a,.dots-menu button{border-radius:8px!important}.dots-menu a:hover,.dots-menu button:hover{background:var(--premium-surface-soft)!important}
.status-badge{border-radius:999px!important;font-weight:850!important;letter-spacing:.015em!important}
.pagination{border-top:1px solid var(--premium-line)!important;color:var(--premium-muted)!important}
.page-toolbar,.content-header{gap:16px}.filter-bar{padding:7px!important;border:1px solid var(--premium-line)!important;border-radius:15px!important;background:var(--premium-surface)!important;box-shadow:var(--premium-shadow-xs)}.search-field{border-radius:11px!important;background:var(--premium-surface-soft)!important}.search-field input{border:0!important;background:transparent!important;box-shadow:none!important}

/* Portal-specific polish */
.portal-body .portal-sidebar{background:radial-gradient(circle at 100% 10%,rgba(45,151,205,.32),transparent 24%),linear-gradient(180deg,#041827,#072a45 56%,#041a2b)!important}.portal-card-grid .portal-card{position:relative}.portal-card-icon,.notification-icon,.empty-icon{background:linear-gradient(145deg,#e8f5fc,#f4f9fc)!important;border:1px solid rgba(21,108,159,.1);color:var(--blue)!important;box-shadow:0 7px 16px rgba(21,108,159,.08)}html[data-theme=dark] .portal-card-icon,html[data-theme=dark] .notification-icon,html[data-theme=dark] .empty-icon{background:#15384c!important}
.portal-notification-list article{transition:background .16s ease}.portal-notification-list article:hover{background:var(--premium-surface-soft)}.portal-profile-orb{background:radial-gradient(circle at 28% 22%,#2d8ec0,var(--navy))!important;box-shadow:0 20px 40px rgba(6,58,92,.2)!important}.profile-facts div{border-color:var(--premium-line)!important}
.exam-timer{border:1px solid rgba(255,255,255,.1);box-shadow:0 10px 24px rgba(4,36,59,.18)}.answer-option{border-color:var(--premium-line)!important;background:var(--premium-surface-soft)!important}.answer-option:hover{border-color:rgba(21,108,159,.35)!important;background:color-mix(in srgb,var(--blue) 5%,var(--premium-surface))!important}.exam-submit-bar,.attendance-save-bar{border-color:var(--premium-line)!important;background:color-mix(in srgb,var(--premium-surface) 90%,transparent)!important;box-shadow:var(--premium-shadow)!important}

/* Footer */
.cas-admin-footer,.cas-portal-footer{border-top:1px solid var(--premium-line)!important;background:color-mix(in srgb,var(--premium-surface) 88%,transparent)!important;color:var(--premium-muted)!important}.cas-footer-brand img{filter:drop-shadow(0 4px 7px rgba(8,32,55,.06))}.cas-version-chip{border:1px solid var(--premium-line)!important;background:var(--premium-surface-soft)!important;color:var(--premium-muted)!important}

/* Dark mode corrections */
html[data-theme=dark] .public-body .card-grid .portal-card{background:linear-gradient(180deg,var(--premium-surface),var(--premium-surface-soft))}
html[data-theme=dark] .premium-auth-logo,html[data-theme=dark] .cas-sidebar-logo{background:#f8fbfd!important}
html[data-theme=dark] .cas-admin-header .icon-button,html[data-theme=dark] .cas-portal-header .icon-button,html[data-theme=dark] .cas-user-menu{background:var(--premium-surface)!important}
html[data-theme=dark] .button-outline{background:var(--premium-surface)!important;color:var(--premium-ink)!important}

/* Responsive */
@media(max-width:1120px){
  .premium-auth-shell{grid-template-columns:1fr;max-width:760px}.premium-auth-brand{min-height:390px;padding:38px!important}.premium-auth-copy h1{font-size:3rem}.premium-auth-assurance{grid-template-columns:repeat(3,1fr)!important}.premium-auth-form-panel{padding:48px!important}
}
@media(max-width:1024px){
  .admin-content,.portal-content{padding:20px 18px 30px!important}.cas-sidebar{box-shadow:22px 0 60px rgba(0,0,0,.2)!important}.sidebar-overlay.open{backdrop-filter:blur(3px)}
}
@media(max-width:760px){
  .auth-section.premium-auth-v11{padding:26px 12px;min-height:auto}.premium-auth-shell{border-radius:22px;box-shadow:0 18px 55px rgba(3,24,40,.15)}.premium-auth-brand{min-height:auto;padding:30px 24px!important;gap:26px}.premium-auth-copy h1{font-size:2.45rem}.premium-auth-copy p{font-size:.94rem}.premium-auth-assurance{grid-template-columns:1fr!important}.premium-auth-assurance>span{grid-template-columns:auto 1fr!important}.premium-auth-foot{display:none}.premium-auth-form-panel{padding:34px 24px!important}.premium-auth-form-head h2{font-size:1.65rem!important}.premium-auth-v11 .auth-back{flex-direction:column;gap:8px}.premium-auth-logo img{max-width:160px;height:40px}
  .cas-admin-header,.cas-portal-header{backdrop-filter:blur(12px)}.admin-content,.portal-content{padding:16px 12px 26px!important}.cas-admin-dashboard-hero,.cas-portal-hero,.portal-hero-card{border-radius:18px!important}.panel,.content-card,.portal-card,.report-card{border-radius:15px!important}.filter-bar{width:100%;align-items:stretch!important}.filter-bar>*,.filter-bar .search-field{width:100%!important}.page-toolbar{align-items:stretch!important}.toolbar-actions{width:100%}.toolbar-actions .button{flex:1}
}
@media(max-width:520px){
  .premium-auth-brand{padding:26px 20px!important}.premium-auth-copy h1{font-size:2.05rem}.premium-auth-form-panel{padding:28px 18px!important}.premium-auth-form input{height:50px}.premium-auth-submit{height:52px}.cas-user-menu>span:not(.avatar),.cas-user-menu>b{display:none!important}.cas-user-menu{padding:5px!important}.admin-content,.portal-content{padding-inline:9px!important}.cas-admin-search-band{padding:8px!important}.button{white-space:normal;text-align:center}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
