:root{--teal:#075b63;--teal2:#0d9488;--teal3:#e9f7f5;--gold:#d8a62b;--ink:#18364d;--muted:#6b7d8f;--line:#e7edf0;--bg:#f7fafb;--white:#fff;--shadow:0 12px 35px rgba(16,73,87,.08);--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Tahoma,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:14px}a{color:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;right:0;top:0;bottom:0;width:255px;background:linear-gradient(180deg,#075b63 0%,#046875 48%,#075565 100%);color:#fff;padding:22px 16px;z-index:40;display:flex;flex-direction:column;box-shadow:-8px 0 30px rgba(0,55,66,.08)}.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 22px;border-bottom:1px solid rgba(255,255,255,.12)}.brand-mark{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,#fff2be,#d7a62a);color:#075b63;font-size:24px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}.brand b{display:block;font-size:16px}.brand span{display:block;margin-top:4px;font-size:9px;letter-spacing:1.4px;color:#f1d079}.sidebar nav{display:flex;flex-direction:column;gap:5px;padding-top:18px}.sidebar nav a{display:flex;align-items:center;gap:12px;text-decoration:none;padding:12px 13px;border-radius:12px;color:#e8f6f7;font-weight:700;transition:.2s}.sidebar nav a span{width:25px;text-align:center;font-size:18px}.sidebar nav a:hover{background:rgba(255,255,255,.08)}.sidebar nav a.active{background:linear-gradient(90deg,rgba(14,164,155,.52),rgba(255,255,255,.10));color:#ffe28c;box-shadow:inset -3px 0 0 var(--gold)}.sidebar-bottom{margin-top:auto;display:flex;flex-direction:column;gap:12px}.support-card,.secure-card{border-radius:16px;background:rgba(255,255,255,.08);padding:14px;border:1px solid rgba(255,255,255,.08)}.support-card b,.support-card small{display:block}.support-card small{color:#cbe4e7;margin:7px 0 12px}.support-card a{display:block;text-align:center;text-decoration:none;border:1px solid #d6af47;color:#ffe28c;padding:9px;border-radius:10px}.secure-card{display:flex;gap:10px;align-items:center}.secure-card>span{font-size:24px;color:#ffe28c}.secure-card b,.secure-card small{display:block}.secure-card small{color:#cbe4e7;margin-top:3px}.main{margin-right:255px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:82px;background:#fff;border-bottom:1px solid var(--line);display:grid;grid-template-columns:auto auto minmax(220px,430px) auto auto;align-items:center;gap:20px;padding:0 28px;position:sticky;top:0;z-index:25}.menu-btn{border:0;background:transparent;font-size:24px;color:var(--ink);cursor:pointer}.top-brand span{display:block;color:var(--teal);font-weight:800;font-size:17px}.top-brand small{display:block;color:var(--gold);font-size:9px;letter-spacing:1.6px;margin-top:3px}.top-search{display:flex;align-items:center;gap:8px;background:#f6f8fa;border:1px solid #eef2f4;border-radius:13px;padding:0 13px;height:44px}.top-search input{border:0;outline:none;background:transparent;width:100%;font-family:inherit;color:var(--ink)}.top-actions{display:flex;gap:8px;direction:ltr}.icon-btn{position:relative;width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}.icon-btn em{position:absolute;right:-4px;top:-5px;background:var(--teal2);color:#fff;border-radius:50%;font-style:normal;font-size:10px;width:18px;height:18px;display:grid;place-items:center}.user-box{display:flex;align-items:center;gap:9px;white-space:nowrap}.avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(145deg,#d6f0ee,#f8e5ad);display:grid;place-items:center;font-weight:800;color:var(--teal)}.user-box b,.user-box small{display:block}.user-box small{color:var(--muted);margin-top:2px}.user-box>a{text-decoration:none;font-size:18px;color:var(--muted)}.content{padding:24px 28px 10px;flex:1}.footer{text-align:center;color:#8493a1;font-size:12px;padding:18px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.page-head h1{margin:0 0 6px;font-size:25px;color:var(--teal)}.page-head p{margin:0;color:var(--muted)}.crumb{font-size:12px;color:#7990a0;margin-bottom:7px}.hero-banner{border-radius:20px;min-height:150px;background:linear-gradient(110deg,rgba(12,131,127,.68),#05646d 62%,#034c58),linear-gradient(135deg,#d9efef,#fff);box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;overflow:hidden;color:#fff;margin-bottom:18px;position:relative}.hero-banner:before{content:"";position:absolute;left:0;top:0;bottom:0;width:38%;background:linear-gradient(135deg,#edf5f2,#bfd8d6);clip-path:polygon(0 0,100% 0,78% 100%,0 100%)}.school-art{position:relative;z-index:1;width:36%;height:120px;margin-left:24px;display:flex;align-items:flex-end;gap:8px}.school-art span{background:#fff;opacity:.9;border:1px solid #b9d1cf;display:block}.school-art span:nth-child(1){width:50%;height:58px}.school-art span:nth-child(2){width:18%;height:95px;background:#2b8c8c}.school-art span:nth-child(3){width:34%;height:72px}.welcome{position:relative;z-index:2;padding:26px 34px;text-align:right}.welcome h2{margin:0 0 9px;font-size:24px}.welcome p{margin:0 0 15px;color:#d5eff0}.welcome small{color:#e8f8f8}.kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:16px}.card{background:#fff;border:1px solid #edf1f3;border-radius:var(--radius);box-shadow:var(--shadow)}.kpi{padding:18px;display:flex;justify-content:space-between;gap:10px;min-height:122px}.kpi .meta span{color:var(--muted);font-weight:700}.kpi .meta strong{display:block;font-size:26px;color:#132e48;margin:8px 0}.kpi .meta small{color:#7590a1}.kpi .icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-size:20px;background:var(--teal3);color:var(--teal2)}.kpi.orange .icon{background:#fff2e8;color:#ea7b24}.kpi.purple .icon{background:#f3ebff;color:#8d4ae8}.kpi.blue .icon{background:#ebf3ff;color:#3e83ed}.growth{display:block;color:#15926f!important;margin-top:7px}.analytics{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:14px;margin-bottom:16px}.panel{padding:18px}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.panel-title h3{margin:0;font-size:16px}.panel-title a{font-size:12px;color:#2186df;text-decoration:none}.donut-wrap{display:flex;gap:18px;align-items:center}.donut{width:160px;height:160px;border-radius:50%;background:conic-gradient(#11aa91 0 42%,#3b82f6 42% 70%,#8b5cf6 70% 90%,#f5b944 90% 100%);position:relative;flex:0 0 auto}.donut:after{content:"";position:absolute;inset:31px;background:#fff;border-radius:50%}.donut-center{position:absolute;inset:0;display:grid;place-items:center;z-index:2;text-align:center}.donut-center b{font-size:23px}.donut-center small{display:block;color:var(--muted)}.legend{display:flex;flex-direction:column;gap:9px;flex:1}.legend div{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#4f6476}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-left:6px}.line-chart{height:180px;position:relative;background:linear-gradient(to top,rgba(13,148,136,.07),transparent 72%);border-bottom:1px solid #dce6ea;border-left:1px solid #dce6ea;margin:16px 18px 0}.line-svg{position:absolute;inset:0;width:100%;height:100%}.quick-actions{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:16px}.quick{background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px;text-decoration:none;display:flex;align-items:center;gap:8px;box-shadow:0 7px 20px rgba(20,73,86,.04)}.quick span{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--teal3);color:var(--teal2);font-size:18px}.lower-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.list{display:flex;flex-direction:column}.list-row{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.list-row small{color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700;background:#e9f8f1;color:#14825f}.badge.warn{background:#fff4e7;color:#c87918}.badge.danger{background:#fff0f0;color:#c33}.badge.blue{background:#edf4ff;color:#3977db}.toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.actions{display:flex;gap:8px;flex-wrap:wrap}.primary-btn,.secondary-btn,.ghost-btn,.danger-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:11px;padding:11px 15px;font-family:inherit;font-weight:700;cursor:pointer;text-decoration:none}.primary-btn{background:linear-gradient(135deg,#08656b,#0d9a8d);color:#fff;box-shadow:0 8px 20px rgba(7,112,109,.18)}.secondary-btn{background:#edf8f7;color:#08776f}.ghost-btn{background:#fff;border:1px solid var(--line);color:var(--ink)}.danger-btn{background:#fff0f0;color:#b42828}.full{width:100%}.search-box{display:flex;align-items:center;border:1px solid var(--line);background:#fff;border-radius:11px;padding:0 12px;height:42px;min-width:250px}.search-box input{border:0;outline:none;width:100%;font-family:inherit}.filters{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:14px}.filters select,.filters input,.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font-family:inherit;color:var(--ink);outline:none}.filters select:focus,.filters input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#42a9a1;box-shadow:0 0 0 3px rgba(13,148,136,.08)}.table-card{overflow:hidden}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:930px}.data-table th{background:#fbfcfd;color:#607385;font-size:12px;padding:13px 12px;border-bottom:1px solid var(--line);text-align:right}.data-table td{padding:12px;border-bottom:1px solid #edf2f4;vertical-align:middle}.data-table tr:hover td{background:#fbfefe}.student-cell{display:flex;align-items:center;gap:10px}.student-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eaf7f5;color:#08776f;font-weight:800}.row-actions{display:flex;gap:6px}.mini-btn{border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 9px;color:#4e677b;cursor:pointer;text-decoration:none}.pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;color:var(--muted);font-size:12px}.pages{display:flex;gap:5px}.pages a,.pages span{width:32px;height:32px;border:1px solid var(--line);background:#fff;border-radius:9px;display:grid;place-items:center;text-decoration:none}.pages .current{background:var(--teal);color:#fff}.split-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:14px}.summary-side{display:flex;flex-direction:column;gap:14px}.mini-donut{width:140px;height:140px;border-radius:50%;background:conic-gradient(#0da890 0 56%,#815cf6 56% 84%,#f3aa33 84% 100%);position:relative;margin:12px auto}.mini-donut:after{content:"";position:absolute;inset:29px;border-radius:50%;background:#fff}.mini-center{position:absolute;inset:0;z-index:2;display:grid;place-items:center;text-align:center}.mini-center b{font-size:22px}.form-card{padding:20px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-grid .full{grid-column:1/-1}.form-grid label{display:block;margin-bottom:7px;font-weight:700;color:#425b70}.form-grid textarea{min-height:95px;resize:vertical}.alert{padding:12px 14px;border-radius:11px;margin-bottom:14px}.alert.success{background:#eaf9f2;color:#126b45}.alert.danger{background:#fff0f0;color:#a32828}.alert.warn{background:#fff6e6;color:#a36c14}.alert.info{background:#eaf4ff;color:#2366aa}.empty{padding:35px;text-align:center;color:var(--muted)}.module-card{padding:16px;display:flex;justify-content:space-between;align-items:center}.module-card.off{opacity:.78}.module-label small{display:block;color:var(--muted);margin-top:4px}.simple-body{background:linear-gradient(135deg,#edf8f8,#f8fbff);min-height:100vh;padding:30px}.simple-card{max-width:780px;margin:50px auto;background:#fff;border-radius:22px;padding:28px;box-shadow:var(--shadow)}.license-state{display:flex;justify-content:space-between;padding:16px;border-radius:13px;margin-bottom:16px}.license-state.ok{background:#eaf9f2;color:#126b45}.license-state.bad{background:#fff0f0;color:#a32828}.license-state span{color:inherit}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.details-grid>div{border:1px solid var(--line);border-radius:12px;padding:13px}.details-grid span,.details-grid b{display:block}.details-grid span{color:var(--muted);font-size:12px;margin-bottom:6px}.login-body{min-height:100vh;background:#eef7f7}.login-page{min-height:100vh;display:grid;grid-template-columns:1.2fr .8fr;background:#fff}.login-hero{position:relative;overflow:hidden;background:linear-gradient(160deg,#f9fcfd 0%,#edf8fa 52%,#ddecf0 100%);padding:38px 55px;display:flex;flex-direction:column}.hero-brand{display:flex;align-items:center;gap:11px}.hero-logo{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,var(--teal),#0d918b);color:#ffe6a0;font-size:27px}.hero-brand b{display:block;font-size:19px;color:var(--teal)}.hero-brand small{display:block;color:var(--gold);font-size:10px;letter-spacing:1.6px;margin-top:4px}.hero-copy{margin-top:65px;position:relative;z-index:2}.hero-copy>span{color:#c28c18;font-size:20px}.hero-copy h1{font-size:44px;color:var(--teal);margin:8px 0 12px}.hero-copy p{font-size:18px;color:#50677a}.school-visual{position:absolute;left:4%;right:4%;bottom:122px;height:250px;opacity:.94}.building{height:100%;display:flex;align-items:flex-end;gap:8px;padding:0 18px}.building div{background:linear-gradient(#fdfefe,#e7eeee);border:1px solid #b9cccf;box-shadow:0 18px 35px rgba(43,94,101,.09);position:relative}.building div:before{content:"";position:absolute;inset:15px;background:repeating-linear-gradient(90deg,#7eb4bd 0 18px,transparent 18px 32px),repeating-linear-gradient(0deg,#7eb4bd 0 16px,transparent 16px 30px);opacity:.45}.building div:nth-child(1){height:150px;flex:1}.building div:nth-child(2){height:215px;width:110px;background:linear-gradient(#3d9298,#2d7278)}.building div:nth-child(3){height:175px;flex:.85}.hero-stats{margin-top:auto;position:relative;z-index:3;background:rgba(255,255,255,.88);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.9);border-radius:18px;display:grid;grid-template-columns:repeat(4,1fr);box-shadow:var(--shadow)}.hero-stats div{padding:17px;text-align:center;border-left:1px solid var(--line)}.hero-stats div:last-child{border-left:0}.hero-stats b,.hero-stats span{display:block}.hero-stats b{color:var(--teal)}.hero-stats span{color:var(--muted);font-size:12px;margin-top:5px}.login-panel{display:flex;align-items:center;justify-content:center;padding:35px;background:#fff}.login-card{width:min(100%,470px);padding:36px}.lock-badge{width:66px;height:66px;margin:0 auto 14px;border-radius:50%;background:radial-gradient(circle,#fff 0 35%,#dff5f1 36% 100%);display:grid;place-items:center;font-size:29px;color:var(--teal)}.login-card h2{text-align:center;font-size:29px;color:var(--teal);margin:0}.login-card>p{text-align:center;color:var(--muted);margin:8px 0 28px}.login-card label{display:block;margin:14px 0 7px;font-weight:700}.input-wrap{height:48px;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;padding:0 13px}.input-wrap input{border:0;outline:none;width:100%;font-family:inherit;background:transparent}.input-wrap span{color:#8295a5}.login-meta{display:flex;justify-content:space-between;align-items:center;margin:14px 0 18px}.login-meta a{color:var(--teal2);text-decoration:none}.check{font-weight:400!important;margin:0!important}.support-line{text-align:center;border-top:1px solid var(--line);margin-top:22px;padding-top:18px;color:var(--muted)}.overlay{display:none}
@media(max-width:1200px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.analytics,.lower-grid{grid-template-columns:1fr 1fr}.quick-actions{grid-template-columns:repeat(3,1fr)}.login-page{grid-template-columns:1fr 1fr}.hero-copy h1{font-size:36px}.topbar{grid-template-columns:auto auto 1fr auto}.top-actions{display:none}.split-layout{grid-template-columns:1fr}.summary-side{display:grid;grid-template-columns:1fr 1fr}}
@media(max-width:900px){.sidebar{transform:translateX(110%);transition:.25s}.sidebar.open{transform:translateX(0)}.main{margin-right:0}.overlay.show{display:block;position:fixed;inset:0;background:rgba(8,30,40,.3);z-index:35}.topbar{grid-template-columns:auto 1fr auto;padding:0 16px}.top-brand{display:none}.top-search{min-width:0}.user-box div:nth-child(2){display:none}.content{padding:18px 14px}.kpi-grid{grid-template-columns:1fr 1fr}.analytics,.lower-grid{grid-template-columns:1fr}.quick-actions{grid-template-columns:1fr 1fr 1fr}.login-page{grid-template-columns:1fr}.login-hero{display:none}.filters{grid-template-columns:1fr 1fr 1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.summary-side{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.kpi-grid{grid-template-columns:1fr}.quick-actions{grid-template-columns:1fr 1fr}.filters{grid-template-columns:1fr 1fr}.details-grid{grid-template-columns:1fr}.summary-side{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}.login-panel{padding:12px}.login-card{padding:20px}.simple-body{padding:10px}.simple-card{margin:10px auto}.top-search{display:none}.topbar{grid-template-columns:auto 1fr auto}.user-box{justify-self:end}}

/* v0.3.0 — Student management */
.student-top-actions{display:flex;gap:8px;flex-wrap:wrap}.student-profile{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;margin-bottom:16px}.profile-hero{padding:20px;display:flex;gap:18px;align-items:flex-start;background:linear-gradient(135deg,#fff,#f3fbfa)}.profile-photo{width:92px;height:92px;border-radius:24px;background:linear-gradient(135deg,#dff6f2,#edf5ff);display:grid;place-items:center;color:#08776f;font-size:34px;font-weight:900;overflow:hidden;flex:0 0 auto;border:4px solid #fff;box-shadow:0 10px 24px rgba(7,91,99,.12)}.profile-photo img{width:100%;height:100%;object-fit:cover}.profile-main{min-width:0;flex:1}.profile-main h2{margin:4px 0 4px;color:var(--teal);font-size:24px}.profile-main .sub{color:var(--muted);margin-bottom:12px}.profile-tags{display:flex;flex-wrap:wrap;gap:7px}.profile-details{padding:18px}.profile-details h3{margin-top:0}.detail-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-item{padding:11px;border:1px solid var(--line);border-radius:12px;background:#fbfdfd}.detail-item span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.profile-stat{padding:12px;border:1px solid var(--line);border-radius:12px;text-align:center;background:#fff}.profile-stat b{display:block;font-size:20px;color:var(--teal)}.profile-stat span{color:var(--muted);font-size:11px}.profile-lists{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}.compact-list{padding:16px}.compact-list h3{margin:0 0 10px}.compact-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.compact-row:last-child{border-bottom:0}.compact-row small{color:var(--muted)}.photo-upload{border:1px dashed #b8d6d4;background:#f6fbfa;padding:12px;border-radius:12px}.photo-upload small{display:block;color:var(--muted);margin-top:5px}.student-photo-sm{width:40px;height:40px;border-radius:12px;object-fit:cover;background:#eaf7f5;border:1px solid #d9ecea}.table-photo{width:38px;height:38px;border-radius:12px;object-fit:cover}.student-id-line{display:flex;flex-direction:column;gap:2px}.student-id-line small{color:var(--muted)}.filter-wide{grid-template-columns:1.3fr repeat(5,1fr) auto}.toolbar-info{color:var(--muted);font-size:12px}.print-only{display:none}.recent-students{display:flex;flex-direction:column}.recent-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.recent-item:last-child{border-bottom:0}.recent-item .meta{min-width:0;flex:1}.recent-item b,.recent-item small{display:block}.recent-item small{color:var(--muted);margin-top:3px}.photo-note{font-size:11px;color:var(--muted)}
@media(max-width:1100px){.student-profile{grid-template-columns:1fr}.profile-lists{grid-template-columns:1fr}.filter-wide{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.profile-hero{flex-direction:column}.profile-stats{grid-template-columns:1fr 1fr 1fr}.detail-list{grid-template-columns:1fr}.filter-wide{grid-template-columns:1fr 1fr}.student-top-actions{width:100%}.student-top-actions a{flex:1}.toolbar .search-box{width:100%;min-width:0}}
@media print{.sidebar,.topbar,.footer,.toolbar,.filters,.page-head .student-top-actions,.row-actions,.overlay{display:none!important}.main{margin:0!important}.content{padding:0!important}.card{box-shadow:none!important;border:1px solid #ddd}.print-only{display:block}.data-table{min-width:0;font-size:10px}.data-table th,.data-table td{padding:6px}.table-card{overflow:visible}.table-wrap{overflow:visible}}

/* v0.3.2 — Mobile-first responsive overhaul */
html,body{max-width:100%;overflow-x:hidden}.main,.content,.card,.panel,.table-card,.split-layout>*{min-width:0}.sidebar-close,.mobile-nav{display:none}
@media(max-width:900px){
  body{font-size:14px;padding-bottom:72px}
  .app-shell{width:100%;overflow-x:hidden}
  .main{width:100%;max-width:100%;margin-right:0!important;overflow-x:hidden}
  .sidebar{width:min(86vw,320px);max-width:320px;height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding:16px 14px 22px;box-shadow:-18px 0 50px rgba(0,44,52,.26);transform:translateX(105%)!important;transition:transform .24s ease}
  .sidebar.open{transform:translateX(0)!important}
  .sidebar-close{display:grid;place-items:center;position:absolute;left:12px;top:12px;width:36px;height:36px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(255,255,255,.09);color:#fff;font-size:27px;line-height:1;z-index:2}
  .brand{padding-left:42px;padding-bottom:15px}.brand-mark{width:40px;height:40px}.brand b{font-size:15px}.sidebar nav{padding-top:12px}.sidebar nav a{padding:11px 12px}
  .sidebar-bottom{margin-top:18px}.support-card,.secure-card{padding:12px}
  .overlay.show{display:block;position:fixed;inset:0;background:rgba(7,28,37,.48);backdrop-filter:blur(2px);z-index:35}
  .topbar{height:64px;grid-template-columns:auto 1fr auto!important;gap:10px;padding:0 12px!important;box-shadow:0 5px 18px rgba(12,70,82,.05)}
  .menu-btn{width:42px;height:42px;border-radius:12px;background:#edf8f7;font-size:21px}.top-brand{display:block!important;text-align:center;min-width:0}.top-brand span{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-brand small{font-size:7px;letter-spacing:1px}.top-search,.top-actions{display:none!important}.user-box{justify-self:end}.user-box>div:nth-child(2){display:none!important}.avatar{width:36px;height:36px}.user-box>a{display:none}
  .content{width:100%;max-width:100%;padding:14px 10px 18px!important;overflow-x:hidden}.footer{display:none}
  .page-head{margin-bottom:12px;gap:10px}.page-head h1{font-size:22px}.page-head p{font-size:12px;line-height:1.7}.crumb{font-size:10px}
  .hero-banner{min-height:130px;border-radius:17px}.hero-banner:before,.school-art{display:none}.welcome{padding:20px;width:100%}.welcome h2{font-size:20px}.welcome p{font-size:12px;margin-bottom:10px}
  .student-kpi-grid,.kpi-grid[style]{grid-template-columns:repeat(2,minmax(0,1fr))!important}.kpi-grid{gap:9px}.kpi{padding:13px;min-height:105px}.kpi .meta strong{font-size:22px;margin:6px 0}.kpi .meta span{font-size:12px}.kpi .icon{width:38px;height:38px;border-radius:12px}
  .analytics,.lower-grid,.split-layout,.student-profile,.profile-lists{grid-template-columns:1fr!important;gap:10px}.panel,.form-card{padding:14px}.donut-wrap{flex-direction:column}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}.quick{padding:10px;font-size:12px}
  .toolbar{display:grid;grid-template-columns:1fr;gap:9px}.toolbar .actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:7px}.toolbar .actions .primary-btn{grid-column:1/-1}.toolbar .actions>a,.toolbar .actions>button{width:100%;min-height:43px}.toolbar .search-box{width:100%!important;min-width:0!important;grid-row:1}
  .student-top-actions{display:grid!important;grid-template-columns:1fr 1fr;width:100%}.student-top-actions .primary-btn{grid-column:1/-1}.student-top-actions a{width:100%!important}
  .filters,.filter-wide{grid-template-columns:1fr 1fr!important;gap:7px}.filters>*{min-width:0}.filters .secondary-btn{grid-column:1/-1;min-height:43px}
  .form-grid{grid-template-columns:1fr!important;gap:11px}.form-grid .full{grid-column:auto!important}.form-card{border-radius:16px}.form-grid input,.form-grid select,.form-grid textarea{font-size:16px;min-height:45px}.form-grid textarea{min-height:95px}.photo-upload{padding:10px}
  .profile-hero{flex-direction:column!important;padding:15px}.profile-photo{width:78px;height:78px;border-radius:20px}.profile-main h2{font-size:21px}.profile-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.profile-stat{padding:9px 5px}.detail-list{grid-template-columns:1fr!important}
  .summary-side{display:grid!important;grid-template-columns:1fr!important;gap:10px}.mini-donut{width:124px;height:124px}.mini-donut:after{inset:26px}
  .pagination{flex-direction:column;align-items:stretch;gap:10px;text-align:center}.pages{justify-content:center;flex-wrap:wrap}
  .mobile-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;right:8px;left:8px;bottom:8px;height:62px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border:1px solid #e4eded;border-radius:19px;box-shadow:0 12px 38px rgba(4,64,73,.18);z-index:32;overflow:hidden;padding:4px}
  .mobile-nav a,.mobile-nav button{border:0;background:transparent;text-decoration:none;color:#6d8290;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:14px;font-family:inherit;min-width:0}.mobile-nav span{font-size:20px;line-height:1}.mobile-nav small{font-size:10px;white-space:nowrap}.mobile-nav .active{background:#eaf8f6;color:#08776f;font-weight:800}
}
@media(max-width:560px){
  .student-kpi-grid,.kpi-grid[style],.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .filters,.filter-wide{grid-template-columns:1fr!important}.toolbar .actions{grid-template-columns:1fr 1fr}.page-head{align-items:stretch!important}.page-head .student-top-actions{margin-top:2px}
  .students-table{min-width:0!important;width:100%!important;border-collapse:separate;border-spacing:0 10px}.students-table thead{display:none}.students-table tbody{display:block;padding:4px 8px 10px}.students-table tbody tr{display:block;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 22px rgba(15,76,88,.06);overflow:hidden;margin-bottom:10px}.students-table tbody td{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:9px 12px!important;border-bottom:1px dashed #edf1f2!important;background:#fff!important;text-align:left;white-space:normal}.students-table tbody td:last-child{border-bottom:0!important}.students-table tbody td:before{font-size:11px;color:#7a8e9c;font-weight:700;flex:0 0 88px;text-align:right}.students-table tbody td:nth-child(1){padding:13px 12px!important;display:block}.students-table tbody td:nth-child(1):before{display:none}.students-table tbody td:nth-child(2):before{content:'الرقم الدراسي'}.students-table tbody td:nth-child(3):before{content:'المرحلة'}.students-table tbody td:nth-child(4):before{content:'الصف / الشعبة'}.students-table tbody td:nth-child(5):before{content:'ولي الأمر'}.students-table tbody td:nth-child(6):before{content:'الهاتف'}.students-table tbody td:nth-child(7):before{content:'الحالة'}.students-table tbody td:nth-child(8):before{content:'الإجراءات'}.students-table tbody td[colspan]{display:block!important;text-align:center}.students-table tbody td[colspan]:before{display:none}.students-table .student-cell{width:100%}.students-table .row-actions{justify-content:flex-end;flex-wrap:wrap}.students-table .mini-btn{min-width:38px;min-height:38px;display:grid;place-items:center}
  .table-wrap{overflow:visible!important}.table-card{overflow:visible!important;background:transparent;border:0;box-shadow:none}.table-card>.pagination{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
  .profile-stats{grid-template-columns:1fr 1fr}.profile-stat:last-child{grid-column:1/-1}.detail-item{padding:10px}.login-card{padding:18px!important}.login-panel{padding:8px!important}.simple-card{padding:18px!important}
}
@media(max-width:390px){.toolbar .actions,.student-top-actions{grid-template-columns:1fr}.toolbar .actions .primary-btn,.student-top-actions .primary-btn{grid-column:auto}.kpi{padding:11px}.kpi .meta strong{font-size:20px}.mobile-nav{right:5px;left:5px;bottom:5px}.mobile-nav small{font-size:9px}}

/* v0.3.3 — interaction fixes + editable classes */
.overlay{display:none}.overlay.show{display:block}.icon-btn{display:grid;place-items:center;text-decoration:none}.avatar-link{text-decoration:none}.sidebar-logout{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.06);text-decoration:none;color:#fff;border:1px solid rgba(255,255,255,.08)}.sidebar-logout span{font-size:20px;color:#ffe28c}.top-search button{border:0;background:transparent;color:#526b7a;font-size:18px;cursor:pointer;padding:0 3px}.academic-head-actions{display:flex;gap:8px}.academic-layout{align-items:start}.table-panel-title{padding:16px 16px 0}.check-line{display:flex!important;align-items:center;gap:9px;padding:10px 12px;background:#f5faf9;border:1px solid #e2efed;border-radius:11px;cursor:pointer}.check-line input{width:18px!important;height:18px!important;min-height:0!important;accent-color:#0d9488}.form-hint{font-size:11px;line-height:1.7;color:var(--muted);background:#fff8e9;border:1px solid #f6e8bf;padding:9px 10px;border-radius:10px;margin:10px 0 0}.inline-form{display:inline;margin:0}.row-muted{opacity:.68}.edit-class-btn span,.row-actions .mini-btn span{font-size:11px}.row-actions .mini-btn{white-space:nowrap}.student-top-actions button{min-height:42px}.page-head .student-top-actions{flex-wrap:wrap}
@media(max-width:900px){
  .page-head{align-items:stretch;flex-direction:column}.academic-head-actions{width:100%}.academic-head-actions .primary-btn{width:100%}.academic-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}.academic-layout{grid-template-columns:1fr!important}.topbar{direction:rtl}.menu-btn{order:0}.top-brand{order:1}.user-box{order:2}.sidebar{pointer-events:none}.sidebar.open{pointer-events:auto}.overlay.show{pointer-events:auto}.overlay{pointer-events:none}.student-top-actions{grid-template-columns:1fr 1fr!important}.student-top-actions .primary-btn{grid-column:1/-1}.student-top-actions>*{min-height:43px}.toolbar .actions{grid-template-columns:1fr 1fr!important}.toolbar .actions>*{min-height:43px}.toolbar .actions .primary-btn{grid-column:1/-1}.top-search button{min-width:36px}
}
@media(max-width:560px){
 .academic-kpis{grid-template-columns:1fr 1fr!important}.academic-kpis .kpi:last-child{grid-column:1/-1}.academic-table{min-width:0!important;width:100%!important;border-collapse:separate;border-spacing:0 10px}.academic-table thead{display:none}.academic-table tbody{display:block;padding:5px 8px 10px}.academic-table tbody tr{display:block;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 22px rgba(15,76,88,.06);overflow:hidden;margin-bottom:10px;opacity:1}.academic-table tbody tr.row-muted{opacity:.65}.academic-table tbody td{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:9px 12px!important;border-bottom:1px dashed #edf1f2!important;background:#fff!important;white-space:normal}.academic-table tbody td:last-child{border-bottom:0!important}.academic-table tbody td:before{font-size:11px;color:#7a8e9c;font-weight:700;flex:0 0 82px;text-align:right}.academic-table tbody td:nth-child(1):before{content:'المرحلة'}.academic-table tbody td:nth-child(2):before{content:'الصف'}.academic-table tbody td:nth-child(3):before{content:'الفصل'}.academic-table tbody td:nth-child(4):before{content:'العام الدراسي'}.academic-table tbody td:nth-child(5):before{content:'الطلاب'}.academic-table tbody td:nth-child(6):before{content:'الحالة'}.academic-table tbody td:nth-child(7):before{content:'الإجراءات'}.academic-table tbody td[colspan]{display:block!important;text-align:center}.academic-table tbody td[colspan]:before{display:none}.academic-table .row-actions{justify-content:flex-end;flex-wrap:wrap;width:100%}.academic-table .mini-btn{min-height:38px;padding:8px 10px}.academic-table-card{background:transparent;border:0;box-shadow:none;overflow:visible}.academic-table-card .table-panel-title{background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px;margin-bottom:8px}.academic-table-card .table-wrap{overflow:visible}.student-top-actions,.toolbar .actions{grid-template-columns:1fr!important}.student-top-actions .primary-btn,.toolbar .actions .primary-btn{grid-column:auto}.page-head .student-top-actions>*{width:100%!important}
}

/* v0.4.0 — Teacher timetable requests & final schedule */
.schedule-head-state{display:flex;align-items:center;gap:10px}.schedule-admin-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.schedule-tabs{display:flex;gap:8px;align-items:center;margin:14px 0 16px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);width:max-content;max-width:100%}.schedule-tabs a{position:relative;text-decoration:none;color:#5e7380;font-weight:800;padding:10px 15px;border-radius:11px;white-space:nowrap}.schedule-tabs a.active{background:linear-gradient(135deg,#087076,#0b9c8e);color:#fff}.schedule-tabs em{font-style:normal;background:#ff8b65;color:#fff;border-radius:20px;padding:2px 7px;margin-right:5px;font-size:10px}.teacher-schedule-hero{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:12px;align-items:center;padding:18px;margin-bottom:14px;background:linear-gradient(135deg,#075b63,#0b8e85);color:#fff;border:0}.teacher-schedule-hero span{display:block;font-size:11px;opacity:.82}.teacher-schedule-hero h2{margin:4px 0 3px;color:#fff}.teacher-schedule-hero p{margin:0;color:#dff7f2}.request-start{padding:20px;margin-bottom:14px}.request-start p{color:var(--muted)}
.availability-wrap,.schedule-grid-wrap{overflow:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.availability-table,.schedule-grid{width:100%;min-width:760px;border-collapse:separate;border-spacing:6px}.availability-table th,.schedule-grid th{font-size:12px;color:#607583;padding:7px;text-align:center}.availability-table tbody th,.schedule-grid tbody th{background:#f5f9fa;border-radius:11px;min-width:105px}.availability-table tbody th small,.schedule-grid tbody th small{display:block;font-size:10px;color:#8ba0ab;margin-top:3px}.availability-table td,.schedule-grid td{text-align:center;vertical-align:middle;padding:0;min-width:90px}.availability-cell{width:100%;min-height:48px;border-radius:11px;border:1px solid #dceaea;background:#f8fcfc;color:#55727a;font-family:inherit;font-weight:800;cursor:pointer}.availability-cell.free:hover{background:#e9f9f6;border-color:#9adbd2;color:#08776f}.availability-cell.selected{background:#e3f7ef;border-color:#8ed5b9;color:#18825c}.availability-cell.busy{background:#f3f3f3;border-color:#e2e2e2;color:#9aa5aa;cursor:not-allowed}.request-items-card,.submit-request-card,.final-teacher-card{margin-top:14px}.manager-note,.teacher-note{background:#fff8e8;border:1px solid #f1dfaf;border-radius:12px;padding:11px 13px;line-height:1.8;margin:10px 0;color:#6d5a28}.submit-request-card textarea,.decision-box textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid var(--line);border-radius:12px;font-family:inherit;resize:vertical}.schedule-cell{min-height:70px;padding:9px;border-radius:12px;background:#eaf8f5;border:1px solid #cfece7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.schedule-cell b{color:#0b716a}.schedule-cell span{font-size:10px;color:#657a85}.schedule-empty{display:grid;place-items:center;min-height:70px;color:#bcc7cb;background:#fbfcfc;border:1px dashed #e4ebed;border-radius:12px}
.admin-requests-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.85fr);gap:14px;align-items:start}.request-review{position:sticky;top:92px}.request-review-items{display:flex;flex-direction:column;gap:8px;margin:10px 0}.review-item{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f7fafb;border:1px solid #e8eef0;border-radius:12px;padding:10px}.review-item>div{display:flex;flex-direction:column;gap:3px}.review-item span{font-size:11px;color:var(--muted)}.admin-add-request-slot{border:1px solid #e2ecee;border-radius:12px;padding:10px;margin-top:10px}.admin-add-request-slot summary{cursor:pointer;color:#08776f;font-weight:800}.decision-box{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.decision-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.final-toolbar{margin-bottom:14px}.final-filters{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.final-filters select{min-height:42px;border:1px solid var(--line);border-radius:11px;padding:0 10px;background:#fff}.final-admin-layout{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.7fr);gap:14px;align-items:start}.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.compact-list{display:flex;flex-direction:column;gap:7px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.compact-list>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px dashed #edf1f2}.compact-list>div>span:first-child{display:flex;flex-direction:column}.compact-list small{color:var(--muted);font-size:10px}.teacher-link-card{margin-top:14px;padding-bottom:10px}.teacher-link-list{display:flex;flex-direction:column;gap:10px;padding:12px}.teacher-link-row{display:grid;grid-template-columns:1.1fr 1.15fr 2fr auto;gap:12px;align-items:end;padding:13px;border:1px solid #e3ecee;border-radius:14px;background:#fbfdfd}.teacher-link-row label{display:block;font-size:11px;color:#637985;margin-bottom:5px;font-weight:800}.teacher-link-row select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 9px}.teacher-link-name{display:flex;align-items:center;gap:9px;align-self:center}.teacher-link-name>span{display:flex;flex-direction:column}.teacher-link-name small{font-size:10px;color:var(--muted)}.teacher-subject-checks>div{display:flex;flex-wrap:wrap;gap:6px}.teacher-subject-checks label{margin:0}.teacher-subject-checks label span{display:inline-block;padding:6px 8px;border:1px solid #dde8e9;border-radius:9px;background:#fff;font-size:10px;color:#5d727c;cursor:pointer}.teacher-subject-checks input{display:none}.teacher-subject-checks input:checked+span{background:#e6f8f4;border-color:#94d9ce;color:#08776f;font-weight:800}
@media(max-width:1100px){.schedule-admin-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-requests-layout,.final-admin-layout{grid-template-columns:1fr}.request-review{position:static}.teacher-link-row{grid-template-columns:1fr 1fr}.teacher-subject-checks{grid-column:1/-1}.teacher-link-row>button{width:100%}}
@media(max-width:900px){.schedule-tabs{width:100%;overflow:auto;justify-content:flex-start}.teacher-schedule-hero{grid-template-columns:1fr 1fr}.teacher-schedule-hero>div:first-child{grid-column:1/-1}.setup-grid{grid-template-columns:1fr}.final-filters{grid-template-columns:1fr}.final-filters button{width:100%}.decision-actions{grid-template-columns:1fr}.schedule-grid-wrap,.availability-wrap{margin-left:-6px;margin-right:-6px;padding:0 6px 6px}.teacher-link-row{grid-template-columns:1fr}.teacher-subject-checks{grid-column:auto}.teacher-link-row>button{width:100%}}
@media(max-width:560px){.schedule-admin-kpis{grid-template-columns:1fr 1fr}.teacher-schedule-hero{grid-template-columns:1fr;padding:14px}.teacher-schedule-hero>div:first-child{grid-column:auto}.schedule-tabs a{padding:9px 11px;font-size:11px}.requests-table,.request-items-table,.final-table{min-width:0!important;width:100%!important;border-collapse:separate;border-spacing:0 10px}.requests-table thead,.request-items-table thead,.final-table thead{display:none}.requests-table tbody,.request-items-table tbody,.final-table tbody{display:block;padding:6px}.requests-table tr,.request-items-table tr,.final-table tr{display:block;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;margin-bottom:9px}.requests-table td,.request-items-table td,.final-table td{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px!important;border-bottom:1px dashed #edf1f2!important;white-space:normal}.requests-table td:last-child,.request-items-table td:last-child,.final-table td:last-child{border-bottom:0!important}.requests-table td:before,.request-items-table td:before,.final-table td:before{font-size:10px;color:#81939d;font-weight:800;min-width:72px}.requests-table td:nth-child(1):before{content:'المعلم'}.requests-table td:nth-child(2):before{content:'التخصص'}.requests-table td:nth-child(3):before{content:'الحصص'}.requests-table td:nth-child(4):before{content:'الحالة'}.requests-table td:nth-child(5):before{content:'الإرسال'}.requests-table td:nth-child(6):before{content:'الإجراء'}.request-items-table td:nth-child(1):before{content:'اليوم'}.request-items-table td:nth-child(2):before{content:'الحصة'}.request-items-table td:nth-child(3):before{content:'الفصل'}.request-items-table td:nth-child(4):before{content:'المادة'}.request-items-table td:nth-child(5):before{content:'ملاحظة'}.request-items-table td:nth-child(6):before{content:'الإجراء'}.final-table td:nth-child(1):before{content:'اليوم'}.final-table td:nth-child(2):before{content:'الحصة'}.final-table td:nth-child(3):before{content:'المعلم'}.final-table td:nth-child(4):before{content:'الفصل'}.final-table td:nth-child(5):before{content:'المادة'}.final-table td:nth-child(6):before{content:'الإجراء'}.requests-table td[colspan],.request-items-table td[colspan],.final-table td[colspan]{display:block;text-align:center}.requests-table td[colspan]:before,.request-items-table td[colspan]:before,.final-table td[colspan]:before{display:none}.schedule-admin-kpis .kpi{min-height:98px}.review-item{align-items:flex-start}.review-item>form{flex:0 0 auto}.teacher-link-list{padding:8px}.teacher-link-row{padding:11px}.availability-table,.schedule-grid{min-width:690px}}


/* v0.4.1 — Calendar-first timetable scheduler */
.scheduler-card,.admin-calendar-card{overflow:hidden}.scheduler-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.scheduler-topbar h3{margin:0 0 4px}.scheduler-topbar span{color:var(--muted);font-size:12px}.week-nav{display:flex;align-items:center;gap:7px;background:#f3f8f8;border:1px solid var(--line);border-radius:13px;padding:5px}.week-nav a{text-decoration:none;color:#087076;background:#fff;border:1px solid #dce9e9;border-radius:9px;padding:7px 10px;font-weight:800;white-space:nowrap}.week-nav b{padding:0 6px;color:#274b55;font-size:12px;white-space:nowrap}.scheduler-legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:8px 0 12px;color:#627982;font-size:11px}.scheduler-legend span{display:flex;align-items:center;gap:5px}.scheduler-legend small{margin-inline-start:auto;color:#8a9ca4}.scheduler-legend .dot{width:9px;height:9px;border-radius:50%;display:inline-block}.scheduler-legend .dot.free{background:#d7efeb;border:1px solid #8cd4c8}.scheduler-legend .dot.selected{background:#31b88c}.scheduler-legend .dot.busy{background:#b8c1c5}.calendar-table thead th{background:#f7fbfb;border-radius:11px;padding:9px 6px}.calendar-table thead th b,.calendar-table thead th small{display:block}.calendar-table thead th small{margin-top:2px;color:#8ba0aa}.calendar-table thead th.today{background:#e8f8f4;color:#08746c;box-shadow:inset 0 0 0 1px #9fded2}.scheduler-slot{min-height:72px;padding:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.scheduler-slot b{font-size:11px}.scheduler-slot small{font-size:9px;line-height:1.3}.scheduler-slot.free b{font-size:18px;color:#3ca799}.scheduler-slot.slot-focus{outline:3px solid rgba(13,148,136,.18);transform:translateY(-1px)}.schedule-slot-editor{scroll-margin-top:80px}.calendar-picked{animation:calendarPulse .7s ease 2}@keyframes calendarPulse{50%{box-shadow:0 0 0 5px rgba(13,148,136,.18),var(--shadow)}}.publish-row{padding-top:12px;border-top:1px solid var(--line)}.calendar-entry-stack{display:flex;flex-direction:column;gap:4px;min-height:76px;padding:3px}.calendar-admin-entry{text-decoration:none;display:block;text-align:right;background:#eaf8f5;border:1px solid #cceae4;border-radius:9px;padding:5px 6px}.calendar-admin-entry:hover{border-color:#83d0c3;background:#def4ef}.calendar-admin-entry b,.calendar-admin-entry small,.calendar-admin-entry em{display:block}.calendar-admin-entry b{font-size:10px;color:#08746c}.calendar-admin-entry small{font-size:9px;color:#475f68}.calendar-admin-entry em{font-size:8px;color:#82959c;font-style:normal}.more-count{font-size:9px;color:#71868e}.calendar-add-slot{width:100%;min-height:76px;border:1px dashed #cadbdd;border-radius:10px;background:#fbfdfd;color:#55a99d;font-size:20px;cursor:pointer}.calendar-add-slot:hover{background:#eaf8f5;border-color:#8fd4c8}.calendar-mobile{display:none}.calendar-day-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:10px;box-shadow:0 6px 18px rgba(17,72,80,.05)}.calendar-day-card>header{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;background:#f6fafb;border-bottom:1px solid var(--line)}.calendar-day-card>header div b,.calendar-day-card>header div small{display:block}.calendar-day-card>header div small{color:#81959e;margin-top:2px}.calendar-day-card>header>span{font-size:10px;background:#ddf7ef;color:#08746c;border-radius:20px;padding:4px 8px;font-weight:800}.calendar-day-card.today>header{background:#eaf8f5}.calendar-day-slots{padding:8px}.calendar-mobile-slot{width:100%;min-height:55px;margin:5px 0;padding:8px 10px;display:flex!important;align-items:center!important;justify-content:space-between!important;flex-direction:row!important;text-align:right}.calendar-mobile-slot>span{display:block}.calendar-mobile-slot>span:last-child{text-align:left}.calendar-mobile-slot b,.calendar-mobile-slot small{display:block}.calendar-mobile-slot small{font-size:9px;color:#82959e;margin-top:2px}.calendar-mobile-slot.booked{border:1px solid #cfeae4;background:#edf9f6;border-radius:12px}.admin-mobile-period{display:grid;grid-template-columns:92px 1fr;gap:8px;padding:8px 2px;border-bottom:1px dashed #e8eff0}.admin-mobile-period:last-child{border-bottom:0}.period-label b,.period-label small{display:block}.period-label small{color:#8ca0a8;margin-top:3px}.period-events{display:flex;flex-direction:column;gap:5px}.period-events>a{text-decoration:none;background:#eaf8f5;border:1px solid #cceae4;border-radius:10px;padding:7px}.period-events>a b,.period-events>a small{display:block}.period-events>a b{color:#08746c}.period-events>a small{color:#71868e;font-size:9px;margin-top:2px}.period-events .calendar-add-slot{min-height:40px;font-size:11px}.admin-calendar-card{margin-bottom:14px}
@media(max-width:760px){.scheduler-topbar{align-items:flex-start;flex-direction:column}.week-nav{width:100%;box-sizing:border-box;justify-content:space-between}.week-nav b{text-align:center;flex:1}.scheduler-legend small{margin-inline-start:0;width:100%}.calendar-desktop{display:none!important}.calendar-mobile{display:block}.scheduler-card,.admin-calendar-card{padding:12px!important}.schedule-slot-editor{padding:14px!important}.teacher-schedule-hero{margin-bottom:10px}.final-toolbar .final-filters{margin-top:10px}.admin-mobile-period{grid-template-columns:82px 1fr}.calendar-day-card{border-radius:14px}.calendar-day-slots{padding:6px}.calendar-mobile-slot{font-size:11px}.calendar-mobile-slot>span:last-child{max-width:58%}}

/* v0.5.0 — accounts, permissions and teacher tools */
.login-hint{display:block;margin:-5px 2px 14px;color:#7a8d9d;font-size:12px;line-height:1.7}.top-search-readonly{display:flex;align-items:center;justify-content:center;color:#6a7e8b}.form-hint{display:block;color:#7a8d9d;font-size:12px;line-height:1.7;margin-top:5px}.permission-form h3{margin:0 0 14px}.permission-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.permission-groups section{border:1px solid #e6eff1;border-radius:16px;padding:14px;background:#fbfefe}.permission-groups h4{margin:0 0 10px;color:#075b63}.permission-checks{display:grid;gap:8px}.permission-checks label{display:flex;align-items:flex-start;gap:9px;padding:10px;border-radius:12px;background:#fff;border:1px solid #edf2f3;cursor:pointer}.permission-checks input{margin-top:4px}.permission-checks span{display:grid;gap:2px}.permission-checks small{color:#8a9aa5;font-size:10px}.password-reset-box{padding-top:16px;border-top:1px solid #edf2f3}.student-pick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.student-pick{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #e6eef0;border-radius:14px;text-decoration:none;color:inherit;background:#fff}.student-pick.selected{border-color:#0c9f91;box-shadow:0 0 0 3px rgba(12,159,145,.1)}.student-pick span:last-child{display:grid;min-width:0}.student-pick small{color:#7a8d9d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.followup-filter{grid-template-columns:1fr auto}.mini-head{margin-top:16px;margin-bottom:10px}.teacher-tools-grid textarea{width:100%}.score-input,.table-input,.table-select{padding:8px;border:1px solid #e7edf0;border-radius:9px}.score-input{width:110px}.table-input{width:100%}.table-select{min-width:110px}
@media(max-width:900px){.permission-groups{grid-template-columns:1fr}.student-pick-grid{grid-template-columns:1fr 1fr}.settings-user-grid,.teacher-tools-grid,.grades-layout,.homework-layout,.messages-layout{grid-template-columns:1fr!important}}
@media(max-width:600px){.student-pick-grid{grid-template-columns:1fr}.permission-checks label{padding:12px}.user-permission-card{padding:14px}.followup-filter{grid-template-columns:1fr}.followup-filter button{width:100%}.score-input{width:90px}.top-search-readonly{display:none}}

/* v0.5.3 — make teacher lesson controls easy to find */
.teacher-head-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.teacher-row-actions{display:flex;gap:6px;flex-wrap:wrap}.schedule-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 12px}.shortcut-card{position:relative;display:grid;grid-template-columns:auto 1fr;gap:3px 10px;align-items:center;padding:14px 16px;border:1px solid #dfeceb;border-radius:16px;background:#fff;color:#173d45;text-decoration:none;box-shadow:0 8px 22px rgba(7,107,112,.06)}.shortcut-card>span{grid-row:1/3;font-size:24px;color:#087b78}.shortcut-card>b{font-size:15px}.shortcut-card>small{color:#6b7f86}.shortcut-card>em{position:absolute;left:10px;top:10px;background:#ef4444;color:#fff;border-radius:999px;padding:2px 7px;font-style:normal;font-size:11px}.shortcut-card.active{border-color:#0c9f91;background:linear-gradient(135deg,#eefcf9,#f7fffe)}@media(max-width:760px){.teacher-head-actions{width:100%}.teacher-head-actions>a{flex:1 1 46%;text-align:center}.schedule-shortcuts{grid-template-columns:1fr}.schedule-tabs{overflow-x:auto;white-space:nowrap}.teacher-row-actions{justify-content:flex-start}.teacher-row-actions .mini-btn{min-width:48px;text-align:center}}

/* v0.5.4 — simplified teacher setup */
.teacher-wizard-card{padding:22px;margin-bottom:16px}.quick-teacher-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.quick-teacher-grid label,.teacher-lesson-form label{display:block;font-weight:700;margin-bottom:6px}.quick-teacher-grid input,.quick-teacher-grid select,.teacher-lesson-form select{width:100%;padding:12px;border:1px solid var(--line);border-radius:11px;font-family:inherit;background:#fff;color:var(--ink)}.password-inline{display:flex;gap:6px}.password-inline input{flex:1}.password-inline .ghost-btn{white-space:nowrap}.simple-section{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.simple-section>b{display:block;margin-bottom:10px;color:var(--teal)}.subject-pill-grid{display:flex;gap:8px;flex-wrap:wrap}.subject-pill-grid label{cursor:pointer}.subject-pill-grid input{display:none}.subject-pill-grid span{display:inline-flex;padding:9px 12px;border:1px solid #dce9e9;border-radius:999px;background:#fff;color:#47616a}.subject-pill-grid input:checked+span{background:#e4f7f3;border-color:#6bc8ba;color:#06756d;font-weight:800}.permission-profile-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.permission-profile-row label{display:block;cursor:pointer}.permission-profile-row input{display:none}.permission-profile-row span{display:block;padding:13px;border:1px solid #e2ebed;border-radius:13px;background:#fff;min-height:74px}.permission-profile-row b,.permission-profile-row small{display:block}.permission-profile-row small{color:var(--muted);margin-top:4px;line-height:1.5}.permission-profile-row input:checked+span{border-color:#0c9f91;background:#eaf9f6;box-shadow:0 0 0 3px rgba(12,159,145,.08)}.custom-permissions{margin-top:10px}.custom-permissions summary{cursor:pointer;color:#08766e;font-weight:700}.teacher-big-save{margin-top:18px;font-size:16px;padding:14px}.teacher-setup-hero{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;margin-bottom:14px}.teacher-setup-hero>div{display:flex;align-items:center;gap:12px}.teacher-large-avatar{width:50px;height:50px;font-size:20px}.teacher-setup-hero h2{margin:0;color:var(--teal)}.teacher-setup-hero span{display:block;color:var(--muted);margin-top:4px}.teacher-simple-layout{display:grid;grid-template-columns:1fr 1fr;gap:14px}.teacher-simple-layout>.card{padding:18px}.teacher-lesson-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}.lesson-save{display:flex;gap:6px;grid-column:1/-1}.teacher-lessons-list{display:grid;gap:8px;margin-top:16px}.lesson-card{display:grid;grid-template-columns:120px 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fbfefe}.lesson-day b,.lesson-day small,.lesson-main b,.lesson-main span{display:block}.lesson-day small,.lesson-main span{color:var(--muted);margin-top:3px}.teacher-simple-tip{padding:14px 16px;margin-bottom:12px;display:flex;gap:8px;align-items:center;background:#effaf8}.teacher-simple-tip b{color:#08766e}.teacher-list-simple{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.teacher-simple-card{padding:16px;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}.teacher-simple-name{display:flex;align-items:center;gap:10px}.teacher-simple-name b,.teacher-simple-name small{display:block}.teacher-simple-name small{color:var(--muted);margin-top:4px}.teacher-simple-stats{display:flex;gap:8px}.teacher-simple-stats>span{min-width:64px;text-align:center;background:#f4f9f9;border-radius:11px;padding:8px}.teacher-simple-stats b,.teacher-simple-stats small{display:block}.teacher-simple-stats b{font-size:17px;color:var(--teal)}.teacher-simple-stats small{color:var(--muted);font-size:10px;margin-top:2px}.teacher-setup-btn{grid-column:1/-1;width:100%}
@media(max-width:1000px){.quick-teacher-grid{grid-template-columns:1fr 1fr}.teacher-simple-layout{grid-template-columns:1fr}.teacher-list-simple{grid-template-columns:1fr}.teacher-lesson-form{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.teacher-wizard-card{padding:14px}.quick-teacher-grid,.permission-profile-row,.teacher-lesson-form{grid-template-columns:1fr}.teacher-setup-hero{align-items:flex-start;flex-direction:column;gap:10px}.teacher-setup-hero>a{width:100%}.lesson-card{grid-template-columns:1fr}.teacher-simple-tip{align-items:flex-start;flex-direction:column}.teacher-simple-card{grid-template-columns:1fr}.teacher-simple-stats{justify-content:space-between}.teacher-simple-stats>span{flex:1}.password-inline{flex-direction:column}.permission-groups{grid-template-columns:1fr!important}}


/* v0.6.1 — beIN Normal typography
   ضع نسختك المرخصة من الخط باسم assets/fonts/bein-normal.woff2.
   لا يتضمن هذا التحديث ملف الخط نفسه. */
@font-face{
  font-family:"beIN Normal";
  src:local("beIN Normal"),local("bein normal"),local("beINNormal"),
      url("fonts/bein-normal.woff2") format("woff2");
  font-display:swap;
  font-style:normal;
  font-weight:400 900;
}


/* v0.6.1 — Luxury Dark Purple UI */
:root{
  --teal:#6e3a82;
  --teal2:#a766c3;
  --teal3:#2c1737;
  --gold:#efbd58;
  --ink:#f8f2fb;
  --muted:#c8b9cf;
  --line:rgba(255,255,255,.11);
  --bg:#110817;
  --white:#22122c;
  --shadow:0 18px 44px rgba(0,0,0,.28);
  --radius:18px;
}
html,body,button,input,select,textarea{font-family:"beIN Normal","bein normal",Tahoma,Arial,sans-serif!important}
body{
  background:
    radial-gradient(circle at 7% 92%,rgba(239,189,88,.10),transparent 26%),
    radial-gradient(circle at 92% 4%,rgba(136,73,160,.20),transparent 34%),
    linear-gradient(145deg,#13091c 0%,#0d0713 46%,#1b0c25 100%) fixed;
  color:var(--ink);
}
.app-shell{background:transparent}
.main{background:transparent}
.content{background:transparent}
.sidebar{
  background:
    radial-gradient(circle at 20% 0,rgba(166,102,195,.22),transparent 30%),
    linear-gradient(180deg,#261132 0%,#180c22 55%,#0f0817 100%);
  border-left:1px solid rgba(239,189,88,.17);
  box-shadow:-18px 0 48px rgba(0,0,0,.28);
}
.brand{border-bottom-color:rgba(255,255,255,.10)}
.brand-mark{
  background:linear-gradient(145deg,#ffdb7b,#cf861d);
  color:#2b1236;
  box-shadow:0 8px 20px rgba(216,151,44,.18),inset 0 0 0 1px rgba(255,255,255,.38)
}
.brand span,.top-brand small{color:#efbd58}
.sidebar nav a{color:#eadff0}
.sidebar nav a:hover{background:rgba(255,255,255,.06);color:#fff}
.sidebar nav a.active{
  background:linear-gradient(90deg,rgba(151,78,178,.38),rgba(255,255,255,.05));
  color:#ffd873;
  box-shadow:inset -3px 0 0 #efbd58,0 10px 28px rgba(0,0,0,.10)
}
.support-card,.secure-card{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.09)}
.support-card small,.secure-card small{color:#c9b8d2}
.support-card a{border-color:#efbd58;color:#ffd873;background:rgba(239,189,88,.04)}
.sidebar-logout{color:#eadff0!important}
.topbar{
  background:rgba(29,14,39,.94);
  border-bottom:1px solid rgba(255,255,255,.09);
  box-shadow:0 10px 30px rgba(0,0,0,.18);
  backdrop-filter:blur(16px);
}
.menu-btn,.top-search-readonly,.user-box>a{color:#e8ddec}
.top-brand span,.page-head h1{color:#fff}
.top-search{
  background:#180d21;
  border-color:rgba(255,255,255,.10);
}
.top-search input,.search-box input{color:#fff}
.top-search input::placeholder,.search-box input::placeholder{color:#8f7c98}
.icon-btn{background:#1d1027;border-color:rgba(255,255,255,.10);color:#f3eaf7}
.icon-btn em{background:#efbd58;color:#2b1534}
.avatar{background:linear-gradient(145deg,#8a4da0,#efbd58);color:#fff}
.user-box small,.crumb,.footer{color:#bbaac4}
.card,.panel,.table-card,.form-card,.teacher-wizard-card,.teacher-setup-hero,.teacher-simple-layout>.card,.shortcut-card,.calendar-day-card,.admin-calendar-card,.scheduler-card,.schedule-slot-editor,.user-permission-card{
  background:linear-gradient(180deg,rgba(39,20,50,.97),rgba(29,14,39,.98))!important;
  border-color:rgba(255,255,255,.10)!important;
  color:#f7effa!important;
  box-shadow:var(--shadow)!important;
}
.hero-banner{
  background:
    radial-gradient(circle at 10% 50%,rgba(239,189,88,.16),transparent 28%),
    linear-gradient(110deg,#5a2b6c 0%,#2c1439 55%,#160b20 100%);
  border:1px solid rgba(239,189,88,.20);
}
.hero-banner:before{background:linear-gradient(135deg,rgba(239,189,88,.20),rgba(122,64,143,.20))}
.welcome p,.welcome small{color:#e5d9e9}
.kpi .meta span,.kpi .meta small,.legend div,.list-row small,.form-hint,.lesson-day small,.lesson-main span,.teacher-simple-name small,.teacher-simple-stats small,.permission-profile-row small,.permission-checks small,.student-pick small{color:#c3b3ca!important}
.kpi .meta strong,.donut-center b,.panel-title h3,.teacher-setup-hero h2,.teacher-simple-stats b,.simple-section>b{color:#fff!important}
.kpi .icon,.quick span{background:rgba(167,102,195,.15)!important;color:#d7a5ea!important;border:1px solid rgba(190,128,216,.12)}
.kpi.orange .icon{background:rgba(239,189,88,.13)!important;color:#efbd58!important}
.kpi.purple .icon{background:rgba(168,102,196,.15)!important;color:#c889e2!important}
.kpi.blue .icon{background:rgba(91,120,210,.16)!important;color:#9fb4ff!important}
.growth{color:#eac36e!important}
.panel-title a,.custom-permissions summary{color:#f0c566!important}
.donut:after{background:#21112b}
.line-chart{background:linear-gradient(to top,rgba(167,102,195,.10),transparent 72%);border-color:rgba(255,255,255,.08)}
.quick{
  background:linear-gradient(180deg,#281433,#1c0e26)!important;
  border-color:rgba(255,255,255,.10)!important;
  color:#f6eef9!important;
  box-shadow:0 10px 26px rgba(0,0,0,.15)!important
}
.quick:hover,.shortcut-card:hover{border-color:rgba(239,189,88,.45)!important;transform:translateY(-1px)}
.primary-btn{
  background:linear-gradient(180deg,#ffc964,#d48a20)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(217,143,31,.20)!important;
}
.secondary-btn{
  background:rgba(167,102,195,.16)!important;
  color:#e2b9f1!important;
  border:1px solid rgba(188,127,214,.18)!important
}
.ghost-btn{
  background:#1b0e24!important;
  border-color:rgba(255,255,255,.12)!important;
  color:#f0e6f4!important
}
.danger-btn{background:rgba(145,37,49,.20)!important;color:#ffc0c5!important;border:1px solid rgba(242,112,124,.20)!important}
.search-box,.filters select,.filters input,.form-grid input,.form-grid select,.form-grid textarea,
.quick-teacher-grid input,.quick-teacher-grid select,.teacher-lesson-form select,.score-input,.table-input,.table-select,
.permission-checks label,.subject-pill-grid span,.permission-profile-row span,.student-pick{
  background:#180d21!important;
  border-color:rgba(255,255,255,.11)!important;
  color:#f5edf8!important;
}
.filters select:focus,.filters input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,
.quick-teacher-grid input:focus,.quick-teacher-grid select:focus,.teacher-lesson-form select:focus{
  border-color:#b874d2!important;
  box-shadow:0 0 0 3px rgba(184,116,210,.11)!important
}
input::placeholder,textarea::placeholder{color:#8f7d98!important}
select option{background:#180d21;color:#fff}
.data-table th{background:#1a0d23!important;color:#cab9d0!important;border-bottom-color:rgba(255,255,255,.09)!important}
.data-table td{color:#f2eaf5!important;border-bottom-color:rgba(255,255,255,.075)!important}
.data-table tbody tr:hover td{background:rgba(167,102,195,.055)!important}
.table-wrap{background:transparent}
.list-row{border-bottom-color:rgba(255,255,255,.075)}
.badge{background:rgba(83,186,143,.15);color:#82e3ba}
.badge.warn{background:rgba(239,189,88,.13);color:#f4c96f}
.badge.danger{background:rgba(225,83,94,.16);color:#ff9ea8}
.badge.blue{background:rgba(98,123,214,.16);color:#aabaff}
.alert.success{background:rgba(52,172,119,.15)!important;color:#91e9bd!important;border-color:rgba(87,207,151,.15)!important}
.alert.danger{background:rgba(181,53,67,.18)!important;color:#ffc0c5!important;border-color:rgba(220,94,106,.18)!important}
.alert.warning{background:rgba(239,189,88,.13)!important;color:#f5d27f!important;border-color:rgba(239,189,88,.18)!important}
.permission-groups section{background:#1c0f25!important;border-color:rgba(255,255,255,.10)!important}
.permission-groups h4{color:#efbd58!important}
.permission-checks label:hover{border-color:rgba(239,189,88,.30)!important}
.subject-pill-grid input:checked+span,.permission-profile-row input:checked+span{
  background:rgba(167,102,195,.20)!important;
  border-color:#bb7ad4!important;
  color:#efc9fb!important;
  box-shadow:0 0 0 3px rgba(167,102,195,.08)!important
}
.teacher-simple-tip{background:linear-gradient(90deg,rgba(239,189,88,.10),rgba(167,102,195,.10))!important;border:1px solid rgba(239,189,88,.12)}
.teacher-simple-tip b{color:#efbd58!important}
.teacher-simple-stats>span{background:#190d22!important}
.lesson-card{background:#190d22!important;border-color:rgba(255,255,255,.10)!important}
.calendar-mobile-slot.booked,.period-events>a,.calendar-add-slot,.schedule-slot{
  background:rgba(167,102,195,.11)!important;
  border-color:rgba(193,130,218,.18)!important;
  color:#f4eaf8!important
}
.period-events>a b{color:#e3b7f1!important}
.period-events>a small,.period-label small,.calendar-mobile-slot small{color:#b7a6be!important}
.mobile-nav{
  background:rgba(25,12,34,.97)!important;
  border-top-color:rgba(255,255,255,.10)!important;
  box-shadow:0 -10px 28px rgba(0,0,0,.20)!important
}
.mobile-nav a,.mobile-nav button{color:#cbbbd1!important}
.mobile-nav .active{color:#efbd58!important}
.overlay{background:rgba(7,3,10,.58)!important}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#100817}
::-webkit-scrollbar-thumb{background:#5c326d;border-radius:99px}
::-webkit-scrollbar-thumb:hover{background:#744089}
@media(max-width:760px){
  .content{padding:14px 12px 80px}
  .card,.panel,.table-card,.form-card{border-radius:16px}
  .topbar{background:rgba(25,12,34,.97)}
}


/* v0.6.3 — ADEL V6 Bold typography */
@font-face{
  font-family:"ADEL V6 Bold";
  src:local("HaMdY V6 Bold"),local("HaMdYV6-Bold"),
      url("fonts/adel-v6-bold.otf") format("opentype");
  font-style:normal;
  font-weight:400 900;
  font-display:swap;
}
html,body,button,input,select,textarea{
  font-family:"ADEL V6 Bold","beIN Normal",Tahoma,Arial,sans-serif!important;
}

/* v0.6.4 — Light content + dark purple menus + beIN Normal */
@font-face{
  font-family:"beIN Normal Web";
  src:local("beIN Normal"),local("bein normal"),
      url("fonts/bein-normal.ttf") format("truetype");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
html,body,button,input,select,textarea{
  font-family:"beIN Normal Web",Tahoma,Arial,sans-serif!important;
  font-weight:400;
}
body{line-height:1.55}

/* Readable light data area */
:root{
  --teal:#075b63;
  --teal2:#0d9488;
  --teal3:#e9f7f5;
  --gold:#d8a62b;
  --ink:#18364d;
  --muted:#6b7d8f;
  --line:#e7edf0;
  --bg:#f7fafb;
  --white:#fff;
  --shadow:0 12px 35px rgba(16,73,87,.08);
}
body{
  background:#f7fafb!important;
  color:#18364d!important;
}
.app-shell,.main,.content{background:#f7fafb!important}

/* Only navigation remains dark purple */
.sidebar{
  background:radial-gradient(circle at 18% 0,rgba(132,73,155,.28),transparent 32%),linear-gradient(180deg,#2b1436 0%,#1d0e28 55%,#13091c 100%)!important;
  color:#fff!important;
  border-left:1px solid rgba(239,189,88,.18)!important;
  box-shadow:-14px 0 38px rgba(32,13,42,.16)!important;
}
.sidebar .brand{border-bottom-color:rgba(255,255,255,.10)!important}
.sidebar .brand-mark{background:linear-gradient(145deg,#ffdf89,#d99b29)!important;color:#2b1436!important}
.sidebar .brand span{color:#efbd58!important}
.sidebar nav a{color:#eadff0!important}
.sidebar nav a:hover{background:rgba(255,255,255,.07)!important;color:#fff!important}
.sidebar nav a.active{background:linear-gradient(90deg,rgba(155,83,180,.44),rgba(255,255,255,.06))!important;color:#ffe08a!important;box-shadow:inset -3px 0 0 #efbd58!important}
.support-card,.secure-card{background:rgba(255,255,255,.055)!important;border-color:rgba(255,255,255,.10)!important;color:#fff!important}
.support-card small,.secure-card small{color:#cfc0d5!important}
.support-card a{border-color:#efbd58!important;color:#ffe08a!important;background:rgba(239,189,88,.04)!important}
.sidebar-logout{color:#eadff0!important}

/* White top bar and white cards */
.topbar{background:#fff!important;border-bottom:1px solid #e7edf0!important;box-shadow:0 7px 22px rgba(16,73,87,.05)!important;backdrop-filter:none!important}
.menu-btn,.top-search-readonly,.user-box>a{color:#18364d!important}
.top-brand span,.page-head h1{color:#075b63!important}
.top-brand small{color:#d8a62b!important}
.top-search{background:#f6f8fa!important;border-color:#eef2f4!important}
.top-search input,.search-box input{color:#18364d!important}
.top-search input::placeholder,.search-box input::placeholder{color:#8999a5!important}
.icon-btn{background:#fff!important;border-color:#e7edf0!important;color:#18364d!important}
.icon-btn em{background:#6c347f!important;color:#fff!important}
.avatar{background:linear-gradient(145deg,#eee6f2,#f6d98f)!important;color:#5b2b6e!important}
.user-box small,.crumb,.footer{color:#6b7d8f!important}

.card,.panel,.table-card,.form-card,.teacher-wizard-card,.teacher-setup-hero,.teacher-simple-layout>.card,.shortcut-card,.calendar-day-card,.admin-calendar-card,.scheduler-card,.schedule-slot-editor,.user-permission-card{
  background:#fff!important;
  border-color:#e7edf0!important;
  color:#18364d!important;
  box-shadow:0 12px 35px rgba(16,73,87,.08)!important;
}
.hero-banner{background:linear-gradient(110deg,#0d9488 0%,#075b63 64%,#064d57 100%)!important;border:0!important;color:#fff!important}
.hero-banner:before{background:linear-gradient(135deg,#eef8f7,#c7e3e0)!important}
.welcome p,.welcome small{color:#dff4f2!important}
.kpi .meta span,.kpi .meta small,.legend div,.list-row small,.form-hint,.lesson-day small,.lesson-main span,.teacher-simple-name small,.teacher-simple-stats small,.permission-profile-row small,.permission-checks small,.student-pick small{color:#6b7d8f!important}
.kpi .meta strong,.donut-center b,.panel-title h3,.teacher-setup-hero h2,.teacher-simple-stats b,.simple-section>b{color:#18364d!important}
.kpi .icon,.quick span{background:#e9f7f5!important;color:#0d9488!important;border-color:#d7efec!important}
.kpi.orange .icon{background:#fff2e8!important;color:#ea7b24!important}
.kpi.purple .icon{background:#f3ebff!important;color:#8d4ae8!important}
.kpi.blue .icon{background:#ebf3ff!important;color:#3e83ed!important}
.growth{color:#15926f!important}
.panel-title a,.custom-permissions summary{color:#1685c9!important}
.donut:after{background:#fff!important}
.line-chart{background:linear-gradient(to top,rgba(13,148,136,.07),transparent 72%)!important;border-color:#dce6ea!important}
.quick,.shortcut-card{background:#fff!important;border-color:#e7edf0!important;color:#18364d!important;box-shadow:0 7px 20px rgba(20,73,86,.04)!important}
.quick:hover,.shortcut-card:hover{border-color:#b9d8d5!important;transform:translateY(-1px)}
.primary-btn{background:linear-gradient(135deg,#075b63,#0d9488)!important;color:#fff!important;box-shadow:0 8px 20px rgba(7,112,109,.16)!important}
.secondary-btn{background:#edf8f7!important;color:#08776f!important;border:1px solid #d7ece9!important}
.ghost-btn{background:#fff!important;border-color:#e7edf0!important;color:#18364d!important}
.danger-btn{background:#fff0f0!important;color:#b42828!important;border-color:#f5d9d9!important}

.search-box,.filters select,.filters input,.form-grid input,.form-grid select,.form-grid textarea,
.quick-teacher-grid input,.quick-teacher-grid select,.teacher-lesson-form select,.score-input,.table-input,.table-select,
.permission-checks label,.subject-pill-grid span,.permission-profile-row span,.student-pick{
  background:#fff!important;
  border-color:#e2eaee!important;
  color:#18364d!important;
}
.filters select:focus,.filters input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,
.quick-teacher-grid input:focus,.quick-teacher-grid select:focus,.teacher-lesson-form select:focus{
  border-color:#42a9a1!important;
  box-shadow:0 0 0 3px rgba(13,148,136,.08)!important
}
input::placeholder,textarea::placeholder{color:#9aa8b2!important}
select option{background:#fff!important;color:#18364d!important}
.data-table th{background:#fbfcfd!important;color:#607385!important;border-bottom-color:#e7edf0!important}
.data-table td{color:#18364d!important;border-bottom-color:#edf2f4!important;background:#fff!important}
.data-table tbody tr:hover td{background:#fbfefe!important}
.table-wrap{background:#fff!important}
.list-row{border-bottom-color:#e7edf0!important}
.badge{background:#e9f8f1!important;color:#14825f!important}
.badge.warn{background:#fff4e7!important;color:#c87918!important}
.badge.danger{background:#fff0f0!important;color:#c33!important}
.badge.blue{background:#edf4ff!important;color:#3977db!important}
.alert.success{background:#eafaf3!important;color:#126b45!important;border-color:#d8f1e6!important}
.alert.danger{background:#fff0f0!important;color:#a32323!important;border-color:#f5d8d8!important}
.alert.warning{background:#fff7e8!important;color:#9a6812!important;border-color:#f6e4b9!important}
.permission-groups section{background:#fbfefe!important;border-color:#e6eff1!important}
.permission-groups h4{color:#075b63!important}
.permission-checks label:hover{border-color:#c8dfdd!important}
.subject-pill-grid input:checked+span,.permission-profile-row input:checked+span{background:#eaf9f6!important;border-color:#6bc8ba!important;color:#06756d!important;box-shadow:0 0 0 3px rgba(12,159,145,.08)!important}
.teacher-simple-tip{background:#effaf8!important;border:1px solid #dcefeb!important}
.teacher-simple-tip b{color:#08766e!important}
.teacher-simple-stats>span{background:#f4f9f9!important}
.lesson-card{background:#fbfefe!important;border-color:#e7edf0!important}
.calendar-mobile-slot.booked,.period-events>a,.calendar-add-slot,.schedule-slot{background:#f5fbfa!important;border-color:#dcebea!important;color:#18364d!important}
.period-events>a b{color:#075b63!important}
.period-events>a small,.period-label small,.calendar-mobile-slot small{color:#6b7d8f!important}

/* Mobile navigation is a menu too, so keep it purple */
.mobile-nav{background:#1b0d25!important;border-top-color:rgba(255,255,255,.10)!important;box-shadow:0 -10px 28px rgba(43,20,54,.18)!important}
.mobile-nav a,.mobile-nav button{color:#d7c9dc!important}
.mobile-nav .active{color:#efbd58!important}
.overlay{background:rgba(27,13,37,.38)!important}
::-webkit-scrollbar-track{background:#f0f3f5!important}
::-webkit-scrollbar-thumb{background:#c6b3ce!important}
::-webkit-scrollbar-thumb:hover{background:#a78bb3!important}
@media(max-width:760px){.topbar{background:#fff!important}.content{background:#f7fafb!important}}


/* v0.6.7 mobile input alignment fix */
@media (max-width: 900px){
  .content{padding:16px 12px 92px}
  .page-head,.panel-title{flex-direction:column;align-items:flex-start;gap:8px}
  .settings-user-grid,.teacher-tools-grid,.grades-layout,.homework-layout,.messages-layout,.lower-grid{grid-template-columns:1fr!important}
  .form-card,.card.table-card,.table-card,.user-permission-card,.quick-staff-card,.teacher-wizard-card,.student-quick-card{border-radius:16px;overflow:hidden}
  .form-grid,.quick-staff-form,.quick-teacher-grid,.teacher-lesson-form,.quick-student-grid,.permission-profile-row,.teacher-list-simple,.teacher-card-actions,.simple-admin-strip,.student-quick-steps,.simple-start-actions{grid-template-columns:1fr!important}
  .form-grid>div,.quick-staff-form>div,.quick-teacher-grid>div,.teacher-lesson-form>div,.quick-student-grid>div{width:100%;min-width:0}
  .form-grid label,.quick-staff-form label,.quick-teacher-grid label,.teacher-lesson-form label,.quick-student-grid label{display:block;margin-bottom:6px;line-height:1.5}
  .form-grid input,.form-grid select,.form-grid textarea,.quick-staff-form input,.quick-staff-form select,.quick-teacher-grid input,.quick-teacher-grid select,.teacher-lesson-form select,.teacher-lesson-form input,.quick-student-grid input,.quick-student-grid select,.quick-student-grid textarea{width:100%;font-size:16px;min-height:46px}
  .password-inline{display:flex;flex-direction:column!important;gap:8px}
  .password-inline input,.password-inline .ghost-btn,.quick-staff-form .primary-btn,.teacher-card-actions a,.simple-save-bar .primary-btn,.simple-save-bar .ghost-btn{width:100%}
  .actions,.simple-save-bar,.teacher-card-actions{flex-direction:column}
  .search-box{min-width:0;width:100%}
  .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .data-table{min-width:720px}
}
@media (max-width: 600px){
  .content{padding:14px 10px 96px}
  .topbar{padding:0 12px}
  .card,.panel,.form-card{padding-left:12px;padding-right:12px}
  .simple-save-bar{bottom:82px}
  .toolbar{align-items:stretch}
  .toolbar .actions,.toolbar .search-box,.toolbar form,.toolbar a,.toolbar button{width:100%}
}

/* v0.6.8 — simplified teacher lessons + grades */
.teacher-lessons-simple{padding:18px}
.lesson-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:8px 0 14px}
.lesson-steps span{display:flex;align-items:center;gap:7px;padding:9px 10px;border-radius:11px;background:#f8f7fb;border:1px solid #ece8f2;color:#4c4560;font-weight:700}
.lesson-steps b{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:#2b123d;color:#fff;font-size:12px}
.teacher-lesson-form-simple{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.teacher-lesson-form-simple .lesson-save{grid-column:1/-1;display:grid;grid-template-columns:1fr;gap:8px}
.teacher-lesson-form-simple select{min-height:48px;font-size:15px;background:#fff}
.simple-lesson-list .lesson-card{background:#fff;border-color:#e9edf1;box-shadow:0 6px 18px rgba(25,31,40,.04)}
.grades-create-card{padding:18px}
.grades-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.grades-title h3{margin:0 0 4px}
.grades-title small{color:var(--muted)}
.grades-title>span{background:#f2eef8;color:#5f3b7d;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800}
.assessment-shortcuts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.assessment-shortcuts button{border:1px solid #e4ddef;background:#fff;color:#3f2a50;border-radius:11px;padding:10px 8px;font-family:inherit;font-weight:800;cursor:pointer}
.assessment-shortcuts button:hover{background:#f7f2fb;border-color:#cdb9df}
.score-entry-card .data-table td{background:#fff}
@media(max-width:900px){
  .lesson-steps{grid-template-columns:1fr 1fr}
  .teacher-lesson-form-simple{grid-template-columns:1fr}
  .assessment-shortcuts{grid-template-columns:1fr 1fr}
  .grades-title{flex-direction:column}
  .grade-card-grid{grid-template-columns:1fr!important}
  .score-entry-card .table-wrap{overflow-x:auto}
}
@media(max-width:600px){
  .teacher-lessons-simple,.grades-create-card{padding:14px}
  .lesson-steps{grid-template-columns:1fr 1fr}
  .lesson-steps span{padding:8px;font-size:12px}
  .assessment-shortcuts{grid-template-columns:1fr 1fr}
  .assessment-shortcuts button{min-height:44px}
}


/* v0.6.9 school logo integration */
.brand-logo-small,.top-brand-logo{background:#fff url('images/school-logo.png') center 13%/155% auto no-repeat;border:1px solid rgba(223,183,77,.55);box-shadow:0 5px 16px rgba(0,0,0,.15);overflow:hidden}
.brand-logo-small{width:46px;height:46px;flex:0 0 46px;border-radius:14px}
.top-brand{display:flex;align-items:center;gap:10px}
.top-brand-logo{width:38px;height:38px;flex:0 0 38px;border-radius:11px}
@media(max-width:900px){.top-brand-logo{display:none}}


/* v0.7.0 Professional UI refresh */
:root{
  --ui-bg:#f6f7fb;
  --ui-surface:#ffffff;
  --ui-surface-soft:#fcfbfe;
  --ui-line:#e9ebf2;
  --ui-ink:#1d2433;
  --ui-muted:#6f7889;
  --ui-purple:#1a0b2e;
  --ui-purple-2:#2b143d;
  --ui-purple-3:#4d2a73;
  --ui-gold:#e6b54a;
  --ui-gold-soft:#fff4d9;
  --ui-teal:#0d9488;
  --ui-shadow:0 12px 34px rgba(25,31,40,.06);
  --ui-shadow-lg:0 22px 60px rgba(31,20,44,.12);
}
html,body{background:var(--ui-bg)!important;color:var(--ui-ink)!important}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.app-shell,.main,.content{background:var(--ui-bg)!important}
.content{padding:24px 24px 110px!important}

/* Premium navigation */
.sidebar{
  width:288px!important;
  background:linear-gradient(180deg,var(--ui-purple) 0%,#231136 54%,#12081f 100%)!important;
  padding:20px 16px 16px!important;
  box-shadow:-18px 0 42px rgba(19,10,30,.22)!important;
}
.main{margin-right:288px!important}
.brand{
  align-items:center!important;
  padding:6px 10px 20px!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}
.brand b{font-size:18px!important;line-height:1.45}
.brand span{font-size:10px!important;letter-spacing:1.8px!important;color:#d6b057!important}
.brand-logo-small,.top-brand-logo{
  background:#fff url('images/school-logo.png') center 22%/150% auto no-repeat!important;
  border:1px solid rgba(230,181,74,.5)!important;
  box-shadow:0 10px 22px rgba(14,10,22,.22)!important;
}
.brand-logo-small{width:54px!important;height:54px!important;border-radius:16px!important;flex:0 0 54px!important}
.sidebar nav{gap:8px!important;padding-top:18px!important}
.sidebar nav a{
  padding:12px 14px!important;
  border-radius:18px!important;
  font-size:15px!important;
  font-weight:800!important;
  color:#efe8f5!important;
}
.sidebar nav a span{
  width:44px!important;height:44px!important;flex:0 0 44px;
  display:grid!important;place-items:center!important;
  border-radius:15px!important;
  font-size:21px!important;
  background:rgba(255,255,255,.06)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  color:#f4d889!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;
}
.sidebar nav a.active{
  background:linear-gradient(90deg,rgba(230,181,74,.18),rgba(255,255,255,.04))!important;
  color:#fff!important;
  box-shadow:inset -3px 0 0 var(--ui-gold),0 10px 28px rgba(0,0,0,.12)!important;
}
.sidebar nav a.active span{
  background:linear-gradient(180deg,#f7d16d,#dda73f)!important;
  color:#2a163b!important;
  border-color:transparent!important;
}
.sidebar nav a:hover{background:rgba(255,255,255,.08)!important}
.support-card,.secure-card,.sidebar-logout{
  border-radius:18px!important;
  background:rgba(255,255,255,.055)!important;
  border:1px solid rgba(255,255,255,.08)!important;
}
.support-card a{
  border-radius:13px!important;
  padding:11px 12px!important;
  font-weight:800!important;
}
.sidebar-logout{padding:12px 14px!important}

/* Header */
.topbar{
  height:78px!important;
  padding:0 22px!important;
  grid-template-columns:auto auto minmax(220px,410px) auto auto!important;
  border-bottom:1px solid var(--ui-line)!important;
  box-shadow:0 8px 24px rgba(22,34,51,.04)!important;
}
.menu-btn{
  width:50px;height:50px;border-radius:16px!important;
  background:#f3f5fa!important;color:var(--ui-purple)!important;
  border:1px solid #e9edf4!important;
  box-shadow:0 8px 20px rgba(26,11,46,.05)!important;
}
.top-brand{display:flex!important;align-items:center!important;gap:10px;min-width:0}
.top-brand-logo{width:46px!important;height:46px!important;flex:0 0 46px;border-radius:14px!important;display:block!important}
.top-brand span{font-size:18px!important;color:#1e5864!important;font-weight:900!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-brand small{font-size:10px!important;letter-spacing:1.8px!important;color:#b88f34!important}
.top-search{
  height:48px!important;border-radius:16px!important;
  border-color:#ebeff5!important;background:#f8fafc!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7)!important;
}
.icon-btn,.avatar{
  width:46px!important;height:46px!important;border-radius:15px!important;
}
.icon-btn{background:#fff!important;border:1px solid #e8ecf2!important;box-shadow:0 8px 22px rgba(16,24,40,.05)!important}
.avatar{background:linear-gradient(135deg,#f6edd5,#d7eef0)!important;color:#1c6671!important;font-size:18px!important}
.user-box{gap:12px!important}
.user-box b{font-size:14px!important;color:#1d2433!important}
.user-box small{font-size:12px!important;color:#748093!important}

/* Shared cards */
.card,.panel,.table-card,.form-card,.teacher-wizard-card,.teacher-setup-hero,.teacher-simple-layout>.card,.shortcut-card,.calendar-day-card,.admin-calendar-card,.scheduler-card,.schedule-slot-editor,.user-permission-card{
  border-radius:24px!important;
  border:1px solid var(--ui-line)!important;
  background:var(--ui-surface)!important;
  box-shadow:var(--ui-shadow)!important;
}
.page-head{margin-bottom:16px!important}
.page-head h1{font-size:30px!important;color:var(--ui-purple)!important;letter-spacing:-.2px}
.page-head p{color:var(--ui-muted)!important;font-size:15px!important}
.crumb{color:#97a0b0!important;font-size:12px!important}

/* Hero banner */
.hero-banner{
  min-height:182px!important;
  border-radius:30px!important;
  border:1px solid #ebe4f4!important;
  background:linear-gradient(135deg,#ffffff 0%,#f6f0ff 54%,#eefaf8 100%)!important;
  color:var(--ui-ink)!important;
  box-shadow:var(--ui-shadow-lg)!important;
  margin-bottom:18px!important;
}
.hero-banner:before{display:none!important}
.hero-banner:after{
  content:"";position:absolute;left:-60px;top:-40px;width:240px;height:240px;border-radius:50%;
  background:radial-gradient(circle,rgba(230,181,74,.18) 0%,rgba(230,181,74,0) 68%);
}
.school-art{width:30%!important;min-width:180px!important;height:100%!important;align-items:center!important;justify-content:center!important;margin-left:0!important;padding:20px 10px 20px 0!important;position:relative}
.school-art:before,.school-art:after{content:"";position:absolute;border-radius:50%}
.school-art:before{width:130px;height:130px;background:radial-gradient(circle,#e8b957 0%,#efcf85 35%,rgba(239,207,133,.12) 70%,transparent 72%);right:36px;top:22px;opacity:.16}
.school-art:after{width:180px;height:180px;background:radial-gradient(circle,rgba(13,148,136,.22) 0%,rgba(13,148,136,0) 65%);left:20px;bottom:8px}
.school-art span{border-radius:22px!important;border-color:#dfdfeb!important;box-shadow:0 16px 34px rgba(45,54,78,.08)!important;background:#fff!important;opacity:1!important}
.school-art span:nth-child(1){height:80px!important;width:38%!important}
.school-art span:nth-child(2){height:122px!important;width:22%!important;background:linear-gradient(180deg,#2bb6a6,#127c72)!important;border:0!important}
.school-art span:nth-child(3){height:96px!important;width:30%!important}
.welcome{padding:28px 30px!important;max-width:70%;position:relative}
.welcome h2{font-size:32px!important;color:var(--ui-purple)!important;margin-bottom:10px!important;line-height:1.35}
.welcome p{color:#60697b!important;font-size:17px!important;line-height:1.7!important;margin-bottom:14px!important}
.welcome small{
  display:inline-flex!important;align-items:center;gap:8px;
  padding:9px 14px;border-radius:999px;background:#fff;border:1px solid #ece6f4;
  color:#7d648f!important;font-size:13px!important;
}

/* KPI cards */
.kpi-grid{grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:16px!important;margin-bottom:18px!important}
.kpi-grid>.card{grid-column:span 3}
.kpi-grid>.card:nth-child(5){grid-column:span 12}
.kpi{
  min-height:170px!important;
  padding:22px 20px!important;
  position:relative;
  align-items:flex-start!important;
}
.kpi:before{
  content:"";position:absolute;right:18px;left:18px;top:0;height:4px;border-radius:999px;
  background:linear-gradient(90deg,var(--ui-purple-3),var(--ui-gold));opacity:.95;
}
.kpi .icon{
  width:62px!important;height:62px!important;border-radius:20px!important;font-size:28px!important;
  box-shadow:0 10px 24px rgba(74,42,115,.12)!important;
}
.kpi .meta span{font-size:15px!important;color:#667285!important}
.kpi .meta strong{font-size:42px!important;line-height:1.05;margin:14px 0 10px!important;color:#1e2330!important}
.kpi .meta small{font-size:14px!important;color:#748093!important;line-height:1.65}
.kpi.orange .icon{background:#fff3e6!important;color:#e67a1d!important}
.kpi.purple .icon{background:#f3ecff!important;color:#8a4cf0!important}
.kpi.blue .icon{background:#ebf3ff!important;color:#3c81e8!important}
.growth{font-size:12px!important}

/* Panels and actions */
.analytics,.lower-grid{gap:16px!important}
.panel{padding:20px!important}
.panel-title{margin-bottom:16px!important}
.panel-title h3{font-size:18px!important;color:#1d2433!important}
.quick-actions{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important;gap:12px!important}
.quick{
  padding:16px!important;border-radius:18px!important;gap:10px!important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease!important;
}
.quick span{width:48px!important;height:48px!important;border-radius:16px!important;font-size:22px!important}
.quick:hover{transform:translateY(-2px)!important;box-shadow:0 14px 30px rgba(31,20,44,.08)!important;border-color:#d7dce7!important}
.list-row{padding:13px 0!important}
.badge{padding:7px 11px!important;border-radius:999px!important}

/* Forms and tables */
.toolbar{gap:12px!important}
.primary-btn,.secondary-btn,.ghost-btn,.danger-btn{
  min-height:46px!important;padding:12px 16px!important;border-radius:14px!important;font-size:14px!important
}
.primary-btn{background:linear-gradient(135deg,var(--ui-purple-3),#0e8f83)!important;box-shadow:0 10px 22px rgba(77,42,115,.18)!important}
.secondary-btn{background:#f3f7fd!important;color:#2f4b74!important}
.ghost-btn{border-color:#e4e8f0!important}
.search-box,.filters select,.filters input,.form-grid input,.form-grid select,.form-grid textarea,.top-search{font-size:15px!important}
.filters select,.filters input,.form-grid input,.form-grid select,.form-grid textarea{min-height:48px!important;border-radius:14px!important;border-color:#e5e9f1!important;background:#fff!important}
.form-grid textarea{min-height:120px!important}
.table-card{border-radius:24px!important;overflow:hidden!important}
.data-table th{font-size:13px!important;background:#fafbfe!important;color:#677487!important;padding:15px 12px!important}
.data-table td{padding:14px 12px!important;font-size:14px!important}

/* Mobile polished layout */
.mobile-nav{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  right:10px!important;left:10px!important;bottom:12px!important;
  height:74px!important;padding:6px!important;
  background:linear-gradient(180deg,var(--ui-purple) 0%,#13071f 100%)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:26px!important;
  box-shadow:0 -10px 34px rgba(20,8,31,.22)!important;
}
.mobile-nav a,.mobile-nav button{color:#d8cbe0!important;border-radius:18px!important;gap:4px!important}
.mobile-nav span{font-size:24px!important}
.mobile-nav small{font-size:10px!important;font-weight:700!important}
.mobile-nav .active{
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.08))!important;
  color:#ffd876!important;
  box-shadow:inset 0 0 0 1px rgba(230,181,74,.22)!important;
}
.mobile-nav .active span{transform:translateY(-1px)}

@media(max-width:900px){
  .sidebar{width:295px!important}
  .main{margin-right:0!important}
  .topbar{
    height:74px!important;
    grid-template-columns:auto 1fr auto!important;
    padding:0 14px!important;
  }
  .top-brand{justify-content:center!important}
  .top-brand-logo{width:42px!important;height:42px!important;display:block!important}
  .top-brand span{font-size:15px!important}
  .top-brand small{font-size:8px!important}
  .content{padding:16px 12px 100px!important}
  .hero-banner{min-height:auto!important;flex-direction:column!important;align-items:stretch!important;padding:0!important;border-radius:24px!important}
  .welcome{max-width:none!important;padding:22px 18px 18px!important;order:1}
  .welcome h2{font-size:28px!important}
  .welcome p{font-size:15px!important}
  .school-art{order:2;width:100%!important;min-width:0!important;height:96px!important;padding:0 18px 18px!important;justify-content:flex-start!important}
  .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .kpi-grid>.card{grid-column:span 1!important}
  .kpi-grid>.card:nth-child(5){grid-column:1/-1!important}
  .kpi{min-height:156px!important;padding:18px 16px!important}
  .kpi .icon{width:56px!important;height:56px!important;font-size:24px!important}
  .kpi .meta strong{font-size:34px!important}
  .analytics,.lower-grid{grid-template-columns:1fr!important}
  .quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .quick{flex-direction:column!important;align-items:flex-start!important}
}
@media(max-width:600px){
  .topbar{border-radius:0 0 18px 18px!important}
  .menu-btn{width:46px!important;height:46px!important}
  .top-brand-logo{display:none!important}
  .top-brand span{font-size:14px!important}
  .content{padding:14px 10px 104px!important}
  .page-head h1{font-size:25px!important}
  .hero-banner{border-radius:22px!important}
  .welcome{padding:18px 16px 14px!important}
  .welcome h2{font-size:24px!important;line-height:1.45!important}
  .welcome p{font-size:14px!important;line-height:1.75!important}
  .welcome small{font-size:12px!important;width:100%;justify-content:center}
  .school-art{height:84px!important;padding:0 16px 16px!important}
  .school-art span:nth-child(1){height:58px!important}.school-art span:nth-child(2){height:86px!important}.school-art span:nth-child(3){height:68px!important}
  .kpi-grid{gap:12px!important}
  .kpi{min-height:144px!important}
  .kpi .meta span{font-size:14px!important}
  .kpi .meta strong{font-size:30px!important;margin:10px 0 8px!important}
  .kpi .meta small{font-size:13px!important}
  .quick-actions{grid-template-columns:1fr 1fr!important}
  .quick{padding:14px!important;border-radius:16px!important}
  .quick span{width:44px!important;height:44px!important;font-size:20px!important}
  .card,.panel,.table-card,.form-card,.teacher-wizard-card,.teacher-setup-hero,.teacher-simple-layout>.card,.shortcut-card,.calendar-day-card,.admin-calendar-card,.scheduler-card,.schedule-slot-editor,.user-permission-card{border-radius:20px!important}
  .mobile-nav{height:72px!important;right:8px!important;left:8px!important;bottom:10px!important}
}
@media(max-width:390px){
  .top-brand span{font-size:13px!important}
  .kpi .icon{width:50px!important;height:50px!important;font-size:22px!important}
  .mobile-nav span{font-size:22px!important}
  .mobile-nav small{font-size:9px!important}
}

/* v0.7.1 workflow simplification */
.teacher-login-card{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;margin-bottom:14px;border:1px solid #ece7f4;background:linear-gradient(135deg,#fff,#fbf8ff)}
.teacher-login-card>div:first-child{display:flex;align-items:center;gap:12px}.teacher-login-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:#f2ecfb;font-size:23px}.teacher-login-card b,.teacher-login-card small{display:block}.teacher-login-card small{color:#6f7889;margin-top:4px;line-height:1.6}.teacher-login-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.teacher-login-actions code,.teacher-login-once code{background:#1a0b2e;color:#ffe39a;padding:7px 10px;border-radius:9px;font-size:14px}.teacher-login-once{line-height:1.9}
.schedule-export-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid #eceef3}.schedule-export-actions .primary-btn,.schedule-export-actions .ghost-btn{min-height:42px}
.due-mode-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.due-mode-cards label{cursor:pointer}.due-mode-cards input{position:absolute;opacity:0;pointer-events:none}.due-mode-cards span{display:block;padding:12px;border:1px solid #e7e9ef;border-radius:13px;background:#fff}.due-mode-cards b,.due-mode-cards small{display:block}.due-mode-cards small{color:#768091;margin-top:4px;line-height:1.5}.due-mode-cards input:checked+span{border-color:#7b55a5;background:#f7f2fc;box-shadow:0 0 0 3px rgba(77,42,115,.07)}
.homework-simple-card textarea{min-height:100px}.final-toolbar{overflow:hidden}
@media(max-width:760px){.teacher-login-card{align-items:flex-start;flex-direction:column}.teacher-login-actions{width:100%;flex-direction:column;align-items:stretch}.teacher-login-actions code,.teacher-login-actions form,.teacher-login-actions button{width:100%}.schedule-export-actions{display:grid;grid-template-columns:1fr 1fr}.schedule-export-actions .primary-btn{grid-column:1/-1}.due-mode-cards{grid-template-columns:1fr}.homework-layout{grid-template-columns:1fr!important}}
@media(max-width:420px){.schedule-export-actions{grid-template-columns:1fr}.schedule-export-actions .primary-btn{grid-column:auto}}

/* v0.7.2 — Professional users & permissions */
.settings-page-head{align-items:center!important}.settings-summary{display:flex;gap:10px}.settings-summary>span{min-width:112px;padding:12px 14px;border:1px solid #e8eaf1;border-radius:17px;background:#fff;text-align:center;box-shadow:0 8px 22px rgba(31,20,44,.05)}.settings-summary b,.settings-summary small{display:block}.settings-summary b{font-size:24px;color:#4d2a73}.settings-summary small{color:#778195;margin-top:3px}.account-create-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.account-create-card{padding:22px;position:relative;overflow:hidden}.account-create-card:before{content:"";position:absolute;top:0;right:0;left:0;height:4px;background:linear-gradient(90deg,#4d2a73,#e6b54a)}.account-create-icon{width:68px;height:68px;border-radius:22px;display:grid;place-items:center;font-size:31px;margin-bottom:14px;background:#f4effb;color:#58317c;border:1px solid #e9ddf5}.staff-account-card .account-create-icon{background:#eef9f7;color:#117d74;border-color:#d8efeb}.account-kicker{display:inline-block;color:#a37925;font-size:12px;font-weight:900;margin-bottom:4px}.account-create-copy h2,.accounts-card-head h2,.user-manage-head h2{margin:2px 0 7px;color:#24132f}.account-create-copy p,.accounts-card-head p,.account-security-box p,.settings-mini-card p{margin:0;color:#778195;line-height:1.75}.account-quick-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.account-field.full,.account-form-actions{grid-column:1/-1}.account-field label,.advanced-user-form label{display:block;font-weight:800;margin-bottom:6px}.account-field input,.account-field select,.advanced-user-form input,.advanced-user-form select,.settings-inline-form input{width:100%;min-height:48px;padding:11px 12px;border:1px solid #e4e8f0;border-radius:14px;background:#fff;font-family:inherit;color:#1d2433}.account-form-actions{display:flex;justify-content:flex-end;gap:8px}.compact-btn{min-width:68px!important;min-height:48px!important;padding:9px 10px!important}.empty-account-state{margin-top:18px;padding:18px;border-radius:18px;background:#faf8fc;border:1px dashed #ded4e8}.empty-account-state b,.empty-account-state span{display:block}.empty-account-state span{color:#778195;margin:5px 0 12px}.settings-tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.settings-mini-card{padding:18px;display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}.settings-mini-icon{width:50px;height:50px;border-radius:16px;background:#f4effb;color:#58317c;display:grid;place-items:center;font-size:22px}.settings-mini-card h3{margin:2px 0 5px}.settings-inline-form{grid-column:1/-1;display:grid;grid-template-columns:1.2fr .8fr auto;gap:8px}.advanced-user-box{grid-column:1/-1}.advanced-user-box summary{cursor:pointer;padding:12px 14px;border-radius:14px;background:#f7f5fa;color:#58317c;font-weight:800}.advanced-user-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.advanced-user-form .full{grid-column:1/-1}.accounts-card{overflow:hidden;margin-bottom:16px}.accounts-card-head{display:flex;justify-content:space-between;align-items:center;padding:20px 20px 14px}.accounts-count{padding:8px 12px;border-radius:999px;background:#f4effb;color:#58317c;font-weight:900}.account-list{border-top:1px solid #eef0f4}.account-row{display:grid;grid-template-columns:auto minmax(150px,1.4fr) 130px 120px 85px 120px;gap:12px;align-items:center;padding:14px 18px;text-decoration:none;border-bottom:1px solid #eef0f4;transition:.16s}.account-row:hover,.account-row.selected{background:#fbf9fd}.account-row.selected{box-shadow:inset -3px 0 0 #e6b54a}.account-avatar{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#f3eafb,#fff1cf);color:#4d2a73;font-weight:900;font-size:18px}.account-avatar.large{width:58px;height:58px;border-radius:19px;font-size:23px}.account-main b,.account-main small{display:block}.account-main small{color:#8a93a3;margin-top:4px}.account-role,.account-perms{color:#5f6879}.account-status{display:inline-flex;justify-content:center;padding:6px 9px;border-radius:999px;font-weight:800;font-size:12px}.account-status.active{background:#eaf8f2;color:#17795b}.account-status.off{background:#fff0f0;color:#b43a3a}.account-open{color:#6c4387;font-weight:800;font-size:12px}.user-manage-panel{padding:20px;margin-bottom:16px}.user-manage-head{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid #eef0f4}.user-manage-head>div:nth-child(2){flex:1}.user-manage-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:16px;padding-top:16px}.user-edit-box,.account-security-box{padding:16px;border:1px solid #e8ebf1;border-radius:18px;background:#fcfcfe}.user-edit-box h3,.account-security-box h3{margin:0 0 12px}.account-security-box{display:flex;flex-direction:column;gap:10px}.permission-modern{margin-top:18px;padding-top:18px;border-top:1px solid #eef0f4}.permission-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.permission-title h3{margin:2px 0}.permission-bottom-save{margin-top:14px;display:none!important}.mfa-admin-card{margin-top:16px}.full{width:100%}
@media(max-width:1000px){.account-create-grid,.settings-tools-grid,.user-manage-grid{grid-template-columns:1fr}.account-row{grid-template-columns:auto 1fr auto}.account-role,.account-perms,.account-status{display:none}.account-open{justify-self:end}.settings-inline-form{grid-template-columns:1fr 1fr auto}}
@media(max-width:650px){.settings-page-head{align-items:stretch!important}.settings-summary{width:100%}.settings-summary>span{flex:1;min-width:0}.account-create-card{padding:16px}.account-create-icon{width:60px;height:60px;border-radius:19px;font-size:27px}.account-quick-form,.advanced-user-form{grid-template-columns:1fr}.account-field.full,.account-form-actions,.advanced-user-form .full{grid-column:auto}.account-form-actions{flex-direction:column}.account-form-actions>*{width:100%}.password-inline{flex-direction:row!important}.settings-inline-form{grid-template-columns:1fr}.settings-inline-form .secondary-btn{width:100%}.accounts-card-head{align-items:flex-start;gap:10px}.account-row{padding:13px 12px;grid-template-columns:auto 1fr}.account-open{grid-column:2;justify-self:start}.user-manage-panel{padding:14px}.user-manage-head{align-items:flex-start;flex-wrap:wrap}.user-manage-head .ghost-btn{width:100%}.permission-title{align-items:stretch;flex-direction:column}.permission-title .primary-btn{display:none!important}.permission-bottom-save{display:flex!important;width:100%}.permission-groups{grid-template-columns:1fr!important}}


/* v0.7.3 - Safer student archive UX */
.student-actions-safe{display:flex;align-items:center;gap:7px;position:relative;white-space:nowrap}
.student-actions-safe .mini-btn{min-height:38px;padding:8px 11px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none}
.student-actions-safe .action-open{background:#eef8f6;color:#08786f;border:1px solid #d9eeea}
.student-action-menu{position:relative}
.student-action-menu>summary{list-style:none;cursor:pointer;background:#fff;border:1px solid #e3e8ef;color:#364152;user-select:none}
.student-action-menu>summary::-webkit-details-marker{display:none}
.student-action-menu[open]>summary{border-color:#c9b5dc;background:#f7f2fb;color:#4d2a73}
.student-action-popover{position:absolute;z-index:30;top:calc(100% + 7px);left:0;min-width:220px;background:#fff;border:1px solid #e6e9ef;border-radius:16px;box-shadow:0 18px 45px rgba(31,20,44,.16);padding:7px;overflow:hidden}
.student-action-popover a,.student-action-popover button{width:100%;min-height:42px;border:0;background:transparent;border-radius:11px;padding:9px 11px;font-family:inherit;font-size:13px;font-weight:700;text-align:right;color:#263447;display:flex;align-items:center;gap:8px;text-decoration:none;cursor:pointer}
.student-action-popover a:hover,.student-action-popover button:hover{background:#f6f8fb}
.student-action-popover form{margin:0}
.student-action-popover .action-separator{height:1px;background:#edf0f4;margin:5px 3px}
.student-action-popover .archive-action{color:#b02b2b;background:#fff8f8}
.student-action-popover .archive-action:hover{background:#fff0f0}
.student-action-popover .restore-action{color:#08786f;background:#f4fbf9}
.student-action-popover .restore-action:hover{background:#eaf8f5}
@media(max-width:700px){
  .student-actions-safe{justify-content:flex-start}
  .student-actions-safe .mini-btn span{display:inline}
  .student-action-popover{left:auto;right:0;min-width:235px}
}


/* v0.7.4 — Simple shortcut-first dashboards */
.dash-welcome-simple{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 24px;margin-bottom:18px;border:1px solid #ebe7f0;border-radius:24px;background:linear-gradient(135deg,#fff 0%,#faf7ff 62%,#fff9eb 100%);box-shadow:0 12px 30px rgba(34,20,48,.05)}
.dash-eyebrow{display:inline-flex;padding:6px 10px;border-radius:999px;background:#f0e8f8;color:#5b2d76;font-size:12px;font-weight:900;margin-bottom:7px}.dash-welcome-simple h1{margin:0;color:#251331;font-size:27px}.dash-welcome-simple p{margin:7px 0 0;color:#71808c;font-size:14px}.dash-date{padding:11px 14px;border-radius:15px;background:#fff;border:1px solid #eee8f2;text-align:center;min-width:165px}.dash-date b,.dash-date small{display:block}.dash-date b{color:#351a46;font-size:16px}.dash-date small{color:#9b7d50;margin-top:4px}
.dash-shortcuts-section,.dash-overview-section{margin-bottom:22px}.dash-section-title{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:0 3px 12px}.dash-section-title h2{margin:0;color:#261334;font-size:20px}.dash-section-title p{margin:4px 0 0;color:#7d8794}.dash-section-title>a{color:#6b3b86;font-weight:800;text-decoration:none}
.dash-shortcut-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.dash-shortcut-card{position:relative;min-height:176px;padding:18px 15px;border:1px solid #e9e6ee;border-radius:22px;background:#fff;text-decoration:none;color:#222b38;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 9px 24px rgba(34,20,48,.045);transition:.18s ease}.dash-shortcut-card:hover{transform:translateY(-3px);border-color:#d7c5e1;box-shadow:0 16px 34px rgba(49,28,66,.09)}.dash-shortcut-icon{width:68px;height:68px;border-radius:21px;display:grid;place-items:center;font-size:31px;background:linear-gradient(145deg,#2b1538,#55306b);color:#f8d87d;box-shadow:0 10px 22px rgba(48,25,64,.18);margin-bottom:12px}.dash-shortcut-card:nth-child(4n+2) .dash-shortcut-icon{background:linear-gradient(145deg,#f3e9ff,#e7daf8);color:#734697;box-shadow:none}.dash-shortcut-card:nth-child(4n+3) .dash-shortcut-icon{background:linear-gradient(145deg,#fff7df,#f5e5ad);color:#9b6e17;box-shadow:none}.dash-shortcut-card:nth-child(4n+4) .dash-shortcut-icon{background:linear-gradient(145deg,#e9f8f5,#d8f1eb);color:#14877b;box-shadow:none}.dash-shortcut-card b{font-size:16px}.dash-shortcut-card small{margin-top:5px;color:#7e8995;line-height:1.55}.dash-shortcut-card em{font-style:normal;font-size:11px;color:#7c4d94;margin-top:auto;padding-top:8px;font-weight:800}
.dash-mini-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dash-admin-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.dash-mini-stat{min-height:110px;padding:16px;border-radius:19px;border:1px solid #e8ebef;background:#fff;text-decoration:none;display:flex;gap:12px;align-items:center;box-shadow:0 7px 20px rgba(30,47,60,.04)}.dash-mini-stat>span{width:50px;height:50px;flex:0 0 50px;border-radius:16px;display:grid;place-items:center;background:#f2ebf7;color:#663b7d;font-size:23px}.dash-mini-stat b,.dash-mini-stat small,.dash-mini-stat em{display:block}.dash-mini-stat b{font-size:27px;color:#202938}.dash-mini-stat small{font-size:13px;color:#576473;font-weight:800;margin-top:2px}.dash-mini-stat em{font-style:normal;color:#8b96a2;font-size:11px;margin-top:3px;line-height:1.45}
.dash-tip-card{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border-radius:19px;background:#fff9e9;border:1px solid #f1e2b7}.dash-tip-card>span{font-size:25px}.dash-tip-card b{color:#5f4614}.dash-tip-card p{margin:4px 0 0;color:#846f43}
.dash-admin-bottom{display:grid;grid-template-columns:1.3fr .7fr;gap:14px}.dash-search-card{padding:20px;display:flex;gap:16px;align-items:center}.dash-search-icon{width:58px;height:58px;flex:0 0 58px;border-radius:18px;display:grid;place-items:center;background:#efe7f6;color:#60377a;font-size:28px}.dash-search-card h3,.dash-today-card h3{margin:0;color:#273141}.dash-search-card p{margin:5px 0 11px;color:#7b8793}.dash-search-card form{display:grid;grid-template-columns:1fr auto;gap:8px}.dash-search-card input{min-width:0;width:100%;height:45px;border:1px solid #dfe5ea;border-radius:13px;padding:0 13px;font-family:inherit;font-size:15px}.dash-today-card{padding:20px}.dash-today-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.dash-today-list>div{text-align:center;padding:11px 5px;border-radius:15px;background:#f8fafb}.dash-today-list span,.dash-today-list b,.dash-today-list small{display:block}.dash-today-list span{font-size:20px;color:#67407d}.dash-today-list b{font-size:22px;color:#293542;margin:4px 0}.dash-today-list small{color:#7b8894;font-size:11px}
@media(max-width:1200px){.dash-shortcut-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dash-admin-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.dash-shortcut-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dash-mini-stats,.dash-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-admin-bottom{grid-template-columns:1fr}.dash-welcome-simple{align-items:flex-start}.dash-date{min-width:145px}}
@media(max-width:600px){.dash-welcome-simple{padding:17px;flex-direction:column}.dash-date{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:right}.dash-date small{margin-top:0}.dash-welcome-simple h1{font-size:23px}.dash-shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dash-shortcut-card{min-height:158px;padding:14px 9px;border-radius:19px}.dash-shortcut-icon{width:62px;height:62px;border-radius:19px;font-size:29px}.dash-shortcut-card b{font-size:14px}.dash-shortcut-card small{font-size:11px}.dash-mini-stats,.dash-admin-stats{grid-template-columns:1fr 1fr;gap:9px}.dash-mini-stat{min-height:96px;padding:12px 10px;gap:8px}.dash-mini-stat>span{width:43px;height:43px;flex-basis:43px;font-size:20px}.dash-mini-stat b{font-size:23px}.dash-mini-stat small{font-size:11px}.dash-mini-stat em{font-size:9px}.dash-search-card{align-items:flex-start;padding:16px}.dash-search-icon{width:48px;height:48px;flex-basis:48px}.dash-search-card form{grid-template-columns:1fr}.dash-search-card .primary-btn{width:100%}.dash-today-card{padding:16px}}
@media(max-width:380px){.dash-shortcut-grid{grid-template-columns:1fr 1fr}.dash-shortcut-card{min-height:150px}.dash-shortcut-card small{display:none}.dash-mini-stats,.dash-admin-stats{grid-template-columns:1fr}.dash-mini-stat em{font-size:10px}}

/* v0.7.5 navigation + simplification */
.nav-svg{display:grid!important;place-items:center!important}.nav-svg svg,.icon-btn svg,.menu-btn svg,.account-dropdown svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sidebar{overflow:hidden!important}.sidebar-scroll{min-height:0;overflow-y:auto;overflow-x:hidden;padding-left:3px;scrollbar-width:thin;scrollbar-color:rgba(230,181,74,.55) transparent}.sidebar-scroll::-webkit-scrollbar{width:7px}.sidebar-scroll::-webkit-scrollbar-thumb{background:rgba(230,181,74,.5);border-radius:99px}.sidebar-scroll::-webkit-scrollbar-track{background:transparent}.sidebar nav a b{font-size:14px;line-height:1.35}.sidebar-bottom{padding-top:14px;padding-bottom:8px}.sidebar-logout .nav-svg{width:34px!important;height:34px!important;background:rgba(230,181,74,.12)!important;border-radius:11px;color:#f3cb68}.menu-btn{display:grid!important;place-items:center!important}.menu-btn svg{width:24px;height:24px}.icon-btn svg{width:21px;height:21px}.top-search button{display:grid;place-items:center}.top-search button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}.account-menu{position:relative;justify-self:end}.account-menu summary{list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer;min-height:52px;padding:5px 7px;border-radius:16px}.account-menu summary::-webkit-details-marker{display:none}.account-menu summary:hover{background:#f6f7fb}.account-menu-text{min-width:0}.account-menu-text b,.account-menu-text small{display:block;white-space:nowrap}.account-menu-text b{font-size:13px;color:#20283a}.account-menu-text small{font-size:11px;color:#7b8494;margin-top:2px}.account-chevron{color:#8790a0;font-size:14px}.account-dropdown{position:absolute;left:0;top:calc(100% + 7px);width:210px;padding:8px;background:#fff;border:1px solid #e8eaf0;border-radius:16px;box-shadow:0 18px 44px rgba(28,20,39,.16);z-index:90}.account-dropdown a{display:flex;align-items:center;gap:9px;padding:11px 12px;border-radius:11px;text-decoration:none;color:#273044;font-weight:700}.account-dropdown a:hover{background:#f6f3fb}.account-dropdown .account-logout{color:#a33434;border-top:1px solid #f0edf2;margin-top:5px;padding-top:12px}.mobile-nav .nav-svg{width:auto!important;height:auto!important;background:transparent!important;border:0!important}.mobile-nav .nav-svg svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9}.mobile-nav:empty{display:none!important}

/* simple feature shortcuts */
.simple-feature-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 16px}.simple-feature-link{display:flex;align-items:center;gap:11px;padding:14px;background:#fff;border:1px solid #e7e8ef;border-radius:17px;text-decoration:none;box-shadow:0 8px 22px rgba(34,28,45,.04);transition:.16s}.simple-feature-link:hover{transform:translateY(-1px);border-color:#d8cde5}.simple-feature-link .feature-icon{width:46px;height:46px;flex:0 0 46px;border-radius:15px;display:grid;place-items:center;background:#f3edf9;color:#4d2a73;font-size:22px}.simple-feature-link b,.simple-feature-link small{display:block}.simple-feature-link small{margin-top:3px;color:#7c8493;font-size:11px}.permission-highlight{border:1px solid #eadcf6!important;background:linear-gradient(180deg,#fff,#fbf8fe)!important}.permission-highlight b:before{content:'★ ';color:#c28a20}

/* attendance auto-load */
.attendance-selector{display:grid;grid-template-columns:2fr 1fr;gap:10px;align-items:end}.attendance-auto-note{grid-column:1/-1;color:#758092;font-size:12px;margin-top:2px}.attendance-quick-actions{display:flex;gap:8px;flex-wrap:wrap;padding:12px 14px;border-bottom:1px solid #edf0f4;background:#fbfcfe}.attendance-quick-actions button{border:1px solid #e2e6ed;background:#fff;border-radius:11px;padding:9px 12px;font-family:inherit;font-weight:700;cursor:pointer}.attendance-quick-actions button:hover{background:#f4f0fa;color:#4d2a73}.attendance-status-select{min-width:130px;padding:9px 10px;border:1px solid #e2e6ed;border-radius:11px;background:#fff}

/* guardian actions */
.parent-actions{display:flex;gap:6px;flex-wrap:wrap}.parent-message-btn{background:#f2ecfb!important;color:#56347a!important;border-color:#e4d7f2!important}

/* timetable clarity */
.timetable-start{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:10px;margin-bottom:16px}.timetable-start a{display:flex;align-items:center;gap:10px;padding:14px 15px;border-radius:17px;background:#fff;border:1px solid #e7eaf0;text-decoration:none;box-shadow:0 8px 22px rgba(31,27,40,.04)}.timetable-start a span{width:44px;height:44px;border-radius:14px;background:#f2ecfa;color:#4d2a73;display:grid;place-items:center;font-size:21px}.timetable-start a b,.timetable-start a small{display:block}.timetable-start a small{color:#7c8493;margin-top:3px;font-size:11px}.timetable-start a.active{border-color:#d8c4e8;background:#fbf8fe}.timetable-start a.active span{background:#4d2a73;color:#fff}.scheduler-tabs{overflow:auto;white-space:nowrap;padding-bottom:3px}.scheduler-tabs a{min-height:44px}

/* homework / grades simplification */
.homework-quick-head,.grades-quick-head{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:12px}.homework-quick-head button,.grades-quick-head button{min-height:72px;border:1px solid #e6e8ef;background:#fff;border-radius:16px;padding:10px;font-family:inherit;font-weight:800;color:#2f3749;cursor:pointer}.homework-quick-head button span,.grades-quick-head button span{display:block;font-size:21px;margin-bottom:5px}.homework-quick-head button:hover,.grades-quick-head button:hover{border-color:#d7c4e7;background:#fbf8fe}.due-mode-cards{grid-template-columns:repeat(3,1fr)!important}.assessment-shortcuts{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}.assessment-shortcuts button{min-height:58px!important;border-radius:14px!important}

@media(max-width:900px){.account-menu-text,.account-chevron{display:none}.account-menu summary{padding:0}.account-dropdown{left:0;width:190px}.sidebar{overflow:hidden!important}.sidebar-scroll{height:calc(100vh - 86px)}.attendance-selector{grid-template-columns:1fr}.attendance-auto-note{grid-column:auto}.timetable-start{grid-template-columns:1fr 1fr}.assessment-shortcuts{grid-template-columns:1fr 1fr!important}.due-mode-cards{grid-template-columns:1fr!important}.homework-quick-head,.grades-quick-head{grid-template-columns:1fr 1fr 1fr}.mobile-nav{grid-template-columns:repeat(4,1fr)!important}}
@media(max-width:600px){.simple-feature-bar,.timetable-start{grid-template-columns:1fr 1fr}.simple-feature-link{padding:11px}.simple-feature-link .feature-icon{width:42px;height:42px;flex-basis:42px}.homework-quick-head,.grades-quick-head{grid-template-columns:1fr}.account-dropdown{position:fixed;left:10px;right:auto;top:68px;width:200px}.mobile-nav{grid-template-columns:repeat(4,1fr)!important}.attendance-quick-actions button{flex:1}.parent-actions{flex-direction:column}.parent-actions>*{width:100%}}

/* v0.7.7 — premium login and dashboard */
.login-v077{margin:0;background:#f5f3f7;color:#231a2c;overflow-x:hidden}
.login-v077 .login-stage{min-height:100svh;display:grid;grid-template-columns:minmax(520px,1.08fr) minmax(430px,.92fr)}
.login-brand-panel{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;min-height:100svh;padding:44px clamp(38px,5vw,78px);color:#fff;background:radial-gradient(circle at 18% 12%,rgba(181,126,233,.22),transparent 30%),linear-gradient(145deg,#160a21 0%,#29113a 48%,#3c1b50 100%)}
.login-brand-panel:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(to bottom,#000,transparent 76%)}
.login-brand-panel:after{content:"";position:absolute;z-index:-1;width:480px;height:480px;border:1px solid rgba(234,190,85,.13);border-radius:50%;left:-190px;bottom:-170px;box-shadow:0 0 0 70px rgba(234,190,85,.035),0 0 0 140px rgba(234,190,85,.022)}
.login-brand-glow{position:absolute;z-index:-1;border-radius:50%;filter:blur(1px);pointer-events:none}.login-brand-glow-one{width:260px;height:260px;background:rgba(230,181,74,.08);left:8%;top:20%}.login-brand-glow-two{width:340px;height:340px;background:rgba(126,65,168,.2);right:-160px;bottom:8%}
.login-school-brand{display:flex;align-items:center;gap:15px}.login-school-brand>img,.login-mobile-brand>img{width:72px;height:72px;object-fit:cover;object-position:center 18%;border-radius:20px;background:#fff;box-shadow:0 15px 35px rgba(0,0,0,.18)}.login-school-brand b,.login-school-brand small{display:block}.login-school-brand b{font-size:18px;letter-spacing:.1px}.login-school-brand small{margin-top:5px;color:#e8bd59;font-size:12px}
.login-brand-copy{margin:auto 0;padding:60px 0 38px;max-width:700px}.login-kicker{display:inline-flex;align-items:center;gap:8px;color:#e9bf60;font-weight:800;font-size:13px;letter-spacing:.2px}.login-kicker:before{content:"";width:34px;height:1px;background:#e9bf60}.login-brand-copy h1{font-size:clamp(43px,5.3vw,76px);line-height:1.1;letter-spacing:-1.7px;margin:21px 0 20px;font-weight:900}.login-brand-copy h1 em{font-style:normal;color:#e8bd59}.login-brand-copy p{max-width:600px;margin:0;color:#d5cddd;font-size:17px;line-height:1.9}
.login-feature-row{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;border-top:1px solid rgba(255,255,255,.11);padding-top:24px}.login-feature-row>div{position:relative;padding:16px 15px;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:rgba(255,255,255,.045)}.login-feature-row span,.login-feature-row b,.login-feature-row small{display:block}.login-feature-row span{color:#e7b84d;font-weight:900;font-size:11px;letter-spacing:1px}.login-feature-row b{margin-top:12px;font-size:14px}.login-feature-row small{margin-top:4px;color:#bfb4c8;font-size:11px}.login-brand-footer{display:flex;align-items:center;gap:9px;margin-top:22px;color:#bfb4c8;font-size:11px}.status-dot{width:8px;height:8px;border-radius:50%;background:#58c69a;box-shadow:0 0 0 5px rgba(88,198,154,.1)}
.login-form-panel{min-height:100svh;display:flex;align-items:center;justify-content:center;padding:52px clamp(28px,5vw,76px);background:linear-gradient(135deg,#fff 0%,#fbfafc 60%,#f3eef7 100%)}.login-form-card{width:min(100%,520px)}.login-form-head{display:flex;align-items:flex-start;gap:15px;margin-bottom:29px}.login-secure-mark{width:54px;height:54px;flex:0 0 54px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(145deg,#30163f,#523065);color:#f0ca70;font-size:22px;box-shadow:0 12px 24px rgba(50,23,66,.18)}.login-form-head small{color:#9b6c29;font-weight:900}.login-form-head h2{margin:4px 0 7px;font-size:31px;color:#24142e}.login-form-head p{margin:0;color:#7d7582;line-height:1.7}.login-v077-form label{display:block;margin:18px 2px 8px;color:#352b3b;font-size:13px;font-weight:900}.login-field{height:56px;display:flex;align-items:center;gap:11px;padding:0 15px;border:1px solid #e2dde6;border-radius:16px;background:#fff;box-shadow:0 8px 20px rgba(31,19,38,.025);transition:.18s}.login-field:focus-within{border-color:#8a5aa5;box-shadow:0 0 0 4px rgba(104,59,130,.08),0 10px 25px rgba(31,19,38,.04)}.login-field>span{color:#70428b;font-size:18px}.login-field input{width:100%;height:100%;min-width:0;border:0;outline:0;background:transparent;font-family:inherit;color:#211828;font-size:15px}.password-peek{width:34px;height:34px;border:0;border-radius:10px;background:#f6f2f8;color:#70428b;cursor:pointer}.login-form-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:15px 2px 20px;color:#77707c;font-size:12px}.login-form-meta span{display:flex;align-items:center;gap:7px}.login-form-meta i{width:7px;height:7px;border-radius:50%;background:#4db68b}.login-form-meta a{color:#6b3b84;font-weight:900;text-decoration:none}.login-submit{width:100%;height:57px;border:0;border-radius:16px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;font-family:inherit;font-size:15px;font-weight:900;color:#fff;background:linear-gradient(135deg,#241030,#4e2761);box-shadow:0 15px 30px rgba(48,20,63,.21);cursor:pointer;transition:.18s}.login-submit:hover{transform:translateY(-2px);box-shadow:0 19px 35px rgba(48,20,63,.26)}.login-submit b{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.13);color:#f1cc76}.login-alert{border-radius:15px!important}.parent-entry{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:24px;padding:14px;border:1px solid #e7e1ea;border-radius:18px;background:#fff}.parent-entry>div{display:flex;align-items:center;gap:11px}.parent-entry>div>span{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#f4edf8;color:#63387c;font-size:20px}.parent-entry b,.parent-entry small{display:block}.parent-entry b{font-size:13px}.parent-entry small{margin-top:3px;color:#8c8490;font-size:10px}.parent-entry>a{white-space:nowrap;color:#6a3b83;font-size:12px;font-weight:900;text-decoration:none}.login-help{text-align:center;margin:19px 0 0;color:#9a929d;font-size:11px}.login-mobile-brand{display:none}

.content:has(.dash-pro-hero){max-width:1680px;width:100%;margin:0 auto}
.dash-pro-hero{position:relative;isolation:isolate;overflow:hidden;min-height:270px;margin-bottom:27px;padding:34px 40px;border-radius:30px;display:flex;align-items:center;justify-content:space-between;gap:28px;color:#fff;background:radial-gradient(circle at 12% 15%,rgba(230,181,74,.18),transparent 28%),linear-gradient(125deg,#190b24 0%,#341646 55%,#522968 100%);box-shadow:0 24px 55px rgba(40,19,53,.16)}.dash-pro-hero:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(90deg,#000,transparent 78%)}.dash-pro-hero:after{content:"";position:absolute;z-index:-1;width:330px;height:330px;border-radius:50%;border:1px solid rgba(237,199,103,.15);left:-110px;bottom:-180px;box-shadow:0 0 0 65px rgba(237,199,103,.035),0 0 0 130px rgba(237,199,103,.02)}
.dash-pro-copy{max-width:790px}.dash-pro-hero .dash-eyebrow{background:rgba(234,194,95,.13);border:1px solid rgba(234,194,95,.23);color:#f0ca70;margin-bottom:13px}.dash-pro-copy h1{margin:0;font-size:clamp(29px,3.2vw,46px);line-height:1.25;letter-spacing:-.6px}.dash-pro-copy h1 em{font-style:normal;color:#f0ca70}.dash-pro-copy p{max-width:690px;margin:13px 0 0;color:#d8cfe0;font-size:15px;line-height:1.8}.dash-hero-actions{display:flex;gap:10px;margin-top:23px}.dash-hero-actions a{min-height:43px;padding:0 16px;border-radius:13px;display:inline-flex;align-items:center;text-decoration:none;font-weight:900;font-size:12px}.dash-hero-primary{background:#e9bd57;color:#281532;box-shadow:0 10px 24px rgba(0,0,0,.15)}.dash-hero-secondary{border:1px solid rgba(255,255,255,.16);color:#fff;background:rgba(255,255,255,.06)}
.dash-pro-identity{position:relative;z-index:2;width:210px;flex:0 0 210px;display:flex;flex-direction:column;align-items:center;gap:13px}.dash-logo-window{width:112px;height:112px;border-radius:30px;overflow:hidden;background:#fff;box-shadow:0 18px 38px rgba(0,0,0,.22),0 0 0 7px rgba(255,255,255,.07)}.dash-logo-window img{width:112px;height:112px;object-fit:cover;object-position:center 14%}.dash-pro-hero .dash-date{width:100%;min-width:0;border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.075);color:#fff}.dash-pro-hero .dash-date b{color:#fff}.dash-pro-hero .dash-date small{color:#d8cfe0}
.dash-section-title>div{position:relative;padding-right:47px}.section-index{position:absolute;right:0;top:2px;width:35px;height:35px;border-radius:11px;display:grid;place-items:center;background:#2c1539;color:#eac25f;font-size:10px;font-weight:900}.dash-section-title h2{font-size:22px}.dash-section-title p{font-size:12px}.dash-section-title>a{padding:9px 12px;border-radius:11px;background:#f2ebf6;color:#5d3474}
.dash-shortcut-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.dash-shortcut-card{min-height:187px;align-items:flex-start;text-align:right;padding:18px;border-radius:23px;border-color:#ece8ef;box-shadow:0 10px 28px rgba(38,22,48,.055)}.dash-shortcut-card:before{content:"";position:absolute;left:15px;top:15px;width:8px;height:8px;border-radius:50%;background:#e7bd5d;box-shadow:0 0 0 5px #fbf5e7}.dash-shortcut-card:hover{transform:translateY(-4px);border-color:#d9c9e1;box-shadow:0 19px 38px rgba(48,27,62,.11)}.dash-shortcut-icon{width:58px;height:58px;margin-bottom:15px;border-radius:18px;background:linear-gradient(145deg,#281333,#503064)!important;color:#efca72!important;box-shadow:0 11px 24px rgba(49,24,63,.18)!important}.dash-shortcut-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.dash-shortcut-card b{font-size:15px;color:#2a2130}.dash-shortcut-card small{font-size:11px}.dash-shortcut-card em{width:100%;display:flex;justify-content:space-between;align-items:center;color:#70438a;border-top:1px solid #f0edf2;margin-top:auto;padding-top:10px}.dash-shortcut-card em i{font-style:normal;color:#c0912e}
.dash-mini-stats{gap:14px}.dash-mini-stat{min-height:122px;border-radius:21px;border-color:#ebe8ee;box-shadow:0 9px 26px rgba(36,26,43,.045);transition:.18s}.dash-mini-stat:hover{transform:translateY(-2px);border-color:#d9ccdf}.dash-mini-stat>span{background:linear-gradient(145deg,#2b1537,#513064);color:#edc96f}.dash-mini-stat b{color:#261d2d}.dash-admin-bottom{margin-top:17px}.dash-search-card,.dash-today-card{border-radius:22px;border-color:#ebe7ef;box-shadow:0 10px 28px rgba(37,24,45,.045)}

@media(max-width:1100px){.login-v077 .login-stage{grid-template-columns:1fr 1fr}.login-brand-panel{padding:38px}.login-brand-copy h1{font-size:47px}.login-feature-row{grid-template-columns:1fr}.login-feature-row>div{display:grid;grid-template-columns:auto 1fr;column-gap:9px}.login-feature-row b{margin-top:0}.login-feature-row small{grid-column:2}.dash-shortcut-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:820px){.login-v077 .login-stage{display:block}.login-brand-panel{display:none}.login-form-panel{min-height:100svh;padding:28px 20px}.login-mobile-brand{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:30px;text-align:right}.login-mobile-brand>img{width:66px;height:66px;border:1px solid #eee7f1;box-shadow:0 10px 25px rgba(46,25,58,.09)}.login-mobile-brand b,.login-mobile-brand small{display:block}.login-mobile-brand b{font-size:15px;color:#281532}.login-mobile-brand small{margin-top:4px;color:#a4782f;font-size:11px}.dash-pro-hero{padding:28px}.dash-pro-identity{width:160px;flex-basis:160px}.dash-shortcut-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.login-form-panel{align-items:flex-start;padding:22px 15px 32px}.login-form-card{padding:0}.login-form-head h2{font-size:26px}.login-secure-mark{width:48px;height:48px;flex-basis:48px}.parent-entry{align-items:flex-start;flex-direction:column}.parent-entry>a{width:100%;padding:10px;border-radius:11px;text-align:center;background:#f3edf7}.dash-pro-hero{min-height:0;padding:23px 20px;border-radius:24px;display:block}.dash-pro-copy h1{font-size:29px}.dash-pro-copy p{font-size:13px}.dash-pro-identity{width:100%;margin-top:23px;display:grid;grid-template-columns:auto 1fr}.dash-logo-window{width:72px;height:72px;border-radius:21px}.dash-logo-window img{width:72px;height:72px}.dash-pro-hero .dash-date{height:72px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:10px 14px}.dash-hero-actions a{flex:1;justify-content:center}.dash-shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dash-shortcut-card{min-height:172px;padding:14px}.dash-shortcut-icon{width:52px;height:52px;border-radius:16px}.dash-section-title>div{padding-right:43px}.dash-section-title h2{font-size:19px}.dash-section-title p{font-size:11px}.dash-section-title>a{font-size:11px}}
@media(max-width:380px){.login-form-head{display:block}.login-secure-mark{margin-bottom:12px}.login-form-meta{align-items:flex-start;flex-direction:column}.dash-hero-actions{flex-direction:column}.dash-shortcut-card small{display:block}.dash-shortcut-card{min-height:168px}}

/* v1.0.0 — school identity and operational readiness */
.school-identity-card{grid-column:1/-1}.school-identity-form{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:8px}.school-identity-form label>span{display:block;margin-bottom:6px;color:#43334d;font-weight:800}.school-identity-form label>span small{color:#8993a0;font-weight:400}.school-identity-form input{width:100%;min-height:48px;padding:10px 12px;border:1px solid #e2e5ec;border-radius:13px;background:#fff;color:#252c38;font-family:inherit}.school-identity-form input:focus{outline:0;border-color:#79538e;box-shadow:0 0 0 4px rgba(86,49,105,.08)}.school-identity-form .full,.school-identity-actions{grid-column:1/-1}.color-setting{height:48px;display:flex;align-items:center;gap:10px;padding:5px 10px;border:1px solid #e2e5ec;border-radius:13px}.color-setting input{width:50px;min-height:36px;height:36px;padding:0;border:0;background:transparent}.color-setting small{color:#7e8996}.school-identity-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:4px}.school-identity-actions small{color:#7f8996}.school-identity-actions .primary-btn{min-width:190px}
.dash-readiness-section{margin:24px 0 17px}.dash-readiness-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.dash-readiness-card{min-height:125px;padding:15px;border:1px solid #e9e6ed;border-radius:19px;background:#fff;text-decoration:none;display:flex;align-items:flex-start;gap:11px;box-shadow:0 8px 23px rgba(38,23,47,.045)}.dash-readiness-card>span{width:43px;height:43px;flex:0 0 43px;display:grid;place-items:center;border-radius:14px;background:#f3edf7;color:#68417d;font-size:20px}.dash-readiness-card b,.dash-readiness-card strong,.dash-readiness-card small{display:block}.dash-readiness-card b{font-size:20px;color:#2b2031}.dash-readiness-card strong{margin-top:3px;color:#3d3542;font-size:12px}.dash-readiness-card small{margin-top:5px;color:#87909b;font-size:10px;line-height:1.5}.dash-readiness-card.ready{border-color:#dceee7}.dash-readiness-card.ready>span{background:#eaf8f2;color:#167658}.dash-readiness-card.needs-action{border-color:#f0dfbd;background:#fffdf8}.dash-readiness-card.needs-action>span{background:#fff2d9;color:#9a6817}
:root{--alq-brand-primary:#321541;--alq-brand-accent:#e1aa45}.primary-btn{background:linear-gradient(135deg,var(--alq-brand-primary),#74518a)!important}.sidebar{background:linear-gradient(180deg,var(--alq-brand-primary),#26102f 100%)!important}.sidebar nav a.active{box-shadow:inset -3px 0 0 var(--alq-brand-accent)!important}.top-brand small{color:var(--alq-brand-accent)!important}
@media(max-width:1100px){.dash-readiness-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.school-identity-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.school-identity-form{grid-template-columns:1fr}.school-identity-form .full,.school-identity-actions{grid-column:auto}.school-identity-actions{align-items:stretch;flex-direction:column}.school-identity-actions .primary-btn{width:100%}.dash-readiness-grid{grid-template-columns:1fr 1fr}.dash-readiness-card{min-height:112px;padding:12px;gap:8px}.dash-readiness-card>span{width:38px;height:38px;flex-basis:38px}.dash-readiness-card b{font-size:17px}.dash-readiness-card strong{font-size:11px}}
@media(max-width:390px){.dash-readiness-grid{grid-template-columns:1fr}}
.contact-request-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.contact-request-filters a{display:flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid #e6e2e9;border-radius:12px;background:#fff;color:#5b4a64;text-decoration:none;font-weight:800}.contact-request-filters a b{min-width:25px;height:25px;padding:0 7px;border-radius:999px;display:grid;place-items:center;background:#f2ecf5;color:#664078;font-size:11px}.contact-request-filters a.active{border-color:var(--alq-brand-primary);background:var(--alq-brand-primary);color:#fff}.contact-request-filters a.active b{background:rgba(255,255,255,.14);color:#fff}

/* v1.1.0 — commercial support and delivery readiness */
.support-card a+a{margin-top:7px}.dash-readiness-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dash-operational-alert{display:flex;align-items:center;gap:12px;margin:-8px 0 22px;padding:13px 15px;border:1px solid #efdbad;border-radius:16px;background:#fff9e8;color:#6d4c12}.dash-operational-alert>span{width:37px;height:37px;display:grid;place-items:center;border-radius:12px;background:#e5b552;color:#3e2910;font-size:21px;font-weight:900}.dash-operational-alert>div{flex:1}.dash-operational-alert b,.dash-operational-alert small{display:block}.dash-operational-alert small{margin-top:3px;color:#846c3d}.dash-operational-alert a{padding:9px 12px;border-radius:10px;background:#3b1b4d;color:#fff;text-decoration:none;font-size:11px;font-weight:900}
.support-page-head{align-items:center}.support-head-actions{display:flex;gap:8px;flex-wrap:wrap}.support-warning{margin-bottom:16px;padding:14px 16px;border:1px solid #efd7a3;border-radius:15px;background:#fff8e5;color:#795313}.support-readiness-hero{min-height:215px;display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:16px;padding:28px 34px;border-radius:26px;color:#fff;background:radial-gradient(circle at 13% 18%,rgba(231,187,91,.2),transparent 28%),linear-gradient(125deg,#1c0d27,#432054 70%,#572d68);box-shadow:0 20px 45px rgba(44,22,55,.16)}.support-readiness-hero span{color:#e8c36d;font-weight:900}.support-readiness-hero h2{margin:5px 0;font-size:50px}.support-readiness-hero p{margin:0;color:#dbd0e0}.support-progress-ring{--progress:0;width:138px;height:138px;flex:0 0 138px;position:relative;border-radius:50%;display:grid;place-items:center;text-align:center;background:conic-gradient(#e8bd5e 0 calc(var(--progress)*1%),rgba(255,255,255,.12) calc(var(--progress)*1%) 100%)}.support-progress-ring:after{content:"";position:absolute;inset:12px;border-radius:50%;background:#341842}.support-progress-ring b,.support-progress-ring small{position:relative;z-index:1;display:block}.support-progress-ring b{font-size:28px}.support-progress-ring small{margin-top:-35px;color:#d8cbdc;font-size:10px}
.support-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:16px}.support-kpi{min-height:125px;padding:17px;border:1px solid #e9e5eb;border-radius:19px;background:#fff;box-shadow:0 8px 22px rgba(42,27,50,.04)}.support-kpi span,.support-kpi b,.support-kpi small{display:block}.support-kpi span{color:#7d7182;font-size:11px;font-weight:800}.support-kpi b{margin:9px 0 5px;color:#302438;font-size:21px}.support-kpi small{color:#8b929b;font-size:10px;line-height:1.5}.support-kpi.ok{border-top:4px solid #3aa47b}.support-kpi.bad{border-top:4px solid #d39b38;background:#fffdf8}
.support-checklist-card,.support-license-card,.support-system-card,.support-backups-card{padding:21px;margin-bottom:16px}.support-section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.support-section-head span{color:#9a7125;font-size:11px;font-weight:900}.support-section-head h2{margin:3px 0;color:#2e2135}.support-section-head p{margin:5px 0 0;color:#7f8791}.support-section-head>b{padding:8px 11px;border-radius:999px;background:#f1eaf5;color:#633b78}.support-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.support-checklist>a{display:flex;align-items:center;gap:10px;padding:13px;border:1px solid #ebe7ed;border-radius:14px;text-decoration:none;background:#fff}.support-checklist>a i{width:35px;height:35px;flex:0 0 35px;border-radius:11px;display:grid;place-items:center;font-style:normal;font-weight:900}.support-checklist>a span{flex:1}.support-checklist>a b,.support-checklist>a small{display:block}.support-checklist>a small{margin-top:3px;color:#858d97;font-size:10px}.support-checklist>a em{font-style:normal;font-size:10px;font-weight:900}.support-checklist>a.passed i{background:#e8f7f0;color:#187255}.support-checklist>a.passed em{color:#28775e}.support-checklist>a.pending{border-color:#efdfbd;background:#fffdf8}.support-checklist>a.pending i{background:#fff0d4;color:#946315}.support-checklist>a.pending em{color:#946315}
.support-two-column{display:grid;grid-template-columns:1fr 1fr;gap:16px}.support-state{font-size:11px}.support-state.ok,.support-system-list .ok{background:#e8f7f0!important;color:#176f53!important}.support-state.bad,.support-system-list .bad{background:#fff0e8!important;color:#a34f22!important}.support-license-card dl{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 0 14px}.support-license-card dl>div{padding:12px;border:1px solid #ebe8ee;border-radius:13px}.support-license-card dt{color:#7f8791;font-size:10px}.support-license-card dd{margin:6px 0 0;color:#34263b;font-weight:900}.support-system-list{display:grid;gap:8px}.support-system-list>div{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;border-radius:12px;background:#faf9fb}.support-system-list b{padding:5px 8px;border-radius:999px;font-size:10px}.support-extension-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.support-extension-list span{padding:7px 9px;border-radius:9px;background:#f4f0f6;color:#674478;font-size:10px;font-weight:900}.support-extension-list span.ok{background:#e9f7f1;color:#1a7457}.support-extension-list span.bad{background:#fff0ed;color:#a14332}
.support-backups-card .support-section-head{align-items:flex-end}.support-backup-list{border-top:1px solid #eeeaf0}.support-backup-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 4px;border-bottom:1px solid #eeeaf0}.support-backup-list b,.support-backup-list small{display:block}.support-backup-list small{margin-top:4px;color:#858e98;font-size:10px}
@media(max-width:1000px){.support-kpi-grid{grid-template-columns:1fr 1fr}.support-two-column{grid-template-columns:1fr}.dash-readiness-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.support-page-head,.support-section-head{align-items:stretch}.support-head-actions{display:grid;grid-template-columns:1fr 1fr}.support-readiness-hero{padding:22px;flex-direction:column;align-items:flex-start}.support-progress-ring{width:112px;height:112px;flex-basis:112px;align-self:center}.support-kpi-grid,.support-checklist,.support-license-card dl{grid-template-columns:1fr}.support-backups-card .support-section-head{align-items:stretch;flex-direction:column}.support-backups-card .primary-btn{width:100%}.dash-operational-alert{align-items:flex-start;flex-wrap:wrap}.dash-operational-alert a{width:100%;text-align:center}}
@media(max-width:420px){.support-head-actions,.dash-readiness-grid{grid-template-columns:1fr}.support-kpi-grid{grid-template-columns:1fr}.support-checklist>a em{display:none}}


/* ==================================================================
   v2.0 — Unified Premium Brand Pass (Purple & Gold, system-wide)
   ------------------------------------------------------------------
   Earlier passes (see the version comments above) moved the sidebar,
   primary buttons, hero banner and settings/accounts screens onto a
   purple-and-gold identity, but left several spots on the original
   teal palette from before that identity existed — the school name
   in the header, form focus rings, the scheduler/calendar accents,
   selection states and the default KPI icon colour. This section
   finishes that pass consistently everywhere, and adds the same
   Arabic display font (AlqGulf) already used on the public/login
   pages so the whole system shares one typographic voice. Nothing
   above this line is removed or restructured — this only recolors
   and polishes on top of the existing, working layout rules.
   ================================================================== */

@font-face{font-family:AlqGulf;src:url('fonts/gulf-regular.ttf') format('truetype');font-display:swap;font-weight:400}
@font-face{font-family:AlqGulf;src:url('fonts/gulf-bold.ttf') format('truetype');font-display:swap;font-weight:700 900}
html,body,button,input,select,textarea{font-family:AlqGulf,Tahoma,Arial,sans-serif!important}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

/* Keep the old variable names (dozens of rules above reference them)
   but point them at the brand palette instead of the original teal. */
:root{
  --teal:#4d2a73;
  --teal2:#7c4fa8;
  --teal3:#f3edfb;
  --gold:#e1aa45;
  --ink:#241730;
  --muted:#756b82;
  --line:#eae3f2;
  --bg:#f8f6fb;
  --shadow:0 12px 35px rgba(50,21,65,.10);
  --brand-1:#321541;
  --brand-2:#4d2a73;
  --brand-3:#7c4fa8;
  --brand-soft:#f3edfb;
  --brand-line:#e6d9f1;
  --brand-gold:#e1aa45;
  --brand-gold-2:#c9922f;
}
::selection{background:rgba(77,42,115,.18);color:#241730}
:focus-visible{outline:2px solid #8a5aa5;outline-offset:2px}

/* Header identity — the school name kept a stray teal from before the
   brand pass; align it with the purple used everywhere else in the topbar. */
.top-brand span{color:var(--brand-2)!important}

/* Default KPI icon tint (orange/purple/blue variants already matched
   the brand; the plain/default icon was still teal). */
.kpi .icon,.quick span{background:var(--brand-soft)!important;color:var(--brand-2)!important;border-color:var(--brand-line)!important}

/* Hero banner illustration accents */
.school-art span:nth-child(2){background:linear-gradient(180deg,#e6b54a,#b8862a)!important}
.school-art:after{background:radial-gradient(circle,rgba(77,42,115,.20) 0%,rgba(77,42,115,0) 65%)!important}

/* Brand-wide focus rings (forms, search, filters) */
.filters select:focus,.filters input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,
.quick-teacher-grid input:focus,.quick-teacher-grid select:focus,.teacher-lesson-form select:focus,
.account-field input:focus,.account-field select:focus,.advanced-user-form input:focus,.advanced-user-form select:focus,
.settings-inline-form input:focus,.school-identity-form input:focus,
.search-box:focus-within,.top-search:focus-within{
  border-color:#8a5aa5!important;
  box-shadow:0 0 0 3px rgba(77,42,115,.12)!important;
}

/* Selection / active states a previous pass did not reach */
.permission-groups h4{color:var(--brand-2)!important}
.subject-pill-grid input:checked+span,.permission-profile-row input:checked+span,.due-mode-cards input:checked+span{
  background:var(--brand-soft)!important;border-color:#b78fd6!important;color:var(--brand-2)!important;box-shadow:0 0 0 3px rgba(77,42,115,.10)!important
}
.student-pick.selected{border-color:#8a5aa5!important;box-shadow:0 0 0 3px rgba(77,42,115,.12)!important}
.shortcut-card.active{border-color:#8a5aa5!important;background:linear-gradient(135deg,#f7f2fc,#fdfbff)!important}
.teacher-simple-tip{background:#f7f2fc!important;border-color:var(--brand-line)!important}
.teacher-simple-tip b{color:var(--brand-2)!important}
.custom-permissions summary{color:var(--brand-2)!important}

/* Scheduler / calendar accents (teacher timetable + availability grid) */
.week-nav a{color:var(--brand-2)!important;border-color:var(--brand-line)!important}
.week-nav b{color:#3c2350!important}
.scheduler-legend .dot.free{background:#eee3f7!important;border:1px solid #c9a8dd!important}
.scheduler-legend .dot.selected{background:var(--brand-2)!important}
.calendar-table thead th.today{background:var(--brand-soft)!important;color:var(--brand-2)!important;box-shadow:inset 0 0 0 1px #d9c2ec!important}
.scheduler-slot.free b{color:var(--brand-3)!important}
.scheduler-slot.slot-focus{outline-color:rgba(77,42,115,.22)!important}
@keyframes calendarPulse{50%{box-shadow:0 0 0 5px rgba(77,42,115,.18),var(--shadow)}}
.calendar-admin-entry,.period-events>a,.calendar-mobile-slot.booked{background:#f6f0fb!important;border-color:#e2cdef!important}
.calendar-admin-entry:hover{border-color:#c9a8dd!important;background:#f0e4f7!important}
.calendar-admin-entry b,.period-events>a b{color:var(--brand-2)!important}
.calendar-add-slot{color:#8a5aa5!important}
.calendar-add-slot:hover{background:var(--brand-soft)!important;border-color:#c9a8dd!important}
.calendar-day-card>header>span{background:#eee0f7!important;color:var(--brand-2)!important}
.calendar-day-card.today>header{background:#f6f0fb!important}
.period-events>a small,.period-label small,.calendar-mobile-slot small{color:#8b7f96!important}

/* Extra badge colour options (existing warn/danger/blue kept as-is;
   these give a brand-purple / gold choice where that reads better
   than the default green "active/ok" tone). */
.badge.purple{background:var(--brand-soft);color:var(--brand-2)}
.badge.gold{background:#fbf1de;color:#9a6817}

/* Micro-interactions: gentle, consistent motion on the things people
   click, without touching any layout rule above. */
.card,.panel,.table-card,.quick,.shortcut-card,.dash-shortcut-card,.dash-mini-stat,
.account-create-card,.settings-mini-card,.timetable-start a,.simple-feature-link{
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.primary-btn,.secondary-btn,.ghost-btn,.danger-btn,.mini-btn{
  transition:transform .14s ease,box-shadow .14s ease,filter .14s ease;
}
.primary-btn:hover{transform:translateY(-1px);filter:brightness(1.04)}
.primary-btn:active,.secondary-btn:active,.ghost-btn:active{transform:translateY(0)}
.data-table tbody tr{transition:background-color .12s ease}
a{transition:color .14s ease}

/* Refined scrollbar for the main content area (sidebar already has
   its own gold-tinted scrollbar from an earlier pass). */
.content::-webkit-scrollbar,.table-wrap::-webkit-scrollbar{height:9px;width:9px}
.content::-webkit-scrollbar-thumb,.table-wrap::-webkit-scrollbar-thumb{background:#d8c4e8;border-radius:99px}
.content::-webkit-scrollbar-thumb:hover,.table-wrap::-webkit-scrollbar-thumb:hover{background:#b78fd6}

/* Gentle entrance for freshly-loaded page content */
@media(prefers-reduced-motion:no-preference){
  .content>.page-head,.content>.hero-banner,.content>.dash-pro-hero,.content>.kpi-grid,.content>.card,.content>.toolbar{
    animation:alqContentIn .35s ease both;
  }
  @keyframes alqContentIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
}

/* ==================================================================
   v3.0 — طبقة العمق الاحترافي: نوافذ منبثقة، أشكال زخرفية، لمسات نهائية
   ------------------------------------------------------------------
   هذا القسم يضيف عناصر جديدة لم تكن موجودة من قبل (وليست مجرد إعادة
   تلوين): نظام نوافذ منبثقة (Modal) موحّد يستبدل نوافذ confirm()
   الرمادية الافتراضية للمتصفح، شريط علوي متدرج على كل بطاقة في
   المنظومة (يظهر في كل صفحة تقريبًا)، أشكال زخرفية (فقاعات/حلقات)
   متحركة بهدوء خلف بانر الرئيسية، وتحسينات على الأزرار والجداول
   والقائمة الجانبية لإحساس أكثر فخامة عند أول نظرة.
   ================================================================== */

/* --- شريط علوي متدرج على كل بطاقة (يظهر في كل الشاشات فورًا) --- */
.card,.panel,.table-card,.kpi,.form-card,.quick,.dash-shortcut-card{position:relative}
.card:before,.panel:before,.table-card:before,.kpi:before,.form-card:before{
  content:"";position:absolute;right:0;left:0;top:0;height:3px;border-radius:var(--radius) var(--radius) 0 0;
  background:linear-gradient(90deg,var(--brand-2) 0%,var(--brand-3) 45%,var(--brand-gold) 100%);
  opacity:.9;pointer-events:none;
}
.card:hover,.panel:hover,.table-card:hover{box-shadow:0 18px 40px rgba(50,21,65,.13);transform:translateY(-1px)}
.kpi:hover{box-shadow:0 16px 34px rgba(50,21,65,.14);transform:translateY(-2px)}

/* --- أزرار أكثر احترافية: لمعة تمر عند المرور --- */
.primary-btn{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--brand-2),var(--brand-3))!important;box-shadow:0 10px 26px rgba(50,21,65,.24)!important}
.primary-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.35) 48%,transparent 62%);transform:translateX(-120%);transition:transform .55s ease}
.primary-btn:hover:before{transform:translateX(120%)}
.secondary-btn{background:var(--brand-soft)!important;color:var(--brand-2)!important}
.danger-btn{background:#fdecec!important;color:#b3273e!important}

/* --- رأس جدول متدرج بدل اللون الرمادي المسطح --- */
.data-table th{background:linear-gradient(180deg,#f8f3fc,#f3ecfa)!important;color:var(--brand-2)!important;font-weight:800!important}

/* --- شريط جانبي: توهج ذهبي خفيف حول الشعار --- */
.brand-logo-small,.brand-mark{position:relative}
.brand{position:relative}
.sidebar{background:linear-gradient(180deg,#2c1440 0%,#3f2060 48%,#2c1440 100%)!important}
.sidebar nav a.active{background:linear-gradient(90deg,rgba(225,170,69,.22),rgba(255,255,255,.07))!important;box-shadow:inset -3px 0 0 var(--brand-gold)!important;color:#ffe9b8!important}
.sidebar nav a:hover{background:rgba(255,255,255,.08)!important}
.support-card a{border-color:var(--brand-gold)!important;color:#ffe9b8!important}
.secure-card>span{color:var(--brand-gold)!important}

/* --- أشكال زخرفية متحركة خلف بانر الرئيسية (dash-pro-hero) --- */
.dash-pro-hero{position:relative}
.hero-blob{position:absolute;z-index:-1;border-radius:50%;filter:blur(2px);pointer-events:none;opacity:.55}
.hero-blob-1{width:230px;height:230px;right:-70px;top:-90px;background:radial-gradient(circle,rgba(225,170,69,.35),transparent 70%);animation:alqFloat1 9s ease-in-out infinite}
.hero-blob-2{width:170px;height:170px;left:8%;bottom:-95px;background:radial-gradient(circle,rgba(124,79,168,.45),transparent 70%);animation:alqFloat2 11s ease-in-out infinite}
.hero-blob-3{width:110px;height:110px;left:38%;top:-55px;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 70%);animation:alqFloat1 7s ease-in-out infinite}
@media(prefers-reduced-motion:no-preference){
  @keyframes alqFloat1{0%,100%{transform:translate(0,0)}50%{transform:translate(-14px,16px)}}
  @keyframes alqFloat2{0%,100%{transform:translate(0,0)}50%{transform:translate(12px,-14px)}}
}
@media(prefers-reduced-motion:reduce){.hero-blob{animation:none!important}}
@media(max-width:600px){.hero-blob{display:none}}

/* --- أشكال زخرفية على واجهة الدخول العامة --- */
.alq-hero:before{animation:alqDrift 16s ease-in-out infinite alternate}
@media(prefers-reduced-motion:no-preference){@keyframes alqDrift{from{transform:translate(0,0) scale(1)}to{transform:translate(-18px,10px) scale(1.05)}}}
.alq-login-card{position:relative}
.alq-login-card:before{content:"";position:absolute;inset:-1px;z-index:-1;border-radius:inherit;background:linear-gradient(135deg,var(--alq-gold,#e1aa45),transparent 30%,transparent 70%,var(--alq-purple,#321541));opacity:.55}

/* ==================================================================
   نظام النوافذ المنبثقة الموحّد (Modal) — يستخدم في تأكيد العمليات
   الحساسة بدل نافذة confirm() الرمادية الافتراضية، ويمكن استخدامه
   لأي محتوى منبثق آخر عبر السمة data-confirm / data-confirm-form.
   ================================================================== */
.alq-ui-overlay{position:fixed;inset:0;z-index:999;display:flex;align-items:center;justify-content:center;padding:20px;
  background:rgba(30,14,44,.45);backdrop-filter:blur(3px);opacity:0;transition:opacity .18s ease;}
.alq-ui-overlay.show{opacity:1}
.alq-ui-modal{width:min(420px,100%);background:#fff;border-radius:22px;padding:26px 26px 22px;text-align:center;
  box-shadow:0 30px 70px rgba(30,14,44,.35);transform:translateY(14px) scale(.96);transition:transform .2s ease;position:relative;overflow:hidden}
.alq-ui-overlay.show .alq-ui-modal{transform:translateY(0) scale(1)}
.alq-ui-modal:before{content:"";position:absolute;right:0;left:0;top:0;height:5px;background:linear-gradient(90deg,var(--brand-2),var(--brand-3),var(--brand-gold))}
.alq-ui-modal-icon{width:56px;height:56px;margin:4px auto 14px;border-radius:50%;display:grid;place-items:center;font-size:26px;background:var(--brand-soft);color:var(--brand-2)}
.alq-ui-modal.is-danger .alq-ui-modal-icon{background:#fdecec;color:#b3273e}
.alq-ui-modal-msg{margin:0 0 22px;color:#3c2a4a;font-size:14.5px;line-height:1.9}
.alq-ui-modal-actions{display:flex;gap:10px}
.alq-ui-modal-actions button{flex:1;min-height:46px;border-radius:13px;border:0;font-family:inherit;font-weight:800;cursor:pointer;font-size:13.5px}
.alq-ui-modal-cancel{background:#f2edf7;color:#4a3a56}
.alq-ui-modal-ok{background:linear-gradient(135deg,var(--brand-2),var(--brand-3));color:#fff;box-shadow:0 10px 22px rgba(50,21,65,.25)}
.alq-ui-modal.is-danger .alq-ui-modal-ok{background:linear-gradient(135deg,#b3273e,#d84a5f)}
html.alq-modal-open{overflow:hidden}
.alq-page-modal-overlay{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:22px;background:rgba(24,10,34,.66);backdrop-filter:blur(12px);opacity:0;visibility:hidden;transition:.2s ease}.alq-page-modal-overlay.show{opacity:1;visibility:visible}.alq-page-modal-frame{position:relative;width:min(940px,100%);max-height:calc(100vh - 44px);overflow:auto;border:1px solid rgba(255,255,255,.42);border-radius:28px;box-shadow:0 32px 90px rgba(18,6,28,.38);transform:translateY(22px) scale(.98);transition:.22s ease;background:rgba(255,255,255,.88)}.alq-page-modal-overlay.show .alq-page-modal-frame{transform:none}.alq-page-modal-card{width:100%!important;margin:0!important;border:0!important;border-radius:28px!important;box-shadow:none!important;background:rgba(255,255,255,.94)!important}.alq-page-modal-x{position:sticky;float:left;top:14px;margin:14px 14px -54px 0;z-index:5;width:40px;height:40px;border:1px solid #e5d9ec;border-radius:13px;background:#f5eff9;color:#4d2a73;font:700 25px/1 Tahoma;cursor:pointer}.alq-page-modal-card>.panel-title{padding-left:58px}.alq-page-modal-card:before{height:6px!important;border-radius:28px 28px 0 0}.alq-page-modal-frame::-webkit-scrollbar{width:8px}.alq-page-modal-frame::-webkit-scrollbar-thumb{background:#b79ac5;border-radius:99px}@media(max-width:650px){.alq-page-modal-overlay{padding:0;align-items:end}.alq-page-modal-frame{max-height:94vh;border-radius:25px 25px 0 0}.alq-page-modal-card{border-radius:25px 25px 0 0!important}.alq-page-modal-card .panel-title{padding-top:20px}.alq-page-modal-x{top:9px;margin-top:9px}}

/* --- نافذة "عرض سريع" عامة (تفاصيل صف بدون مغادرة الصفحة) --- */
.alq-ui-modal.alq-ui-modal-wide{width:min(560px,100%);text-align:right}
.alq-quick-view{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--brand-line)}
.alq-quick-view-avatar{width:56px;height:56px;border-radius:16px;flex:0 0 auto;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-2);font-weight:900;font-size:20px;overflow:hidden}
.alq-quick-view-avatar img{width:100%;height:100%;object-fit:cover}
.alq-quick-view h3{margin:0 0 4px;font-size:17px;color:#241730}
.alq-quick-view small{color:var(--muted)}
.alq-quick-view-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.alq-quick-view-grid>div{background:var(--brand-soft);border-radius:12px;padding:11px 13px}
.alq-quick-view-grid span{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}
.alq-quick-view-grid b{display:block;color:#241730;font-size:13.5px}
.alq-ui-modal-close{position:absolute;left:14px;top:14px;width:30px;height:30px;border-radius:50%;border:0;background:#f2edf7;color:#4a3a56;font-size:16px;cursor:pointer;line-height:1}
@media(max-width:520px){.alq-quick-view-grid{grid-template-columns:1fr}}

@media print{
  .card,.panel,.table-card{box-shadow:none!important;border:1px solid #ddd!important;background:#fff!important}
  .hero-banner,.dash-pro-hero,.support-readiness-hero{background:#fff!important;color:#241730!important;border:1px solid #e6d9f1!important}
}
