:root{
  --brand-blue:#1677ff;--brand-cyan:#22d3ee;--brand-navy:#0b1f3a;--brand-mist:#f7fafc;
  --brand-line:#dbe7f3;--brand-gradient:linear-gradient(135deg,#1677ff 0%,#22d3ee 100%);
  --brand-shadow:0 12px 36px rgba(11,31,58,.08);
  --primary:#1677ff;--primary-dark:#0863df;--primary-soft:#edf6ff;
  --blue:#1677ff;--blue-dark:#0863df;--blue-soft:#edf6ff;--navy:#0b1f3a;
  --sidebar:#0b1f3a;--bg:#f7fafc;--surface:#fff;--ink:#0b1f3a;--text:#0b1f3a;
  --line:#dbe7f3;--border:#dbe7f3;
}
html{background:var(--brand-mist)}
body{background:radial-gradient(circle at 92% 2%,rgba(34,211,238,.08),transparent 28rem),var(--brand-mist)}
button,a,input,select,textarea{transition:border-color .2s,background-color .2s,color .2s,box-shadow .2s}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(34,211,238,.32);outline-offset:2px}
.button.primary,.primary-btn,.submit,.submit-button,.unlock,.contact button{border-color:transparent;background:var(--brand-gradient);box-shadow:0 8px 22px rgba(22,119,255,.18)}
.button.primary:hover,.primary-btn:hover,.submit:hover,.submit-button:hover,.unlock:hover,.contact button:hover{background:linear-gradient(135deg,#0863df 0%,#18bdd8 100%)}
.panel,.stat-card,.profile-progress,.status-list,.public-quick,.notice,.profile-sections,.profile-form,.share-panel,.account-card,.settings-list,.invite-card,.success-card,.access-card{border-color:var(--brand-line);box-shadow:var(--brand-shadow)}
.sidebar{background:radial-gradient(circle at 20% 0,rgba(34,211,238,.16),transparent 16rem),var(--brand-navy)}
.nav-item.active{background:linear-gradient(90deg,rgba(22,119,255,.9),rgba(34,211,238,.55))}
.nav-item:hover{background:rgba(34,211,238,.09)}
.security-note{background:rgba(255,255,255,.06);border-color:rgba(34,211,238,.16)}
.security-note svg{color:var(--brand-cyan)}
.topbar,.teacher-top,.invite-header,header{backdrop-filter:saturate(140%) blur(14px)}
.topbar,.teacher-top{background:rgba(255,255,255,.92)}
.stat-icon.blue,.teacher-avatar,.avatar,.portrait,.account-avatar,.profile-photo{background:linear-gradient(145deg,#e9f3ff,#e9fbff)}
.progress i,.progress-bar i{background:var(--brand-gradient)}
.donut{background:conic-gradient(var(--brand-blue) 0 64%,var(--brand-cyan) 64% 78%,#e9edf3 78%)}
.brand-mark img,.t-brand img,.invite-brand img,.brand img,.logo,.mobile-logo{filter:saturate(1.08)}
.login-brand{position:relative;overflow:hidden;background:radial-gradient(circle at 18% 18%,rgba(34,211,238,.18),transparent 20rem),linear-gradient(145deg,#0b1f3a,#102b4c)}
.login-brand:after{content:"";position:absolute;right:-8rem;bottom:-10rem;width:28rem;height:28rem;border:1px solid rgba(34,211,238,.16);border-radius:50%;box-shadow:0 0 0 5rem rgba(22,119,255,.035),0 0 0 10rem rgba(34,211,238,.025);pointer-events:none}
.login-brand>*{position:relative;z-index:1}.login-panel{background:rgba(255,255,255,.96)}.security{border-left-color:var(--brand-cyan)}.login-panel input{background:#fbfdff}
.teacher-side{background:linear-gradient(180deg,#fff 0%,#f7fbff 100%)}
.t-nav.active,.section-link.active{background:linear-gradient(90deg,#edf6ff,#edfcff)}
.invite-intro{background:radial-gradient(circle at 85% 10%,rgba(34,211,238,.2),transparent 14rem),linear-gradient(145deg,#0b1f3a,#10345c)}
.steps i.active{background:var(--brand-gradient)}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 82% 16%,rgba(34,211,238,.22),transparent 18rem),linear-gradient(135deg,#0b1f3a 0%,#123d68 100%)}
.hero:after{content:"";position:absolute;width:20rem;height:20rem;right:-8rem;bottom:-12rem;border:1px solid rgba(255,255,255,.1);border-radius:50%;pointer-events:none}
.hero>*{position:relative;z-index:1}.photo{background:linear-gradient(145deg,#e6f1ff,#ddfbff)}
#shareContent>footer{background:linear-gradient(120deg,#0b1f3a,#102e50)}
.contact{background:linear-gradient(145deg,#f3f8ff,#f0fcff);border:1px solid var(--brand-line)}
img{max-width:100%;height:auto}.table-wrap{-webkit-overflow-scrolling:touch}.table-wrap table{min-width:720px}
@media(max-width:1024px){.content,.teacher-content{padding:24px}.dashboard-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .content,.teacher-content{padding:18px 16px}.topbar{padding:0 16px}
  .welcome-row,.page-heading{align-items:flex-start;gap:14px}.heading-actions{flex-wrap:wrap;justify-content:flex-end}
  .filter-bar{align-items:stretch;flex-wrap:wrap}.filter-bar .search-input,.filter-bar select,.filter-bar .date-input{min-height:44px}
  .filter-bar .search-input{width:100%}.filter-bar .search-input input{width:100%}
  .panel,.stat-card{border-radius:12px}.button,.primary-btn,.plain-btn,.submit,.submit-button{min-height:44px}
  .invite-shell{width:min(100% - 24px,1040px)}.hero-copy{padding:34px 22px}
}
@media(max-width:480px){
  .stats-grid{grid-template-columns:1fr}.welcome-row,.page-heading{display:block}
  .welcome-row>.button,.page-heading>.button,.heading-actions{width:100%;margin-top:14px}.heading-actions .button{flex:1}
  .top-actions .global-search,.breadcrumb span,.breadcrumb i{display:none}.topbar{height:58px}.content{padding:16px 12px}
  .stat-card{padding:16px}.panel-head{padding:0 16px}.pagination{padding:0 12px}
  .login-panel{padding:24px 20px}.login-panel form{width:100%}
  .facts{grid-template-columns:1fr}.facts article{border-right:0;border-bottom:1px solid var(--brand-line)}.facts article:last-child{border-bottom:0}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
