/* Solozon admin shell and workspace presentation */
body.admin-body{
  --admin-sidebar:#082f5d;--admin-sidebar-2:#0d477c;--admin-ink:#17304d;--admin-muted:#708198;--admin-accent:var(--accent);--admin-accent-soft:#fff0f1;
  min-height:100vh;margin:0;background:#f4f7fb;color:var(--admin-ink);font:14px/1.55 Inter,Arial,sans-serif
}
.admin-body .skip-link{z-index:500}
.admin-app-main{min-height:100vh;padding:0}
.admin-shell{--sidebar-width:264px;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh;transition:grid-template-columns .2s ease}
.admin-sidebar{position:sticky;top:0;z-index:100;height:100vh;min-height:100vh;display:flex;flex-direction:column;padding:22px 14px 16px;background:linear-gradient(180deg,var(--admin-sidebar),#06264a);color:#e6f1fa;overflow-y:auto}
.admin-sidebar-brand{display:flex;align-items:center;gap:11px;padding:2px 10px 24px;color:#fff;text-decoration:none}
.admin-sidebar-brand img{width:42px;height:42px;border-radius:50%;object-fit:contain;background:#fff}
.admin-sidebar-brand .brand-mark{width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:#fff;color:var(--primary)}
.admin-brand-copy{min-width:0}
.admin-brand-copy strong{display:block;color:#fff;font-size:13px;letter-spacing:.08em}
.admin-brand-copy small{display:block;color:#a9c8e3;font-size:8px;letter-spacing:.08em}
.admin-sidebar-nav{display:flex;flex-direction:column;gap:20px}
.admin-nav-group{display:grid;gap:4px}
.admin-nav-heading{padding:0 12px 4px;color:#83a9cb;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.admin-nav-link{min-height:43px;display:flex;align-items:center;gap:12px;padding:0 11px;border-radius:10px;color:#d6e5f1;text-decoration:none;font-size:12px;font-weight:600;transition:background .16s ease,color .16s ease}
.admin-nav-link:hover,.admin-nav-link:focus-visible{background:rgba(255,255,255,.09);color:#fff}
.admin-nav-link.active{background:rgba(255,255,255,.1);color:#fff;box-shadow:inset 3px 0 var(--admin-accent)}
.admin-nav-icon{display:grid;place-items:center;width:25px;height:25px;flex:0 0 25px;border:1px solid rgba(214,237,255,.18);border-radius:8px;color:#b9daf2;font-size:10px;font-weight:800}
.admin-nav-link.active .admin-nav-icon{background:rgba(255,255,255,.13);color:#fff;border-color:transparent}
.admin-academic-subnav{display:grid;gap:3px}
.admin-academic-subnav>summary{min-height:43px;display:flex;align-items:center;gap:12px;padding:0 11px;border-radius:10px;color:#d6e5f1;font-size:12px;font-weight:650;cursor:pointer;list-style:none}
.admin-academic-subnav>summary::-webkit-details-marker{display:none}
.admin-academic-subnav>summary:hover,.admin-academic-subnav>summary:focus-visible{background:rgba(255,255,255,.09);color:#fff;outline:none}
.admin-academic-subnav[open]>summary{color:#fff;background:rgba(255,255,255,.06)}
.admin-subnav-chevron{margin-left:auto;color:#a9c8e3;transition:transform .16s ease}
.admin-academic-subnav[open] .admin-subnav-chevron{transform:rotate(180deg)}
.admin-academic-subnav-links{display:grid;gap:2px;padding:3px 0 3px 12px;border-left:1px solid rgba(214,237,255,.19);margin-left:23px}
.admin-academic-subnav-links .admin-nav-link{min-height:36px;padding:0 9px;font-size:11px}
.admin-academic-subnav-links .admin-nav-icon{width:21px;height:21px;flex-basis:21px;font-size:9px;border-radius:6px}
.admin-academic-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.admin-academic-card{position:relative;min-height:190px;display:flex;flex-direction:column;align-items:flex-start;padding:21px;border:1px solid #e3eaf1;border-radius:16px;background:linear-gradient(145deg,#fff,#fffafa);box-shadow:0 7px 24px rgba(18,48,79,.04);color:var(--admin-ink);text-decoration:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.admin-academic-card:hover,.admin-academic-card:focus-visible{transform:translateY(-2px);border-color:#e4b1b7;box-shadow:0 12px 28px rgba(18,48,79,.09);outline:none}
.admin-academic-card-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--admin-accent-soft);color:var(--admin-accent);font-weight:850}
.admin-academic-card-count{position:absolute;top:23px;right:22px;color:#dce5ee;font-size:26px;font-weight:800}
.admin-academic-card strong{margin-top:15px;font-size:14px}
.admin-academic-card small{max-width:280px;margin-top:5px;color:var(--admin-muted);font-size:11px}
.admin-academic-card-action{margin-top:auto;padding-top:15px;color:var(--admin-accent);font-size:11px;font-weight:750}
.admin-sidebar-bottom{display:grid;gap:10px;margin-top:auto;padding-top:20px}
.admin-user-card{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.055)}
.admin-user-avatar{display:grid;place-items:center;width:31px;height:31px;flex:0 0 31px;border-radius:50%;background:#cce6f8;color:#06478d;font-size:10px;font-weight:800}
.admin-user-copy{min-width:0}
.admin-user-copy strong,.admin-user-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-user-copy strong{color:#fff;font-size:10px}
.admin-user-copy small{color:#a9c8e3;font-size:9px}
.admin-logout{min-height:40px;display:flex;align-items:center;gap:12px;padding:0 12px;border-radius:9px;color:#d6e5f1;text-decoration:none;font-size:12px;font-weight:650}
.admin-logout:hover{background:rgba(255,255,255,.09);color:#fff}
.admin-workspace{min-width:0;display:flex;flex-direction:column}
.admin-topbar{position:sticky;top:0;z-index:50;min-height:72px;display:flex;align-items:center;gap:14px;padding:12px clamp(18px,3vw,38px);border-bottom:1px solid #e6ebf1;background:linear-gradient(90deg,#147eae 0 73%,var(--admin-accent) 73%) top/100% 3px no-repeat,rgba(255,255,255,.94);backdrop-filter:blur(14px)}
.admin-sidebar-toggle{display:inline-grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border:1px solid #e1e9f1;border-radius:11px;background:#fff;color:#31516f;font-size:17px;cursor:pointer}
.admin-sidebar-toggle:hover{background:var(--admin-accent-soft);border-color:#f1c9cd;color:var(--admin-accent)}
.admin-topbar-title{min-width:0}
.admin-topbar-title strong{display:block;color:var(--admin-ink);font-size:14px;font-weight:750}
.admin-topbar-title small{display:block;color:var(--admin-muted);font-size:10px}
.admin-topbar-spacer{flex:1}
.admin-topbar-user{display:flex;align-items:center;gap:9px;color:var(--admin-muted);font-size:11px}
.admin-topbar-user .admin-user-avatar{width:34px;height:34px;flex-basis:34px}
.admin-flash{width:min(1400px,94%);margin:18px auto 0}
.admin-main{width:100%;flex:1;padding:30px 0 48px}
.admin-main>.container{width:min(1400px,94%)}
.admin-head{align-items:center;margin-bottom:24px}
.admin-head h1{margin:0;color:var(--admin-ink);font-size:clamp(1.55rem,2.4vw,2rem);letter-spacing:-.035em}
.admin-body .card,.admin-body .dash-widget,.admin-body .settings-section{
  border:1px solid #e5ebf1;border-radius:15px;background:#fff;box-shadow:0 6px 20px rgba(17,50,82,.035)
}
.admin-body .card{padding:19px}
.admin-body .card:hover{transform:none;box-shadow:0 10px 24px rgba(17,50,82,.07)}
.admin-body .eyebrow{color:var(--admin-accent);font-size:10px;letter-spacing:.08em}
.admin-body .tag{border-radius:999px}
.admin-body .btn{min-height:39px;border-radius:9px;font-size:12px}
.admin-body .btn-primary{background:var(--admin-accent);box-shadow:0 5px 13px rgba(201,37,56,.17)}
.admin-body .btn-primary:hover,.admin-body .btn-accent:hover{background:#b8172b;filter:brightness(1.04)}
.admin-body .btn-accent{background:var(--accent)}
.admin-body .btn-danger{background:#fff0f1;color:#a3202b}
.admin-body .form-card{margin:0;max-width:none;border-radius:15px;box-shadow:none}
.admin-body .field span{font-size:12px}
.admin-body .field input,.admin-body .field select,.admin-body .field textarea{border-radius:9px}
.admin-body .table-wrap{overflow:auto;border:1px solid #e4eaf0;border-radius:12px;background:#fff}
.admin-body .table{min-width:680px}
.admin-body .table th{position:sticky;top:0;background:#f6f9fc;color:#6c7d91;font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.admin-body .table td{color:#294560;font-size:12px;vertical-align:middle}
.admin-body .table th,.admin-body .table td{padding:12px 14px;border-color:#edf1f5}
.admin-body .admin-main input:focus,.admin-body .admin-main select:focus,.admin-body .admin-main textarea:focus{outline:0;border-color:var(--admin-accent);box-shadow:0 0 0 3px rgba(216,27,44,.15)}
.admin-body .settings-tabs{gap:7px}
.admin-body .settings-tabs a{border-color:#e2eaf1;color:#526a82;font-size:11px}
.admin-body .settings-tabs a.active{border-color:var(--admin-accent);background:var(--admin-accent);color:#fff}
.admin-body .settings-section{padding:clamp(18px,2.5vw,28px)}
.admin-body .quicklinks{grid-template-columns:repeat(3,minmax(0,1fr));margin:20px 0}
.admin-body .quicklinks a{min-height:66px;display:grid;place-items:center;border:1px solid #e4eaf0;border-radius:12px;background:#fff;color:#244663;font-size:12px}
.admin-body .quicklinks a:hover{border-color:#efc4ca;background:var(--admin-accent-soft);color:var(--admin-accent)}
.admin-body .dash-widget{padding:20px}
.admin-body .dash-widget{border-top:2px solid rgba(201,37,56,.62)}
.admin-body .dash-list li{align-items:center;border-color:#edf1f5;color:#3d566e}
.admin-sidebar-backdrop{display:none}
.admin-shell.is-collapsed{grid-template-columns:82px minmax(0,1fr)}
.admin-shell.is-collapsed .admin-sidebar-brand{justify-content:center;padding-inline:0}
.admin-shell.is-collapsed .admin-brand-copy,.admin-shell.is-collapsed .admin-nav-heading,.admin-shell.is-collapsed .admin-nav-label,.admin-shell.is-collapsed .admin-user-copy{display:none}
.admin-shell.is-collapsed .admin-academic-subnav>summary{justify-content:center;padding-inline:0}
.admin-shell.is-collapsed .admin-academic-subnav[open] .admin-academic-subnav-links{display:none}
.admin-shell.is-collapsed .admin-nav-link,.admin-shell.is-collapsed .admin-logout{justify-content:center;padding-inline:0}
.admin-shell.is-collapsed .admin-sidebar{padding-inline:12px}
.admin-shell.is-collapsed .admin-user-card{justify-content:center;padding-inline:0}
.admin-login{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 15%,#dceef8,transparent 36%),linear-gradient(135deg,#eff5fb,#fff)}
.admin-login-page{width:min(900px,100%)}
.admin-login-card{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;overflow:hidden;border:1px solid #e0e9f1;border-radius:24px;background:#fff;box-shadow:0 24px 70px rgba(7,44,82,.15)}
.admin-login-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#147eae 0 73%,var(--admin-accent) 73%);z-index:1}
.admin-login-intro{display:flex;flex-direction:column;justify-content:space-between;padding:38px;background:radial-gradient(circle at 91% 11%,rgba(216,27,44,.22),transparent 25%),linear-gradient(145deg,#062c58,#07549a);color:#fff}
.admin-login-intro h1{margin:24px 0 10px;color:#fff;font-size:clamp(1.8rem,3.3vw,2.5rem)}
.admin-login-intro p{color:#d4e6f5}
.admin-login-intro .brand b{color:#fff}
.admin-login-intro .btn-outline{color:#fff;border-color:rgba(255,255,255,.55)}
.admin-login-kicker{color:#ffc1ca;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.admin-login-form{padding:clamp(25px,5vw,52px)}
.admin-login-form h2{margin:0 0 6px;font-size:23px}
.admin-login-form>p{margin:0 0 24px;color:var(--admin-muted);font-size:13px}
.admin-login-form .field+.field{margin-top:16px}
.admin-login-form .btn{width:100%;margin-top:22px}
.admin-login-form .help{text-align:center;margin-top:18px}
.admin-login-form .form-card{padding:0;border:0;box-shadow:none}
.admin-login-form .field input:focus,.admin-login-form .field select:focus,.admin-login-form .field textarea:focus{outline:0;border-color:var(--admin-accent);box-shadow:0 0 0 3px rgba(216,27,44,.15)}
@media(max-width:980px){
 .admin-academic-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .admin-shell{--sidebar-width:238px}
 .admin-body .quicklinks{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .admin-shell,.admin-shell.is-collapsed{display:block}
 .admin-sidebar{position:fixed;left:0;top:0;width:min(290px,84vw);height:100dvh;min-height:0;transform:translateX(-105%);transition:transform .2s ease;box-shadow:18px 0 42px rgba(0,20,45,.2)}
 .admin-sidebar{visibility:hidden;transition:transform .2s ease,visibility .2s step-end}
 .admin-shell.is-open .admin-sidebar{visibility:visible;transform:translateX(0);transition:transform .2s ease,visibility 0s}
 .admin-shell.is-open .admin-sidebar-backdrop{position:fixed;inset:0;z-index:90;display:block;border:0;background:rgba(5,23,43,.5)}
 .admin-shell.is-collapsed .admin-brand-copy,.admin-shell.is-collapsed .admin-nav-heading,.admin-shell.is-collapsed .admin-nav-label,.admin-shell.is-collapsed .admin-user-copy{display:block}
 .admin-shell.is-collapsed .admin-academic-subnav>summary{justify-content:flex-start;padding-inline:11px}
 .admin-shell.is-collapsed .admin-academic-subnav[open] .admin-academic-subnav-links{display:grid}
 .admin-shell.is-collapsed .admin-sidebar-brand{justify-content:flex-start;padding:2px 10px 24px}
 .admin-shell.is-collapsed .admin-nav-link,.admin-shell.is-collapsed .admin-logout{justify-content:flex-start;padding-inline:11px}
 .admin-shell.is-collapsed .admin-user-card{justify-content:flex-start;padding:11px}
 .admin-topbar{min-height:64px;padding:10px 16px}
 .admin-topbar-user>span{display:none}
 .admin-main{padding:22px 0 38px}
 .admin-main>.container{width:92%}
 .admin-body .quicklinks{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){body.admin-menu-open{overflow:hidden}}
@media(max-width:600px){
 .admin-academic-cards{grid-template-columns:1fr}
 .admin-body .quicklinks{grid-template-columns:1fr}
 .admin-head{align-items:flex-start}
 .admin-main .two{grid-template-columns:1fr}
 .admin-body .table{min-width:620px}
 .admin-login{padding:14px}
 .admin-login-card{grid-template-columns:1fr;border-radius:18px}
 .admin-login-intro{min-height:190px;padding:24px}
 .admin-login-intro h1{margin:14px 0 4px;font-size:25px}
 .admin-login-form{padding:25px}
}
@media(prefers-reduced-motion:reduce){
 .admin-shell,.admin-sidebar,.admin-nav-link{transition:none}
}
