:root{
  color-scheme:light;
  --bg:#edf4ff;
  --bg2:#fff7ed;
  --panel:#ffffffeb;
  --panel-solid:#fff;
  --ink:#0f172a;
  --muted:#64748b;
  --brand:#2563eb;
  --brand-strong:#1d4ed8;
  --brand2:#06b6d4;
  --accent:#f97316;
  --accent2:#8b5cf6;
  --danger:#dc2626;
  --ok:#16a34a;
  --line:#dbe4f0;
  --sidebar:#07111f;
  --sidebar2:#172554;
  --sideText:#eaf2ff;
  --shadow:0 24px 70px #0f172a18;
  --soft-shadow:0 12px 34px #1d4ed81f;
  --radius:26px;
}
html[data-theme="dark"]{
  color-scheme:dark;
  --bg:#06101f;
  --bg2:#111827;
  --panel:#0f1d31e8;
  --panel-solid:#111c2e;
  --ink:#e5eefc;
  --muted:#9aa9bd;
  --brand:#60a5fa;
  --brand-strong:#93c5fd;
  --brand2:#22d3ee;
  --accent:#fb923c;
  --accent2:#a78bfa;
  --danger:#fb7185;
  --ok:#4ade80;
  --line:#26364d;
  --sidebar:#020617;
  --sidebar2:#0b1630;
  --sideText:#e5eefc;
  --shadow:0 24px 70px #0009;
  --soft-shadow:0 14px 36px #0006;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at 8% 8%,#60a5fa52 0 18rem,transparent 35rem),
    radial-gradient(circle at 95% 2%,#f9731652 0 14rem,transparent 30rem),
    radial-gradient(circle at 72% 92%,#8b5cf640 0 16rem,transparent 30rem),
    linear-gradient(135deg,var(--bg),var(--bg2));
}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:none;color:var(--brand-strong)}
button,input,select,textarea{font:inherit}
.sidebar{
  position:fixed;
  inset:0 auto 0 0;
  width:292px;
  z-index:30;
  padding:22px;
  color:var(--sideText);
  background:
    radial-gradient(circle at 20% 10%,#38bdf84a,transparent 34%),
    radial-gradient(circle at 95% 55%,#f9731640,transparent 33%),
    linear-gradient(180deg,var(--sidebar),var(--sidebar2));
  box-shadow:16px 0 42px #0f172a35;
  transition:width .22s ease,transform .22s ease;
}
.brand{display:flex;gap:10px;align-items:center;margin-bottom:24px}
.brand-link{display:flex;align-items:center;gap:12px;min-width:0;color:inherit;border-radius:20px;padding:6px 8px 6px 2px;transition:background .18s ease,transform .18s ease}
.brand-link:hover{color:#fff;background:#ffffff14;transform:translateY(-1px)}
.logo{flex:0 0 auto;width:48px;height:48px;border-radius:18px;background:linear-gradient(135deg,#2563eb,#06b6d4 52%,#f97316);display:inline-grid;place-items:center;color:#fff;font-weight:950;box-shadow:0 14px 34px #38bdf855;letter-spacing:-.04em}
.logo.big{width:76px;height:76px;font-size:36px;margin:auto;border-radius:26px}
.brand small{display:block;color:#b8c7dd;margin-top:2px;font-size:.78rem}.brand strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-text{min-width:0}.sidebar nav{display:grid;gap:8px}.sidebar nav a{display:flex;align-items:center;gap:12px;color:#dbeafe;padding:12px 13px;border-radius:16px;font-weight:780;transition:background .15s ease,transform .15s ease,color .15s ease}.sidebar nav a:hover{background:#ffffff1a;transform:translateX(3px);color:#fff}.sidebar nav svg{width:21px;height:21px;fill:currentColor;opacity:.95;flex:0 0 auto}.sidebar-close{display:none;margin-left:auto}.main{margin-left:292px;min-height:100vh;padding:30px;transition:margin-left .22s ease}.main.public{margin-left:0;padding:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px;padding:18px 20px;background:linear-gradient(135deg,#ffffffd9,#eff6ffd9);border:1px solid #ffffffa8;border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(18px)}html[data-theme="dark"] .topbar{background:linear-gradient(135deg,#0f1d31de,#111827de);border-color:#ffffff12}.topbar h1{margin:0;font-size:clamp(1.45rem,3vw,2.15rem);letter-spacing:-.04em}.topbar p{margin:4px 0 0;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.icon-button,.theme-toggle,.ghost,button,.primary,.danger{border:0;border-radius:999px;padding:10px 15px;font-weight:800;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.icon-button{width:42px;height:42px;padding:0;background:var(--panel-solid);color:var(--ink);box-shadow:0 10px 24px #0f172a12}.theme-toggle,.ghost{background:color-mix(in srgb,var(--brand) 10%,var(--panel-solid));color:var(--brand);border:1px solid color-mix(in srgb,var(--brand) 18%,var(--line))}.primary,button[type="submit"]{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;box-shadow:0 12px 28px #2563eb38}.danger{background:linear-gradient(135deg,#ef4444,#f97316);color:#fff}.small{padding:8px 12px;font-size:.86rem}.full{width:100%;justify-content:center}.icon-button:hover,.theme-toggle:hover,.ghost:hover,button:hover,.primary:hover,.danger:hover{transform:translateY(-1px);box-shadow:var(--soft-shadow)}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:24px;align-items:center;margin-bottom:24px;padding:28px;background:linear-gradient(135deg,#2563eb,#06b6d4 48%,#f97316);border-radius:32px;color:#fff;box-shadow:0 30px 80px #2563eb35;position:relative;overflow:hidden}.dashboard-hero:after{content:"";position:absolute;right:-75px;top:-75px;width:220px;height:220px;border-radius:999px;background:#ffffff24}.dashboard-hero>*{position:relative;z-index:1}.dashboard-hero h2{font-size:clamp(1.8rem,4vw,3.25rem);line-height:.98;margin:8px 0 12px;letter-spacing:-.06em}.dashboard-hero p{max-width:760px;color:#eef6ff;margin:0;font-size:1.04rem}.eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.14em;font-weight:900;font-size:.72rem;color:#fff;background:#ffffff24;border:1px solid #ffffff30;padding:8px 11px;border-radius:999px}.dashboard-search{background:#fffffff2;color:#0f172a;border-radius:24px;padding:18px;box-shadow:0 18px 45px #0f172a22}.dashboard-search label{font-weight:900;display:block;margin-bottom:9px}.search-shell{display:flex;gap:10px}.search-shell input{min-width:0;flex:1}.clear-search{display:inline-block;margin-top:10px;font-weight:800;color:#1d4ed8}.stats{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:16px;margin-bottom:24px}.stats div{position:relative;overflow:hidden;background:var(--panel);border:1px solid #ffffff9e;border-radius:24px;padding:20px;box-shadow:var(--shadow);backdrop-filter:blur(14px)}html[data-theme="dark"] .stats div{border-color:#ffffff10}.stats div:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,var(--brand),var(--brand2),var(--accent))}.stats strong{display:block;font-size:2rem;letter-spacing:-.05em}.stats span{color:var(--muted);font-weight:800}.panel{background:var(--panel);border:1px solid #ffffffa8;border-radius:var(--radius);padding:24px;margin-bottom:24px;box-shadow:var(--shadow);backdrop-filter:blur(18px)}html[data-theme="dark"] .panel{border-color:#ffffff10}.panel h2{margin:0 0 14px;font-size:1.28rem;letter-spacing:-.03em}.panel p{color:var(--muted)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.panel-head h2,.panel-head p{margin:0}.panel-head p{margin-top:4px;color:var(--muted)}.search-results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.search-results-card{margin-bottom:0}.result-list{display:grid;gap:10px}.result-item{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--panel-solid) 78%,transparent);color:var(--ink)}.result-item:hover{border-color:color-mix(in srgb,var(--brand) 42%,var(--line));box-shadow:0 12px 28px #2563eb16}.result-item small{display:block;color:var(--muted);margin-top:2px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.mini-card{display:block;padding:18px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel-solid) 94%,transparent),color-mix(in srgb,var(--brand) 5%,var(--panel-solid)));color:var(--ink);box-shadow:0 12px 28px #0f172a0d}.mini-card:hover{transform:translateY(-2px);box-shadow:var(--soft-shadow)}.mini-card h3{margin:0 0 6px}.pill-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.pill-row span{background:color-mix(in srgb,var(--brand) 11%,var(--panel-solid));color:var(--brand);padding:7px 10px;border-radius:999px;font-weight:850;font-size:.82rem}.table-wrap,.table{width:100%;overflow:auto}table{width:100%;border-collapse:separate;border-spacing:0 8px}th{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;text-align:left;padding:0 12px}td{background:color-mix(in srgb,var(--panel-solid) 88%,transparent);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 12px;vertical-align:middle}td:first-child{border-left:1px solid var(--line);border-radius:16px 0 0 16px}td:last-child{border-right:1px solid var(--line);border-radius:0 16px 16px 0}.person-cell,.media-hero{display:flex;align-items:center;gap:12px}.avatar,.school-logo-placeholder{width:44px;height:44px;border-radius:16px;background:linear-gradient(135deg,var(--brand),var(--accent2));color:#fff;display:inline-grid;place-items:center;font-weight:950;object-fit:cover;box-shadow:0 10px 24px #2563eb24}.avatar.small{width:34px;height:34px;border-radius:12px;font-size:.78rem}.school-logo-img{width:72px;height:72px;border-radius:22px;object-fit:cover;box-shadow:var(--soft-shadow)}form.grid-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}label{font-weight:800;color:var(--ink)}input,select,textarea{width:100%;margin-top:7px;border:1px solid var(--line);border-radius:16px;padding:12px 13px;background:color-mix(in srgb,var(--panel-solid) 88%,transparent);color:var(--ink);outline:none;transition:border .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 16%,transparent)}textarea{min-height:105px;resize:vertical}.actions{display:flex;align-items:end;gap:10px}.search{display:flex;gap:10px;align-items:center;margin:10px 0 18px}.search input{margin-top:0}.inline-form,.upload-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.upload-row input{max-width:240px}.err{display:block;color:var(--danger);margin-top:6px}.empty{color:var(--muted);font-weight:750}.flash-wrap{display:grid;gap:10px;margin-bottom:18px}.flash{padding:13px 16px;border-radius:18px;font-weight:850;border:1px solid var(--line);background:var(--panel-solid)}.flash.success{border-color:color-mix(in srgb,var(--ok) 40%,var(--line));color:var(--ok)}.flash.error{border-color:color-mix(in srgb,var(--danger) 40%,var(--line));color:var(--danger)}.danger-zone{border-color:color-mix(in srgb,var(--danger) 36%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--danger) 7%,var(--panel)),var(--panel))}.site-footer{padding:12px 4px 24px;text-align:center;color:var(--muted);font-weight:750}.site-footer a{font-weight:900}.login-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at top left,#60a5fa55,transparent 34%),radial-gradient(circle at bottom right,#f9731650,transparent 34%)}.login-card{width:min(440px,100%);padding:34px;border:1px solid #ffffff9e;border-radius:34px;background:var(--panel);box-shadow:var(--shadow);text-align:center;backdrop-filter:blur(18px)}.login-card h1{margin:16px 0 8px;font-size:2rem;letter-spacing:-.05em}.login-card p{color:var(--muted)}.login-card form{display:grid;gap:16px;text-align:left;margin-top:22px}.report{max-width:980px;margin-inline:auto}.sidebar-backdrop{display:none}.sidebar-collapsed .sidebar{width:90px}.sidebar-collapsed .brand-text,.sidebar-collapsed .sidebar nav span{display:none}.sidebar-collapsed .brand-link{padding-right:2px}.sidebar-collapsed .main{margin-left:90px}.sidebar-collapsed .sidebar nav a{justify-content:center}.sidebar-collapsed .sidebar nav svg{width:23px;height:23px}
@media (max-width:1180px){.stats{grid-template-columns:repeat(3,1fr)}.dashboard-hero{grid-template-columns:1fr}.search-results-grid{grid-template-columns:1fr}}
@media (max-width:780px){.sidebar{transform:translateX(-105%);width:min(310px,88vw)}body.sidebar-open .sidebar{transform:translateX(0)}.sidebar-close{display:inline-grid}.sidebar-backdrop{display:none;position:fixed;inset:0;background:#02061780;z-index:20}body.sidebar-open .sidebar-backdrop{display:block}.main,.sidebar-collapsed .main{margin-left:0;padding:18px}.topbar{align-items:flex-start;flex-direction:column}.top-actions{width:100%;justify-content:space-between}.stats{grid-template-columns:repeat(2,1fr)}.dashboard-hero{padding:22px;border-radius:26px}.search-shell,.search{flex-direction:column}.panel-head{align-items:flex-start;flex-direction:column}.sidebar-collapsed .brand-text,.sidebar-collapsed .sidebar nav span{display:inline}.sidebar-collapsed .sidebar nav a{justify-content:flex-start}}
@media (max-width:520px){.stats{grid-template-columns:1fr}.main{padding:14px}.panel,.dashboard-search{padding:18px}.login-card{padding:24px}.inline-form,.upload-row{align-items:stretch}.upload-row input{max-width:none}}
@media print{.sidebar,.topbar,.site-footer,.sidebar-backdrop,.theme-toggle,.menu-button,.ghost,.primary,.danger,form{display:none!important}.main{margin:0;padding:0}.panel{box-shadow:none;border:0}.report{max-width:none}}

.avatar.xl{width:92px;height:92px;border-radius:28px;font-size:2rem}.big-metric{display:block;font-size:2.1rem;letter-spacing:-.05em;margin-top:8px}.attendance-card{padding:16px;border:1px solid var(--line);border-radius:22px;margin:14px 0;background:color-mix(in srgb,var(--panel-solid) 78%,transparent)}.stacked-form{display:grid;gap:8px;margin-top:12px}.stacked-form input,.stacked-form select,.stacked-form textarea{margin-top:0}.stacked-form textarea{min-height:84px}.mini-card form{margin-top:10px}.panel h3{letter-spacing:-.02em}.avatar[src$='.svg']{background:none}

/* Lekòl360 brand refresh */
:root{--brand:#0f766e;--brand-strong:#115e59;--brand2:#2563eb;--accent:#f59e0b;--accent2:#7c3aed;--bg:#eefdf8;--bg2:#eff6ff;--sidebar:#063b3a;--sidebar2:#0f172a;--shadow:0 24px 70px #0f766e18;--soft-shadow:0 12px 34px #0f766e24}html[data-theme="dark"]{--brand:#2dd4bf;--brand-strong:#5eead4;--brand2:#60a5fa;--accent:#fbbf24;--accent2:#a78bfa;--bg:#061716;--bg2:#0f172a;--sidebar:#021413;--sidebar2:#0b1630}.sidebar{background:radial-gradient(circle at 20% 10%,#2dd4bf40,transparent 34%),radial-gradient(circle at 100% 66%,#60a5fa33,transparent 35%),linear-gradient(180deg,var(--sidebar),var(--sidebar2))}.logo.wordmark{width:auto;min-width:92px;height:44px;padding:0 12px;border-radius:16px;font-size:.94rem;letter-spacing:-.04em;background:linear-gradient(135deg,#0f766e,#2563eb 62%,#f59e0b)}.logo.big.wordmark{width:auto;min-width:172px;height:76px;padding:0 22px;font-size:1.45rem;border-radius:26px}.login-brand{display:inline-block;color:#fff}.lekol360-hero,.entity-hero{background:linear-gradient(135deg,#0f766e,#2563eb 54%,#7c3aed)}.students-hero{background:linear-gradient(135deg,#0f766e,#14b8a6 45%,#2563eb)}.teachers-hero{background:linear-gradient(135deg,#2563eb,#7c3aed 55%,#f59e0b)}.filters-panel{border-color:color-mix(in srgb,var(--brand) 18%,var(--line))}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;align-items:end}.entity-table .chip,.chip{display:inline-flex;margin:3px 4px 3px 0;padding:6px 9px;border-radius:999px;background:color-mix(in srgb,var(--brand) 12%,var(--panel-solid));color:var(--brand);font-weight:850;font-size:.8rem}.action-card{border-color:color-mix(in srgb,var(--brand) 22%,var(--line));position:relative;overflow:hidden}.action-card:after{content:"";position:absolute;right:-32px;bottom:-36px;width:96px;height:96px;border-radius:999px;background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 22%,transparent),color-mix(in srgb,var(--brand2) 18%,transparent))}.sidebar-collapsed .logo.wordmark{min-width:46px;width:46px;font-size:0;color:transparent}.sidebar-collapsed .logo.wordmark:before{content:"360";font-size:.78rem;color:#fff}.topbar h1:before{content:"";display:inline-block;width:10px;height:10px;border-radius:999px;background:linear-gradient(135deg,var(--brand),var(--brand2));margin-right:10px;vertical-align:middle;box-shadow:0 0 0 5px color-mix(in srgb,var(--brand) 12%,transparent)}


/* Lekòl360 premium logo integration */
.brand-link{
  width:100%;
  padding:8px 10px;
  background:linear-gradient(135deg,#ffffff14,#ffffff08);
  border:1px solid #ffffff16;
}
.brand-logo-img{
  width:62px;
  height:62px;
  border-radius:20px;
  object-fit:cover;
  object-position:center;
  background:#fff;
  box-shadow:0 16px 34px #00000030,0 0 0 4px #ffffff12;
}
.brand-text strong{font-size:1.06rem;letter-spacing:-.035em}.brand small{font-size:.72rem;letter-spacing:.01em}.sidebar-collapsed .brand-link{justify-content:center;padding:8px}.sidebar-collapsed .brand-logo-img{width:54px;height:54px;border-radius:18px}.sidebar-collapsed .brand-text{display:none!important}
.topbar{
  display:grid;
  grid-template-columns:auto auto 1fr auto;
  background:linear-gradient(135deg,#ffffffee,#eff6ffee 54%,#ecfeffee);
  border:1px solid #ffffffd6;
}
html[data-theme="dark"] .topbar{background:linear-gradient(135deg,#0f1d31f2,#0b1630ef 58%,#042f2eef)}
.topbar-brand{
  display:flex;
  align-items:center;
  gap:11px;
  padding:6px 13px 6px 7px;
  border-radius:22px;
  color:var(--ink);
  background:color-mix(in srgb,var(--brand) 7%,#fff 82%);
  border:1px solid color-mix(in srgb,var(--brand) 16%,#fff);
  box-shadow:0 12px 28px #0f766e12;
}
.topbar-brand:hover{color:var(--brand-strong);transform:translateY(-1px)}
.topbar-brand img{width:50px;height:50px;border-radius:17px;object-fit:cover;background:#fff;box-shadow:0 10px 24px #0f172a16}.topbar-brand span{display:block;font-weight:950;letter-spacing:-.04em}.topbar-brand small{display:block;color:var(--muted);font-weight:800;font-size:.72rem;margin-top:1px}.topbar-title{min-width:0}.topbar-title h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.splash-screen{
  position:relative;
  isolation:isolate;
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(320px,1.05fr) minmax(320px,460px);
  align-items:center;
  gap:34px;
  padding:clamp(24px,5vw,72px);
  overflow:hidden;
  background:
    linear-gradient(135deg,#f8fbff 0%,#eefdf8 42%,#eff6ff 100%);
}
.splash-screen:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    radial-gradient(circle at 12% 16%,#2563eb2b,transparent 28rem),
    radial-gradient(circle at 82% 18%,#22c55e24,transparent 24rem),
    radial-gradient(circle at 76% 86%,#f59e0b30,transparent 26rem),
    linear-gradient(115deg,#ffffffc7,#e0f2fe8c);
}
.splash-orb{position:absolute;z-index:-1;border-radius:999px;filter:blur(4px);opacity:.72}.splash-orb-blue{width:280px;height:280px;left:-80px;bottom:9%;background:linear-gradient(135deg,#2563eb55,#06b6d433)}.splash-orb-gold{width:210px;height:210px;right:12%;top:9%;background:linear-gradient(135deg,#f59e0b55,#22c55e33)}
.login-splash-panel{
  padding:clamp(28px,5vw,54px);
  border-radius:38px;
  background:linear-gradient(135deg,#ffffffcf,#ffffff8f);
  border:1px solid #ffffffd4;
  box-shadow:0 34px 90px #0f172a18;
  backdrop-filter:blur(22px);
}
.premium-logo img{
  display:block;
  width:min(430px,86vw);
  max-width:100%;
  border-radius:34px;
  background:#fff;
  box-shadow:0 28px 70px #0f766e22,0 0 0 1px #ffffff;
}
.login-splash-panel h1{margin:20px 0 8px;font-size:clamp(3rem,8vw,6.4rem);line-height:.9;letter-spacing:-.075em;background:linear-gradient(135deg,#0b2a5b,#2563eb 45%,#22c55e 70%,#f59e0b);-webkit-background-clip:text;background-clip:text;color:transparent}.login-splash-panel p{max-width:720px;font-size:clamp(1.05rem,2vw,1.35rem);color:#334155}.splash-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.splash-badges span{padding:9px 12px;border-radius:999px;background:#fff;border:1px solid #dbeafe;color:#0f172a;font-weight:850;box-shadow:0 10px 24px #0f172a0d}
.premium-auth-card{
  width:100%;
  max-width:460px;
  margin:0;
  padding:32px;
  border-radius:34px;
  background:#ffffffeb;
  border:1px solid #fff;
  box-shadow:0 34px 90px #0f172a24;
  backdrop-filter:blur(20px);
}
.auth-card-head{display:flex;align-items:center;gap:15px;margin-bottom:12px}.auth-card-head img{width:82px;height:82px;border-radius:25px;object-fit:cover;background:#fff;box-shadow:0 14px 30px #2563eb20}.auth-card-head h2{margin:2px 0 0;font-size:2rem;letter-spacing:-.05em}.premium-auth-card form{margin-top:18px}.premium-auth-card input{background:#f8fafc;border-color:#dbeafe}.premium-auth-card .primary.full{margin-top:8px;padding:14px 18px;background:linear-gradient(135deg,#0f766e,#2563eb 56%,#7c3aed)}
.hero-logo{
  display:block;
  width:clamp(142px,19vw,236px);
  border-radius:28px;
  margin:0 0 18px;
  background:#fff;
  box-shadow:0 24px 54px #0206172b,0 0 0 1px #ffffff85;
}
.lekol360-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 16%,#f59e0b73,transparent 16rem),
    radial-gradient(circle at 78% 84%,#22c55e59,transparent 18rem),
    linear-gradient(135deg,#083344,#0f766e 36%,#2563eb 72%,#7c3aed);
  box-shadow:0 30px 80px #0f766e2f;
}
.lekol360-hero:after{content:"";position:absolute;right:-70px;top:-70px;width:260px;height:260px;border-radius:999px;border:34px solid #ffffff1c}.lekol360-hero>*{position:relative;z-index:1}.stats>div,.mini-card,.panel{box-shadow:0 18px 54px #0f172a12}.stats>div{border:1px solid #ffffffb8;background:linear-gradient(135deg,#ffffffef,#f8fafcee)}.mini-card{background:linear-gradient(145deg,#ffffff,#f8fbff);border:1px solid #e2e8f0}.site-footer a{font-weight:950}
@media (max-width:1060px){.splash-screen{grid-template-columns:1fr}.premium-auth-card{max-width:none}.topbar{grid-template-columns:auto 1fr auto}.topbar-title{grid-column:1 / -1;order:3}.topbar-title h1{white-space:normal}.topbar-brand{margin-right:auto}}
@media (max-width:780px){.topbar{display:flex}.topbar-brand img{width:44px;height:44px}.topbar-brand small{display:none}.splash-screen{padding:22px}.login-splash-panel{padding:24px;border-radius:28px}.premium-logo img{border-radius:24px}.auth-card-head img{width:68px;height:68px}.hero-logo{width:142px}.brand-logo-img{width:56px;height:56px}}
@media (max-width:520px){.topbar-brand{width:100%;justify-content:flex-start}.splash-badges span{width:100%;text-align:center}.login-splash-panel h1{font-size:3.2rem}.premium-auth-card{padding:24px;border-radius:28px}}


/* Lekòl360 uniform navigation, typography, color, and dark-mode refinements */
:root{
  --brand:#0b7f72;
  --brand-strong:#075f57;
  --brand2:#1976d2;
  --brand3:#22c55e;
  --accent:#f5b027;
  --accent2:#6544d9;
  --bg:#f3fbf8;
  --bg2:#eef6ff;
  --panel:#fffffff0;
  --panel-solid:#ffffff;
  --ink:#102033;
  --muted:#64748b;
  --line:#d7e3ee;
  --sidebar:#042f2e;
  --sidebar2:#091b34;
  --sideText:#edfdfb;
  --shadow:0 24px 70px rgba(11,127,114,.16);
  --soft-shadow:0 14px 38px rgba(25,118,210,.18);
}
html[data-theme="dark"]{
  --bg:#041312;
  --bg2:#08152a;
  --panel:#0c1b29ee;
  --panel-solid:#0e2031;
  --ink:#ecfdf8;
  --muted:#a6b6c8;
  --line:#223a4f;
  --brand:#32d5c6;
  --brand-strong:#7ce9de;
  --brand2:#76b7ff;
  --brand3:#5ee285;
  --accent:#ffd166;
  --accent2:#b4a3ff;
  --sidebar:#021413;
  --sidebar2:#06162b;
  --sideText:#f1fffb;
  --shadow:0 24px 70px rgba(0,0,0,.55);
  --soft-shadow:0 14px 38px rgba(0,0,0,.42);
}
body{font-family:ui-rounded,"Aptos","Nunito Sans","Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:-.01em;background:radial-gradient(circle at 9% 6%,color-mix(in srgb,var(--brand2) 22%,transparent),transparent 30rem),radial-gradient(circle at 92% 10%,color-mix(in srgb,var(--accent) 24%,transparent),transparent 24rem),radial-gradient(circle at 76% 92%,color-mix(in srgb,var(--brand3) 20%,transparent),transparent 28rem),linear-gradient(135deg,var(--bg),var(--bg2))}
.sidebar{width:304px;background:radial-gradient(circle at 12% 7%,color-mix(in srgb,var(--brand) 44%,transparent),transparent 34%),radial-gradient(circle at 105% 48%,color-mix(in srgb,var(--brand2) 35%,transparent),transparent 34%),linear-gradient(180deg,var(--sidebar),var(--sidebar2));overflow:visible}.main{margin-left:304px}.brand{position:relative}.sidebar-toggle-button{display:inline-grid!important;margin-left:auto;place-items:center;background:#ffffff18;color:#fff;border:1px solid #ffffff24;box-shadow:0 16px 34px #0004}.sidebar-toggle-button:hover{background:#ffffff26;transform:translateY(-1px)}.toggle-collapsed{display:none}.sidebar-collapsed .toggle-expanded{display:none}.sidebar-collapsed .toggle-collapsed{display:inline}.sidebar-collapsed .sidebar{width:92px}.sidebar-collapsed .main{margin-left:92px}.sidebar-collapsed .brand{justify-content:center}.sidebar-collapsed .sidebar-toggle-button{position:absolute;right:-18px;top:20px;width:38px;height:38px;border-radius:999px;background:linear-gradient(135deg,var(--brand),var(--brand2));box-shadow:0 14px 30px #0005}.sidebar nav a{position:relative;border:1px solid transparent;background:linear-gradient(135deg,#ffffff08,#ffffff03);font-size:.95rem}.sidebar nav a:hover{border-color:#ffffff25;background:linear-gradient(135deg,#ffffff1f,#ffffff10)}.sidebar nav a:before{content:"";width:6px;height:6px;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--brand3));opacity:.72;box-shadow:0 0 18px color-mix(in srgb,var(--accent) 50%,transparent)}.sidebar-collapsed .sidebar nav a{justify-content:center;padding:13px}.sidebar-collapsed .sidebar nav a:before,.sidebar-collapsed .sidebar nav span{display:none}.brand-logo-img{box-shadow:0 16px 34px #0004,0 0 0 4px color-mix(in srgb,var(--accent) 20%,#fff 8%)}
.topbar{grid-template-columns:auto 1fr auto;background:linear-gradient(135deg,color-mix(in srgb,var(--panel-solid) 88%,transparent),color-mix(in srgb,var(--brand2) 8%,var(--panel-solid)));border-color:color-mix(in srgb,var(--brand) 15%,#fff)}.topbar h1,.dashboard-hero h2,.panel h2{font-weight:900;letter-spacing:-.055em}.topbar-brand{background:color-mix(in srgb,var(--brand) 8%,var(--panel-solid));border-color:color-mix(in srgb,var(--brand) 18%,var(--line));color:var(--ink)}html[data-theme="dark"] .topbar-brand{background:color-mix(in srgb,var(--brand) 13%,var(--panel-solid));border-color:color-mix(in srgb,var(--brand) 24%,var(--line))}
.module-hero{position:relative;overflow:hidden;box-shadow:0 28px 78px color-mix(in srgb,var(--brand) 24%,transparent);background:radial-gradient(circle at 88% 12%,color-mix(in srgb,var(--accent) 55%,transparent),transparent 15rem),radial-gradient(circle at 80% 86%,color-mix(in srgb,var(--brand3) 35%,transparent),transparent 16rem),linear-gradient(135deg,#063b3a,#0b7f72 38%,#1976d2 74%,#6544d9)}.module-hero:after{content:"";position:absolute;right:-54px;top:-54px;width:210px;height:210px;border-radius:999px;border:30px solid #ffffff1a}.module-hero>*{position:relative;z-index:1}.years-hero{background:linear-gradient(135deg,#075f57,#0b7f72 42%,#1976d2)}.classes-hero{background:linear-gradient(135deg,#0b7f72,#1976d2 55%,#22c55e)}.grades-hero{background:linear-gradient(135deg,#1976d2,#6544d9 56%,#f5b027)}.attendance-hero{background:linear-gradient(135deg,#0b7f72,#22c55e 48%,#1976d2)}.reports-hero{background:linear-gradient(135deg,#091b34,#1976d2 55%,#6544d9)}.import-hero{background:linear-gradient(135deg,#063b3a,#0b7f72 55%,#f5b027)}.schools-hero{background:linear-gradient(135deg,#042f2e,#0b7f72 46%,#1976d2)}.users-hero{background:linear-gradient(135deg,#091b34,#6544d9 55%,#1976d2)}.module-stats{margin-bottom:20px}.module-table-panel{overflow:hidden}.entity-table tr:hover td{background:color-mix(in srgb,var(--brand) 6%,transparent)}table{border-collapse:separate;border-spacing:0}thead th{background:color-mix(in srgb,var(--brand) 9%,var(--panel-solid));color:var(--ink);font-weight:900}td,th{border-bottom:1px solid var(--line)}input,select,textarea{background:color-mix(in srgb,var(--panel-solid) 90%,transparent);color:var(--ink);border-color:var(--line)}html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:#091827;color:var(--ink);border-color:#284158}.panel,.mini-card,.stats>div,.dashboard-search{background:linear-gradient(145deg,color-mix(in srgb,var(--panel-solid) 94%,transparent),color-mix(in srgb,var(--brand2) 4%,var(--panel-solid)));border-color:color-mix(in srgb,var(--brand) 12%,var(--line))}html[data-theme="dark"] .panel,html[data-theme="dark"] .mini-card,html[data-theme="dark"] .stats>div,html[data-theme="dark"] .dashboard-search{background:linear-gradient(145deg,color-mix(in srgb,var(--panel-solid) 92%,transparent),color-mix(in srgb,var(--brand2) 9%,var(--panel-solid)));border-color:color-mix(in srgb,var(--brand) 20%,var(--line))}.chip{border:1px solid color-mix(in srgb,var(--brand) 18%,transparent)}.ghost{background:color-mix(in srgb,var(--brand) 9%,var(--panel-solid));color:var(--brand-strong)}.primary,button[type="submit"]{background:linear-gradient(135deg,var(--brand),var(--brand2));box-shadow:0 14px 34px color-mix(in srgb,var(--brand2) 28%,transparent)}.danger{background:linear-gradient(135deg,#e11d48,#f97316)}.login-splash-panel,.premium-auth-card{background:linear-gradient(145deg,color-mix(in srgb,var(--panel-solid) 90%,transparent),color-mix(in srgb,var(--brand2) 6%,var(--panel-solid)));color:var(--ink)}html[data-theme="dark"] .splash-screen{background:linear-gradient(135deg,var(--bg),var(--bg2))}html[data-theme="dark"] .login-splash-panel p,html[data-theme="dark"] .premium-auth-card p{color:var(--muted)}html[data-theme="dark"] .splash-badges span{background:var(--panel-solid);border-color:var(--line);color:var(--ink)}html[data-theme="dark"] .premium-auth-card input{background:#091827;color:var(--ink)}
@media (max-width:780px){.sidebar{width:min(310px,88vw);transform:translateX(calc(-100% + 62px));padding-right:28px}body.sidebar-open .sidebar{transform:translateX(0)}body:not(.sidebar-open) .sidebar .brand-link,body:not(.sidebar-open) .sidebar nav{opacity:0;pointer-events:none}.sidebar-toggle-button{position:absolute;right:-18px;top:24px;width:42px;height:42px;background:linear-gradient(135deg,var(--brand),var(--brand2));box-shadow:0 16px 34px #0006}.main,.sidebar-collapsed .main{margin-left:62px;padding:18px}.topbar{display:flex}.topbar-brand{width:100%}.sidebar-collapsed .sidebar{width:min(310px,88vw)}.sidebar-collapsed .brand-logo-img{width:56px;height:56px}.sidebar-collapsed .brand-text,.sidebar-collapsed .sidebar nav span{display:inline!important}.sidebar-collapsed .sidebar nav a{justify-content:flex-start}.sidebar-collapsed .sidebar nav a:before{display:block}}
@media print{.sidebar-toggle-button{display:none!important}}


/* Dark-mode review refinements */
.topbar-title h1{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.1}
.topbar{grid-template-columns:auto minmax(240px,1fr) auto}
.dashboard-search{min-width:min(100%,430px)}
.dashboard-search input{min-width:260px}
html[data-theme="dark"] .muted,html[data-theme="dark"] small,html[data-theme="dark"] .stats span,html[data-theme="dark"] .site-footer{color:#c4d2e3}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#b7c7d8;opacity:1}
.action-card{cursor:pointer}
.action-card h3:after{content:" →";color:var(--brand);font-weight:950}
@media (max-width:1180px){.dashboard-search{min-width:100%}.dashboard-search input{min-width:0}}


/* Profile pages, bottom sidebar hamburger toggle, and dashboard table pagination */
.sidebar{
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.sidebar nav{
  flex:1 1 auto;
  overflow:auto;
  padding-bottom:16px;
}
.sidebar-footer-actions{
  margin-top:auto;
  padding-top:14px;
  border-top:1px solid #ffffff1a;
}
.sidebar-footer-actions .sidebar-toggle-button{
  position:static!important;
  width:100%;
  height:auto;
  min-height:48px;
  display:flex!important;
  justify-content:center;
  align-items:center;
  gap:10px;
  border-radius:18px;
  background:linear-gradient(135deg,#ffffff18,#ffffff0b);
  color:#fff;
  border:1px solid #ffffff24;
  box-shadow:0 14px 30px #0004;
}
.sidebar-footer-actions .sidebar-toggle-button:hover{background:#ffffff26;transform:translateY(-1px)}
.hamburger-icon{display:inline-grid;gap:4px;width:22px;flex:0 0 auto}
.hamburger-icon span{display:block;height:2.5px;border-radius:99px;background:currentColor;box-shadow:0 0 10px #ffffff4d}
.sidebar-toggle-label{font-weight:900;letter-spacing:.01em}
.sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button{width:48px;height:48px;margin-inline:auto;border-radius:16px;padding:0}
.sidebar-collapsed .sidebar-toggle-label{display:none}
.sidebar-collapsed .hamburger-icon{width:21px}
.person-name{font-weight:950;color:var(--ink);letter-spacing:-.02em}
.person-name:hover{color:var(--brand);text-decoration:none}
.profile-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.profile-heading{align-items:center}.profile-heading h2{margin:.15rem 0;font-size:clamp(2rem,5vw,4rem)}.profile-actions{display:flex;gap:10px;flex-wrap:wrap}.profile-actions .action-inline-form{display:inline-flex;margin:0}
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-bottom:20px}.profile-card{margin:0}.detail-list{display:grid;grid-template-columns:minmax(110px,auto) 1fr;gap:10px 16px;margin:0}.detail-list dt{color:var(--muted);font-weight:900}.detail-list dd{margin:0;font-weight:800}.chip-list{display:flex;gap:8px;flex-wrap:wrap}.avatar.xl{display:inline-grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--brand),var(--brand2));font-weight:950}
.table-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0 14px;padding:12px 14px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--brand) 5%,var(--panel-solid));box-shadow:0 10px 26px #0f172a0c}.page-size-control,.pagination-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.page-size-control label,.page-size-control span,.pagination-status{color:var(--muted);font-weight:850}.page-size-control select{width:auto;min-width:86px;padding:8px 12px;border-radius:999px}.pagination-buttons button:disabled{opacity:.48;cursor:not-allowed;transform:none;box-shadow:none}
html[data-theme="dark"] .table-pagination{background:color-mix(in srgb,var(--brand) 8%,var(--panel-solid));box-shadow:0 10px 26px #0004}
@media (max-width:780px){.sidebar{overflow:visible}.sidebar nav{overflow:visible}.sidebar-footer-actions{position:relative}.sidebar-footer-actions .sidebar-toggle-button{position:absolute!important;right:-18px;bottom:12px;width:46px;height:46px;min-height:46px;border-radius:999px;background:linear-gradient(135deg,var(--brand),var(--brand2));box-shadow:0 16px 34px #0006}.sidebar-footer-actions .sidebar-toggle-label{display:none}.main,.sidebar-collapsed .main{margin-left:62px}.profile-hero{align-items:flex-start}.table-pagination{align-items:flex-start;flex-direction:column}.pagination-buttons{width:100%;justify-content:space-between}}
@media print{.table-pagination,.sidebar-footer-actions{display:none!important}}


/* Lekòl360 polished sidebar navigation refresh */
.sidebar{
  width:316px;
  padding:18px 16px;
  gap:14px;
  background:
    linear-gradient(180deg,#ffffff12,#ffffff05 42%,transparent 72%),
    radial-gradient(circle at 18% 8%,color-mix(in srgb,var(--brand) 58%,transparent),transparent 18rem),
    radial-gradient(circle at 112% 24%,color-mix(in srgb,var(--brand2) 44%,transparent),transparent 18rem),
    radial-gradient(circle at 48% 96%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 16rem),
    linear-gradient(180deg,color-mix(in srgb,var(--sidebar) 92%,#0f766e),var(--sidebar2));
  border-right:1px solid #ffffff16;
  box-shadow:18px 0 54px rgba(2,6,23,.32);
  backdrop-filter:blur(18px);
}
.main{margin-left:316px}
.sidebar:before{
  content:"";
  position:absolute;
  inset:12px;
  z-index:-1;
  border-radius:30px;
  border:1px solid #ffffff10;
  background:linear-gradient(180deg,#ffffff08,transparent 36%,#00000010);
  pointer-events:none;
}
.brand{margin-bottom:4px;padding:2px}.brand-link{
  gap:13px;
  border-radius:24px;
  padding:10px;
  min-height:82px;
  background:linear-gradient(135deg,#ffffff1d,#ffffff0b 58%,#ffffff05);
  border:1px solid #ffffff20;
  box-shadow:0 18px 44px #00000020,inset 0 1px 0 #ffffff20;
}
.brand-link:hover{background:linear-gradient(135deg,#ffffff28,#ffffff10);transform:translateY(-2px) scale(1.01);box-shadow:0 22px 52px #0000002b,inset 0 1px 0 #ffffff2e}.brand-logo-img{width:58px;height:58px;border-radius:19px;transition:transform .22s ease,box-shadow .22s ease}.brand-link:hover .brand-logo-img{transform:rotate(-2deg) scale(1.04);box-shadow:0 18px 42px #0006,0 0 0 4px color-mix(in srgb,var(--accent) 26%,#fff 8%)}.brand-text strong{font-size:1.14rem;line-height:1;font-weight:950}.brand-text small{margin-top:5px;color:#cde9eb;font-size:.72rem;line-height:1.25;font-weight:780;max-width:172px}.sidebar nav{gap:6px;padding:6px 2px 16px;scrollbar-width:thin;scrollbar-color:#ffffff2c transparent}.sidebar nav::-webkit-scrollbar{width:6px}.sidebar nav::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:999px}.sidebar nav a{
  isolation:isolate;
  min-height:48px;
  padding:11px 12px;
  border-radius:18px;
  gap:12px;
  color:#e8fbfb;
  font-size:.94rem;
  font-weight:860;
  letter-spacing:-.015em;
  background:transparent;
  border:1px solid transparent;
  transform:translateX(0);
  transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease,padding-left .18s ease;
}
.sidebar nav a:before{
  width:4px;
  height:22px;
  margin-left:-3px;
  border-radius:999px;
  opacity:0;
  background:linear-gradient(180deg,var(--accent),var(--brand3));
  box-shadow:0 0 20px color-mix(in srgb,var(--accent) 70%,transparent);
  transform:scaleY(.4);
  transition:opacity .18s ease,transform .18s ease;
}
.sidebar nav a:after{
  content:"";
  position:absolute;
  inset:4px;
  z-index:-1;
  border-radius:15px;
  background:linear-gradient(135deg,#ffffff1f,#ffffff09);
  opacity:0;
  transform:scale(.98);
  transition:opacity .18s ease,transform .18s ease;
}
.sidebar nav svg{
  width:22px;
  height:22px;
  padding:2px;
  opacity:.92;
  filter:drop-shadow(0 5px 10px rgba(0,0,0,.18));
  transition:transform .18s ease,opacity .18s ease,color .18s ease;
}
.sidebar nav a:hover,
.sidebar nav a:focus-visible{
  color:#fff;
  transform:translateX(5px);
  padding-left:14px;
  border-color:#ffffff24;
  background:linear-gradient(135deg,#ffffff18,#ffffff08);
  box-shadow:0 14px 30px rgba(0,0,0,.18),inset 0 1px 0 #ffffff18;
  outline:none;
}
.sidebar nav a:hover:before,.sidebar nav a:focus-visible:before,.sidebar nav a.is-active:before{opacity:1;transform:scaleY(1)}.sidebar nav a:hover:after,.sidebar nav a:focus-visible:after,.sidebar nav a.is-active:after{opacity:1;transform:scale(1)}.sidebar nav a:hover svg,.sidebar nav a:focus-visible svg{transform:translateX(1px) scale(1.08);opacity:1}.sidebar nav a.is-active{color:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 34%,transparent),color-mix(in srgb,var(--brand2) 22%,transparent));border-color:#ffffff2e;box-shadow:0 16px 34px rgba(0,0,0,.2),inset 0 1px 0 #ffffff24}.sidebar nav a.is-active svg{color:var(--accent);opacity:1}.sidebar-footer-actions{padding:14px 2px 2px;border-top:1px solid #ffffff16;background:linear-gradient(180deg,transparent,#00000012);border-radius:0 0 24px 24px}.sidebar-footer-actions .sidebar-toggle-button{
  position:relative!important;
  overflow:hidden;
  justify-content:space-between;
  min-height:54px;
  padding:10px 12px 10px 16px;
  border-radius:20px;
  background:
    radial-gradient(circle at 18% 10%,#ffffff36,transparent 42%),
    linear-gradient(135deg,color-mix(in srgb,var(--brand) 86%,#ffffff),color-mix(in srgb,var(--brand2) 84%,#0f172a) 68%,color-mix(in srgb,var(--accent2) 64%,#0f172a));
  border:1px solid #ffffff34;
  box-shadow:0 18px 42px rgba(0,0,0,.32),inset 0 1px 0 #ffffff40;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.sidebar-footer-actions .sidebar-toggle-button:before{content:"";position:absolute;inset:-60% auto auto -20%;width:75%;height:180%;background:linear-gradient(90deg,transparent,#ffffff30,transparent);transform:rotate(18deg) translateX(-130%);transition:transform .5s ease}.sidebar-footer-actions .sidebar-toggle-button:hover{filter:saturate(1.08);transform:translateY(-2px);box-shadow:0 24px 54px rgba(0,0,0,.38),0 0 0 4px #ffffff10,inset 0 1px 0 #ffffff4d}.sidebar-footer-actions .sidebar-toggle-button:hover:before{transform:rotate(18deg) translateX(210%)}.hamburger-icon{width:24px;height:20px;place-content:center;gap:4.5px}.hamburger-icon span{height:2.5px;background:#fff;transition:transform .2s ease,width .2s ease,opacity .2s ease}.hamburger-icon span:nth-child(2){width:17px}.hamburger-icon span:nth-child(3){width:11px}.sidebar-footer-actions .sidebar-toggle-button:hover .hamburger-icon span{width:24px}.sidebar-toggle-label{color:#fff;font-size:.92rem;text-transform:uppercase;letter-spacing:.08em}.sidebar-collapsed .sidebar{width:96px;padding-inline:14px}.sidebar-collapsed .main{margin-left:96px}.sidebar-collapsed .brand-link{min-height:72px;padding:8px;justify-content:center}.sidebar-collapsed .brand-logo-img{width:52px;height:52px}.sidebar-collapsed .sidebar nav{align-items:center;padding-inline:0}.sidebar-collapsed .sidebar nav a{width:58px;height:52px;justify-content:center;padding:0;border-radius:18px}.sidebar-collapsed .sidebar nav a:hover{transform:translateX(0) translateY(-2px);padding-left:0}.sidebar-collapsed .sidebar nav a:before{display:none}.sidebar-collapsed .sidebar nav a:after{inset:5px}.sidebar-collapsed .sidebar nav svg{width:24px;height:24px}.sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button{width:56px;height:56px;min-height:56px;border-radius:18px;justify-content:center;padding:0}.sidebar-collapsed .hamburger-icon span:nth-child(1){transform:translateY(7px) rotate(45deg);width:22px}.sidebar-collapsed .hamburger-icon span:nth-child(2){opacity:0;transform:scaleX(.35)}.sidebar-collapsed .hamburger-icon span:nth-child(3){transform:translateY(-7px) rotate(-45deg);width:22px}
@media (max-width:780px){.sidebar{width:min(318px,88vw);padding:18px 18px 18px 14px}.sidebar:before{inset:10px}.sidebar-footer-actions .sidebar-toggle-button{position:absolute!important;right:-21px;bottom:16px;width:50px;height:50px;min-height:50px;justify-content:center;padding:0;border-radius:18px}.sidebar-footer-actions .sidebar-toggle-button .hamburger-icon span:nth-child(1),.sidebar-footer-actions .sidebar-toggle-button .hamburger-icon span:nth-child(2),.sidebar-footer-actions .sidebar-toggle-button .hamburger-icon span:nth-child(3){width:22px;opacity:1;transform:none}.sidebar-toggle-label{display:none!important}body.sidebar-open .sidebar-footer-actions .sidebar-toggle-button .hamburger-icon span:nth-child(1){transform:translateY(7px) rotate(45deg)}body.sidebar-open .sidebar-footer-actions .sidebar-toggle-button .hamburger-icon span:nth-child(2){opacity:0;transform:scaleX(.35)}body.sidebar-open .sidebar-footer-actions .sidebar-toggle-button .hamburger-icon span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}body:not(.sidebar-open) .sidebar .brand-link,body:not(.sidebar-open) .sidebar nav{opacity:0;pointer-events:none}.main,.sidebar-collapsed .main{margin-left:62px}}


/* Colorful branded sidebar icon system */
.sidebar nav a{
  --icon-c1:var(--brand);
  --icon-c2:var(--brand2);
  --icon-glow:color-mix(in srgb,var(--brand) 36%,transparent);
}
.sidebar nav a:nth-child(1){--icon-c1:#22c55e;--icon-c2:#0ea5e9;--icon-glow:#22c55e44}
.sidebar nav a:nth-child(2){--icon-c1:#38bdf8;--icon-c2:#2563eb;--icon-glow:#38bdf844}
.sidebar nav a:nth-child(3){--icon-c1:#f59e0b;--icon-c2:#ef4444;--icon-glow:#f59e0b44}
.sidebar nav a:nth-child(4){--icon-c1:#14b8a6;--icon-c2:#22c55e;--icon-glow:#14b8a644}
.sidebar nav a:nth-child(5){--icon-c1:#8b5cf6;--icon-c2:#ec4899;--icon-glow:#8b5cf644}
.sidebar nav a:nth-child(6){--icon-c1:#06b6d4;--icon-c2:#3b82f6;--icon-glow:#06b6d444}
.sidebar nav a:nth-child(7){--icon-c1:#f97316;--icon-c2:#facc15;--icon-glow:#f9731644}
.sidebar nav a:nth-child(8){--icon-c1:#10b981;--icon-c2:#84cc16;--icon-glow:#10b98144}
.sidebar nav a:nth-child(9){--icon-c1:#6366f1;--icon-c2:#a855f7;--icon-glow:#6366f144}
.sidebar nav a:nth-child(10){--icon-c1:#0ea5e9;--icon-c2:#14b8a6;--icon-glow:#0ea5e944}
.sidebar nav a:nth-child(11){--icon-c1:#f43f5e;--icon-c2:#fb7185;--icon-glow:#f43f5e44}
.sidebar nav svg{
  flex:0 0 auto;
  width:34px;
  height:34px;
  padding:7px;
  border-radius:13px;
  color:#fff;
  fill:currentColor;
  background:
    radial-gradient(circle at 28% 22%,#ffffff66,transparent 34%),
    linear-gradient(135deg,var(--icon-c1),var(--icon-c2));
  box-shadow:0 10px 24px var(--icon-glow),inset 0 1px 0 #ffffff55,inset 0 -8px 16px #00000016;
  filter:none;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease,opacity .2s ease;
}
.sidebar nav a:hover svg,
.sidebar nav a:focus-visible svg,
.sidebar nav a.is-active svg{
  color:#fff;
  transform:translateX(1px) scale(1.1) rotate(-3deg);
  box-shadow:0 15px 30px var(--icon-glow),0 0 0 4px #ffffff12,inset 0 1px 0 #ffffff66,inset 0 -8px 16px #00000018;
}
.sidebar nav a.is-active svg{background:radial-gradient(circle at 28% 22%,#ffffff78,transparent 34%),linear-gradient(135deg,var(--icon-c2),var(--icon-c1))}.sidebar nav a span{line-height:1.15}.sidebar-collapsed .sidebar nav svg{width:38px;height:38px;padding:8px;border-radius:14px}.sidebar-collapsed .sidebar nav a{width:62px;height:56px}.sidebar-collapsed .sidebar nav a:hover svg,.sidebar-collapsed .sidebar nav a.is-active svg{transform:scale(1.08) rotate(-3deg)}
@media (max-width:780px){.sidebar nav svg{width:34px;height:34px}.sidebar-collapsed .sidebar nav svg{width:34px;height:34px}.sidebar-collapsed .sidebar nav a{width:auto;height:auto}}

/* Login, logout, and responsive shell UX refresh */
.mobile-menu-button{display:none;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;border:1px solid color-mix(in srgb,var(--brand) 22%,#fff);box-shadow:0 14px 30px color-mix(in srgb,var(--brand) 24%,transparent)}
.logout-button{background:color-mix(in srgb,var(--danger) 10%,var(--panel-solid));color:var(--danger);border-color:color-mix(in srgb,var(--danger) 20%,var(--line))}
.logout-button:hover{background:color-mix(in srgb,var(--danger) 15%,var(--panel-solid));color:var(--danger);transform:translateY(-1px)}
.auth-refresh.splash-screen{grid-template-columns:minmax(320px,1fr) minmax(340px,480px);gap:clamp(22px,4vw,44px);background:radial-gradient(circle at 8% 12%,color-mix(in srgb,var(--brand2) 22%,transparent),transparent 24rem),radial-gradient(circle at 91% 10%,color-mix(in srgb,var(--accent) 25%,transparent),transparent 22rem),linear-gradient(135deg,#f8fbff,#ecfdf5 45%,#eff6ff)}
.auth-hero-panel{max-width:840px}.auth-hero-panel h1{max-width:820px;font-size:clamp(2.7rem,6.4vw,5.8rem);line-height:.92}.auth-hero-panel p{max-width:620px}
.modern-login-card{position:relative;overflow:hidden}.modern-login-card:before{content:"";position:absolute;inset:0 0 auto;height:7px;background:linear-gradient(90deg,var(--brand),var(--brand2),var(--accent2),var(--accent));}.no-logo-head{align-items:flex-start;margin-bottom:4px}.no-logo-head h2{font-size:clamp(2rem,4vw,2.65rem)}.login-intro{color:var(--muted);font-weight:750;margin-top:8px}
.portal-login-options{display:grid;grid-template-columns:1fr;gap:10px;margin:20px 0}.portal-option{display:flex;align-items:center;gap:13px;padding:14px;border-radius:22px;color:var(--ink);background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 7%,var(--panel-solid)),color-mix(in srgb,var(--brand2) 5%,var(--panel-solid)));border:1px solid color-mix(in srgb,var(--brand) 14%,var(--line));box-shadow:0 12px 30px #0f172a0d;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.portal-option:hover,.portal-option:focus-visible,.portal-option.is-selected{color:var(--ink);transform:translateY(-2px);border-color:color-mix(in srgb,var(--brand2) 36%,var(--line));box-shadow:0 18px 38px color-mix(in srgb,var(--brand2) 18%,transparent);outline:none}.portal-option.is-selected{background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 14%,var(--panel-solid)),color-mix(in srgb,var(--brand2) 12%,var(--panel-solid)))}.portal-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(135deg,var(--brand),var(--brand2));box-shadow:0 12px 24px color-mix(in srgb,var(--brand) 24%,transparent);font-size:1.35rem}.portal-option strong{display:block;font-size:1rem;font-weight:950}.portal-option small{display:block;color:var(--muted);font-weight:780;margin-top:2px}.portal-note{margin:0 0 14px;padding:12px 14px;border-radius:17px;background:color-mix(in srgb,var(--brand) 9%,var(--panel-solid));border:1px solid color-mix(in srgb,var(--brand) 15%,var(--line));color:var(--brand-strong);font-weight:800;line-height:1.35}.login-form-card label{font-weight:900;color:var(--ink)}.login-form-card input{min-height:48px;border-radius:16px}.login-security-note{margin:14px 0 0;color:var(--muted);font-size:.88rem;font-weight:750;line-height:1.4}
html[data-theme="dark"] .auth-refresh.splash-screen{background:radial-gradient(circle at 8% 12%,color-mix(in srgb,var(--brand2) 18%,transparent),transparent 24rem),radial-gradient(circle at 91% 10%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 22rem),linear-gradient(135deg,#031716,#08152a)}html[data-theme="dark"] .login-splash-panel,html[data-theme="dark"] .premium-auth-card{background:color-mix(in srgb,var(--panel-solid) 88%,transparent);border-color:#ffffff18}html[data-theme="dark"] .auth-hero-panel p{color:#d0ddea}html[data-theme="dark"] .portal-option{background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 12%,var(--panel-solid)),color-mix(in srgb,var(--brand2) 8%,var(--panel-solid)));color:var(--ink)}html[data-theme="dark"] .portal-note{color:var(--brand-strong)}
@media (max-width:1060px){.auth-refresh.splash-screen{grid-template-columns:1fr}.auth-hero-panel{padding-bottom:30px}.modern-login-card{max-width:none}.portal-login-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:780px){.mobile-menu-button{display:inline-grid;flex:0 0 auto}.topbar{gap:12px}.topbar-brand{flex:1 1 auto;min-width:0}.topbar-title{width:100%}.top-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.top-actions .theme-toggle,.top-actions form,.top-actions form button{width:100%}.sidebar{transform:translateX(-105%);width:min(326px,88vw);padding:18px;z-index:40}body.sidebar-open .sidebar{transform:translateX(0)}body:not(.sidebar-open) .sidebar .brand-link,body:not(.sidebar-open) .sidebar nav{opacity:1;pointer-events:auto}.sidebar-backdrop{z-index:35}.main,.sidebar-collapsed .main{margin-left:0;padding:16px}.sidebar-footer-actions .sidebar-toggle-button{position:relative!important;right:auto;bottom:auto;width:100%;height:52px;min-height:52px;border-radius:18px}.sidebar-footer-actions .sidebar-toggle-label{display:inline!important}.sidebar-collapsed .sidebar{width:min(326px,88vw)}.sidebar-collapsed .brand-text,.sidebar-collapsed .sidebar nav span{display:inline!important}.sidebar-collapsed .sidebar nav a{width:auto;height:auto;justify-content:flex-start;padding:11px 12px}.sidebar-collapsed .sidebar nav svg{width:34px;height:34px}.sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button{width:100%;height:52px;justify-content:space-between;padding:10px 12px 10px 16px}.sidebar-collapsed .sidebar-toggle-label{display:inline!important}}
@media (max-width:560px){.portal-login-options{grid-template-columns:1fr}.auth-refresh.splash-screen{padding:16px}.premium-logo img{width:min(310px,88vw)}.modern-login-card{padding:22px}.top-actions{grid-template-columns:1fr}.topbar-brand div small{display:none}}


/* Portal-first login, French shell, compact sidebar tools, lighter typography */
body{font-weight:400;letter-spacing:-.006em}
strong,b,.stats strong,.mini-card h3,.panel h2,.panel h3,.brand-text strong,.topbar h1,.dashboard-hero h2{font-weight:650}
.sidebar nav a,.portal-option strong,.portal-option small,.login-form-card label,.portal-note,.chip,.page-size-control label,.page-size-control span,.pagination-status{font-weight:600}
.primary,button[type="submit"],.ghost,.theme-toggle,.icon-button,.danger{font-weight:650}
.site-footer a{font-weight:650!important}

.focused-topbar{position:relative;display:flex!important;align-items:center;justify-content:center;min-height:76px;padding:18px 74px;text-align:center;background:linear-gradient(135deg,color-mix(in srgb,var(--panel-solid) 92%,transparent),color-mix(in srgb,var(--brand) 5%,var(--panel-solid)));}
.focused-topbar .topbar-title{width:100%;display:flex;justify-content:center;min-width:0}
.focused-topbar h1{margin:0 auto;text-align:center;font-size:clamp(1.55rem,3vw,2.35rem);font-weight:650;letter-spacing:-.035em;line-height:1.08}
.focused-topbar .mobile-menu-button{position:absolute;left:18px;top:50%;transform:translateY(-50%)}
.focused-topbar .mobile-menu-button:hover{transform:translateY(-50%) scale(1.03)}
.focused-topbar .mobile-menu-button svg{width:22px;height:22px;fill:currentColor}
.module-hero .eyebrow,.module-hero h2,.entity-hero .eyebrow,.entity-hero h2,.lekol360-hero h2{display:none}
.module-hero,.entity-hero,.lekol360-hero{align-items:center;padding-block:24px}
.module-hero p,.entity-hero p,.lekol360-hero p{margin:0;max-width:760px;font-weight:450;line-height:1.55}

.portal-first-login .three-portals{grid-template-columns:1fr;gap:12px}
.portal-first-login .portal-option{min-height:74px}
.portal-first-login .portal-placeholder{margin:0 0 4px;padding:16px;border:1px dashed color-mix(in srgb,var(--brand) 28%,var(--line));border-radius:18px;color:var(--muted);background:color-mix(in srgb,var(--brand) 5%,var(--panel-solid));text-align:center;font-weight:500}
.portal-auth-fields{animation:authFieldsIn .22s ease both}
@keyframes authFieldsIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

.compact-sidebar-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:center;padding:12px 2px 2px!important}
.sidebar-tool,.sidebar-tool-form{min-width:0}
.sidebar-tool-form{display:block;margin:0}
.sidebar-tool{position:relative;width:100%;height:50px;min-height:50px!important;display:grid!important;place-items:center!important;padding:0!important;border-radius:17px!important;color:#fff!important;background:linear-gradient(135deg,#ffffff18,#ffffff08)!important;border:1px solid #ffffff22!important;box-shadow:0 12px 28px rgba(0,0,0,.22)!important;overflow:visible!important;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}
.sidebar-tool:hover,.sidebar-tool:focus-visible{transform:translateY(-2px);background:linear-gradient(135deg,#ffffff27,#ffffff11)!important;border-color:#ffffff36!important;box-shadow:0 18px 36px rgba(0,0,0,.28)!important;outline:none}
.sidebar-tool svg{width:22px!important;height:22px!important;fill:currentColor!important;padding:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;filter:none!important;color:currentColor!important}
.sidebar-tool span{position:absolute;left:50%;bottom:calc(100% + 10px);z-index:80;max-width:220px;width:max-content;padding:7px 10px;border-radius:999px;background:#0f172a;color:#fff;font-size:.78rem;font-weight:600;line-height:1;white-space:nowrap;box-shadow:0 12px 28px rgba(0,0,0,.25);opacity:0;pointer-events:none;transform:translateX(-50%) translateY(5px);transition:opacity .16s ease,transform .16s ease}
.sidebar-tool:hover span,.sidebar-tool:focus-visible span{opacity:1;transform:translateX(-50%) translateY(0)}
.sidebar-user-pill{cursor:default}.sidebar-user-pill svg{color:#99f6e4!important}.theme-toggle svg{color:#bfdbfe!important}.logout-button svg{color:#fecaca!important}.sidebar-toggle-button svg{color:#fef3c7!important}
.sidebar-collapsed .compact-sidebar-tools{grid-template-columns:1fr;gap:9px;justify-items:center}.sidebar-collapsed .sidebar-tool{width:56px;height:52px;margin-inline:auto;justify-self:center}.sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button{grid-column:1;justify-self:center;margin-inline:auto}
.sidebar-collapsed .sidebar-tool span{left:calc(100% + 12px);bottom:50%;transform:translateY(50%) translateX(-4px)}
.sidebar-collapsed .sidebar-tool:hover span,.sidebar-collapsed .sidebar-tool:focus-visible span{transform:translateY(50%) translateX(0)}
.sidebar-collapsed .brand-link:after,.sidebar-collapsed .sidebar nav a:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 12px);top:50%;z-index:90;padding:8px 10px;border-radius:999px;background:#0f172a;color:#fff;font-size:.78rem;font-weight:600;line-height:1;white-space:nowrap;opacity:0;pointer-events:none;transform:translateY(-50%) translateX(-4px);transition:opacity .16s ease,transform .16s ease;box-shadow:0 12px 28px rgba(0,0,0,.25)}
.sidebar-collapsed .brand-link:hover:after,.sidebar-collapsed .sidebar nav a:hover:after,.sidebar-collapsed .brand-link:focus-visible:after,.sidebar-collapsed .sidebar nav a:focus-visible:after{opacity:1;transform:translateY(-50%) translateX(0)}
.sidebar-footer-actions .sidebar-toggle-button:before,.hamburger-icon{display:none!important}
.mobile-menu-button{display:inline-grid;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;border:1px solid color-mix(in srgb,var(--brand) 22%,#fff);box-shadow:0 14px 30px color-mix(in srgb,var(--brand) 24%,transparent)}

@media (min-width:781px){.mobile-menu-button{display:none!important}}
@media (max-width:780px){
  .focused-topbar{padding:16px 18px 16px 64px;min-height:68px;text-align:left;justify-content:flex-start}.focused-topbar .topbar-title{justify-content:flex-start}.focused-topbar h1{text-align:left;margin:0;font-size:1.45rem}.compact-sidebar-tools{grid-template-columns:repeat(4,minmax(0,1fr))}.sidebar-collapsed .compact-sidebar-tools{grid-template-columns:repeat(4,minmax(0,1fr))}.sidebar-collapsed .sidebar-tool{width:100%;height:50px}.sidebar-tool span,.sidebar-collapsed .sidebar-tool span{left:50%;bottom:calc(100% + 10px);transform:translateX(-50%) translateY(5px)}.sidebar-tool:hover span,.sidebar-collapsed .sidebar-tool:hover span{transform:translateX(-50%) translateY(0)}
}
@media (max-width:560px){.compact-sidebar-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-first-login .portal-option{min-height:68px}.focused-topbar{padding-right:14px}}


/* Refined portal login cleanup */
.transparent-login-logo img{
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  filter:drop-shadow(0 24px 44px color-mix(in srgb,var(--brand) 18%,transparent));
}
.portal-first-login .login-splash-panel{
  background:linear-gradient(135deg,#ffffffb8,#ffffff72);
}
.refined-portal-card{
  padding-top:30px;
}
.refined-portal-card .portal-subtitle{
  margin:0 0 14px;
  max-width:100%;
  text-align:left;
}
.refined-portal-card .aligned-portal-options{
  margin:0 0 14px;
  align-items:stretch;
}
.refined-portal-card .portal-option{
  align-items:center;
  justify-content:flex-start;
  text-align:left;
}
.refined-portal-card .portal-option > span:not(.portal-icon){
  display:flex;
  flex:1 1 auto;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
}
.refined-portal-card .portal-option strong{
  display:block;
  width:100%;
  font-size:1.02rem;
  text-align:left;
}
.refined-portal-card .portal-option small{
  display:block;
  width:100%;
  line-height:1.25;
  text-align:left;
}
.refined-portal-card .portal-note{
  margin-top:2px;
}
.refined-portal-card .auth-card-head,
.refined-portal-card .eyebrow,
.refined-portal-card h2,
.refined-portal-card .portal-placeholder{
  display:none!important;
}
@media (max-width:560px){
  .transparent-login-logo img{width:min(300px,82vw)!important}
  .refined-portal-card{padding-top:24px}
}

/* Lekòl360 production polish: transparent logo, compact sidebar, clean nav, modern login */
.crisp-logo{object-fit:contain;image-rendering:auto;backface-visibility:hidden;transform:translateZ(0)}
.brand-logo-img,.topbar-logo-img,.hero-logo,.premium-logo img{background:transparent!important;object-fit:contain!important;box-shadow:none!important}
.brand-link{min-height:68px;padding:8px 9px;border-radius:20px}
.brand-logo-img{width:50px!important;height:50px!important;border-radius:0!important;filter:drop-shadow(0 12px 22px rgba(0,0,0,.24))}
.topbar-logo-link{position:absolute;left:18px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:color-mix(in srgb,var(--brand) 7%,var(--panel-solid));border:1px solid color-mix(in srgb,var(--brand) 16%,var(--line));box-shadow:0 12px 28px rgba(15,23,42,.10);transition:transform .16s ease,box-shadow .16s ease}
.topbar-logo-link:hover{transform:translateY(-50%) scale(1.03);box-shadow:0 16px 34px rgba(15,23,42,.16)}
.topbar-logo-img{width:46px;height:46px;filter:drop-shadow(0 8px 14px rgba(15,23,42,.14))}
.focused-topbar{padding-left:90px;padding-right:90px}
.focused-topbar .mobile-menu-button{left:14px}.focused-topbar .mobile-menu-button + .topbar-logo-link{left:70px}
.sidebar{width:268px!important;padding:14px 12px!important;gap:8px}.main{margin-left:268px!important}.sidebar-collapsed .sidebar{width:86px!important}.sidebar-collapsed .main{margin-left:86px!important}.brand{margin-bottom:2px!important}.brand-text strong{font-size:1rem!important}.brand-text small{font-size:.68rem!important}.sidebar nav{gap:4px!important;padding-top:2px!important}.sidebar nav a{min-height:42px!important;padding:8px 10px!important;border-radius:14px!important;font-size:.88rem!important;gap:9px!important}.sidebar nav a:before{display:none!important;content:none!important}.sidebar nav svg{width:30px!important;height:30px!important;padding:6px!important;border-radius:11px!important}.sidebar nav a:hover,.sidebar nav a:focus-visible{transform:translateX(2px)!important;padding-left:10px!important}.sidebar-collapsed .sidebar nav a{width:54px!important;height:48px!important;padding:0!important}.sidebar-collapsed .sidebar nav svg{width:34px!important;height:34px!important}.compact-sidebar-tools{gap:6px!important;padding-top:8px!important}.sidebar-tool{height:44px!important;min-height:44px!important;border-radius:14px!important}.sidebar-tool svg{width:20px!important;height:20px!important}.sidebar-collapsed .sidebar-tool{width:50px!important;height:46px!important}.sidebar-footer-actions{padding-top:8px!important}
.login-page.auth-refresh{background:radial-gradient(circle at 12% 10%,rgba(37,99,235,.20),transparent 24rem),radial-gradient(circle at 88% 18%,rgba(245,176,39,.22),transparent 22rem),radial-gradient(circle at 72% 86%,rgba(34,197,94,.18),transparent 26rem),linear-gradient(135deg,#f8fbff,#eefdf8 48%,#eff6ff)!important}.login-splash-panel{position:relative;overflow:hidden}.login-splash-panel:after{content:"";position:absolute;right:-70px;bottom:-80px;width:230px;height:230px;border-radius:999px;background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(34,197,94,.12));pointer-events:none}.login-kicker{display:inline-flex;margin-bottom:14px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.9);color:var(--brand-strong);font-weight:700;box-shadow:0 10px 24px rgba(15,23,42,.08)}.login-feature-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.login-feature-badges span{padding:10px 13px;border-radius:999px;background:#fff;border:1px solid color-mix(in srgb,var(--brand) 12%,#dbeafe);color:#102033;font-weight:650;box-shadow:0 12px 28px rgba(15,23,42,.08)}.transparent-login-logo img{width:min(360px,76vw)!important;filter:drop-shadow(0 22px 42px rgba(15,118,110,.20))!important}.login-splash-panel h1{font-size:clamp(2.55rem,5.7vw,5.2rem)!important;line-height:.95!important}.login-card-heading span{display:inline-flex;margin-bottom:8px;color:var(--brand);font-weight:750}.login-card-heading h2{display:block!important;margin:0 0 6px;font-size:clamp(1.7rem,3vw,2.25rem);line-height:1;letter-spacing:-.045em}.refined-portal-card .login-card-heading h2{display:block!important}.portal-option{border-radius:20px!important}.portal-option:nth-child(1) .portal-icon{background:linear-gradient(135deg,#2563eb,#06b6d4)}.portal-option:nth-child(2) .portal-icon{background:linear-gradient(135deg,#7c3aed,#ec4899)}.portal-option:nth-child(3) .portal-icon{background:linear-gradient(135deg,#0f766e,#f59e0b)}
.hero-logo-link{display:inline-grid;place-items:center;margin:0 0 18px}.hero-logo{width:clamp(132px,18vw,216px)!important;margin:0!important;filter:drop-shadow(0 24px 42px rgba(2,6,23,.22))}.teachers-dashboard-hero{background:radial-gradient(circle at 86% 16%,rgba(245,176,39,.55),transparent 15rem),radial-gradient(circle at 78% 82%,rgba(34,197,94,.35),transparent 16rem),linear-gradient(135deg,#1e3a8a,#2563eb 42%,#7c3aed 76%)!important}.teachers-dashboard-hero .eyebrow,.teachers-dashboard-hero h2{display:block!important}.teachers-dashboard-hero h2{margin:.25rem 0;font-size:clamp(2rem,4vw,3.3rem);color:#fff}.teachers-dashboard-hero .eyebrow{color:#dbeafe;font-weight:700}.teachers-dashboard-hero p{color:#eef2ff!important}.site-footer{padding:18px;text-align:center;color:var(--muted);font-weight:500}.site-footer a{font-weight:700!important}
@media (max-width:780px){.sidebar{width:min(300px,88vw)!important}.main,.sidebar-collapsed .main{margin-left:0!important}.focused-topbar{padding:14px 16px 14px 116px!important;justify-content:flex-start}.focused-topbar .mobile-menu-button{left:12px}.focused-topbar .mobile-menu-button + .topbar-logo-link{left:62px}.topbar-logo-link{width:46px;height:46px;border-radius:15px}.topbar-logo-img{width:40px;height:40px}.focused-topbar h1{text-align:left;font-size:1.38rem}.auth-refresh.splash-screen{padding:18px!important}.login-feature-badges span{flex:1 1 100%;text-align:center}.sidebar-collapsed .sidebar{width:min(300px,88vw)!important}.sidebar-collapsed .main{margin-left:0!important}}
@media (max-width:560px){.focused-topbar{padding-left:110px!important}.transparent-login-logo img{width:min(270px,78vw)!important}.login-splash-panel h1{font-size:2.65rem!important}.login-card-heading h2{font-size:1.7rem}}
@media (min-width:781px){.focused-topbar .mobile-menu-button + .topbar-logo-link{left:18px}}
@media (max-width:780px){.focused-topbar .mobile-menu-button + .topbar-logo-link{left:62px}}

/* Ultra-compact sidebar menu spacing */
.sidebar nav{
  gap:1px!important;
  padding-top:0!important;
  padding-bottom:8px!important;
}
.sidebar nav a{
  min-height:36px!important;
  padding:5px 8px!important;
  border-radius:12px!important;
  gap:8px!important;
  font-size:.86rem!important;
  line-height:1.05!important;
}
.sidebar nav svg{
  width:26px!important;
  height:26px!important;
  padding:5px!important;
  border-radius:10px!important;
}
.sidebar nav a:hover,
.sidebar nav a:focus-visible{
  padding-left:8px!important;
  transform:translateX(1px)!important;
}
.sidebar-collapsed .sidebar nav a{
  width:48px!important;
  height:42px!important;
}
.sidebar-collapsed .sidebar nav svg{
  width:30px!important;
  height:30px!important;
  padding:6px!important;
}
@media (max-width:780px){
  .sidebar nav{gap:2px!important}
  .sidebar nav a{min-height:40px!important;padding:7px 9px!important}
  .sidebar nav svg{width:28px!important;height:28px!important}
}

/* Official Lekòl360 logo rollout */
.app-loading-screen{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:radial-gradient(circle at 16% 12%,rgba(37,99,235,.16),transparent 26rem),radial-gradient(circle at 84% 16%,rgba(245,158,11,.18),transparent 24rem),linear-gradient(135deg,#f8fbff,#eefdf8 52%,#eff6ff);transition:opacity .22s ease,visibility .22s ease}.app-loading-screen.is-hidden{opacity:0;visibility:hidden}.loading-logo{width:min(440px,78vw);height:auto;filter:drop-shadow(0 26px 52px rgba(15,118,110,.18))}html[data-theme="dark"] .app-loading-screen{background:radial-gradient(circle at 16% 12%,rgba(96,165,250,.13),transparent 26rem),radial-gradient(circle at 84% 16%,rgba(251,191,36,.12),transparent 24rem),linear-gradient(135deg,#031716,#08152a)}
.brand-link{align-items:center!important;gap:10px!important;min-height:76px!important;padding:8px 8px!important}.brand-logo-img{width:142px!important;height:auto!important;max-height:64px!important;border-radius:0!important;object-fit:contain!important;filter:drop-shadow(0 12px 22px rgba(0,0,0,.20))!important;flex:0 0 auto}.brand-text{display:none!important}.sidebar-collapsed .brand-logo-img{width:58px!important;height:58px!important;object-fit:contain!important}.sidebar-collapsed .brand-link{min-height:66px!important;justify-content:center!important;padding:6px!important}.topbar-logo-link{width:154px!important;height:58px!important;border-radius:20px!important;background:color-mix(in srgb,var(--panel-solid) 70%,transparent)!important;backdrop-filter:blur(14px)}.topbar-logo-img{width:138px!important;height:52px!important;object-fit:contain!important}.focused-topbar{padding-left:184px!important}.hero-logo{width:clamp(260px,28vw,410px)!important;height:auto!important}.premium-logo img{width:min(560px,84vw)!important;height:auto!important}.report-official-logo{width:170px;height:auto;object-fit:contain;flex:0 0 auto}.report .media-hero{gap:14px;align-items:center}@media print{.app-loading-screen,.sidebar,.topbar,.site-footer{display:none!important}.main,.sidebar-collapsed .main{margin-left:0!important}.report-official-logo{width:150px!important}}
@media (max-width:780px){.brand-logo-img{width:134px!important}.topbar-logo-link{width:118px!important;height:48px!important;left:58px!important}.topbar-logo-img{width:108px!important;height:42px!important}.focused-topbar{padding-left:188px!important}.focused-topbar .mobile-menu-button + .topbar-logo-link{left:62px!important}.hero-logo{width:min(310px,84vw)!important}.premium-logo img{width:min(420px,88vw)!important}.report-official-logo{width:136px}.report .media-hero{flex-wrap:wrap}.loading-logo{width:min(330px,82vw)}}
@media (max-width:560px){.focused-topbar{padding-left:148px!important}.topbar-logo-link{width:92px!important}.topbar-logo-img{width:84px!important}.premium-logo img{width:min(340px,86vw)!important}.hero-logo{width:min(280px,86vw)!important}}
/* Keep the expanded sidebar usable after the larger official wordmark. */
.sidebar{display:flex!important;flex-direction:column!important;max-height:100vh!important}.brand{flex:0 0 auto!important}.sidebar nav{flex:1 1 auto!important;min-height:0!important;max-height:calc(100vh - 170px)!important;overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:thin;scrollbar-color:#ffffff55 transparent}.sidebar-footer-actions{flex:0 0 auto!important}.sidebar nav::-webkit-scrollbar{width:6px}.sidebar nav::-webkit-scrollbar-thumb{background:#ffffff55;border-radius:999px}
/* Elegant login introduction section */
.login-introduction{position:relative;z-index:1;margin-top:clamp(18px,3vw,30px);max-width:760px;padding:clamp(18px,2.4vw,28px);border:1px solid color-mix(in srgb,var(--brand) 16%,#ffffff 72%);border-radius:30px;background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,255,255,.48));box-shadow:0 24px 70px rgba(15,23,42,.11),inset 0 1px 0 rgba(255,255,255,.76);backdrop-filter:blur(18px);color:#102033}.login-introduction:before{content:"";position:absolute;inset:0 auto auto 0;width:7px;height:100%;border-radius:30px 0 0 30px;background:linear-gradient(180deg,var(--brand),var(--brand2),var(--accent));opacity:.95}.intro-heading-row{display:flex;align-items:center;gap:14px;margin-bottom:14px}.intro-icon{display:grid;place-items:center;flex:0 0 auto;width:46px;height:46px;border-radius:17px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;box-shadow:0 16px 34px color-mix(in srgb,var(--brand) 28%,transparent);font-size:1.25rem}.intro-eyebrow{display:block;margin-bottom:4px;color:var(--brand-strong);font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.login-introduction h2{margin:0;color:#0f172a;font-size:clamp(1.28rem,2.4vw,2rem);line-height:1.05;letter-spacing:-.045em}.login-introduction p{margin:10px 0 0;max-width:68ch;color:#334155;font-size:clamp(.94rem,1.2vw,1.03rem);line-height:1.58}.intro-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 4px}.intro-feature-grid div{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 12px;border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(239,246,255,.72));border:1px solid rgba(226,232,240,.88);box-shadow:0 10px 24px rgba(15,23,42,.07)}.intro-feature-grid div:last-child{grid-column:1 / -1}.intro-feature-grid span{display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;border-radius:12px;background:color-mix(in srgb,var(--brand) 11%,#ffffff);font-size:1rem}.intro-feature-grid strong{font-size:.9rem;line-height:1.22;color:#172033}.intro-tagline{display:inline-flex;align-items:center;margin-top:16px!important;padding:10px 14px;border-radius:999px;background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 14%,#ffffff),color-mix(in srgb,var(--accent) 12%,#ffffff));color:var(--brand-strong)!important;font-weight:950;letter-spacing:-.015em}html[data-theme="dark"] .login-introduction{background:linear-gradient(135deg,rgba(15,29,49,.82),rgba(17,28,46,.58));border-color:#ffffff1c;color:#e5eefc;box-shadow:0 24px 70px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.08)}html[data-theme="dark"] .login-introduction h2{color:#f8fafc}html[data-theme="dark"] .login-introduction p{color:#cbd5e1}html[data-theme="dark"] .intro-feature-grid div{background:linear-gradient(135deg,rgba(15,29,49,.92),rgba(30,41,59,.76));border-color:#ffffff14}html[data-theme="dark"] .intro-feature-grid strong{color:#e5eefc}html[data-theme="dark"] .intro-feature-grid span{background:rgba(45,212,191,.12)}html[data-theme="dark"] .intro-tagline{background:linear-gradient(135deg,rgba(45,212,191,.14),rgba(251,191,36,.12));color:#99f6e4!important}@media (min-width:1061px){.auth-refresh.splash-screen{align-items:start}.auth-hero-panel{align-self:stretch}.login-introduction{max-height:52vh;overflow:auto;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--brand) 35%,transparent) transparent}.login-introduction::-webkit-scrollbar{width:6px}.login-introduction::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--brand) 35%,transparent);border-radius:999px}}@media (max-width:1060px){.login-introduction{max-width:none}.intro-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.login-introduction{padding:18px;border-radius:24px}.intro-heading-row{align-items:flex-start}.intro-icon{width:40px;height:40px;border-radius:15px}.intro-feature-grid{grid-template-columns:1fr}.intro-feature-grid div:last-child{grid-column:auto}.login-introduction p{font-size:.94rem;line-height:1.52}.intro-tagline{display:flex;border-radius:20px;line-height:1.25}}

/* Cleaner text-free login splash panel */
.clean-login-visual{
  display:flex;
  min-height:clamp(360px,62vh,620px);
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:clamp(18px,3vw,30px);
  text-align:center;
}
.clean-login-visual .login-brand{
  position:relative;
  z-index:2;
  display:inline-grid;
  place-items:center;
  margin:0;
  padding:clamp(12px,2vw,20px);
  border-radius:34px;
  background:linear-gradient(135deg,rgba(255,255,255,.68),rgba(255,255,255,.34));
  border:1px solid rgba(255,255,255,.76);
  box-shadow:0 26px 72px rgba(15,23,42,.12),inset 0 1px 0 rgba(255,255,255,.86);
  backdrop-filter:blur(18px);
}
.clean-login-visual .transparent-login-logo img{
  width:min(520px,70vw)!important;
}
.login-visual-stack{
  position:relative;
  z-index:1;
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:center;
  width:min(420px,72vw);
}
.visual-pill{
  display:block;
  height:10px;
  border-radius:999px;
  box-shadow:0 12px 28px rgba(15,23,42,.11);
}
.visual-pill-blue{width:42%;background:linear-gradient(90deg,#2563eb,#06b6d4)}
.visual-pill-gold{width:24%;background:linear-gradient(90deg,#f59e0b,#facc15)}
.visual-pill-green{width:34%;background:linear-gradient(90deg,#0f766e,#22c55e)}
html[data-theme="dark"] .clean-login-visual .login-brand{
  background:linear-gradient(135deg,rgba(15,23,42,.54),rgba(15,23,42,.30));
  border-color:rgba(255,255,255,.14);
}
@media (max-width:1060px){
  .clean-login-visual{min-height:auto;padding:clamp(26px,6vw,46px)!important}
}
@media (max-width:560px){
  .clean-login-visual .transparent-login-logo img{width:min(320px,82vw)!important}
  .login-visual-stack{width:min(300px,78vw)}
}

/* Responsive Lekòl360 login introduction card */
.clean-login-visual{
  align-items:stretch;
  justify-content:center;
  text-align:left;
  min-height:auto;
}
.clean-login-visual .login-brand,
.clean-login-visual .login-visual-stack{
  align-self:center;
}
.lekol-intro-card{
  align-self:center;
  width:min(760px,100%);
  margin-top:clamp(14px,2.5vw,24px)!important;
  padding:clamp(18px,2.2vw,26px)!important;
  border-radius:30px!important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.86),rgba(255,255,255,.56)),
    radial-gradient(circle at 92% 8%,rgba(37,99,235,.14),transparent 14rem)!important;
  border:1px solid color-mix(in srgb,var(--brand) 18%,#ffffff 70%)!important;
  box-shadow:0 24px 70px rgba(15,23,42,.12),inset 0 1px 0 rgba(255,255,255,.82)!important;
  backdrop-filter:blur(18px);
}
.lekol-intro-card .intro-heading-row{
  align-items:center;
  margin-bottom:clamp(10px,1.6vw,14px);
}
.lekol-intro-card .intro-icon{
  background:linear-gradient(135deg,#2563eb,#0f766e 58%,#f59e0b)!important;
}
.lekol-intro-card .intro-eyebrow{
  color:var(--brand-strong);
}
.lekol-intro-card h2{
  font-size:clamp(1.32rem,2.2vw,1.95rem)!important;
}
.lekol-intro-card p{
  font-size:clamp(.92rem,1vw,1rem)!important;
  line-height:1.56!important;
}
.intro-list-block{
  margin:clamp(12px,1.8vw,18px) 0;
}
.lekol-intro-card .intro-list-title{
  margin:0 0 10px!important;
  color:#0f172a;
  font-weight:850;
}
.lekol-intro-card .intro-feature-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin:0!important;
}
.lekol-intro-card .intro-feature-grid div{
  min-height:44px;
  padding:9px 11px;
  border-radius:17px;
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(239,246,255,.74));
}
.lekol-intro-card .intro-feature-grid div:last-child{
  grid-column:1 / -1;
}
.lekol-intro-card .intro-feature-grid strong{
  font-size:.9rem;
  line-height:1.22;
}
.lekol-intro-card .intro-tagline{
  display:inline-flex;
  margin-top:14px!important;
  padding:10px 13px;
  border-radius:999px;
  color:#fff!important;
  font-weight:900;
  letter-spacing:-.01em;
  background:linear-gradient(135deg,#0f766e,#2563eb 58%,#7c3aed);
  box-shadow:0 14px 32px color-mix(in srgb,var(--brand) 22%,transparent);
}
html[data-theme="dark"] .lekol-intro-card{
  background:linear-gradient(135deg,rgba(15,23,42,.76),rgba(15,23,42,.50))!important;
  border-color:rgba(255,255,255,.16)!important;
  color:#e5eefc!important;
}
html[data-theme="dark"] .lekol-intro-card h2,
html[data-theme="dark"] .lekol-intro-card .intro-list-title{color:#f8fafc!important}
html[data-theme="dark"] .lekol-intro-card p{color:#cbd5e1!important}
html[data-theme="dark"] .lekol-intro-card .intro-feature-grid div{
  background:linear-gradient(135deg,rgba(30,41,59,.86),rgba(15,23,42,.72));
  border-color:rgba(255,255,255,.12);
}
@media (max-width:1060px){
  .lekol-intro-card{width:min(820px,100%)}
}
@media (max-width:780px){
  .lekol-intro-card{border-radius:24px!important}
  .lekol-intro-card .intro-feature-grid{grid-template-columns:1fr}
  .lekol-intro-card .intro-feature-grid div:last-child{grid-column:auto}
}
@media (max-width:560px){
  .clean-login-visual{padding:18px!important;gap:14px}
  .lekol-intro-card{padding:16px!important;border-radius:22px!important}
  .lekol-intro-card .intro-heading-row{align-items:flex-start;gap:10px}
  .lekol-intro-card .intro-icon{width:40px;height:40px;border-radius:14px}
  .lekol-intro-card .intro-tagline{display:flex;border-radius:18px;text-align:center;justify-content:center}
}

/* Prevent the richer login introduction from being clipped on shorter screens */
.login-page.splash-screen,
.login-page.auth-refresh{
  overflow-x:hidden!important;
  overflow-y:auto!important;
  align-items:start!important;
}
.login-page .clean-login-visual{
  padding:clamp(20px,3vw,34px)!important;
}
.login-page .clean-login-visual .transparent-login-logo img{
  width:min(420px,62vw)!important;
}
.login-page .lekol-intro-card{
  padding:clamp(16px,1.8vw,22px)!important;
}
.login-page .lekol-intro-card p{
  margin-top:8px!important;
}
.login-page .lekol-intro-card .intro-feature-grid div{
  min-height:40px;
  padding:8px 10px;
}
.login-page .lekol-intro-card .intro-tagline{
  margin-top:10px!important;
}
@media (max-width:780px){
  .login-page.splash-screen,.login-page.auth-refresh{align-items:stretch!important}
}
@media (max-width:560px){
  .login-page .clean-login-visual .transparent-login-logo img{width:min(300px,80vw)!important}
}

/* Compact two-column intro layout for desktop login */
.lekol-intro-card .intro-content-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,.92fr);
  gap:clamp(12px,1.8vw,18px);
  align-items:start;
}
.lekol-intro-card .intro-copy p:first-child{margin-top:0!important}
.lekol-intro-card .intro-list-block{margin:0!important}
.lekol-intro-card .intro-feature-grid{
  grid-template-columns:1fr!important;
  gap:7px!important;
}
.lekol-intro-card .intro-feature-grid div,
.login-page .lekol-intro-card .intro-feature-grid div{
  min-height:34px!important;
  padding:7px 9px!important;
  border-radius:14px!important;
}
.lekol-intro-card .intro-feature-grid span{
  width:26px!important;
  height:26px!important;
  border-radius:10px!important;
}
.lekol-intro-card .intro-feature-grid strong{font-size:.82rem!important}
.login-page .clean-login-visual .transparent-login-logo img{width:min(340px,52vw)!important}
.login-page .login-visual-stack{width:min(330px,56vw)}
.login-page .visual-pill{height:8px}
@media (max-width:1240px){
  .lekol-intro-card .intro-content-grid{grid-template-columns:1fr}
  .lekol-intro-card .intro-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:780px){
  .lekol-intro-card .intro-content-grid{grid-template-columns:1fr}
  .lekol-intro-card .intro-feature-grid{grid-template-columns:1fr!important}
}

/* Full-width login intro section below the portal choices to prevent overcrowding */
.login-page > .lekol-intro-card{
  grid-column:1 / -1;
  width:min(1120px,100%);
  max-width:1120px;
  justify-self:center;
  margin:clamp(6px,1vw,12px) auto 0!important;
}
.login-page > .lekol-intro-card .intro-content-grid{
  grid-template-columns:minmax(0,1fr) minmax(300px,.78fr);
}
.login-page > .lekol-intro-card .intro-feature-grid{
  grid-template-columns:1fr!important;
}
.login-page > .clean-login-visual{
  min-height:clamp(250px,38vh,360px)!important;
}
.login-page > .clean-login-visual .transparent-login-logo img{
  width:min(380px,52vw)!important;
}
@media (max-width:1060px){
  .login-page > .lekol-intro-card .intro-content-grid{grid-template-columns:1fr}
  .login-page > .lekol-intro-card .intro-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:780px){
  .login-page > .lekol-intro-card .intro-feature-grid{grid-template-columns:1fr!important}
}

/* Let the full intro copy expand naturally instead of scrolling/clipping inside the card */
.login-page > .lekol-intro-card,
.login-page .lekol-intro-card{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
.login-page > .lekol-intro-card{
  padding-bottom:clamp(22px,2.4vw,30px)!important;
}

/* Rearranged premium split login layout: intro integrated with brand panel */
.login-page.splash-screen,
.login-page.auth-refresh{
  grid-template-columns:minmax(0,1.32fr) minmax(360px,470px)!important;
  align-items:center!important;
  gap:clamp(22px,4vw,46px)!important;
  padding:clamp(20px,3.8vw,56px)!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
.login-page > .clean-login-visual{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:center!important;
  gap:clamp(12px,1.8vw,18px)!important;
  min-height:auto!important;
  padding:clamp(22px,3vw,34px)!important;
  text-align:left!important;
}
.login-page > .clean-login-visual:after{
  opacity:.72;
}
.login-page > .clean-login-visual .login-brand,
.login-page > .clean-login-visual .login-visual-stack{
  align-self:flex-start!important;
}
.login-page > .clean-login-visual .login-brand{
  padding:clamp(8px,1.2vw,13px)!important;
  border-radius:28px!important;
}
.login-page > .clean-login-visual .transparent-login-logo img{
  width:min(330px,44vw)!important;
}
.login-page > .clean-login-visual .login-visual-stack{
  width:min(310px,42vw)!important;
  margin-left:clamp(10px,1.5vw,18px);
}
.login-page > .clean-login-visual .visual-pill{
  height:8px!important;
}
.login-page > .clean-login-visual .lekol-intro-card{
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  margin:0!important;
  padding:clamp(17px,2vw,24px)!important;
  border-radius:28px!important;
}
.login-page > .clean-login-visual .lekol-intro-card .intro-content-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(260px,.78fr)!important;
  gap:clamp(12px,1.7vw,18px)!important;
  align-items:start!important;
}
.login-page > .clean-login-visual .lekol-intro-card .intro-heading-row{
  margin-bottom:12px!important;
}
.login-page > .clean-login-visual .lekol-intro-card p{
  margin-top:7px!important;
  font-size:clamp(.86rem,.95vw,.96rem)!important;
  line-height:1.48!important;
}
.login-page > .clean-login-visual .intro-list-title{
  margin:0 0 8px!important;
}
.login-page > .clean-login-visual .intro-feature-grid{
  grid-template-columns:1fr!important;
  gap:7px!important;
}
.login-page > .clean-login-visual .intro-feature-grid div{
  min-height:34px!important;
  padding:7px 9px!important;
  border-radius:14px!important;
}
.login-page > .clean-login-visual .intro-feature-grid span{
  width:25px!important;
  height:25px!important;
  border-radius:10px!important;
}
.login-page > .clean-login-visual .intro-feature-grid strong{
  font-size:.8rem!important;
  line-height:1.16!important;
}
.login-page > .clean-login-visual .intro-tagline{
  margin-top:12px!important;
  padding:9px 12px!important;
  font-size:.9rem!important;
}
.login-page > .refined-portal-card{
  justify-self:stretch!important;
  align-self:center!important;
  position:relative!important;
  z-index:2!important;
}
@media (max-width:1180px){
  .login-page > .clean-login-visual .lekol-intro-card .intro-content-grid{grid-template-columns:1fr!important}
  .login-page > .clean-login-visual .intro-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:1060px){
  .login-page.splash-screen,
  .login-page.auth-refresh{
    grid-template-columns:1fr!important;
    align-items:stretch!important;
  }
  .login-page > .refined-portal-card{max-width:none!important;order:1!important}
  .login-page > .clean-login-visual{order:2!important}
  .login-page > .clean-login-visual .login-brand,
  .login-page > .clean-login-visual .login-visual-stack{align-self:center!important;margin-left:0!important}
  .login-page > .clean-login-visual .lekol-intro-card .intro-content-grid{grid-template-columns:minmax(0,1fr) minmax(260px,.82fr)!important}
}
@media (max-width:780px){
  .login-page.splash-screen,
  .login-page.auth-refresh{padding:16px!important;gap:16px!important}
  .login-page > .clean-login-visual{padding:18px!important;border-radius:28px!important}
  .login-page > .clean-login-visual .lekol-intro-card .intro-content-grid{grid-template-columns:1fr!important}
  .login-page > .clean-login-visual .intro-feature-grid{grid-template-columns:1fr!important}
}
@media (max-width:560px){
  .login-page > .clean-login-visual .transparent-login-logo img{width:min(300px,78vw)!important}
  .login-page > .clean-login-visual .login-visual-stack{width:min(280px,74vw)!important}
}

/* Final balanced split login arrangement */
.login-page.splash-screen,
.login-page.auth-refresh{
  width:100%!important;
  grid-template-columns:minmax(540px,1fr) minmax(330px,390px)!important;
  gap:clamp(18px,2.5vw,28px)!important;
  padding:clamp(18px,2.4vw,30px)!important;
  align-items:start!important;
}
.login-page > .clean-login-visual{
  min-width:0!important;
  max-width:none!important;
  padding:clamp(18px,2.2vw,28px)!important;
  gap:12px!important;
}
.login-page > .refined-portal-card{
  width:100%!important;
  max-width:390px!important;
  padding:clamp(24px,2.6vw,32px)!important;
  margin-top:clamp(72px,8vw,106px)!important;
  justify-self:stretch!important;
}
.login-page > .clean-login-visual .transparent-login-logo img{
  width:min(330px,38vw)!important;
}
.login-page > .clean-login-visual .login-visual-stack{
  width:min(300px,34vw)!important;
}
.login-page > .clean-login-visual .lekol-intro-card{
  width:100%!important;
  padding:clamp(16px,1.8vw,22px)!important;
}
.login-page > .clean-login-visual .lekol-intro-card .intro-content-grid{
  grid-template-columns:1fr!important;
  gap:10px!important;
}
.login-page > .clean-login-visual .intro-copy{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}
.login-page > .clean-login-visual .intro-copy p{
  margin:0!important;
  padding:11px 12px;
  border-radius:16px;
  background:rgba(255,255,255,.56);
  border:1px solid rgba(226,232,240,.72);
  font-size:.82rem!important;
  line-height:1.42!important;
}
.login-page > .clean-login-visual .intro-list-title{
  font-size:.86rem!important;
  margin:2px 0 8px!important;
}
.login-page > .clean-login-visual .intro-feature-grid{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:7px!important;
}
.login-page > .clean-login-visual .intro-feature-grid div{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  min-height:82px!important;
  gap:6px!important;
  padding:9px!important;
}
.login-page > .clean-login-visual .intro-feature-grid span{
  width:28px!important;
  height:28px!important;
}
.login-page > .clean-login-visual .intro-feature-grid strong{
  font-size:.76rem!important;
  line-height:1.12!important;
}
.login-page > .clean-login-visual .intro-tagline{
  font-size:.86rem!important;
  margin-top:10px!important;
}
html[data-theme="dark"] .login-page > .clean-login-visual .intro-copy p{
  background:rgba(30,41,59,.68);
  border-color:rgba(255,255,255,.12);
}
@media (max-width:1180px){
  .login-page.splash-screen,
  .login-page.auth-refresh{grid-template-columns:1fr!important;align-items:stretch!important}
  .login-page > .refined-portal-card{order:1!important;max-width:none!important;margin-top:0!important}
  .login-page > .clean-login-visual{order:2!important}
  .login-page > .clean-login-visual .intro-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .login-page > .clean-login-visual .intro-feature-grid div{min-height:54px!important;flex-direction:row!important;align-items:center!important}
}
@media (max-width:780px){
  .login-page > .clean-login-visual .intro-copy{grid-template-columns:1fr!important}
  .login-page > .clean-login-visual .intro-feature-grid{grid-template-columns:1fr!important}
}

/* Readability polish for the integrated login introduction */
.login-page > .clean-login-visual{
  overflow:visible!important;
}
.login-page > .clean-login-visual .intro-copy{
  display:block!important;
}
.login-page > .clean-login-visual .intro-copy p{
  margin:8px 0 0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  font-size:clamp(.9rem,1vw,.98rem)!important;
  line-height:1.52!important;
}
.login-page > .clean-login-visual .intro-feature-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
.login-page > .clean-login-visual .intro-feature-grid div{
  flex-direction:row!important;
  align-items:center!important;
  min-height:48px!important;
  padding:9px 10px!important;
}
.login-page > .clean-login-visual .intro-feature-grid div:last-child{
  grid-column:1 / -1!important;
}
.login-page > .clean-login-visual .intro-feature-grid strong{
  font-size:.83rem!important;
  line-height:1.18!important;
}

/* Authenticated shell: keep branding logo only in the sidebar */
.sidebar .logo-only-brand{
  justify-content:center!important;
  align-items:center!important;
  min-height:76px!important;
  padding:8px!important;
}
.sidebar .logo-only-brand .brand-logo-img{
  display:block!important;
  width:min(150px,100%)!important;
  max-height:64px!important;
  height:auto!important;
  object-fit:contain!important;
}
.sidebar-collapsed .sidebar .logo-only-brand .brand-logo-img{
  width:58px!important;
  height:58px!important;
}
.focused-topbar{
  padding-left:clamp(18px,3vw,34px)!important;
  padding-right:clamp(18px,3vw,34px)!important;
}
.focused-topbar .topbar-title{
  grid-column:auto!important;
  order:0!important;
}
@media (max-width:780px){
  .focused-topbar{
    padding:14px 16px 14px 72px!important;
  }
}
@media (max-width:560px){
  .focused-topbar{
    padding-left:72px!important;
  }
}


/* 2026 brand-aligned Lekòl360 palette, logo, footer, login, and sidebar final pass */
:root{
  --lekol-navy:#003b79;
  --lekol-blue:#0787d8;
  --lekol-sky:#04a6df;
  --lekol-green:#6cc42a;
  --lekol-lime:#9bd21b;
  --lekol-orange:#ff9f05;
  --lekol-gold:#ffc20a;
  --brand:var(--lekol-navy);
  --brand-strong:#002b5d;
  --brand2:var(--lekol-blue);
  --brand3:var(--lekol-green);
  --accent:var(--lekol-orange);
  --accent2:var(--lekol-gold);
  --bg:#f5fbff;
  --bg2:#f6fff0;
  --panel:#fffffff2;
  --panel-solid:#ffffff;
  --ink:#08223f;
  --muted:#5e7189;
  --line:#d9e8f5;
  --sidebar:#002b5d;
  --sidebar2:#03172f;
  --sideText:#f2fbff;
  --shadow:0 24px 70px rgba(0,59,121,.15);
  --soft-shadow:0 14px 38px rgba(7,135,216,.18);
}
html[data-theme="dark"]{
  --bg:#03101f;
  --bg2:#061a16;
  --panel:#0a1b2fee;
  --panel-solid:#0e2035;
  --ink:#f1f8ff;
  --muted:#b7c8dc;
  --line:#25435f;
  --brand:#67c7ff;
  --brand-strong:#a7e0ff;
  --brand2:#0787d8;
  --brand3:#8ee15a;
  --accent:#ffb43b;
  --accent2:#ffd76a;
  --sidebar:#021326;
  --sidebar2:#020a14;
  --sideText:#f5fbff;
}
body{
  background:
    radial-gradient(circle at 8% 8%,rgba(7,135,216,.20),transparent 28rem),
    radial-gradient(circle at 94% 12%,rgba(255,159,5,.18),transparent 24rem),
    radial-gradient(circle at 78% 90%,rgba(108,196,42,.16),transparent 26rem),
    linear-gradient(135deg,var(--bg),var(--bg2))!important;
}
.primary,button[type="submit"]{background:linear-gradient(135deg,var(--lekol-navy),var(--lekol-blue) 58%,var(--lekol-green))!important;box-shadow:0 14px 30px rgba(7,135,216,.26)!important}.primary:hover,button[type="submit"]:hover{filter:saturate(1.08) brightness(1.03);transform:translateY(-1px)}
.sidebar{
  width:260px!important;
  padding:14px 12px!important;
  gap:8px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.04) 42%,transparent 72%),
    radial-gradient(circle at 16% 8%,rgba(7,135,216,.46),transparent 15rem),
    radial-gradient(circle at 108% 26%,rgba(108,196,42,.34),transparent 15rem),
    radial-gradient(circle at 50% 100%,rgba(255,159,5,.20),transparent 15rem),
    linear-gradient(180deg,var(--sidebar),var(--sidebar2))!important;
  border-right:1px solid rgba(255,255,255,.14)!important;
  box-shadow:18px 0 50px rgba(2,6,23,.32)!important;
}
.main{margin-left:260px!important}.sidebar-collapsed .sidebar{width:84px!important}.sidebar-collapsed .main{margin-left:84px!important}
.sidebar .logo-only-brand{
  min-height:74px!important;
  border-radius:22px!important;
  padding:8px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(242,249,255,.88))!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:0 18px 42px rgba(0,24,54,.28),inset 0 1px 0 rgba(255,255,255,.9)!important;
}
.sidebar .logo-only-brand:hover,.sidebar .logo-only-brand:focus-visible{transform:translateY(-2px)!important;box-shadow:0 22px 50px rgba(0,24,54,.34),0 0 0 4px rgba(255,194,10,.16)!important;outline:none}
.sidebar .logo-only-brand .brand-logo-img{width:164px!important;max-height:58px!important;filter:none!important}.sidebar-collapsed .sidebar .logo-only-brand{min-height:62px!important;padding:6px!important;border-radius:18px!important}.sidebar-collapsed .sidebar .logo-only-brand .brand-logo-img{width:54px!important;height:54px!important;object-fit:contain!important}
.sidebar nav{gap:4px!important;padding:4px 1px 10px!important}.sidebar nav a{min-height:39px!important;padding:6px 8px!important;border-radius:14px!important;gap:8px!important;font-size:.86rem!important;line-height:1.1!important;color:#eef8ff!important;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.025))!important;border:1px solid transparent!important}.sidebar nav a:hover,.sidebar nav a:focus-visible,.sidebar nav a.is-active{background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.08))!important;border-color:rgba(255,255,255,.22)!important;transform:translateX(2px)!important;box-shadow:0 12px 26px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.14)!important;outline:none}.sidebar nav svg{width:28px!important;height:28px!important;padding:6px!important;border-radius:11px!important}.sidebar nav a:nth-child(1){--icon-c1:#0787d8;--icon-c2:#003b79;--icon-glow:rgba(7,135,216,.30)}.sidebar nav a:nth-child(2){--icon-c1:#6cc42a;--icon-c2:#0787d8;--icon-glow:rgba(108,196,42,.30)}.sidebar nav a:nth-child(3){--icon-c1:#ff9f05;--icon-c2:#ffc20a;--icon-glow:rgba(255,159,5,.30)}.sidebar nav a:nth-child(4){--icon-c1:#003b79;--icon-c2:#0787d8;--icon-glow:rgba(0,59,121,.30)}.sidebar nav a:nth-child(5){--icon-c1:#0787d8;--icon-c2:#6cc42a;--icon-glow:rgba(7,135,216,.30)}.sidebar nav a:nth-child(6){--icon-c1:#ff9f05;--icon-c2:#003b79;--icon-glow:rgba(255,159,5,.30)}.sidebar nav a:nth-child(7){--icon-c1:#6cc42a;--icon-c2:#003b79;--icon-glow:rgba(108,196,42,.30)}.sidebar nav a:nth-child(8){--icon-c1:#003b79;--icon-c2:#ff9f05;--icon-glow:rgba(0,59,121,.30)}.sidebar nav a:nth-child(9){--icon-c1:#0787d8;--icon-c2:#ffc20a;--icon-glow:rgba(7,135,216,.30)}.sidebar nav a:nth-child(10){--icon-c1:#003b79;--icon-c2:#6cc42a;--icon-glow:rgba(0,59,121,.30)}
.compact-sidebar-tools{gap:6px!important;padding-top:8px!important}.sidebar-tool{height:44px!important;min-height:44px!important;border-radius:14px!important;background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.07))!important}.sidebar-tool:hover,.sidebar-tool:focus-visible{background:linear-gradient(135deg,rgba(255,255,255,.25),rgba(255,255,255,.11))!important}.sidebar-collapsed .sidebar-tool{width:48px!important;height:44px!important}.sidebar-collapsed .sidebar nav a{width:48px!important;height:42px!important}.sidebar-collapsed .sidebar nav svg{width:30px!important;height:30px!important}
.focused-topbar{background:linear-gradient(135deg,color-mix(in srgb,var(--panel-solid) 92%,transparent),color-mix(in srgb,var(--brand2) 8%,var(--panel-solid)) 56%,color-mix(in srgb,var(--brand3) 5%,var(--panel-solid)))!important;border-color:color-mix(in srgb,var(--brand2) 18%,var(--line))!important}.panel,.mini-card,.stats>div,.dashboard-search{border-color:color-mix(in srgb,var(--brand2) 14%,var(--line))!important}.module-hero,.entity-hero,.lekol360-hero{background:radial-gradient(circle at 88% 14%,rgba(255,194,10,.44),transparent 15rem),radial-gradient(circle at 78% 84%,rgba(108,196,42,.34),transparent 16rem),linear-gradient(135deg,var(--lekol-navy),var(--lekol-blue) 58%,#0b5fac)!important}
.site-footer{display:flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;flex-wrap:wrap!important;padding:18px!important;margin-top:24px!important;border-top:1px solid color-mix(in srgb,var(--brand2) 14%,var(--line));color:var(--muted)!important}.footer-logo{width:112px;height:auto;padding:5px 8px;border-radius:14px;background:linear-gradient(135deg,#fff,#f3faff);border:1px solid color-mix(in srgb,var(--brand2) 12%,#fff);box-shadow:0 10px 24px rgba(0,59,121,.10)}html[data-theme="dark"] .footer-logo{background:linear-gradient(135deg,#f8fbff,#eaf5ff);box-shadow:0 10px 26px rgba(0,0,0,.36)}
.login-page.splash-screen,.login-page.auth-refresh{grid-template-columns:minmax(300px,.9fr) minmax(340px,430px)!important;align-items:start!important;gap:clamp(18px,3vw,34px)!important;background:radial-gradient(circle at 10% 12%,rgba(7,135,216,.18),transparent 24rem),radial-gradient(circle at 90% 12%,rgba(255,159,5,.20),transparent 22rem),radial-gradient(circle at 78% 86%,rgba(108,196,42,.16),transparent 24rem),linear-gradient(135deg,#f8fbff,#f6fff0 48%,#edf8ff)!important}.login-page > .clean-login-visual{min-height:0!important;align-self:start!important;justify-content:flex-start!important;text-align:center!important;padding:clamp(20px,3vw,32px)!important}.login-page > .clean-login-visual .login-brand{align-self:center!important;background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(242,249,255,.78))!important;border:1px solid rgba(255,255,255,.78)!important;box-shadow:0 24px 62px rgba(0,59,121,.16),inset 0 1px 0 #fff!important}.login-page > .clean-login-visual .transparent-login-logo img{width:min(380px,44vw)!important;filter:none!important}.login-page > .clean-login-visual .login-visual-stack{align-self:center!important;width:min(320px,42vw)!important;margin-left:0!important}.login-page > .refined-portal-card{margin-top:clamp(18px,3vw,34px)!important;max-width:430px!important}.login-page > .lekol-intro-card{grid-column:2!important;align-self:start!important;width:100%!important;max-width:430px!important;margin:0!important;justify-self:stretch!important;padding:clamp(18px,2vw,24px)!important;border-radius:28px!important}.login-page > .lekol-intro-card .intro-content-grid{grid-template-columns:1fr!important}.login-page > .lekol-intro-card .intro-feature-grid{grid-template-columns:1fr!important}.login-page > .lekol-intro-card .intro-feature-grid div:last-child{grid-column:auto!important}.login-page > .lekol-intro-card .intro-copy p{margin:8px 0 0!important;padding:0!important;background:transparent!important;border:0!important}.login-page > .lekol-intro-card .intro-tagline{border-radius:18px!important;white-space:normal!important}html[data-theme="dark"] .login-page.splash-screen,html[data-theme="dark"] .login-page.auth-refresh{background:radial-gradient(circle at 10% 12%,rgba(7,135,216,.14),transparent 24rem),radial-gradient(circle at 90% 12%,rgba(255,159,5,.12),transparent 22rem),radial-gradient(circle at 78% 86%,rgba(108,196,42,.10),transparent 24rem),linear-gradient(135deg,#03101f,#061a16)!important}html[data-theme="dark"] .login-page > .clean-login-visual .login-brand{background:linear-gradient(135deg,#f8fbff,#eaf5ff)!important;border-color:rgba(255,255,255,.24)!important;box-shadow:0 24px 64px rgba(0,0,0,.40)!important}
@media (max-width:1180px){.login-page.splash-screen,.login-page.auth-refresh{grid-template-columns:1fr!important}.login-page > .refined-portal-card{order:1!important;max-width:none!important;margin-top:0!important}.login-page > .clean-login-visual{order:2!important}.login-page > .lekol-intro-card{order:3!important;grid-column:1!important;max-width:none!important}.login-page > .clean-login-visual .transparent-login-logo img{width:min(360px,72vw)!important}.login-page > .clean-login-visual .login-visual-stack{width:min(320px,72vw)!important}}
@media (max-width:780px){.sidebar{transform:translateX(-105%)!important;width:min(302px,88vw)!important;z-index:40!important}.sidebar-collapsed .sidebar{width:min(302px,88vw)!important}body.sidebar-open .sidebar{transform:translateX(0)!important}.main,.sidebar-collapsed .main{margin-left:0!important;padding:16px!important}.focused-topbar{padding:14px 16px 14px 72px!important}.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(2,6,23,.62);z-index:35}body.sidebar-open .sidebar-backdrop{display:block}.sidebar .logo-only-brand .brand-logo-img{width:150px!important}.login-page.splash-screen,.login-page.auth-refresh{padding:16px!important}.site-footer{margin-top:18px!important}.footer-logo{width:96px}}
@media (max-width:560px){.login-page > .clean-login-visual .transparent-login-logo img{width:min(300px,82vw)!important}.login-page > .lekol-intro-card{padding:16px!important}.footer-logo{width:88px}.sidebar nav a{font-size:.84rem!important}}


/* Clean flat-color system refresh — flat, modern Lekòl360 UI */
:root{
  --lekol-blue-900:#123c69;
  --lekol-blue-700:#1f6fb2;
  --lekol-blue-600:#2d8bd3;
  --lekol-green-600:#74b843;
  --lekol-green-500:#8ac84b;
  --lekol-amber-500:#f4a62a;
  --lekol-surface:#ffffff;
  --lekol-surface-2:#f5f8fb;
  --lekol-surface-3:#edf4fa;
  --lekol-text:#17324d;
  --lekol-muted:#63778c;
  --lekol-border:#dce7f0;
  --brand:var(--lekol-blue-700);
  --brand-strong:var(--lekol-blue-900);
  --brand2:var(--lekol-blue-600);
  --brand3:var(--lekol-green-600);
  --accent:var(--lekol-amber-500);
  --accent2:var(--lekol-green-500);
  --bg:var(--lekol-surface-2);
  --bg2:var(--lekol-surface-2);
  --panel:#ffffff;
  --panel-solid:#ffffff;
  --ink:var(--lekol-text);
  --muted:var(--lekol-muted);
  --line:var(--lekol-border);
  --sidebar:var(--lekol-blue-900);
  --sidebar2:var(--lekol-blue-900);
  --sideText:#ffffff;
  --shadow:0 10px 24px rgba(18,60,105,.08);
  --soft-shadow:0 8px 18px rgba(31,111,178,.10);
}
html[data-theme="dark"]{
  --lekol-surface:#13263a;
  --lekol-surface-2:#0d1b2a;
  --lekol-surface-3:#182d42;
  --lekol-text:#eef6ff;
  --lekol-muted:#b7c6d6;
  --lekol-border:#29445e;
  --brand:#78b9e8;
  --brand-strong:#cbe8fb;
  --brand2:#2d8bd3;
  --brand3:#8ac84b;
  --accent:#f4a62a;
  --accent2:#74b843;
  --bg:#0d1b2a;
  --bg2:#0d1b2a;
  --panel:#13263a;
  --panel-solid:#13263a;
  --ink:#eef6ff;
  --muted:#b7c6d6;
  --line:#29445e;
  --sidebar:#0b1f33;
  --sidebar2:#0b1f33;
  --sideText:#ffffff;
  --shadow:0 10px 24px rgba(0,0,0,.24);
  --soft-shadow:0 8px 18px rgba(0,0,0,.18);
}
body,
.login-page.auth-refresh,
.login-page.splash-screen,
.app-loading-screen{
  background:var(--bg)!important;
}
.topbar,.focused-topbar,.panel,.mini-card,.stats>div,.dashboard-search,.login-card,.premium-auth-card,.login-splash-panel,.lekol-intro-card,.table-pagination{
  background:var(--panel)!important;
  border:1px solid var(--line)!important;
  box-shadow:var(--shadow)!important;
}
.sidebar{
  background:var(--sidebar)!important;
  border-right:1px solid rgba(255,255,255,.12)!important;
  box-shadow:none!important;
}
.sidebar:before,.module-hero:after,.lekol360-hero:after,.entity-hero:after,.login-splash-panel:after,.splash-orb{display:none!important}
.sidebar .logo-only-brand,
.login-page > .clean-login-visual .login-brand{
  background:#ffffff!important;
  border:1px solid #dce7f0!important;
  box-shadow:none!important;
}
.sidebar .logo-only-brand:hover,.sidebar .logo-only-brand:focus-visible{box-shadow:none!important;transform:translateY(-1px)!important}
.sidebar nav a{
  background:transparent!important;
  border:1px solid transparent!important;
  color:#eef6ff!important;
  box-shadow:none!important;
}
.sidebar nav a:hover,.sidebar nav a:focus-visible,.sidebar nav a.is-active{
  background:#1f6fb2!important;
  border-color:#2d8bd3!important;
  box-shadow:none!important;
  transform:none!important;
}
.sidebar nav svg{
  color:#ffffff!important;
  background:#2d8bd3!important;
  box-shadow:none!important;
}
.sidebar nav a:nth-child(3n+1) svg{background:#2d8bd3!important}
.sidebar nav a:nth-child(3n+2) svg{background:#74b843!important}
.sidebar nav a:nth-child(3n) svg{background:#f4a62a!important}
.sidebar-tool,
.sidebar-footer-actions .sidebar-toggle-button{
  background:#173f68!important;
  border:1px solid #2a5f91!important;
  box-shadow:none!important;
}
.sidebar-tool:hover,.sidebar-tool:focus-visible,.sidebar-footer-actions .sidebar-toggle-button:hover{
  background:#1f6fb2!important;
  box-shadow:none!important;
  transform:none!important;
}
.primary,button[type="submit"]{
  background:#1f6fb2!important;
  color:#ffffff!important;
  box-shadow:none!important;
}
.primary:hover,button[type="submit"]:hover{background:#123c69!important;filter:none!important;transform:none!important}.ghost,.theme-toggle{background:#edf4fa!important;color:#123c69!important;border:1px solid #dce7f0!important;box-shadow:none!important}html[data-theme="dark"] .ghost,html[data-theme="dark"] .theme-toggle{background:#182d42!important;color:#cbe8fb!important;border-color:#29445e!important}.danger,.logout-button{background:#fff1f1!important;color:#b4232a!important;border:1px solid #ffd4d4!important;box-shadow:none!important}html[data-theme="dark"] .danger,html[data-theme="dark"] .logout-button{background:#3b1720!important;color:#ffb4b9!important;border-color:#65303a!important}
.module-hero,.entity-hero,.lekol360-hero,.students-hero,.teachers-hero,.years-hero,.classes-hero,.grades-hero,.attendance-hero,.reports-hero,.import-hero,.schools-hero,.users-hero,.teachers-dashboard-hero{
  background:#1f6fb2!important;
  box-shadow:none!important;
}
.visual-pill-blue{background:#2d8bd3!important}.visual-pill-gold{background:#f4a62a!important}.visual-pill-green{background:#74b843!important}.intro-icon,.portal-icon{background:#1f6fb2!important;box-shadow:none!important}.portal-option:nth-child(2) .portal-icon{background:#74b843!important}.portal-option:nth-child(3) .portal-icon{background:#f4a62a!important}.portal-option,.portal-note,.intro-feature-grid div{background:var(--lekol-surface-2)!important;border:1px solid var(--line)!important;box-shadow:none!important}.portal-option:hover,.portal-option:focus-visible,.portal-option.is-selected{background:var(--lekol-surface-3)!important;border-color:var(--brand)!important;box-shadow:none!important;transform:none!important}
thead th{background:var(--lekol-surface-3)!important}.entity-table tr:hover td{background:var(--lekol-surface-2)!important}.chip{background:var(--lekol-surface-3)!important;color:var(--brand-strong)!important}.app-loading-screen .loading-logo,.brand-logo-img,.premium-logo img,.footer-logo{filter:none!important}
.site-footer{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  padding:24px 18px!important;
  margin-top:28px!important;
  text-align:center!important;
  background:transparent!important;
  border-top:1px solid var(--line)!important;
  box-shadow:none!important;
  color:var(--muted)!important;
}
.footer-copyright{display:block!important;line-height:1.45!important}.site-footer a{color:var(--brand)!important;font-weight:700!important}.footer-logo{
  display:block!important;
  width:116px!important;
  height:auto!important;
  margin:0 auto!important;
  padding:6px 10px!important;
  border-radius:12px!important;
  background:#ffffff!important;
  border:1px solid var(--line)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .footer-logo{background:#ffffff!important;border-color:#dce7f0!important;box-shadow:none!important}
@media (max-width:780px){.site-footer{padding:22px 14px!important;gap:9px!important}.footer-logo{width:104px!important}}


/* Operator request: flat sky-blue color across the entire app */
:root{
  --sky-blue:#38bdf8;
  --sky-blue-dark:#0ea5e9;
  --sky-blue-soft:#e0f2fe;
  --sky-blue-border:#bae6fd;
  --sky-blue-ink:#075985;
  --brand:var(--sky-blue);
  --brand-strong:var(--sky-blue-ink);
  --brand2:var(--sky-blue);
  --brand3:var(--sky-blue);
  --accent:var(--sky-blue);
  --accent2:var(--sky-blue);
  --bg:#e0f2fe;
  --bg2:#e0f2fe;
  --panel:#ffffff;
  --panel-solid:#ffffff;
  --ink:#083344;
  --muted:#3f6575;
  --line:#bae6fd;
  --sidebar:#38bdf8;
  --sidebar2:#38bdf8;
  --sideText:#083344;
  --shadow:none;
  --soft-shadow:none;
}
html[data-theme="dark"]{
  --sky-blue:#38bdf8;
  --sky-blue-dark:#0ea5e9;
  --sky-blue-soft:#082f49;
  --sky-blue-border:#0ea5e9;
  --sky-blue-ink:#e0f2fe;
  --brand:var(--sky-blue);
  --brand-strong:#e0f2fe;
  --brand2:var(--sky-blue);
  --brand3:var(--sky-blue);
  --accent:var(--sky-blue);
  --accent2:var(--sky-blue);
  --bg:#082f49;
  --bg2:#082f49;
  --panel:#0b3b59;
  --panel-solid:#0b3b59;
  --ink:#f0f9ff;
  --muted:#c7e6f5;
  --line:#0ea5e9;
  --sidebar:#075985;
  --sidebar2:#075985;
  --sideText:#f0f9ff;
}
body,
.login-page.auth-refresh,
.login-page.splash-screen,
.app-loading-screen{
  background:#e0f2fe!important;
  background-image:none!important;
}
html[data-theme="dark"] body,
html[data-theme="dark"] .login-page.auth-refresh,
html[data-theme="dark"] .login-page.splash-screen,
html[data-theme="dark"] .app-loading-screen{
  background:#082f49!important;
  background-image:none!important;
}
.topbar,.focused-topbar,.panel,.mini-card,.stats>div,.dashboard-search,.login-card,.premium-auth-card,.login-splash-panel,.lekol-intro-card,.table-pagination,.portal-option,.portal-note,.intro-feature-grid div,input,select,textarea,thead th{
  background:#ffffff!important;
  background-image:none!important;
  border-color:#bae6fd!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .topbar,html[data-theme="dark"] .focused-topbar,html[data-theme="dark"] .panel,html[data-theme="dark"] .mini-card,html[data-theme="dark"] .stats>div,html[data-theme="dark"] .dashboard-search,html[data-theme="dark"] .login-card,html[data-theme="dark"] .premium-auth-card,html[data-theme="dark"] .login-splash-panel,html[data-theme="dark"] .lekol-intro-card,html[data-theme="dark"] .table-pagination,html[data-theme="dark"] .portal-option,html[data-theme="dark"] .portal-note,html[data-theme="dark"] .intro-feature-grid div,html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea,html[data-theme="dark"] thead th{
  background:#0b3b59!important;
  background-image:none!important;
  border-color:#0ea5e9!important;
}
.sidebar,.module-hero,.entity-hero,.lekol360-hero,.students-hero,.teachers-hero,.years-hero,.classes-hero,.grades-hero,.attendance-hero,.reports-hero,.import-hero,.schools-hero,.users-hero,.teachers-dashboard-hero,
.primary,button[type="submit"],.intro-icon,.portal-icon,.visual-pill,.visual-pill-blue,.visual-pill-gold,.visual-pill-green{
  background:#38bdf8!important;
  background-image:none!important;
  color:#083344!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .sidebar,html[data-theme="dark"] .module-hero,html[data-theme="dark"] .entity-hero,html[data-theme="dark"] .lekol360-hero,html[data-theme="dark"] .students-hero,html[data-theme="dark"] .teachers-hero,html[data-theme="dark"] .years-hero,html[data-theme="dark"] .classes-hero,html[data-theme="dark"] .grades-hero,html[data-theme="dark"] .attendance-hero,html[data-theme="dark"] .reports-hero,html[data-theme="dark"] .import-hero,html[data-theme="dark"] .schools-hero,html[data-theme="dark"] .users-hero,html[data-theme="dark"] .teachers-dashboard-hero,
html[data-theme="dark"] .primary,html[data-theme="dark"] button[type="submit"],html[data-theme="dark"] .intro-icon,html[data-theme="dark"] .portal-icon,html[data-theme="dark"] .visual-pill,html[data-theme="dark"] .visual-pill-blue,html[data-theme="dark"] .visual-pill-gold,html[data-theme="dark"] .visual-pill-green{
  background:#075985!important;
  background-image:none!important;
  color:#f0f9ff!important;
}
.sidebar nav a,.sidebar-tool,.sidebar-footer-actions .sidebar-toggle-button{
  background:#7dd3fc!important;
  background-image:none!important;
  border-color:#bae6fd!important;
  color:#083344!important;
  box-shadow:none!important;
}
.sidebar nav a:hover,.sidebar nav a:focus-visible,.sidebar nav a.is-active,.sidebar-tool:hover,.sidebar-tool:focus-visible,.sidebar-footer-actions .sidebar-toggle-button:hover{
  background:#0ea5e9!important;
  background-image:none!important;
  color:#ffffff!important;
  border-color:#0284c7!important;
  transform:none!important;
  box-shadow:none!important;
}
.sidebar nav svg,.sidebar nav a:nth-child(3n+1) svg,.sidebar nav a:nth-child(3n+2) svg,.sidebar nav a:nth-child(3n) svg{
  background:#0ea5e9!important;
  background-image:none!important;
  color:#ffffff!important;
  box-shadow:none!important;
}
.sidebar .logo-only-brand,.login-page > .clean-login-visual .login-brand,.footer-logo{
  background:#ffffff!important;
  background-image:none!important;
  border-color:#bae6fd!important;
  box-shadow:none!important;
}
.ghost,.theme-toggle,.chip,.table-pagination{background:#e0f2fe!important;color:#075985!important;border-color:#bae6fd!important;box-shadow:none!important}.site-footer{background:transparent!important;border-top-color:#bae6fd!important}.site-footer a{color:#075985!important}.module-hero p,.entity-hero p,.lekol360-hero p,.module-hero h2,.entity-hero h2,.lekol360-hero h2,.module-hero .eyebrow,.entity-hero .eyebrow{color:#083344!important}
html[data-theme="dark"] .module-hero p,html[data-theme="dark"] .entity-hero p,html[data-theme="dark"] .lekol360-hero p,html[data-theme="dark"] .module-hero h2,html[data-theme="dark"] .entity-hero h2,html[data-theme="dark"] .lekol360-hero h2,html[data-theme="dark"] .module-hero .eyebrow,html[data-theme="dark"] .entity-hero .eyebrow{color:#f0f9ff!important}
html[data-theme="dark"] .site-footer a{color:#93c5fd!important;text-decoration:underline;text-underline-offset:3px}
html[data-theme="dark"] .site-footer a:hover,html[data-theme="dark"] .site-footer a:focus-visible{color:#bfdbfe!important}


/* Sky-blue cleanup: remove remaining multicolor callouts */
.login-page .lekol-intro-card .intro-tagline,
.lekol-intro-card .intro-tagline,
.action-card:after,
.modern-login-card:before,
.login-introduction:before{
  background:#38bdf8!important;
  background-image:none!important;
  color:#083344!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .login-page .lekol-intro-card .intro-tagline,
html[data-theme="dark"] .lekol-intro-card .intro-tagline,
html[data-theme="dark"] .modern-login-card:before,
html[data-theme="dark"] .login-introduction:before{
  background:#075985!important;
  background-image:none!important;
  color:#f0f9ff!important;
}

/* Operator request: make the menu sidebar a distinct color from the sky-blue app shell */
:root{
  --menu-sidebar:#14345f;
  --menu-sidebar-2:#0f2748;
  --menu-sidebar-card:#1f4f86;
  --menu-sidebar-card-hover:#2b6cb0;
  --menu-sidebar-text:#f8fbff;
}
html[data-theme="dark"]{
  --menu-sidebar:#071a33;
  --menu-sidebar-2:#051224;
  --menu-sidebar-card:#0f315c;
  --menu-sidebar-card-hover:#1d5c99;
  --menu-sidebar-text:#f8fbff;
}
.sidebar{
  background:linear-gradient(180deg,var(--menu-sidebar),var(--menu-sidebar-2))!important;
  color:var(--menu-sidebar-text)!important;
  border-right:1px solid rgba(255,255,255,.14)!important;
}
.sidebar nav a,
.sidebar-tool,
.sidebar-footer-actions .sidebar-toggle-button{
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.16)!important;
  color:var(--menu-sidebar-text)!important;
}
.sidebar nav a:hover,
.sidebar nav a:focus-visible,
.sidebar nav a.is-active,
.sidebar-tool:hover,
.sidebar-tool:focus-visible,
.sidebar-footer-actions .sidebar-toggle-button:hover{
  background:var(--menu-sidebar-card-hover)!important;
  border-color:rgba(255,255,255,.30)!important;
  color:#ffffff!important;
}
.sidebar nav svg,
.sidebar nav a:nth-child(3n+1) svg,
.sidebar nav a:nth-child(3n+2) svg,
.sidebar nav a:nth-child(3n) svg{
  background:var(--menu-sidebar-card)!important;
  color:#ffffff!important;
}
.sidebar .brand-link,
.sidebar .logo-only-brand{
  background:rgba(255,255,255,.96)!important;
  border-color:rgba(255,255,255,.80)!important;
}

/* Operator request: centered login flow with logo above form and introduction below */
.main.public{
  margin-left:0!important;
  padding:0!important;
}
.login-page.portal-first-login{
  min-height:100vh!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:clamp(18px,3vw,28px)!important;
  padding:clamp(24px,4vw,52px)!important;
  overflow:auto!important;
  text-align:center!important;
}
.login-centered-stack{
  width:min(520px,100%)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:clamp(12px,2vw,18px)!important;
  margin-inline:auto!important;
}
.login-top-logo{
  display:inline-grid!important;
  place-items:center!important;
  margin:0 auto!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.login-top-logo img{
  display:block!important;
  width:min(330px,74vw)!important;
  height:auto!important;
  margin:0 auto!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.login-centered-stack .premium-auth-card{
  width:100%!important;
  max-width:520px!important;
  margin:0 auto!important;
  text-align:left!important;
}
.login-centered-stack .login-card-heading,
.login-centered-stack .portal-subtitle{
  text-align:center!important;
}
.login-centered-stack .login-card-heading span{
  justify-content:center!important;
}
.login-page.portal-first-login .lekol-intro-card{
  width:min(880px,100%)!important;
  max-width:880px!important;
  margin:0 auto!important;
  grid-column:auto!important;
  text-align:left!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
.login-page.portal-first-login .splash-orb{
  display:none!important;
}
@media (max-width:560px){
  .login-page.portal-first-login{justify-content:flex-start!important;padding:20px 14px!important;gap:18px!important}
  .login-top-logo img{width:min(260px,78vw)!important}
  .login-centered-stack .premium-auth-card{padding:22px!important;border-radius:26px!important}
  .login-page.portal-first-login .lekol-intro-card{padding:18px!important;border-radius:24px!important}
}


/* Operator request: elegant login intro, refined colors, minimal titles, and colorful icon system */
:root{
  --ui-cream:#f8fafc;
  --ui-mist:#eef6ff;
  --ui-ink:#102033;
  --ui-muted:#587084;
  --ui-border:#dce8f4;
  --ui-card:#ffffff;
  --ui-blue:#2563eb;
  --ui-cyan:#06b6d4;
  --ui-violet:#7c3aed;
  --ui-emerald:#10b981;
  --ui-amber:#f59e0b;
  --ui-rose:#f43f5e;
}
html[data-theme="dark"]{
  --ui-cream:#071524;
  --ui-mist:#0b1f33;
  --ui-ink:#f4f9ff;
  --ui-muted:#bfd0df;
  --ui-border:#244760;
  --ui-card:#0d263d;
}
body{
  color:var(--ui-ink)!important;
  background:
    radial-gradient(circle at 10% 8%,rgba(37,99,235,.13),transparent 28rem),
    radial-gradient(circle at 88% 12%,rgba(16,185,129,.11),transparent 24rem),
    linear-gradient(135deg,var(--ui-cream),var(--ui-mist))!important;
}
.login-page.portal-first-login{
  background:
    radial-gradient(circle at 16% 10%,rgba(37,99,235,.16),transparent 26rem),
    radial-gradient(circle at 84% 22%,rgba(124,58,237,.12),transparent 24rem),
    radial-gradient(circle at 48% 100%,rgba(6,182,212,.13),transparent 28rem),
    linear-gradient(135deg,#f8fbff,#eef6ff 55%,#f7fbff)!important;
}
html[data-theme="dark"] .login-page.portal-first-login{
  background:
    radial-gradient(circle at 16% 10%,rgba(37,99,235,.16),transparent 26rem),
    radial-gradient(circle at 84% 22%,rgba(124,58,237,.15),transparent 24rem),
    linear-gradient(135deg,#06111f,#0b2034 58%,#071a2a)!important;
}
.login-top-logo{
  width:min(420px,92vw)!important;
  padding-inline:clamp(18px,5vw,44px)!important;
}
.login-top-logo img{
  width:min(360px,78vw)!important;
  max-width:100%!important;
}
.login-centered-stack .premium-auth-card,
.login-page.portal-first-login .lekol-intro-card{
  background:rgba(255,255,255,.88)!important;
  border:1px solid rgba(220,232,244,.92)!important;
  box-shadow:0 24px 70px rgba(15,35,65,.12)!important;
  backdrop-filter:blur(20px)!important;
}
html[data-theme="dark"] .login-centered-stack .premium-auth-card,
html[data-theme="dark"] .login-page.portal-first-login .lekol-intro-card{
  background:rgba(13,38,61,.88)!important;
  border-color:rgba(93,132,165,.28)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.28)!important;
}
.login-page.portal-first-login .lekol-intro-card{
  padding:clamp(22px,3vw,34px)!important;
  border-radius:32px!important;
}
.lekol-intro-card .intro-heading-row{
  display:block!important;
  margin-bottom:18px!important;
  text-align:center!important;
}
.lekol-intro-card .intro-icon{
  display:none!important;
}
.lekol-intro-card .intro-eyebrow{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-bottom:10px!important;
  padding:8px 13px!important;
  border-radius:999px!important;
  color:#1d4ed8!important;
  background:rgba(37,99,235,.09)!important;
  border:1px solid rgba(37,99,235,.15)!important;
  letter-spacing:.10em!important;
}
html[data-theme="dark"] .lekol-intro-card .intro-eyebrow{
  color:#93c5fd!important;
  background:rgba(96,165,250,.13)!important;
  border-color:rgba(147,197,253,.22)!important;
}
.lekol-intro-card h2{
  margin:0 auto!important;
  max-width:760px!important;
  color:var(--ui-ink)!important;
  font-size:clamp(1.55rem,3vw,2.35rem)!important;
  line-height:1.05!important;
  text-align:center!important;
}
.lekol-intro-card .intro-content-grid{
  grid-template-columns:minmax(0,1fr)!important;
  gap:20px!important;
}
.lekol-intro-card .intro-copy{
  display:grid!important;
  gap:10px!important;
  max-width:780px!important;
  margin:0 auto!important;
  text-align:center!important;
}
.lekol-intro-card .intro-copy p{
  margin:0!important;
  color:var(--ui-muted)!important;
  font-size:1rem!important;
  line-height:1.65!important;
}
.lekol-intro-card .intro-list-block{
  width:100%!important;
  max-width:780px!important;
  margin:0 auto!important;
}
.lekol-intro-card .intro-list-title{
  margin:0 0 13px!important;
  color:var(--ui-ink)!important;
  text-align:center!important;
  font-size:1.02rem!important;
  font-weight:850!important;
}
.lekol-intro-card .intro-feature-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
.lekol-intro-card .intro-feature-grid .intro-feature-button,
.lekol-intro-card .intro-feature-grid button{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:11px!important;
  min-height:58px!important;
  padding:12px 14px!important;
  border:1px solid rgba(37,99,235,.14)!important;
  border-radius:19px!important;
  overflow:hidden!important;
  cursor:pointer!important;
  color:var(--ui-ink)!important;
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(238,246,255,.86))!important;
  box-shadow:0 12px 28px rgba(15,35,65,.08)!important;
  transform:translateY(0)!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease!important;
}
.lekol-intro-card .intro-feature-grid .intro-feature-button:before,
.lekol-intro-card .intro-feature-grid button:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  opacity:0!important;
  background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(6,182,212,.10))!important;
  transition:opacity .18s ease!important;
}
.lekol-intro-card .intro-feature-grid .intro-feature-button:hover,
.lekol-intro-card .intro-feature-grid .intro-feature-button:focus-visible,
.lekol-intro-card .intro-feature-grid button:hover,
.lekol-intro-card .intro-feature-grid button:focus-visible{
  transform:translateY(-3px)!important;
  border-color:rgba(37,99,235,.34)!important;
  box-shadow:0 18px 38px rgba(37,99,235,.16)!important;
  outline:none!important;
}
.lekol-intro-card .intro-feature-grid .intro-feature-button:hover:before,
.lekol-intro-card .intro-feature-grid .intro-feature-button:focus-visible:before,
.lekol-intro-card .intro-feature-grid button:hover:before,
.lekol-intro-card .intro-feature-grid button:focus-visible:before{opacity:1!important}
.lekol-intro-card .intro-feature-grid .intro-feature-button span,
.lekol-intro-card .intro-feature-grid button span{
  position:relative!important;
  z-index:1!important;
  display:grid!important;
  place-items:center!important;
  width:34px!important;
  height:34px!important;
  border-radius:13px!important;
  background:linear-gradient(135deg,var(--ui-blue),var(--ui-cyan))!important;
  box-shadow:0 10px 22px rgba(37,99,235,.20)!important;
}
.lekol-intro-card .intro-feature-grid .intro-feature-button:nth-child(2) span{background:linear-gradient(135deg,var(--ui-violet),#ec4899)!important}
.lekol-intro-card .intro-feature-grid .intro-feature-button:nth-child(3) span{background:linear-gradient(135deg,var(--ui-emerald),#22c55e)!important}
.lekol-intro-card .intro-feature-grid .intro-feature-button:nth-child(4) span{background:linear-gradient(135deg,var(--ui-amber),#f97316)!important}
.lekol-intro-card .intro-feature-grid .intro-feature-button:nth-child(5) span{background:linear-gradient(135deg,var(--ui-rose),var(--ui-violet))!important}
.lekol-intro-card .intro-feature-grid .intro-feature-button strong,
.lekol-intro-card .intro-feature-grid button strong{
  position:relative!important;
  z-index:1!important;
  font-size:.96rem!important;
  line-height:1.25!important;
  text-align:left!important;
}
.lekol-intro-card .intro-feature-grid .intro-feature-button:last-child,
.lekol-intro-card .intro-feature-grid button:last-child{grid-column:1 / -1!important}
html[data-theme="dark"] .lekol-intro-card .intro-feature-grid .intro-feature-button,
html[data-theme="dark"] .lekol-intro-card .intro-feature-grid button{
  color:#f4f9ff!important;
  background:linear-gradient(135deg,rgba(15,45,72,.96),rgba(10,31,52,.88))!important;
  border-color:rgba(147,197,253,.18)!important;
}
.lekol-intro-card .intro-tagline{
  display:flex!important;
  width:max-content!important;
  max-width:100%!important;
  margin:18px auto 0!important;
  justify-content:center!important;
  color:#ffffff!important;
  background:linear-gradient(135deg,var(--ui-blue),var(--ui-violet))!important;
}
/* Remove decorative bullets/icons beside title areas for a cleaner minimal dashboard */
.dashboard-hero h1:before,.dashboard-hero h2:before,
.module-hero h1:before,.module-hero h2:before,
.entity-hero h1:before,.entity-hero h2:before,
.panel h1:before,.panel h2:before,
.topbar-title h1:before,.eyebrow:before,
.action-card h3:before{
  content:none!important;
  display:none!important;
}
/* Avoid duplicate logos on public/login pages while keeping dashboard footer branding larger */
.main.public .footer-logo{display:none!important}
.footer-logo{
  width:168px!important;
  max-width:min(46vw,180px)!important;
  padding:8px 14px!important;
}
/* Colorful modern sidebar/navigation icon system */
.sidebar nav a{--icon-c1:#2563eb;--icon-c2:#06b6d4;--icon-glow:rgba(37,99,235,.30)}
.sidebar nav a:nth-child(2){--icon-c1:#0ea5e9;--icon-c2:#38bdf8;--icon-glow:rgba(14,165,233,.30)}
.sidebar nav a:nth-child(3){--icon-c1:#10b981;--icon-c2:#34d399;--icon-glow:rgba(16,185,129,.30)}
.sidebar nav a:nth-child(4){--icon-c1:#7c3aed;--icon-c2:#a78bfa;--icon-glow:rgba(124,58,237,.30)}
.sidebar nav a:nth-child(5){--icon-c1:#f59e0b;--icon-c2:#fbbf24;--icon-glow:rgba(245,158,11,.30)}
.sidebar nav a:nth-child(6){--icon-c1:#ef4444;--icon-c2:#fb7185;--icon-glow:rgba(239,68,68,.30)}
.sidebar nav a:nth-child(7){--icon-c1:#14b8a6;--icon-c2:#2dd4bf;--icon-glow:rgba(20,184,166,.30)}
.sidebar nav a:nth-child(8){--icon-c1:#6366f1;--icon-c2:#818cf8;--icon-glow:rgba(99,102,241,.30)}
.sidebar nav a:nth-child(9){--icon-c1:#8b5cf6;--icon-c2:#d946ef;--icon-glow:rgba(139,92,246,.30)}
.sidebar nav a:nth-child(10){--icon-c1:#0f766e;--icon-c2:#22c55e;--icon-glow:rgba(15,118,110,.30)}
.sidebar nav a:nth-child(11){--icon-c1:#f43f5e;--icon-c2:#fb7185;--icon-glow:rgba(244,63,94,.30)}
.sidebar nav svg,
.sidebar nav a:nth-child(3n+1) svg,
.sidebar nav a:nth-child(3n+2) svg,
.sidebar nav a:nth-child(3n) svg{
  width:32px!important;
  height:32px!important;
  padding:7px!important;
  border-radius:13px!important;
  color:#ffffff!important;
  fill:currentColor!important;
  background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.48),transparent 34%),linear-gradient(135deg,var(--icon-c1),var(--icon-c2))!important;
  border:1px solid rgba(255,255,255,.28)!important;
  box-shadow:0 12px 26px var(--icon-glow)!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}
.sidebar nav a:hover svg,.sidebar nav a:focus-visible svg,.sidebar nav a.is-active svg{
  transform:translateY(-1px) scale(1.07)!important;
  filter:saturate(1.12) brightness(1.05)!important;
  box-shadow:0 16px 32px var(--icon-glow)!important;
}
.sidebar-tool{--tool-c1:#2563eb;--tool-c2:#06b6d4;--tool-glow:rgba(37,99,235,.28)}
.sidebar-tool.theme-toggle{--tool-c1:#7c3aed;--tool-c2:#a78bfa;--tool-glow:rgba(124,58,237,.28)}
.sidebar-tool.logout-button,.sidebar-tool-form .logout-button{--tool-c1:#ef4444;--tool-c2:#fb7185;--tool-glow:rgba(239,68,68,.28)}
.sidebar-footer-actions .sidebar-toggle-button{--tool-c1:#10b981;--tool-c2:#34d399;--tool-glow:rgba(16,185,129,.28)}
.sidebar-tool svg,
.sidebar-footer-actions .sidebar-toggle-button svg,
.mobile-menu-button svg,
.icon-button svg{
  width:24px!important;
  height:24px!important;
  padding:5px!important;
  border-radius:11px!important;
  color:#ffffff!important;
  fill:currentColor!important;
  background:linear-gradient(135deg,var(--tool-c1,var(--ui-blue)),var(--tool-c2,var(--ui-cyan)))!important;
  box-shadow:0 10px 22px var(--tool-glow,rgba(37,99,235,.25))!important;
}
.mobile-menu-button,.icon-button{--tool-c1:#2563eb;--tool-c2:#06b6d4;--tool-glow:rgba(37,99,235,.25)}
.sidebar-tool:hover svg,
.sidebar-tool:focus-visible svg,
.sidebar-footer-actions .sidebar-toggle-button:hover svg,
.mobile-menu-button:hover svg,
.icon-button:hover svg{
  transform:scale(1.06)!important;
}
@media (max-width:780px){
  .lekol-intro-card .intro-feature-grid{grid-template-columns:1fr!important}
  .lekol-intro-card .intro-feature-grid .intro-feature-button:last-child,
  .lekol-intro-card .intro-feature-grid button:last-child{grid-column:auto!important}
  .footer-logo{width:146px!important}
}
@media (max-width:560px){
  .login-top-logo{padding-inline:clamp(16px,6vw,28px)!important}
  .login-top-logo img{width:min(300px,82vw)!important}
  .lekol-intro-card .intro-feature-grid .intro-feature-button,
  .lekol-intro-card .intro-feature-grid button{min-height:54px!important}
}


/* Operator request: fully clickable dashboard widgets and lighter sidebar bottom actions */
.dashboard-click-grid .dashboard-stat-card,
.stats > a.dashboard-stat-card{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-height:128px!important;
  padding:22px!important;
  border:1px solid var(--line)!important;
  border-radius:28px!important;
  color:var(--ink)!important;
  background:var(--panel)!important;
  box-shadow:0 14px 34px rgba(15,35,65,.08)!important;
  text-decoration:none!important;
  cursor:pointer!important;
  overflow:hidden!important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.dashboard-click-grid .dashboard-stat-card:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  opacity:0!important;
  background:linear-gradient(135deg,rgba(37,99,235,.10),rgba(6,182,212,.08))!important;
  transition:opacity .18s ease!important;
}
.dashboard-click-grid .dashboard-stat-card:after{
  content:"Ouvrir →"!important;
  position:absolute!important;
  right:18px!important;
  bottom:16px!important;
  color:var(--brand-strong)!important;
  font-size:.78rem!important;
  font-weight:900!important;
  opacity:0!important;
  transform:translateX(-6px)!important;
  transition:opacity .18s ease,transform .18s ease!important;
}
.dashboard-click-grid .dashboard-stat-card:hover,
.dashboard-click-grid .dashboard-stat-card:focus-visible{
  transform:translateY(-4px)!important;
  border-color:color-mix(in srgb,var(--brand) 38%,var(--line))!important;
  box-shadow:0 20px 44px rgba(37,99,235,.14)!important;
  outline:none!important;
}
.dashboard-click-grid .dashboard-stat-card:hover:before,
.dashboard-click-grid .dashboard-stat-card:focus-visible:before,
.dashboard-click-grid .dashboard-stat-card:hover:after,
.dashboard-click-grid .dashboard-stat-card:focus-visible:after{
  opacity:1!important;
  transform:translateX(0)!important;
}
.dashboard-click-grid .dashboard-stat-card strong,
.dashboard-click-grid .dashboard-stat-card span{
  position:relative!important;
  z-index:1!important;
}
.dashboard-click-grid .dashboard-stat-card strong{
  font-size:clamp(2rem,4vw,3rem)!important;
  line-height:1!important;
}
.dashboard-click-grid .dashboard-stat-card span{
  margin-top:8px!important;
}
.quick-actions .action-card{
  min-height:154px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}
.quick-actions .action-card:hover,
.quick-actions .action-card:focus-visible{
  transform:translateY(-4px)!important;
  border-color:color-mix(in srgb,var(--brand) 36%,var(--line))!important;
  box-shadow:0 20px 44px rgba(37,99,235,.14)!important;
  outline:none!important;
}
.sidebar-footer-actions,
.compact-sidebar-tools{
  background:transparent!important;
  border-top:0!important;
  box-shadow:none!important;
}
.sidebar-footer-actions .sidebar-tool,
.sidebar-footer-actions .sidebar-tool-form,
.sidebar-footer-actions .sidebar-toggle-button,
.compact-sidebar-tools .sidebar-tool,
.compact-sidebar-tools .sidebar-toggle-button,
.sidebar-tool-form .logout-button{
  background:transparent!important;
  background-image:none!important;
  border-color:transparent!important;
  border-width:0!important;
  box-shadow:none!important;
}
.sidebar-footer-actions .sidebar-tool:hover,
.sidebar-footer-actions .sidebar-tool:focus-visible,
.sidebar-footer-actions .sidebar-toggle-button:hover,
.sidebar-footer-actions .sidebar-toggle-button:focus-visible,
.sidebar-tool-form .logout-button:hover,
.sidebar-tool-form .logout-button:focus-visible{
  background:rgba(255,255,255,.08)!important;
  border-color:transparent!important;
  box-shadow:none!important;
  transform:translateY(-2px)!important;
  outline:none!important;
}
.sidebar-footer-actions .sidebar-tool svg,
.sidebar-footer-actions .sidebar-toggle-button svg,
.sidebar-tool-form .logout-button svg{
  box-shadow:0 10px 24px var(--tool-glow,rgba(37,99,235,.24))!important;
}
html[data-theme="dark"] .dashboard-click-grid .dashboard-stat-card{
  background:var(--panel)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.20)!important;
}
@media (max-width:780px){
  .dashboard-click-grid .dashboard-stat-card{min-height:112px!important;padding:18px!important}
}

/* Operator profile/settings + logo visibility fixes */
.brand-link.logo-only-brand{
  justify-content:center!important;
  overflow:visible!important;
  padding:10px 8px!important;
}
.brand-logo-img.crisp-logo,
.loading-logo.crisp-logo,
.hero-logo.crisp-logo,
.footer-logo.crisp-logo,
.report-official-logo.crisp-logo,
.login-top-logo img{
  object-fit:contain!important;
  object-position:center!important;
  height:auto!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.brand-logo-img.crisp-logo{
  width:min(226px,100%)!important;
  max-width:100%!important;
  min-height:72px!important;
  padding:4px 8px!important;
}
.sidebar-collapsed .brand-logo-img.crisp-logo{
  width:62px!important;
  min-height:40px!important;
  padding:2px!important;
}
.hero-logo-link{display:inline-flex!important;max-width:100%!important;overflow:visible!important;padding:2px!important}
.hero-logo.crisp-logo{width:clamp(170px,24vw,310px)!important;max-width:100%!important}
.sidebar-user-pill{cursor:pointer!important;text-decoration:none!important}
.sidebar-user-avatar{width:28px!important;height:28px!important;border-radius:50%!important;object-fit:cover!important;box-shadow:0 8px 18px rgba(0,0,0,.22)!important;border:2px solid rgba(255,255,255,.55)!important}
.sidebar-user-pill span{
  min-width:180px!important;
  max-width:min(320px,72vw)!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.18!important;
  text-align:center!important;
  border-radius:16px!important;
}
.sidebar-collapsed .sidebar-user-pill span{min-width:180px!important;text-align:left!important}
.profile-settings-hero{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;flex-wrap:wrap!important;background:linear-gradient(135deg,#063b3a,#2563eb 58%,#7c3aed)!important}
.profile-settings-heading{display:flex;align-items:center;gap:18px;min-width:0;flex-wrap:wrap}.profile-settings-heading h2{margin:0;font-size:clamp(2rem,5vw,4.2rem);line-height:.95}.profile-photo-wrap{flex:0 0 auto}.profile-photo{box-shadow:0 20px 48px rgba(0,0,0,.22);border:3px solid rgba(255,255,255,.72);object-fit:cover}.settings-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:20px}.settings-card{margin:0}.profile-form{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-form .full-span,.security-note.full-span{grid-column:1 / -1}.profile-form textarea{min-height:104px;resize:vertical}.checkbox-line{display:flex!important;align-items:center;gap:10px;align-self:end;min-height:54px}.checkbox-line input{width:auto!important;margin:0}.profile-upload{margin-top:8px}.security-note{padding:12px 14px;border-radius:16px;background:color-mix(in srgb,var(--brand) 8%,var(--panel-solid));color:var(--muted);font-weight:700}.managed-users-card .result-list{margin-top:8px}.ghost.small{padding:7px 11px;font-size:.86rem}
@media (max-width:980px){.settings-layout{grid-template-columns:1fr}.profile-form{grid-template-columns:1fr}.profile-form .full-span,.security-note.full-span{grid-column:auto}.profile-settings-hero{align-items:flex-start!important}}
@media (max-width:780px){.brand-logo-img.crisp-logo{width:210px!important;min-height:68px!important}.sidebar-collapsed .brand-logo-img.crisp-logo{width:210px!important;min-height:68px!important}.sidebar-user-pill span{min-width:160px!important}.profile-settings-heading{align-items:flex-start}.profile-actions{width:100%}}
@media (max-width:520px){.hero-logo.crisp-logo{width:min(260px,88vw)!important}.profile-settings-heading h2{font-size:2.05rem}.settings-card{padding:18px!important}}

/* SMTP email settings */
.email-hero{background:linear-gradient(135deg,#0f172a,#2563eb 56%,#06b6d4)!important}
.email-settings-layout{align-items:stretch}.smtp-detail-list{grid-template-columns:minmax(130px,auto) 1fr}.smtp-card code{padding:2px 7px;border-radius:8px;background:color-mix(in srgb,var(--brand) 8%,var(--panel-solid));color:var(--brand-strong)}.announcement-card{margin-bottom:20px}.email-queue-panel small{color:var(--muted);font-weight:700}.email-status-sent{background:color-mix(in srgb,var(--ok) 16%,var(--panel-solid))!important;color:var(--ok)!important}.email-status-failed{background:color-mix(in srgb,var(--danger) 14%,var(--panel-solid))!important;color:var(--danger)!important}.email-status-retry,.email-status-queued{background:color-mix(in srgb,var(--accent) 16%,var(--panel-solid))!important;color:color-mix(in srgb,var(--accent) 72%,#7c2d12)!important}
@media (max-width:780px){.smtp-detail-list{grid-template-columns:1fr}.email-hero .inline-form{width:100%}.email-hero .inline-form button{width:100%}}

/* Clean transparent footer logo + gender-aware profile avatars */
.site-footer .footer-logo,
.footer-logo.crisp-logo,
html[data-theme="dark"] .footer-logo{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  border-radius:0!important;
  filter:none!important;
  object-fit:contain!important;
}
.avatar,
.avatar.small,
.avatar.xl,
.profile-photo,
.sidebar-user-avatar{
  object-fit:cover!important;
  background:transparent;
}
.profile-photo-wrap{background:transparent!important;border:0!important;box-shadow:none!important}

/* Final 2026 professional color polish and cleaner dashboard search */
.lekol360-hero{
  background:
    radial-gradient(circle at 12% 14%,rgba(255,255,255,.26),transparent 26%),
    linear-gradient(135deg,#063b3a 0%,#0f766e 34%,#2563eb 68%,#7c3aed 100%)!important;
  box-shadow:0 28px 70px rgba(15,118,110,.24)!important;
}
.dashboard-search{
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(255,255,255,.78)!important;
  box-shadow:0 20px 54px rgba(15,23,42,.16)!important;
}
html[data-theme="dark"] .dashboard-search{
  background:rgba(15,29,49,.94)!important;
  border-color:rgba(255,255,255,.12)!important;
}
.search-shell input,.filters-grid input,.filters-grid select,.grid-form input,.grid-form select,.grid-form textarea{
  border:1px solid color-mix(in srgb,var(--brand) 16%,var(--line))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.36)!important;
}
.dashboard-stat-card,.mini-card,.panel{
  border-color:color-mix(in srgb,var(--brand) 14%,var(--line))!important;
}
.dashboard-stat-card:hover,.mini-card:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 18px 44px rgba(15,118,110,.18)!important;
}
.dashboard-stat-card:nth-child(2n){--brand:#2563eb;--brand2:#06b6d4}
.dashboard-stat-card:nth-child(3n){--brand:#7c3aed;--brand2:#f97316}

/* Login recovery + concise intro polish */
.concise-intro-card{max-width:min(920px,92vw)!important;margin:22px auto 0!important;padding:24px!important;display:grid!important;gap:14px!important}
.concise-intro-copy{display:grid!important;gap:10px!important;max-width:760px!important}.concise-intro-copy p{margin:0!important;font-size:clamp(.98rem,2vw,1.08rem)!important;line-height:1.65!important;color:var(--ink)!important}.auth-help{margin:10px 0 0!important;text-align:center!important;font-weight:800!important}.auth-help a{color:var(--brand)!important}.recovery-page{min-height:100vh!important;display:grid!important;place-items:center!important;padding:28px!important}.recovery-card{width:min(620px,94vw)!important}.force-password-page .recovery-card{width:min(680px,94vw)!important}
html[data-theme="dark"] .concise-intro-copy p{color:var(--ink)!important}
@media (max-width:780px){.concise-intro-card{margin-top:16px!important;padding:20px!important}.intro-heading-row{align-items:flex-start!important}.recovery-page{padding:18px!important}.recovery-card .login-card-heading h2{font-size:clamp(1.45rem,7vw,2rem)!important;line-height:1.08!important}}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#d7e4f3!important;opacity:1!important}
html[data-theme="dark"] .login-card-heading p,html[data-theme="dark"] .portal-option small,html[data-theme="dark"] .intro-eyebrow{color:#cfe0f4!important}


/* Accessibility and profile-photo polish — Lekòl360 production pass */
:root{
  --focus-ring:#f59e0b;
  --success-bg:#ecfdf5;
  --success-text:#065f46;
  --error-bg:#fef2f2;
  --error-text:#991b1b;
  --warning-bg:#fffbeb;
  --warning-text:#92400e;
}
html[data-theme="dark"]{
  --success-bg:#052e26;
  --success-text:#a7f3d0;
  --error-bg:#3b0a0a;
  --error-text:#fecaca;
  --warning-bg:#3a2604;
  --warning-text:#fde68a;
}
.main{color:var(--ink)}
.panel,.mini-card,.stats>div,.table-pagination,.login-card,.premium-auth-card,.result-item{
  color:var(--ink);
  background:linear-gradient(145deg,color-mix(in srgb,var(--panel-solid) 96%,transparent),color-mix(in srgb,var(--brand2) 4%,var(--panel-solid)));
  border:1px solid color-mix(in srgb,var(--brand) 14%,var(--line));
}
html[data-theme="dark"] .panel,html[data-theme="dark"] .mini-card,html[data-theme="dark"] .stats>div,html[data-theme="dark"] .table-pagination,html[data-theme="dark"] .login-card,html[data-theme="dark"] .premium-auth-card,html[data-theme="dark"] .result-item{
  background:linear-gradient(145deg,color-mix(in srgb,var(--panel-solid) 94%,#000),color-mix(in srgb,var(--brand2) 8%,var(--panel-solid)));
  border-color:#31445f;
  box-shadow:0 18px 46px rgba(0,0,0,.32);
}
.panel p,.mini-card p,.result-item small,.detail-list dt,.stats span,.empty,small,.muted{color:var(--muted)}
html[data-theme="dark"] .panel p,html[data-theme="dark"] .mini-card p,html[data-theme="dark"] .result-item small,html[data-theme="dark"] .detail-list dt,html[data-theme="dark"] .stats span,html[data-theme="dark"] .empty,html[data-theme="dark"] small,html[data-theme="dark"] .muted{color:#cbd8e8}
input,select,textarea{
  color:var(--ink);
  background:color-mix(in srgb,var(--panel-solid) 94%,#fff);
  border:1px solid color-mix(in srgb,var(--brand) 18%,var(--line));
}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{
  color:#f8fbff;
  background:#0a1726;
  border-color:#37506e;
}
input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--brand) 42%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 10%,transparent)}
input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb,var(--focus-ring) 72%,transparent);outline-offset:3px}
.primary,button.primary,button[type="submit"].primary,a.primary{color:#fff!important;background:linear-gradient(135deg,#0f766e,#2563eb)!important;border-color:transparent!important;box-shadow:0 14px 30px color-mix(in srgb,var(--brand) 24%,transparent)}
.primary:hover,button[type="submit"].primary:hover,a.primary:hover{filter:saturate(1.06) brightness(1.04);transform:translateY(-1px);box-shadow:0 18px 42px color-mix(in srgb,var(--brand2) 28%,transparent)}
.ghost,a.ghost,button.ghost{color:var(--brand-strong)!important;background:color-mix(in srgb,var(--brand) 8%,var(--panel-solid))!important;border:1px solid color-mix(in srgb,var(--brand) 26%,var(--line))!important}
.ghost:hover,a.ghost:hover,button.ghost:hover{color:var(--ink)!important;background:color-mix(in srgb,var(--brand) 15%,var(--panel-solid))!important;transform:translateY(-1px)}
html[data-theme="dark"] .ghost,html[data-theme="dark"] a.ghost,html[data-theme="dark"] button.ghost{color:#99f6e4!important;background:#123042!important;border-color:#3c6470!important}
html[data-theme="dark"] .ghost:hover,html[data-theme="dark"] a.ghost:hover,html[data-theme="dark"] button.ghost:hover{color:#fff!important;background:#174255!important}
.table-wrap table{border-collapse:separate;border-spacing:0;width:100%}
th{color:var(--ink);background:color-mix(in srgb,var(--brand) 9%,var(--panel-solid));font-weight:750}
td{color:var(--ink);border-bottom:1px solid var(--line)}
tbody tr:hover{background:color-mix(in srgb,var(--brand2) 7%,var(--panel-solid))}
html[data-theme="dark"] th{color:#f8fbff;background:#132943}
html[data-theme="dark"] td{color:#eaf2ff;border-bottom-color:#2b3d55}
html[data-theme="dark"] tbody tr:hover{background:#142b45}
.sidebar nav a,.sidebar-tool{color:#f8fbff!important}.sidebar nav a:hover,.sidebar nav a:focus-visible{background:#ffffff24;color:#fff!important}
.flash{border:1px solid transparent;color:var(--ink)}
.flash.success{background:var(--success-bg);color:var(--success-text);border-color:color-mix(in srgb,var(--success-text) 24%,transparent)}
.flash.error{background:var(--error-bg);color:var(--error-text);border-color:color-mix(in srgb,var(--error-text) 24%,transparent)}
.flash.warning{background:var(--warning-bg);color:var(--warning-text);border-color:color-mix(in srgb,var(--warning-text) 24%,transparent)}
.avatar{object-fit:cover;background:color-mix(in srgb,var(--brand) 12%,var(--panel-solid));border:1px solid color-mix(in srgb,var(--brand) 18%,var(--line))}
.upload-row,.compact-upload{gap:8px;align-items:center;flex-wrap:wrap}.compact-upload input[type="file"]{max-width:220px;font-size:.86rem}.profile-photo-manager{margin-top:16px}
.site-footer{color:var(--muted);text-align:center}.site-footer a{color:var(--brand-strong)!important}.site-footer a:hover{color:var(--brand2)!important;text-decoration:underline}
html[data-theme="dark"] .site-footer a{color:#99f6e4!important}html[data-theme="dark"] .site-footer a:hover{color:#bfdbfe!important}
.school-directory-card{display:grid!important;gap:14px!important;align-content:start!important;text-decoration:none!important;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease!important}
.school-directory-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--brand) 28%,var(--line))!important;box-shadow:0 24px 64px rgba(15,23,42,.14)!important}
.school-card-detail-link{display:grid;gap:10px;color:inherit;text-decoration:none;border-radius:20px;outline:0}.school-card-detail-link:focus-visible,.school-metric-link:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 22%,transparent)}
.school-metrics-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px!important}.school-metric-link{display:grid;place-items:center;gap:2px;min-height:62px;padding:9px 8px;border-radius:16px;text-decoration:none!important;background:color-mix(in srgb,var(--brand) 8%,var(--panel-solid));border:1px solid color-mix(in srgb,var(--brand) 16%,var(--line));color:var(--text)!important;transition:transform .16s ease,background .16s ease,border-color .16s ease}.school-metric-link strong{font-size:1.12rem;line-height:1;font-weight:900}.school-metric-link span{font-size:.78rem;font-weight:800;color:var(--muted);text-transform:capitalize}.school-metric-link:hover{transform:translateY(-2px);background:color-mix(in srgb,var(--brand) 14%,var(--panel-solid));border-color:color-mix(in srgb,var(--brand) 34%,var(--line))}
html[data-theme="dark"] .school-metric-link{background:rgba(15,23,42,.62);border-color:rgba(148,163,184,.22);color:#f8fafc!important}html[data-theme="dark"] .school-metric-link span{color:#cbd5e1}
@media (max-width:520px){.school-metrics-row{grid-template-columns:1fr!important}.school-metric-link{grid-template-columns:auto 1fr;justify-items:start;min-height:50px}.school-metric-link strong{font-size:1rem}.site-footer .footer-copyright,.login-legal{font-size:.86rem;line-height:1.55}}
@media (max-width:780px){.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.entity-table{min-width:760px}.profile-heading{align-items:flex-start}.upload-row input[type="file"]{width:100%;max-width:none}.profile-actions .primary,.profile-actions .ghost,.profile-actions .action-inline-form,.profile-actions .action-inline-form button{width:100%;text-align:center}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.stats{grid-template-columns:1fr}.panel-head{gap:12px}.primary,.ghost,button{min-height:44px}.avatar.xl{width:78px;height:78px;border-radius:24px}}


/* 2026-05 enrollment/profile polish */
.required-star{color:#dc2626;font-weight:950;margin-left:3px}.field-label-text{display:inline-flex;align-items:center;gap:2px}.field-help{display:block;color:var(--muted);font-weight:700;margin-top:4px}.grid-form select[multiple]{min-height:132px;padding:10px}.form-field-selectmultiplefield{grid-row:span 2}.brand-logo-favicon{display:none!important}.sidebar-collapsed .brand-logo-full{display:none!important}.sidebar-collapsed .brand-logo-favicon{display:block!important;width:40px!important;height:40px!important;border-radius:12px!important;object-fit:contain!important;background:#fff!important;padding:4px!important}.modern-intro-card{width:min(760px,100%);margin:0 auto 16px!important;padding:22px!important;border-radius:26px!important;background:linear-gradient(135deg,color-mix(in srgb,var(--panel-solid) 94%,transparent),color-mix(in srgb,var(--brand2) 8%,var(--panel-solid)))!important;border:1px solid color-mix(in srgb,var(--brand) 18%,var(--line))!important;box-shadow:0 22px 62px color-mix(in srgb,var(--brand) 16%,transparent)!important}.modern-intro-card .intro-heading-row{display:flex;align-items:center;gap:14px}.modern-intro-card h2{margin:.1rem 0;font-size:clamp(1.45rem,3vw,2.2rem);letter-spacing:-.045em}.intro-feature-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.intro-feature-pills span{padding:7px 11px;border-radius:999px;background:color-mix(in srgb,var(--brand) 10%,var(--panel-solid));border:1px solid color-mix(in srgb,var(--brand) 18%,var(--line));font-weight:900;color:var(--ink)}.entity-photo-editor{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.entity-photo-editor>div{min-width:min(100%,360px);flex:1}.table-pagination-bottom{margin:14px 0 0}.pagination-pages{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.page-number.is-active{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;border-color:transparent}.resume-print-button{white-space:normal}.teacher-resume-section .profile-card{break-inside:avoid}
@media print{body{background:#fff!important;color:#111827!important}.profile-hero{background:#fff!important;color:#111827!important;border-bottom:3px solid #0f766e!important;box-shadow:none!important;padding:0 0 18px!important;margin-bottom:18px!important}.profile-photo-manager,.site-footer,.table-pagination,.profile-actions,.sidebar,.topbar,.flash-wrap{display:none!important}.teacher-resume-section,.stats,.panel{break-inside:avoid}.panel{border:1px solid #d1d5db!important;border-radius:12px!important;padding:16px!important;margin-bottom:14px!important;background:#fff!important}.stats{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:10px!important}.stats>div{border:1px solid #d1d5db!important;background:#f8fafc!important;box-shadow:none!important}.avatar.xl{width:84px!important;height:84px!important}.main{margin:0!important;padding:0!important}.profile-heading h2{font-size:30px!important}}
@media (max-width:560px){.modern-intro-card{padding:18px!important}.entity-photo-editor{align-items:flex-start}.pagination-buttons{width:100%;justify-content:space-between}.pagination-pages{order:3;width:100%;justify-content:center}}


/* Branding, sidebar logo, grades table controls polish */
.brand-slogan,.topbar-slogan{margin:.2rem 0 0;color:var(--muted);font-weight:850;letter-spacing:-.01em}.brand-slogan{color:color-mix(in srgb,var(--brand) 72%,var(--ink));font-size:clamp(.96rem,2vw,1.08rem)}.topbar-title{display:grid;gap:2px}.topbar-title h1{margin-bottom:0}.brand-link.logo-only-brand{width:100%!important;min-height:96px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:12px!important;overflow:visible!important}.brand-logo-img.brand-logo-full{display:block!important;width:min(210px,100%)!important;max-width:100%!important;height:auto!important;max-height:82px!important;object-fit:contain!important;object-position:center!important;border-radius:18px!important;background:#fff!important;padding:8px 12px!important;box-shadow:0 16px 34px #00000024!important}.brand-logo-img.brand-logo-favicon{display:none!important}.sidebar-collapsed .brand-link.logo-only-brand{width:62px!important;min-height:58px!important;padding:7px!important;margin-inline:auto!important;background:transparent!important;box-shadow:none!important}.sidebar-collapsed .brand-logo-img.brand-logo-full{display:none!important}.sidebar-collapsed .brand-logo-img.brand-logo-favicon{display:block!important;width:42px!important;height:42px!important;max-height:42px!important;object-fit:contain!important;object-position:center!important;border-radius:13px!important;background:#fff!important;padding:5px!important;box-shadow:0 12px 28px #00000032!important}.table-bottom-filters{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.table-bottom-filters .panel-head.compact{margin-bottom:12px}.entity-table[data-default-page-size="20"] + .table-pagination,.module-table-panel .table-pagination{margin-top:16px}.report-actions{align-items:center}.report .table-wrap table.no-pagination{width:100%}
@media (max-width:780px){.brand-link.logo-only-brand{min-height:72px!important}.brand-logo-img.brand-logo-full{width:180px!important;max-height:68px!important}.topbar-slogan{font-size:.86rem}.table-bottom-filters{padding-top:12px}}
@media print{.report-actions .ghost{display:none!important}.brand-slogan,.topbar-slogan{color:#111827!important}}


/* App-wide uniform table controls */
.table-pagination-bottom{display:grid;grid-template-columns:minmax(300px,1.35fr) auto minmax(170px,.8fr) auto;gap:12px;align-items:end;margin:14px 0 6px;padding:14px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--panel) 94%,var(--brand) 6%);box-shadow:var(--shadow-soft)}
.table-filter-control,.page-size-control{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.table-filter-control label,.page-size-control label{font-weight:900;color:var(--muted);font-size:.86rem}.table-filter-control input{min-width:220px;max-width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--input-bg,var(--panel));color:var(--ink);font-weight:750}.pagination-status{font-weight:850;color:var(--muted);white-space:nowrap}.pagination-buttons{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.pagination-pages{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.page-number.is-active{background:var(--brand);color:#fff;border-color:var(--brand)}.module-advanced-filters{margin-top:14px}.module-advanced-filters .filters-grid{margin-top:10px}
@media (max-width:980px){.table-pagination-bottom{grid-template-columns:1fr}.pagination-buttons{justify-content:flex-start}.pagination-status{white-space:normal}.table-filter-control input{width:100%}}


/* Minimal navigation-only sidebar and footer */
.sidebar.sidebar-nav-only{padding-top:14px!important}.sidebar.sidebar-nav-only nav{margin-top:0!important}.minimal-footer{justify-content:center!important;padding-block:14px!important}.minimal-footer .footer-copyright{font-size:.88rem;color:var(--muted);text-align:center}.minimal-footer .footer-logo{display:none!important}.module-advanced-filters{margin:0 0 14px!important;border-color:color-mix(in srgb,var(--brand) 20%,var(--line))}.module-table-panel .module-advanced-filters{margin-top:0!important}.module-advanced-filters + .panel,.module-advanced-filters + .module-table-panel{margin-top:14px}


/* Collapsed sidebar favicon mark */
.collapsed-sidebar-favicon-link{display:none!important}.sidebar-collapsed .collapsed-sidebar-favicon-link{display:grid!important;place-items:center;width:54px;height:54px;margin:4px auto 12px;border-radius:18px;background:color-mix(in srgb,#ffffff 94%,var(--brand) 6%);border:1px solid color-mix(in srgb,#ffffff 52%,var(--brand) 26%);box-shadow:0 14px 30px rgba(2,6,23,.26),inset 0 1px 0 rgba(255,255,255,.75);transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.sidebar-collapsed .collapsed-sidebar-favicon-link:hover,.sidebar-collapsed .collapsed-sidebar-favicon-link:focus-visible{transform:translateY(-1px);box-shadow:0 18px 36px rgba(2,6,23,.32),0 0 0 3px color-mix(in srgb,var(--brand2) 24%,transparent)}.collapsed-sidebar-favicon{display:block;width:44px!important;height:44px!important;max-width:44px!important;max-height:44px!important;object-fit:contain!important;object-position:center!important;border-radius:14px}.sidebar-collapsed .sidebar.sidebar-nav-only{padding-top:10px!important}html[data-theme="dark"] .sidebar-collapsed .collapsed-sidebar-favicon-link{background:color-mix(in srgb,#0f172a 26%,#ffffff 74%);border-color:color-mix(in srgb,var(--brand) 36%,#ffffff 28%);box-shadow:0 16px 34px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.45)}@media (max-width:780px){.collapsed-sidebar-favicon-link{display:none!important}}


/* Center menu toggle in collapsed sidebar */
.sidebar-collapsed .compact-sidebar-tools .sidebar-toggle-button{
  justify-self:center!important;
  align-self:center!important;
  margin-inline:auto!important;
  margin-left:auto!important;
  margin-right:auto!important;
  display:grid!important;
  place-items:center!important;
  width:52px!important;
  height:52px!important;
  min-height:52px!important;
  padding:0!important;
  text-align:center!important;
}
.sidebar-collapsed .compact-sidebar-tools .sidebar-toggle-button svg,
.sidebar-collapsed .compact-sidebar-tools .sidebar-toggle-button .hamburger-icon{
  margin:auto!important;
}
.sidebar-collapsed .compact-sidebar-tools .sidebar-toggle-label{display:none!important}
@media (max-width:780px){
  .sidebar-collapsed .compact-sidebar-tools .sidebar-toggle-button{
    width:100%!important;
    height:50px!important;
  }
}


/* Sidebar and footer branding refinement */
.sidebar.sidebar-nav-only{
  overflow:visible!important;
}
.sidebar-full-logo-link.logo-only-brand{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:92px!important;
  margin:0 auto 10px!important;
  padding:10px!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(255,255,255,.78)!important;
  box-shadow:0 14px 32px rgba(2,6,23,.18)!important;
  overflow:visible!important;
}
.sidebar-full-logo-link .brand-logo-full{
  display:block!important;
  width:min(208px,100%)!important;
  max-width:100%!important;
  height:auto!important;
  max-height:76px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  border-radius:0!important;
  padding:0!important;
  box-shadow:none!important;
}
.sidebar-full-logo-link .brand-logo-favicon{
  display:none!important;
}
.sidebar-collapsed .sidebar-full-logo-link.logo-only-brand{
  width:54px!important;
  min-height:54px!important;
  height:54px!important;
  margin:4px auto 12px!important;
  padding:6px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.94)!important;
}
.sidebar-collapsed .sidebar-full-logo-link .brand-logo-full{
  display:none!important;
}
.sidebar-collapsed .sidebar-full-logo-link .brand-logo-favicon{
  display:block!important;
  width:42px!important;
  height:42px!important;
  max-width:42px!important;
  max-height:42px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  border-radius:12px!important;
  padding:0!important;
  box-shadow:none!important;
}
/* The new brand link supplies the collapsed mark; prevent duplicate top icon. */
.collapsed-sidebar-favicon-link{
  display:none!important;
}
.sidebar-collapsed .collapsed-sidebar-favicon-link{
  display:none!important;
}
/* Collapsed menu labels: allow hover bubbles to escape the compact sidebar/nav. */
.sidebar-collapsed .sidebar,
.sidebar-collapsed .sidebar nav,
.sidebar-collapsed .sidebar.sidebar-nav-only{
  overflow:visible!important;
}
.sidebar-collapsed .sidebar nav a{
  position:relative!important;
  justify-content:center!important;
  overflow:visible!important;
}
.sidebar-collapsed .sidebar nav a span{
  display:none!important;
}
.sidebar-collapsed .sidebar nav a::after,
.sidebar-collapsed .sidebar-full-logo-link::after{
  content:attr(data-tooltip)!important;
  position:absolute!important;
  left:calc(100% + 14px)!important;
  top:50%!important;
  z-index:999!important;
  width:max-content!important;
  max-width:240px!important;
  padding:8px 11px!important;
  border-radius:999px!important;
  background:#0f172a!important;
  color:#fff!important;
  font-size:.8rem!important;
  font-weight:800!important;
  line-height:1!important;
  white-space:nowrap!important;
  box-shadow:0 14px 32px rgba(2,6,23,.28)!important;
  opacity:0!important;
  pointer-events:none!important;
  transform:translateY(-50%) translateX(-6px)!important;
  transition:opacity .16s ease,transform .16s ease!important;
}
.sidebar-collapsed .sidebar nav a:hover::after,
.sidebar-collapsed .sidebar nav a:focus-visible::after,
.sidebar-collapsed .sidebar-full-logo-link:hover::after,
.sidebar-collapsed .sidebar-full-logo-link:focus-visible::after{
  opacity:1!important;
  transform:translateY(-50%) translateX(0)!important;
}
/* Center the compact sidebar toggle icon exactly in its square. */
.sidebar-collapsed .compact-sidebar-tools{
  justify-items:center!important;
}
.sidebar-collapsed .compact-sidebar-tools .sidebar-toggle-button{
  display:grid!important;
  place-items:center!important;
  justify-content:center!important;
  align-content:center!important;
  justify-self:center!important;
  align-self:center!important;
  width:52px!important;
  height:52px!important;
  min-height:52px!important;
  margin:0 auto!important;
  padding:0!important;
  line-height:0!important;
}
.sidebar-collapsed .compact-sidebar-tools .sidebar-toggle-button svg{
  display:block!important;
  width:24px!important;
  height:24px!important;
  margin:0!important;
  position:static!important;
  transform:none!important;
}
.sidebar-collapsed .compact-sidebar-tools .sidebar-toggle-button .sidebar-toggle-label{
  display:none!important;
}
/* Footer logo: readable, branded, and visible even on the minimal footer variant. */
.site-footer.minimal-footer{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  padding:24px 18px!important;
  margin-top:28px!important;
  border-top:1px solid color-mix(in srgb,var(--brand) 18%,var(--line))!important;
  text-align:center!important;
}
.site-footer.minimal-footer .footer-logo{
  display:block!important;
  width:clamp(126px,16vw,180px)!important;
  height:auto!important;
  max-height:72px!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0 auto!important;
  padding:8px 12px!important;
  border-radius:16px!important;
  background:#ffffff!important;
  border:1px solid color-mix(in srgb,var(--brand) 16%,#ffffff)!important;
  box-shadow:0 12px 28px rgba(15,23,42,.08)!important;
}
html[data-theme="dark"] .site-footer.minimal-footer .footer-logo{
  background:#ffffff!important;
  border-color:#dce7f0!important;
}
@media (max-width:780px){
  .sidebar-full-logo-link.logo-only-brand{min-height:76px!important}
  .sidebar-full-logo-link .brand-logo-full{width:min(178px,100%)!important;max-height:62px!important}
  .sidebar-collapsed .sidebar nav a span{display:inline!important}
  .sidebar-collapsed .sidebar nav a::after,
  .sidebar-collapsed .sidebar-full-logo-link::after{display:none!important}
  .site-footer.minimal-footer .footer-logo{width:132px!important;max-height:60px!important}
}


/* Uniform uppercase titles + flat colorful sidebar icon refresh */
.sidebar-favicon-brand{
  display:grid!important;
  place-items:center!important;
  justify-content:center!important;
  min-height:70px!important;
  padding:8px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.sidebar-favicon-brand .brand-logo-favicon,
.sidebar-collapsed .sidebar-favicon-brand .brand-logo-favicon{
  display:block!important;
  width:58px!important;
  height:58px!important;
  max-width:58px!important;
  max-height:58px!important;
  object-fit:contain!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:none!important;
  padding:0!important;
}
.sidebar-collapsed .sidebar-favicon-brand{min-height:66px!important;padding:6px!important}
.collapsed-sidebar-favicon-link,.brand-logo-full{display:none!important}
.topbar-slogan,.brand-slogan{display:none!important}
.topbar-title h1,
.dashboard-hero h2,
.module-hero h2,
.entity-hero h2,
.profile-hero h2,
.panel-head h2,
.panel>h2,
.settings-card h2,
.profile-card h2,
.login-card-heading h2,
.login-introduction h2{
  text-transform:uppercase!important;
  letter-spacing:.035em!important;
}
.sidebar nav a{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  color:#eaf7ff!important;
  padding:8px 10px!important;
  gap:10px!important;
}
.sidebar nav a:before,.sidebar nav a:after{display:none!important}
.sidebar nav a:hover,.sidebar nav a:focus-visible,.sidebar nav a.is-active{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#ffffff!important;
  transform:translateX(2px)!important;
}
.sidebar nav svg,
.sidebar nav a:nth-child(3n+1) svg,
.sidebar nav a:nth-child(3n+2) svg,
.sidebar nav a:nth-child(3n) svg{
  width:27px!important;
  height:27px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:none!important;
  opacity:1!important;
  flex:0 0 27px!important;
}
.sidebar nav a:nth-child(1) svg{color:#4ade80!important}
.sidebar nav a:nth-child(2) svg{color:#38bdf8!important}
.sidebar nav a:nth-child(3) svg{color:#fbbf24!important}
.sidebar nav a:nth-child(4) svg{color:#2dd4bf!important}
.sidebar nav a:nth-child(5) svg{color:#a78bfa!important}
.sidebar nav a:nth-child(6) svg{color:#60a5fa!important}
.sidebar nav a:nth-child(7) svg{color:#fb923c!important}
.sidebar nav a:nth-child(8) svg{color:#84cc16!important}
.sidebar nav a:nth-child(9) svg{color:#c084fc!important}
.sidebar nav a:nth-child(10) svg{color:#22d3ee!important}
.sidebar nav a:nth-child(11) svg{color:#fb7185!important}
.sidebar nav a:hover svg,.sidebar nav a:focus-visible svg,.sidebar nav a.is-active svg{
  background:transparent!important;
  color:inherit;
  transform:scale(1.08)!important;
}
.sidebar-collapsed .sidebar nav a{
  width:56px!important;
  height:46px!important;
  justify-content:center!important;
  padding:8px!important;
}
.sidebar-collapsed .sidebar nav svg{
  width:30px!important;
  height:30px!important;
  flex-basis:30px!important;
}
.site-footer{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  padding:24px 18px!important;
  text-align:center!important;
  background:transparent!important;
  border-top:1px solid var(--line)!important;
  box-shadow:none!important;
}
.footer-logo,html[data-theme="dark"] .footer-logo{
  display:block!important;
  width:118px!important;
  height:auto!important;
  margin:0 auto!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:none!important;
  object-fit:contain!important;
}


/* Restore visible uppercase page-header titles after earlier minimal hero passes */
.dashboard-hero h2,
.module-hero h2,
.entity-hero h2,
.lekol360-hero h2,
.profile-hero h2{
  display:block!important;
  visibility:visible!important;
}
.module-hero .eyebrow,.entity-hero .eyebrow{display:inline-block!important}


/* Provided favicon as clean sidebar logo: no wrapper/chip styling */
.sidebar.sidebar-nav-only .sidebar-favicon-brand,
.sidebar.sidebar-nav-only .sidebar-favicon-brand.logo-only-brand,
.sidebar.sidebar-nav-only .brand-link.sidebar-favicon-brand,
.sidebar.sidebar-nav-only .brand-link.sidebar-favicon-brand:hover,
.sidebar.sidebar-nav-only .brand-link.sidebar-favicon-brand:focus-visible,
.sidebar-collapsed .sidebar.sidebar-nav-only .sidebar-favicon-brand,
.sidebar-collapsed .sidebar.sidebar-nav-only .sidebar-favicon-brand:hover,
.sidebar-collapsed .sidebar.sidebar-nav-only .sidebar-favicon-brand:focus-visible{
  display:grid!important;
  place-items:center!important;
  justify-content:center!important;
  align-items:center!important;
  width:100%!important;
  min-height:82px!important;
  margin:0 auto 6px!important;
  padding:8px 0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  outline:none!important;
  transform:none!important;
  filter:none!important;
}
.sidebar.sidebar-nav-only .sidebar-favicon-brand::before,
.sidebar.sidebar-nav-only .sidebar-favicon-brand::after{
  display:none!important;
}
.sidebar.sidebar-nav-only .sidebar-favicon-brand .brand-logo-favicon,
.sidebar.sidebar-nav-only .sidebar-favicon-brand .brand-logo-img{
  display:block!important;
  width:clamp(58px,34%,78px)!important;
  height:auto!important;
  max-width:78px!important;
  max-height:78px!important;
  aspect-ratio:1 / 1!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0 auto!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:none!important;
}
.sidebar-collapsed .sidebar.sidebar-nav-only .sidebar-favicon-brand,
.sidebar-collapsed .sidebar.sidebar-nav-only .sidebar-favicon-brand.logo-only-brand{
  min-height:68px!important;
  margin-bottom:4px!important;
  padding:6px 0!important;
}
.sidebar-collapsed .sidebar.sidebar-nav-only .sidebar-favicon-brand .brand-logo-favicon,
.sidebar-collapsed .sidebar.sidebar-nav-only .sidebar-favicon-brand .brand-logo-img{
  width:52px!important;
  max-width:52px!important;
  max-height:52px!important;
}
@media (max-width:780px){
  .sidebar.sidebar-nav-only .sidebar-favicon-brand,
  .sidebar-collapsed .sidebar.sidebar-nav-only .sidebar-favicon-brand{
    min-height:72px!important;
    margin-bottom:8px!important;
  }
  .sidebar.sidebar-nav-only .sidebar-favicon-brand .brand-logo-favicon,
  .sidebar.sidebar-nav-only .sidebar-favicon-brand .brand-logo-img{
    width:60px!important;
    max-width:60px!important;
    max-height:60px!important;
  }
}


/* Operator request: footer logo should have no background chip */
.footer-logo,
.site-footer .footer-logo,
html[data-theme="dark"] .footer-logo,
html[data-theme="dark"] .site-footer .footer-logo{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  border-radius:0!important;
}


/* Footer logo refresh + dashboard-linked sidebar logo */
.sidebar.sidebar-nav-only .sidebar-favicon-brand,
.sidebar.sidebar-nav-only .logo-only-brand{
  cursor:pointer!important;
  pointer-events:auto!important;
  text-decoration:none!important;
}
.sidebar.sidebar-nav-only .sidebar-favicon-brand:focus-visible{
  outline:3px solid color-mix(in srgb,var(--focus-ring,#f59e0b) 76%,transparent)!important;
  outline-offset:4px!important;
}
.site-footer.minimal-footer{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  text-align:center!important;
}
.minimal-footer .footer-logo.footer-site-logo,
.main.public .minimal-footer .footer-logo.footer-site-logo,
.site-footer .footer-logo.footer-site-logo,
html[data-theme="dark"] .site-footer .footer-logo.footer-site-logo{
  display:block!important;
  width:clamp(150px,18vw,240px)!important;
  max-width:min(72vw,260px)!important;
  height:auto!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:none!important;
  padding:0!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center!important;
}
@media (max-width:560px){
  .minimal-footer .footer-logo.footer-site-logo{width:min(190px,68vw)!important}
}


/* Sidebar alignment + collapsed hover labels */
@media (min-width:781px){
  body.sidebar-collapsed .sidebar,
  body.sidebar-collapsed .sidebar.sidebar-nav-only,
  body.sidebar-collapsed .sidebar nav,
  body.sidebar-collapsed .sidebar nav a,
  body.sidebar-collapsed .sidebar-footer-actions,
  body.sidebar-collapsed .compact-sidebar-tools,
  body.sidebar-collapsed .sidebar-tool{
    overflow:visible!important;
  }
  body.sidebar-collapsed .sidebar nav{
    justify-items:center!important;
    overflow-y:visible!important;
    overflow-x:visible!important;
    max-height:none!important;
  }
  body.sidebar-collapsed .sidebar nav a{
    position:relative!important;
    display:grid!important;
    place-items:center!important;
    justify-content:center!important;
    align-content:center!important;
    width:56px!important;
    height:46px!important;
    min-height:46px!important;
    padding:0!important;
    margin-inline:auto!important;
    line-height:0!important;
    transform:none!important;
  }
  body.sidebar-collapsed .sidebar nav a span{
    display:none!important;
  }
  body.sidebar-collapsed .sidebar nav a::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:calc(100% + 7px)!important;
    top:50%!important;
    z-index:1000!important;
    width:10px!important;
    height:10px!important;
    border-radius:2px!important;
    background:rgba(15,23,42,.96)!important;
    opacity:0!important;
    pointer-events:none!important;
    transform:translateY(-50%) rotate(45deg) translateX(-4px)!important;
    transition:opacity .16s ease,transform .16s ease!important;
    box-shadow:none!important;
  }
  body.sidebar-collapsed .sidebar nav a::after{
    content:attr(data-tooltip)!important;
    display:block!important;
    position:absolute!important;
    left:calc(100% + 13px)!important;
    top:50%!important;
    z-index:1001!important;
    width:max-content!important;
    max-width:260px!important;
    padding:9px 12px!important;
    border-radius:14px!important;
    background:rgba(15,23,42,.96)!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.12)!important;
    box-shadow:0 18px 42px rgba(2,6,23,.34), inset 0 1px 0 rgba(255,255,255,.10)!important;
    backdrop-filter:blur(12px)!important;
    font-size:.8rem!important;
    font-weight:850!important;
    letter-spacing:.01em!important;
    line-height:1!important;
    white-space:nowrap!important;
    opacity:0!important;
    pointer-events:none!important;
    transform:translateY(-50%) translateX(-7px)!important;
    transition:opacity .16s ease,transform .16s ease!important;
  }
  body.sidebar-collapsed .sidebar nav a:hover::before,
  body.sidebar-collapsed .sidebar nav a:focus-visible::before,
  body.sidebar-collapsed .sidebar nav a:hover::after,
  body.sidebar-collapsed .sidebar nav a:focus-visible::after{
    opacity:1!important;
  }
  body.sidebar-collapsed .sidebar nav a:hover::before,
  body.sidebar-collapsed .sidebar nav a:focus-visible::before{
    transform:translateY(-50%) rotate(45deg) translateX(0)!important;
  }
  body.sidebar-collapsed .sidebar nav a:hover::after,
  body.sidebar-collapsed .sidebar nav a:focus-visible::after{
    transform:translateY(-50%) translateX(0)!important;
  }
}
.sidebar-footer-actions.compact-sidebar-tools{
  justify-items:center!important;
}
.sidebar-footer-actions .sidebar-toggle-button,
.sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button,
body.sidebar-collapsed .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  justify-content:center!important;
  align-content:center!important;
  justify-self:center!important;
  align-self:center!important;
  margin-inline:auto!important;
  padding:0!important;
  line-height:0!important;
  text-align:center!important;
}
body.sidebar-collapsed .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button{
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  min-height:52px!important;
}
.sidebar-footer-actions .sidebar-toggle-button svg,
body.sidebar-collapsed .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button svg{
  display:block!important;
  width:24px!important;
  height:24px!important;
  margin:auto!important;
  padding:0!important;
  position:static!important;
  transform:none!important;
  flex:0 0 auto!important;
}
body.sidebar-collapsed .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-label{
  display:none!important;
}
@media (max-width:780px){
  .sidebar nav a::before,
  .sidebar nav a::after,
  body.sidebar-collapsed .sidebar nav a::before,
  body.sidebar-collapsed .sidebar nav a::after{
    display:none!important;
  }
  body.sidebar-collapsed .sidebar nav a span{
    display:inline!important;
  }
}


/* Minimal collapsed sidebar text labels: no box, frame, border, or shadow */
@media (min-width:781px){
  body.sidebar-collapsed .sidebar nav a::before,
  body.sidebar-collapsed .sidebar nav a:hover::before,
  body.sidebar-collapsed .sidebar nav a:focus-visible::before{
    content:none!important;
    display:none!important;
    opacity:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
  body.sidebar-collapsed .sidebar nav a::after{
    content:attr(data-tooltip)!important;
    display:block!important;
    left:calc(100% + 14px)!important;
    top:50%!important;
    z-index:1001!important;
    width:max-content!important;
    max-width:260px!important;
    padding:2px 0!important;
    border:0!important;
    border-radius:0!important;
    outline:0!important;
    background:transparent!important;
    background-image:none!important;
    box-shadow:none!important;
    filter:none!important;
    backdrop-filter:none!important;
    color:#0f172a!important;
    font-size:.82rem!important;
    font-weight:900!important;
    letter-spacing:.005em!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    opacity:0!important;
    pointer-events:none!important;
    transform:translateY(-50%) translateX(-5px)!important;
    transition:opacity .16s ease,transform .16s ease,color .16s ease!important;
  }
  html[data-theme="dark"] body.sidebar-collapsed .sidebar nav a::after{
    color:#f8fafc!important;
  }
  body.sidebar-collapsed .sidebar nav a:hover::after,
  body.sidebar-collapsed .sidebar nav a:focus-visible::after{
    opacity:1!important;
    transform:translateY(-50%) translateX(0)!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    filter:none!important;
    backdrop-filter:none!important;
  }
}


/* Footer final layout: logo first, French copyright below */
.site-footer.minimal-footer{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  padding:22px 18px 24px!important;
  text-align:center!important;
}
.site-footer.minimal-footer .footer-logo.footer-site-logo{
  order:1!important;
  flex:0 0 auto!important;
  width:clamp(158px,18vw,238px)!important;
  max-width:min(72vw,260px)!important;
  height:auto!important;
  margin:0!important;
  object-fit:contain!important;
}
.site-footer.minimal-footer .footer-copyright{
  order:2!important;
  display:block!important;
  max-width:min(92vw,760px)!important;
  margin:0 auto!important;
  color:var(--muted)!important;
  font-size:clamp(.82rem,1.4vw,.94rem)!important;
  font-weight:700!important;
  line-height:1.55!important;
  letter-spacing:.005em!important;
  text-wrap:balance!important;
}
.site-footer.minimal-footer .footer-copyright a{
  color:var(--brand)!important;
  font-weight:900!important;
  text-decoration:none!important;
}
.site-footer.minimal-footer .footer-copyright a:hover,
.site-footer.minimal-footer .footer-copyright a:focus-visible{
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}
@media (max-width:560px){
  .site-footer.minimal-footer{
    gap:10px!important;
    padding:18px 14px 22px!important;
  }
  .site-footer.minimal-footer .footer-logo.footer-site-logo{
    width:min(188px,66vw)!important;
  }
  .site-footer.minimal-footer .footer-copyright{
    max-width:94vw!important;
    font-size:.8rem!important;
    line-height:1.6!important;
  }
}


/* Remove duplicate application header bar; keep one clean page title inside content */
.topbar,
.focused-topbar,
.topbar-title{
  display:none!important;
}
.main{
  padding-top:clamp(20px,2.4vw,32px)!important;
}
.main > .dashboard-hero:first-of-type,
.main > .module-hero:first-of-type,
.main > .entity-hero:first-of-type,
.main > .profile-hero:first-of-type,
.main > .panel:first-of-type{
  margin-top:0!important;
}
.module-hero .eyebrow,
.entity-hero .eyebrow,
.lekol360-hero .eyebrow,
.profile-hero .eyebrow,
.dashboard-hero .eyebrow,
.module-hero h2,
.entity-hero h2,
.lekol360-hero h2,
.profile-hero h2,
.dashboard-hero h2,
.teachers-dashboard-hero .eyebrow,
.teachers-dashboard-hero h2{
  display:revert!important;
}
.dashboard-hero,
.module-hero,
.entity-hero,
.profile-hero,
.lekol360-hero{
  margin-bottom:clamp(16px,2vw,22px)!important;
}
.dashboard-hero h2,
.module-hero h2,
.entity-hero h2,
.profile-hero h2,
.lekol360-hero h2{
  margin:.15rem 0 .45rem!important;
  font-size:clamp(1.55rem,2.8vw,2.35rem)!important;
  line-height:1.05!important;
  letter-spacing:-.045em!important;
  font-weight:800!important;
}
.dashboard-hero .eyebrow,
.module-hero .eyebrow,
.entity-hero .eyebrow,
.profile-hero .eyebrow,
.lekol360-hero .eyebrow{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  margin-bottom:.25rem!important;
  font-size:.74rem!important;
  line-height:1!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  opacity:.9!important;
}
.dashboard-hero p,
.module-hero p,
.entity-hero p,
.profile-hero p,
.lekol360-hero p{
  margin:0!important;
  max-width:760px!important;
}
.floating-menu-button{
  display:none!important;
}
@media (max-width:780px){
  .main,
  .sidebar-collapsed .main{
    margin-left:0!important;
    padding:74px 16px 16px!important;
  }
  .floating-menu-button{
    display:grid!important;
    position:fixed!important;
    left:16px!important;
    top:16px!important;
    z-index:60!important;
    place-items:center!important;
    width:46px!important;
    height:46px!important;
    padding:0!important;
    border-radius:16px!important;
    color:#fff!important;
    background:linear-gradient(135deg,var(--brand),var(--brand2))!important;
    border:1px solid rgba(255,255,255,.28)!important;
    box-shadow:0 16px 34px rgba(15,23,42,.24)!important;
  }
  .floating-menu-button svg{
    width:22px!important;
    height:22px!important;
    display:block!important;
    fill:currentColor!important;
  }
  body.sidebar-open .floating-menu-button{
    opacity:0!important;
    pointer-events:none!important;
  }
  .dashboard-hero,
  .module-hero,
  .entity-hero,
  .profile-hero,
  .lekol360-hero{
    padding:22px!important;
    border-radius:24px!important;
  }
  .dashboard-hero h2,
  .module-hero h2,
  .entity-hero h2,
  .profile-hero h2,
  .lekol360-hero h2{
    font-size:clamp(1.42rem,8vw,1.9rem)!important;
  }
}
@media print{
  .floating-menu-button{display:none!important}
}


/* QA polish: keep dashboard metrics/search/actions readable at common widths */
.dashboard-click-grid.stats{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
  gap:clamp(10px,1.4vw,16px)!important;
  align-items:stretch!important;
}
.dashboard-stat-card,
.stats .dashboard-stat-card{
  min-width:0!important;
  overflow:visible!important;
  padding:clamp(14px,1.8vw,20px)!important;
}
.dashboard-stat-card strong,
.stats .dashboard-stat-card strong{
  display:block!important;
  max-width:100%!important;
  overflow:visible!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  font-size:clamp(1.35rem,2.35vw,2.35rem)!important;
  line-height:1.05!important;
  letter-spacing:-.04em!important;
}
.dashboard-stat-card span,
.stats .dashboard-stat-card span{
  line-height:1.18!important;
  overflow-wrap:anywhere!important;
}
.dashboard-search .search-shell{
  display:grid!important;
  grid-template-columns:minmax(220px,1fr) auto!important;
  gap:10px!important;
  width:100%!important;
}
.dashboard-search input,
.search-shell input{
  min-width:0!important;
  text-overflow:ellipsis!important;
}
.quick-actions.cards,
.cards.quick-actions{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
  gap:clamp(12px,1.6vw,18px)!important;
}
.action-card,
.mini-card.action-card{
  min-width:0!important;
  overflow:visible!important;
  height:auto!important;
}
.action-card p,
.mini-card.action-card p{
  display:block!important;
  overflow:visible!important;
  white-space:normal!important;
  line-height:1.45!important;
}
html[data-theme="dark"] .site-footer .footer-logo.footer-site-logo{
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.35)) drop-shadow(0 8px 18px rgba(255,255,255,.10))!important;
}
@media (max-width:900px){
  .dashboard-search .search-shell{grid-template-columns:1fr!important}
  .dashboard-search .search-shell .primary{width:100%!important}
}
@media (max-width:560px){
  .dashboard-click-grid.stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .dashboard-stat-card strong,.stats .dashboard-stat-card strong{font-size:clamp(1.15rem,8vw,1.85rem)!important}
}


/* Collapsed sidebar accessible hover labels */
@media (min-width:781px){
  .sidebar-collapsed .sidebar,
  .sidebar-collapsed .sidebar nav,
  .sidebar-collapsed .sidebar .brand,
  .sidebar-collapsed .sidebar .brand-link,
  .sidebar-collapsed .sidebar-footer-actions,
  .sidebar-collapsed .compact-sidebar-tools{
    overflow:visible!important;
  }
  .sidebar-collapsed .sidebar nav{
    scrollbar-width:none;
    align-items:center!important;
  }
  .sidebar-collapsed .sidebar nav::-webkit-scrollbar{display:none}
  .sidebar-collapsed .sidebar nav a,
  .sidebar-collapsed .brand-link,
  .sidebar-collapsed .sidebar-tool,
  .sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button{
    position:relative!important;
  }
  .sidebar-collapsed .sidebar nav a{
    justify-content:center!important;
  }
  .sidebar-collapsed .sidebar nav a::after,
  .sidebar-collapsed .brand-link::after,
  .sidebar-collapsed .sidebar-tool::after,
  .sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button::after{
    content:attr(data-tooltip)!important;
    position:absolute!important;
    left:calc(100% + 14px)!important;
    top:50%!important;
    z-index:1000!important;
    display:block!important;
    width:max-content!important;
    max-width:260px!important;
    min-height:auto!important;
    padding:9px 12px!important;
    border-radius:14px!important;
    border:1px solid rgba(255,255,255,.18)!important;
    background:rgba(15,23,42,.96)!important;
    color:#fff!important;
    font-size:.82rem!important;
    font-weight:700!important;
    line-height:1.15!important;
    letter-spacing:-.01em!important;
    white-space:nowrap!important;
    text-align:left!important;
    box-shadow:0 18px 42px rgba(2,6,23,.28),0 0 0 1px rgba(15,23,42,.08)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(-50%) translateX(-6px) scale(.98)!important;
    transform-origin:left center!important;
    transition:opacity .16s ease,visibility .16s ease,transform .16s ease!important;
  }
  .sidebar-collapsed .sidebar nav a::before,
  .sidebar-collapsed .brand-link::before,
  .sidebar-collapsed .sidebar-tool::before,
  .sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button::before{
    content:""!important;
    position:absolute!important;
    left:calc(100% + 7px)!important;
    top:50%!important;
    z-index:1001!important;
    display:block!important;
    width:12px!important;
    height:12px!important;
    margin:0!important;
    border-radius:3px!important;
    background:rgba(15,23,42,.96)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(-50%) rotate(45deg) translateX(-4px)!important;
    transition:opacity .16s ease,visibility .16s ease,transform .16s ease!important;
    box-shadow:none!important;
  }
  .sidebar-collapsed .sidebar nav a:hover::after,
  .sidebar-collapsed .sidebar nav a:focus-visible::after,
  .sidebar-collapsed .brand-link:hover::after,
  .sidebar-collapsed .brand-link:focus-visible::after,
  .sidebar-collapsed .sidebar-tool:hover::after,
  .sidebar-collapsed .sidebar-tool:focus-visible::after,
  .sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button:hover::after,
  .sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button:focus-visible::after,
  .sidebar-collapsed .sidebar nav a:hover::before,
  .sidebar-collapsed .sidebar nav a:focus-visible::before,
  .sidebar-collapsed .brand-link:hover::before,
  .sidebar-collapsed .brand-link:focus-visible::before,
  .sidebar-collapsed .sidebar-tool:hover::before,
  .sidebar-collapsed .sidebar-tool:focus-visible::before,
  .sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button:hover::before,
  .sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button:focus-visible::before{
    opacity:1!important;
    visibility:visible!important;
    transform:translateY(-50%) translateX(0) scale(1)!important;
  }
  .sidebar-collapsed .sidebar nav a:hover::before,
  .sidebar-collapsed .sidebar nav a:focus-visible::before,
  .sidebar-collapsed .brand-link:hover::before,
  .sidebar-collapsed .brand-link:focus-visible::before,
  .sidebar-collapsed .sidebar-tool:hover::before,
  .sidebar-collapsed .sidebar-tool:focus-visible::before,
  .sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button:hover::before,
  .sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button:focus-visible::before{
    transform:translateY(-50%) rotate(45deg) translateX(0)!important;
  }
  html[data-theme="dark"] .sidebar-collapsed .sidebar nav a::after,
  html[data-theme="dark"] .sidebar-collapsed .brand-link::after,
  html[data-theme="dark"] .sidebar-collapsed .sidebar-tool::after,
  html[data-theme="dark"] .sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button::after{
    background:rgba(248,250,252,.96)!important;
    color:#0f172a!important;
    border-color:rgba(15,23,42,.12)!important;
    box-shadow:0 18px 42px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.10)!important;
  }
  html[data-theme="dark"] .sidebar-collapsed .sidebar nav a::before,
  html[data-theme="dark"] .sidebar-collapsed .brand-link::before,
  html[data-theme="dark"] .sidebar-collapsed .sidebar-tool::before,
  html[data-theme="dark"] .sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button::before{
    background:rgba(248,250,252,.96)!important;
  }
  .sidebar-collapsed .compact-sidebar-tools .sidebar-tool span{
    display:none!important;
  }
  .sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button{
    display:grid!important;
    place-items:center!important;
    justify-content:center!important;
    align-items:center!important;
    margin-inline:auto!important;
    padding:0!important;
    text-align:center!important;
  }
}


/* Keep the collapsed sidebar menu toggle centered with the icon rail. */
@media (min-width:781px){
  .sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button,
  .sidebar-collapsed .compact-sidebar-tools .sidebar-toggle-button{
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    justify-self:center!important;
    align-self:center!important;
    margin-inline:auto!important;
  }
}


/* Final collapsed sidebar tooltip override: boxed, high-contrast labels. */
@media (min-width:781px){
  body.sidebar-collapsed .sidebar nav a::after,
  body.sidebar-collapsed .sidebar .brand-link::after,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-tool::after,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button::after{
    content:attr(data-tooltip)!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    position:absolute!important;
    left:calc(100% + 14px)!important;
    top:50%!important;
    z-index:2000!important;
    width:max-content!important;
    min-width:88px!important;
    max-width:260px!important;
    min-height:34px!important;
    padding:9px 14px!important;
    border-radius:14px!important;
    border:1px solid rgba(255,255,255,.18)!important;
    background:rgba(15,23,42,.96)!important;
    background-image:none!important;
    color:#fff!important;
    box-shadow:0 18px 42px rgba(2,6,23,.32),0 0 0 1px rgba(15,23,42,.08)!important;
    filter:none!important;
    backdrop-filter:blur(12px)!important;
    font-size:.82rem!important;
    font-weight:700!important;
    line-height:1.15!important;
    letter-spacing:-.01em!important;
    white-space:nowrap!important;
    text-align:center!important;
    text-wrap:balance!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(-50%) translateX(-6px) scale(.98)!important;
    transform-origin:left center!important;
    transition:opacity .16s ease,visibility .16s ease,transform .16s ease!important;
  }
  body.sidebar-collapsed .sidebar nav a:hover::after,
  body.sidebar-collapsed .sidebar nav a:focus-visible::after,
  body.sidebar-collapsed .sidebar .brand-link:hover::after,
  body.sidebar-collapsed .sidebar .brand-link:focus-visible::after,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-tool:hover::after,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-tool:focus-visible::after,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button:hover::after,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button:focus-visible::after{
    opacity:1!important;
    visibility:visible!important;
    transform:translateY(-50%) translateX(0) scale(1)!important;
  }
  html[data-theme="dark"] body.sidebar-collapsed .sidebar nav a::after,
  html[data-theme="dark"] body.sidebar-collapsed .sidebar .brand-link::after,
  html[data-theme="dark"] body.sidebar-collapsed .sidebar-footer-actions .sidebar-tool::after,
  html[data-theme="dark"] body.sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button::after{
    background:rgba(248,250,252,.96)!important;
    color:#0f172a!important;
    border-color:rgba(15,23,42,.12)!important;
    box-shadow:0 18px 42px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.10)!important;
  }
}

/* Final QA fix: collapsed sidebar tooltip boxes must stay readable and centered in every theme. */
@media (min-width:781px){
  body.sidebar-collapsed .sidebar,
  body.sidebar-collapsed .sidebar nav,
  body.sidebar-collapsed .sidebar nav a{
    overflow:visible!important;
  }
  body.sidebar-collapsed .sidebar nav a::before{
    content:none!important;
    display:none!important;
  }
  body.sidebar-collapsed .sidebar nav a::after,
  body.sidebar-collapsed .sidebar .brand-link::after,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-tool::after,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button::after{
    content:attr(data-tooltip)!important;
    box-sizing:border-box!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    position:absolute!important;
    left:calc(100% + 14px)!important;
    top:50%!important;
    z-index:3000!important;
    inline-size:max-content!important;
    width:max-content!important;
    min-inline-size:96px!important;
    min-width:96px!important;
    max-inline-size:min(280px,calc(100vw - 132px))!important;
    max-width:min(280px,calc(100vw - 132px))!important;
    min-block-size:38px!important;
    min-height:38px!important;
    padding:9px 14px!important;
    border-radius:15px!important;
    border:1px solid rgba(255,255,255,.20)!important;
    background:#0f172a!important;
    color:#ffffff!important;
    box-shadow:0 18px 42px rgba(2,6,23,.34),0 0 0 1px rgba(15,23,42,.08)!important;
    font-size:.83rem!important;
    font-weight:800!important;
    line-height:1.2!important;
    letter-spacing:-.005em!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    text-align:center!important;
    text-wrap:balance!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(-50%) translateX(-6px) scale(.98)!important;
    transform-origin:left center!important;
    transition:opacity .16s ease,visibility .16s ease,transform .16s ease!important;
  }
  body.sidebar-collapsed .sidebar nav a:hover::after,
  body.sidebar-collapsed .sidebar nav a:focus-visible::after,
  body.sidebar-collapsed .sidebar .brand-link:hover::after,
  body.sidebar-collapsed .sidebar .brand-link:focus-visible::after,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-tool:hover::after,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-tool:focus-visible::after,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button:hover::after,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button:focus-visible::after{
    opacity:1!important;
    visibility:visible!important;
    transform:translateY(-50%) translateX(0) scale(1)!important;
  }
  html[data-theme="dark"] body.sidebar-collapsed .sidebar nav a::after,
  html[data-theme="dark"] body.sidebar-collapsed .sidebar .brand-link::after,
  html[data-theme="dark"] body.sidebar-collapsed .sidebar-footer-actions .sidebar-tool::after,
  html[data-theme="dark"] body.sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button::after{
    background:#f8fafc!important;
    color:#0f172a!important;
    border-color:rgba(15,23,42,.14)!important;
    box-shadow:0 18px 42px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.10)!important;
  }
}

/* Telegram-inspired application palette refresh: clean blue surfaces, balanced contrast, light/dark parity. */
:root{
  --tg-blue:#2aabee;
  --tg-blue-strong:#229ed9;
  --tg-blue-deep:#168acd;
  --tg-cyan:#64d2ff;
  --tg-sky:#e8f5fd;
  --tg-sky-2:#dff1fb;
  --tg-bg:#f4f8fb;
  --tg-bg-2:#eaf3f9;
  --tg-panel:#ffffff;
  --tg-panel-soft:#f8fbfd;
  --tg-ink:#17212b;
  --tg-muted:#64798a;
  --tg-line:#d8e6ef;
  --tg-success:#31b545;
  --tg-warning:#f5a623;
  --tg-danger:#e53935;
  --tg-sidebar:#1f91d1;
  --tg-sidebar-2:#1677b6;
  --brand:var(--tg-blue)!important;
  --brand-strong:var(--tg-blue-strong)!important;
  --brand2:#64b5f6!important;
  --brand3:#35c2f2!important;
  --accent:#54c7ec!important;
  --accent2:#8fd3ff!important;
  --bg:var(--tg-bg)!important;
  --bg2:var(--tg-bg-2)!important;
  --panel:#fffffff2!important;
  --panel-solid:var(--tg-panel)!important;
  --ink:var(--tg-ink)!important;
  --muted:var(--tg-muted)!important;
  --line:var(--tg-line)!important;
  --sidebar:#168acd!important;
  --sidebar2:#0e6fae!important;
  --sideText:#f7fcff!important;
  --shadow:0 24px 70px rgba(42,171,238,.16)!important;
  --soft-shadow:0 14px 38px rgba(42,171,238,.22)!important;
}
html[data-theme="dark"]{
  --tg-bg:#0f1822;
  --tg-bg-2:#17212b;
  --tg-panel:#182533;
  --tg-panel-soft:#1e2c3a;
  --tg-ink:#f4f8fb;
  --tg-muted:#a8bac8;
  --tg-line:#2b4052;
  --tg-sidebar:#111f2c;
  --tg-sidebar-2:#0b1722;
  --brand:#5ac8fa!important;
  --brand-strong:#8fdcff!important;
  --brand2:#2aabee!important;
  --brand3:#64d2ff!important;
  --accent:#6bd6ff!important;
  --accent2:#9ad9ff!important;
  --bg:var(--tg-bg)!important;
  --bg2:var(--tg-bg-2)!important;
  --panel:rgba(24,37,51,.94)!important;
  --panel-solid:var(--tg-panel)!important;
  --ink:var(--tg-ink)!important;
  --muted:var(--tg-muted)!important;
  --line:var(--tg-line)!important;
  --sidebar:var(--tg-sidebar)!important;
  --sidebar2:var(--tg-sidebar-2)!important;
  --sideText:#eff8ff!important;
  --shadow:0 24px 70px rgba(0,0,0,.50)!important;
  --soft-shadow:0 14px 38px rgba(0,0,0,.34)!important;
}
body{
  color:var(--ink)!important;
  background:
    radial-gradient(circle at 9% 8%,color-mix(in srgb,var(--brand) 18%,transparent),transparent 28rem),
    radial-gradient(circle at 92% 12%,color-mix(in srgb,var(--brand2) 14%,transparent),transparent 24rem),
    linear-gradient(135deg,var(--bg),var(--bg2))!important;
}
a{color:var(--brand)!important}a:hover,a:focus-visible{color:var(--brand-strong)!important}
.sidebar{
  background:
    linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.05) 42%,transparent 76%),
    radial-gradient(circle at 18% 8%,rgba(100,210,255,.34),transparent 17rem),
    linear-gradient(180deg,var(--sidebar),var(--sidebar2))!important;
  border-right:1px solid color-mix(in srgb,#fff 18%,transparent)!important;
  box-shadow:18px 0 54px rgba(15,35,54,.28)!important;
}
html[data-theme="dark"] .sidebar{
  background:
    linear-gradient(180deg,rgba(100,210,255,.10),rgba(255,255,255,.03) 44%,transparent 78%),
    radial-gradient(circle at 18% 8%,rgba(42,171,238,.20),transparent 17rem),
    linear-gradient(180deg,var(--sidebar),var(--sidebar2))!important;
  border-right-color:rgba(143,220,255,.10)!important;
}
.brand-link,.sidebar nav a,.sidebar-tool,.sidebar-footer-actions .sidebar-toggle-button{
  color:var(--sideText)!important;
}
.brand-link{
  background:linear-gradient(135deg,rgba(255,255,255,.20),rgba(255,255,255,.08))!important;
  border-color:rgba(255,255,255,.22)!important;
}
.sidebar nav a{
  background:transparent!important;
  border-color:transparent!important;
}
.sidebar nav a:hover,.sidebar nav a:focus-visible,.sidebar nav a.is-active{
  background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.10))!important;
  border-color:rgba(255,255,255,.24)!important;
  box-shadow:0 14px 32px rgba(10,37,64,.20),inset 0 1px 0 rgba(255,255,255,.20)!important;
  color:#fff!important;
}
.sidebar nav a{--icon-c1:#2aabee!important;--icon-c2:#64d2ff!important;--icon-glow:rgba(42,171,238,.30)!important}
.sidebar nav a:nth-child(odd){--icon-c1:#229ed9!important;--icon-c2:#64d2ff!important;--icon-glow:rgba(34,158,217,.32)!important}
.sidebar nav a:nth-child(even){--icon-c1:#168acd!important;--icon-c2:#35c2f2!important;--icon-glow:rgba(22,138,205,.32)!important}
.sidebar nav svg,.icon-button svg,.theme-toggle svg{
  color:#fff!important;
  background:linear-gradient(135deg,var(--icon-c1,var(--brand)),var(--icon-c2,var(--brand2)))!important;
  box-shadow:0 10px 24px var(--icon-glow,rgba(42,171,238,.26)),inset 0 1px 0 rgba(255,255,255,.50)!important;
}
.topbar,.focused-topbar,.dashboard-search,.panel,.mini-card,.stats>div,.action-card,.profile-card,.table-pagination,.premium-auth-card,.login-splash-panel,.portal-option,.attendance-card,.module-table-panel{
  background:linear-gradient(145deg,color-mix(in srgb,var(--panel-solid) 96%,transparent),color-mix(in srgb,var(--brand) 4%,var(--panel-solid)))!important;
  border-color:color-mix(in srgb,var(--brand) 18%,var(--line))!important;
  box-shadow:0 18px 48px rgba(42,171,238,.11)!important;
  color:var(--ink)!important;
}
html[data-theme="dark"] .topbar,html[data-theme="dark"] .focused-topbar,html[data-theme="dark"] .dashboard-search,html[data-theme="dark"] .panel,html[data-theme="dark"] .mini-card,html[data-theme="dark"] .stats>div,html[data-theme="dark"] .action-card,html[data-theme="dark"] .profile-card,html[data-theme="dark"] .table-pagination,html[data-theme="dark"] .premium-auth-card,html[data-theme="dark"] .login-splash-panel,html[data-theme="dark"] .portal-option,html[data-theme="dark"] .attendance-card,html[data-theme="dark"] .module-table-panel{
  background:linear-gradient(145deg,color-mix(in srgb,var(--panel-solid) 94%,transparent),color-mix(in srgb,var(--brand) 7%,var(--panel-solid)))!important;
  border-color:color-mix(in srgb,var(--brand) 20%,var(--line))!important;
  box-shadow:0 18px 48px rgba(0,0,0,.30)!important;
}
.dashboard-hero,.module-hero,.entity-hero,.lekol360-hero,.teachers-dashboard-hero,.years-hero,.classes-hero,.grades-hero,.attendance-hero,.reports-hero,.import-hero,.schools-hero,.users-hero{
  background:
    radial-gradient(circle at 88% 12%,rgba(143,220,255,.46),transparent 15rem),
    radial-gradient(circle at 14% 18%,rgba(255,255,255,.20),transparent 13rem),
    linear-gradient(135deg,#168acd,#2aabee 55%,#64d2ff)!important;
  box-shadow:0 28px 78px rgba(42,171,238,.24)!important;
  color:#fff!important;
}
html[data-theme="dark"] .dashboard-hero,html[data-theme="dark"] .module-hero,html[data-theme="dark"] .entity-hero,html[data-theme="dark"] .lekol360-hero,html[data-theme="dark"] .teachers-dashboard-hero,html[data-theme="dark"] .years-hero,html[data-theme="dark"] .classes-hero,html[data-theme="dark"] .grades-hero,html[data-theme="dark"] .attendance-hero,html[data-theme="dark"] .reports-hero,html[data-theme="dark"] .import-hero,html[data-theme="dark"] .schools-hero,html[data-theme="dark"] .users-hero{
  background:
    radial-gradient(circle at 88% 12%,rgba(100,210,255,.28),transparent 15rem),
    radial-gradient(circle at 14% 18%,rgba(255,255,255,.08),transparent 13rem),
    linear-gradient(135deg,#111f2c,#1b7fba 58%,#2aabee)!important;
  box-shadow:0 28px 78px rgba(0,0,0,.34)!important;
}
.dashboard-hero *,.module-hero *,.entity-hero *,.lekol360-hero *,.teachers-dashboard-hero *{color:inherit!important}
.primary,button[type="submit"],input[type="submit"],.button.primary,.mobile-menu-button,.sidebar-toggle-button,.pagination-buttons button:not(:disabled){
  background:linear-gradient(135deg,var(--brand),var(--brand-strong))!important;
  border-color:color-mix(in srgb,var(--brand-strong) 60%,#fff)!important;
  color:#fff!important;
  box-shadow:0 14px 30px rgba(42,171,238,.28)!important;
}
.primary:hover,button[type="submit"]:hover,input[type="submit"]:hover,.button.primary:hover,.mobile-menu-button:hover,.sidebar-toggle-button:hover,.pagination-buttons button:not(:disabled):hover{
  filter:saturate(1.08) brightness(1.02)!important;
  box-shadow:0 18px 38px rgba(42,171,238,.34)!important;
}
.ghost,.theme-toggle,.icon-button,.button.ghost,.secondary{
  background:color-mix(in srgb,var(--brand) 9%,var(--panel-solid))!important;
  color:var(--brand-strong)!important;
  border-color:color-mix(in srgb,var(--brand) 22%,var(--line))!important;
  box-shadow:0 10px 24px rgba(42,171,238,.10)!important;
}
.danger,.button.danger,button.danger{
  background:linear-gradient(135deg,#ff6b6b,var(--tg-danger))!important;
  color:#fff!important;
  border-color:rgba(229,57,53,.34)!important;
  box-shadow:0 14px 30px rgba(229,57,53,.22)!important;
}
input,select,textarea,.search-input{
  background:var(--panel-solid)!important;
  color:var(--ink)!important;
  border-color:color-mix(in srgb,var(--brand) 16%,var(--line))!important;
  box-shadow:inset 0 1px 0 rgba(42,171,238,.04)!important;
}
input:focus,select:focus,textarea:focus,.search-input:focus{
  border-color:var(--brand)!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 18%,transparent)!important;
  outline:none!important;
}
input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--muted) 82%,var(--ink))!important;opacity:1!important}
table,.entity-table{background:var(--panel-solid)!important;color:var(--ink)!important}
thead th,table th{
  background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 13%,var(--panel-solid)),color-mix(in srgb,var(--brand2) 8%,var(--panel-solid)))!important;
  color:var(--ink)!important;
  border-color:var(--line)!important;
}
td,th{border-color:var(--line)!important}tbody tr:hover td,.entity-table tr:hover td{background:color-mix(in srgb,var(--brand) 7%,transparent)!important}
.badge,.chip,.status-pill,.portal-badge,.splash-badges span,.eyebrow{
  background:color-mix(in srgb,var(--brand) 12%,var(--panel-solid))!important;
  color:var(--brand-strong)!important;
  border-color:color-mix(in srgb,var(--brand) 22%,var(--line))!important;
}
.flash,.alert,.notice,.notification,.message-banner{
  background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 12%,var(--panel-solid)),color-mix(in srgb,var(--brand2) 8%,var(--panel-solid)))!important;
  color:var(--ink)!important;
  border-color:color-mix(in srgb,var(--brand) 26%,var(--line))!important;
  box-shadow:0 14px 32px rgba(42,171,238,.14)!important;
}
.flash.success,.alert-success,.notice.success{background:color-mix(in srgb,var(--tg-success) 13%,var(--panel-solid))!important;border-color:color-mix(in srgb,var(--tg-success) 32%,var(--line))!important}
.flash.error,.alert-error,.notice.error{background:color-mix(in srgb,var(--tg-danger) 12%,var(--panel-solid))!important;border-color:color-mix(in srgb,var(--tg-danger) 32%,var(--line))!important}
.flash.warning,.alert-warning,.notice.warning{background:color-mix(in srgb,var(--tg-warning) 14%,var(--panel-solid))!important;border-color:color-mix(in srgb,var(--tg-warning) 34%,var(--line))!important}
.avatar,.avatar.xl,.logo,.stat-icon,.quick-link-icon,.portal-icon{
  background:linear-gradient(135deg,var(--brand),var(--brand2))!important;
  color:#fff!important;
  box-shadow:0 14px 34px rgba(42,171,238,.25)!important;
}
.site-footer,.muted,small,.stats span,.detail-list dt{color:var(--muted)!important}.site-footer a{color:var(--brand-strong)!important}
hr,.divider{border-color:var(--line)!important}
body.sidebar-collapsed .sidebar nav a::after,
body.sidebar-collapsed .sidebar .brand-link::after,
body.sidebar-collapsed .sidebar-footer-actions .sidebar-tool::after,
body.sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button::after{
  background:#17212b!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.18)!important;
}
html[data-theme="dark"] body.sidebar-collapsed .sidebar nav a::after,
html[data-theme="dark"] body.sidebar-collapsed .sidebar .brand-link::after,
html[data-theme="dark"] body.sidebar-collapsed .sidebar-footer-actions .sidebar-tool::after,
html[data-theme="dark"] body.sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button::after{
  background:#f4f8fb!important;
  color:#17212b!important;
  border-color:rgba(23,33,43,.15)!important;
}
@media (max-width:780px){
  .sidebar{background:linear-gradient(180deg,var(--sidebar),var(--sidebar2))!important}
  .sidebar-backdrop{background:rgba(15,24,34,.58)!important;backdrop-filter:blur(4px)!important}
}

/* Telegram palette QA refinements: improve small-label contrast, stat wrapping, and decorative balance. */
.dashboard-search label,
.dashboard-search .field-label-text,
.dashboard-search span,
.search label,
.search .field-label-text{
  color:var(--tg-ink)!important;
  font-weight:800!important;
  opacity:1!important;
}
html[data-theme="dark"] .dashboard-search label,
html[data-theme="dark"] .dashboard-search .field-label-text,
html[data-theme="dark"] .dashboard-search span,
html[data-theme="dark"] .search label,
html[data-theme="dark"] .search .field-label-text{
  color:var(--tg-ink)!important;
}
.stats,.dashboard-click-grid{
  grid-template-columns:repeat(auto-fit,minmax(168px,1fr))!important;
}
.stats>div,.stats>a.dashboard-stat-card,.dashboard-click-grid .dashboard-stat-card{
  min-width:0!important;
  overflow:hidden!important;
}
.stats span,.dashboard-stat-card span,.stats .dashboard-stat-card span{
  display:block!important;
  color:var(--tg-muted)!important;
  font-size:clamp(.76rem,.95vw,.88rem)!important;
  line-height:1.25!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.stats strong,.dashboard-stat-card strong,.stats .dashboard-stat-card strong{
  color:var(--tg-ink)!important;
}
.action-card,.mini-card,.dashboard-stat-card{
  overflow:hidden!important;
}
.action-card::before,.action-card::after,.mini-card::before,.mini-card::after,.dashboard-stat-card::before{
  opacity:.42!important;
  transform:scale(.78)!important;
}
.action-card h3,.action-card p,.mini-card h3,.mini-card p{
  position:relative!important;
  z-index:1!important;
}
.panel p,.mini-card p,.action-card p,.portal-option small,.detail-list dd{
  color:color-mix(in srgb,var(--tg-muted) 88%,var(--tg-ink))!important;
}
html[data-theme="dark"] .panel p,
html[data-theme="dark"] .mini-card p,
html[data-theme="dark"] .action-card p,
html[data-theme="dark"] .portal-option small,
html[data-theme="dark"] .detail-list dd{
  color:#c2d2df!important;
}

/* Telegram palette dark-mode polish: stronger secondary contrast and roomier search field. */
.dashboard-search input,
.search input[type="search"],
.search input[type="text"]{
  min-width:min(340px,100%)!important;
}
html[data-theme="dark"] .muted,
html[data-theme="dark"] small,
html[data-theme="dark"] .stats span,
html[data-theme="dark"] .dashboard-stat-card span,
html[data-theme="dark"] .site-footer,
html[data-theme="dark"] .panel p,
html[data-theme="dark"] .mini-card p,
html[data-theme="dark"] .action-card p,
html[data-theme="dark"] .portal-option small,
html[data-theme="dark"] .detail-list dt,
html[data-theme="dark"] .detail-list dd{
  color:#d2e3ef!important;
}

/* Lekòl360 professional full-application color harmony refresh: balanced education-tech palette, light/dark accessible contrast. */
:root{
  --pro-navy:#0f2742;
  --pro-navy-2:#173b60;
  --pro-blue:#2563eb;
  --pro-blue-strong:#1d4ed8;
  --pro-sky:#0ea5e9;
  --pro-teal:#14b8a6;
  --pro-mint:#ecfdf5;
  --pro-amber:#f59e0b;
  --pro-red:#dc2626;
  --pro-green:#16a34a;
  --pro-bg:#f6f8fc;
  --pro-bg-2:#edf4fb;
  --pro-panel:#ffffff;
  --pro-panel-soft:#f8fbff;
  --pro-ink:#102033;
  --pro-muted:#53657a;
  --pro-line:#d7e2ee;
  --pro-sidebar:#112c49;
  --pro-sidebar-2:#0b1d33;
  --pro-side-text:#f6fbff;
  --tg-blue:var(--pro-blue)!important;
  --tg-blue-strong:var(--pro-blue-strong)!important;
  --tg-blue-deep:#1e40af!important;
  --tg-cyan:var(--pro-sky)!important;
  --tg-sky:#eaf5ff!important;
  --tg-sky-2:#dceeff!important;
  --tg-bg:var(--pro-bg)!important;
  --tg-bg-2:var(--pro-bg-2)!important;
  --tg-panel:var(--pro-panel)!important;
  --tg-panel-soft:var(--pro-panel-soft)!important;
  --tg-ink:var(--pro-ink)!important;
  --tg-muted:var(--pro-muted)!important;
  --tg-line:var(--pro-line)!important;
  --tg-success:var(--pro-green)!important;
  --tg-warning:var(--pro-amber)!important;
  --tg-danger:var(--pro-red)!important;
  --brand:var(--pro-blue)!important;
  --brand-strong:var(--pro-blue-strong)!important;
  --brand2:var(--pro-teal)!important;
  --brand3:var(--pro-sky)!important;
  --accent:var(--pro-amber)!important;
  --accent2:#7c3aed!important;
  --bg:var(--pro-bg)!important;
  --bg2:var(--pro-bg-2)!important;
  --panel:rgba(255,255,255,.94)!important;
  --panel-solid:var(--pro-panel)!important;
  --ink:var(--pro-ink)!important;
  --muted:var(--pro-muted)!important;
  --line:var(--pro-line)!important;
  --sidebar:var(--pro-sidebar)!important;
  --sidebar2:var(--pro-sidebar-2)!important;
  --sideText:var(--pro-side-text)!important;
  --shadow:0 24px 70px rgba(15,39,66,.12)!important;
  --soft-shadow:0 14px 38px rgba(37,99,235,.14)!important;
}
html[data-theme="dark"]{
  --pro-navy:#eaf2fb;
  --pro-navy-2:#c8d8e8;
  --pro-blue:#60a5fa;
  --pro-blue-strong:#93c5fd;
  --pro-sky:#38bdf8;
  --pro-teal:#2dd4bf;
  --pro-mint:#0d2c2a;
  --pro-amber:#fbbf24;
  --pro-red:#f87171;
  --pro-green:#4ade80;
  --pro-bg:#07111f;
  --pro-bg-2:#0d1b2e;
  --pro-panel:#101f33;
  --pro-panel-soft:#15283f;
  --pro-ink:#f4f8fc;
  --pro-muted:#c7d5e3;
  --pro-line:#2a4059;
  --pro-sidebar:#081526;
  --pro-sidebar-2:#050d19;
  --pro-side-text:#f4f9ff;
  --tg-blue:var(--pro-blue)!important;
  --tg-blue-strong:var(--pro-blue-strong)!important;
  --tg-blue-deep:#3b82f6!important;
  --tg-cyan:var(--pro-sky)!important;
  --tg-sky:#10263c!important;
  --tg-sky-2:#15324e!important;
  --tg-bg:var(--pro-bg)!important;
  --tg-bg-2:var(--pro-bg-2)!important;
  --tg-panel:var(--pro-panel)!important;
  --tg-panel-soft:var(--pro-panel-soft)!important;
  --tg-ink:var(--pro-ink)!important;
  --tg-muted:var(--pro-muted)!important;
  --tg-line:var(--pro-line)!important;
  --tg-success:var(--pro-green)!important;
  --tg-warning:var(--pro-amber)!important;
  --tg-danger:var(--pro-red)!important;
  --brand:var(--pro-blue)!important;
  --brand-strong:var(--pro-blue-strong)!important;
  --brand2:var(--pro-teal)!important;
  --brand3:var(--pro-sky)!important;
  --accent:var(--pro-amber)!important;
  --accent2:#c4b5fd!important;
  --bg:var(--pro-bg)!important;
  --bg2:var(--pro-bg-2)!important;
  --panel:rgba(16,31,51,.94)!important;
  --panel-solid:var(--pro-panel)!important;
  --ink:var(--pro-ink)!important;
  --muted:var(--pro-muted)!important;
  --line:var(--pro-line)!important;
  --sidebar:var(--pro-sidebar)!important;
  --sidebar2:var(--pro-sidebar-2)!important;
  --sideText:var(--pro-side-text)!important;
  --shadow:0 24px 70px rgba(0,0,0,.46)!important;
  --soft-shadow:0 14px 38px rgba(0,0,0,.32)!important;
}
html,body{color:var(--ink)!important;background-color:var(--bg)!important}
body{
  background:
    radial-gradient(circle at 10% 8%,color-mix(in srgb,var(--brand) 12%,transparent),transparent 26rem),
    radial-gradient(circle at 90% 10%,color-mix(in srgb,var(--brand2) 11%,transparent),transparent 24rem),
    radial-gradient(circle at 52% 96%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 25rem),
    linear-gradient(135deg,var(--bg),var(--bg2))!important;
}
html[data-theme="dark"] body{
  background:
    radial-gradient(circle at 10% 8%,rgba(96,165,250,.16),transparent 25rem),
    radial-gradient(circle at 88% 12%,rgba(45,212,191,.12),transparent 23rem),
    linear-gradient(135deg,var(--bg),var(--bg2))!important;
}
a{color:var(--brand)!important}a:hover,a:focus-visible{color:var(--brand-strong)!important}
h1,h2,h3,h4,.page-title,.topbar-title h1{color:var(--ink)!important;letter-spacing:-.035em}
.muted,small,.help-text,.form-hint,.site-footer,.detail-list dt,.stats span,.dashboard-stat-card span{color:var(--muted)!important}
.sidebar{
  background:
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.025) 44%,transparent),
    radial-gradient(circle at 18% 8%,rgba(96,165,250,.24),transparent 16rem),
    radial-gradient(circle at 80% 52%,rgba(20,184,166,.15),transparent 16rem),
    linear-gradient(180deg,var(--sidebar),var(--sidebar2))!important;
  border-right:1px solid rgba(255,255,255,.10)!important;
  box-shadow:18px 0 54px rgba(7,17,31,.22)!important;
}
.sidebar nav a,.brand-link,.sidebar-tool,.sidebar-footer-actions .sidebar-toggle-button{color:var(--sideText)!important}
.brand-link{background:rgba(255,255,255,.095)!important;border-color:rgba(255,255,255,.14)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)!important}
.sidebar nav a{background:transparent!important;border-color:transparent!important;color:rgba(246,251,255,.88)!important}
.sidebar nav a:hover,.sidebar nav a:focus-visible,.sidebar nav a.is-active{
  background:linear-gradient(135deg,rgba(96,165,250,.24),rgba(45,212,191,.13))!important;
  border-color:rgba(255,255,255,.18)!important;
  box-shadow:0 12px 26px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.14)!important;
  color:#fff!important;
}
.sidebar nav a{--icon-c1:#60a5fa!important;--icon-c2:#2dd4bf!important;--icon-glow:rgba(96,165,250,.22)!important}
.sidebar nav a:nth-child(3n+1){--icon-c1:#3b82f6!important;--icon-c2:#38bdf8!important;--icon-glow:rgba(59,130,246,.24)!important}
.sidebar nav a:nth-child(3n+2){--icon-c1:#14b8a6!important;--icon-c2:#5eead4!important;--icon-glow:rgba(20,184,166,.22)!important}
.sidebar nav a:nth-child(3n){--icon-c1:#6366f1!important;--icon-c2:#a78bfa!important;--icon-glow:rgba(99,102,241,.22)!important}
.sidebar nav svg,.icon-button svg,.theme-toggle svg{
  color:#fff!important;
  background:linear-gradient(135deg,var(--icon-c1,var(--brand)),var(--icon-c2,var(--brand2)))!important;
  box-shadow:0 9px 22px var(--icon-glow,rgba(37,99,235,.20)),inset 0 1px 0 rgba(255,255,255,.40)!important;
}
.topbar,.focused-topbar,.dashboard-search,.panel,.mini-card,.stats>div,.dashboard-stat-card,.action-card,.profile-card,.table-pagination,.premium-auth-card,.login-splash-panel,.portal-option,.attendance-card,.module-table-panel,.report-card,.settings-card,.school-card,.user-card,.search-result-card{
  background:linear-gradient(145deg,color-mix(in srgb,var(--panel-solid) 98%,transparent),color-mix(in srgb,var(--brand) 3%,var(--panel-solid)))!important;
  border-color:color-mix(in srgb,var(--brand) 13%,var(--line))!important;
  box-shadow:0 18px 46px rgba(15,39,66,.09)!important;
  color:var(--ink)!important;
}
html[data-theme="dark"] .topbar,html[data-theme="dark"] .focused-topbar,html[data-theme="dark"] .dashboard-search,html[data-theme="dark"] .panel,html[data-theme="dark"] .mini-card,html[data-theme="dark"] .stats>div,html[data-theme="dark"] .dashboard-stat-card,html[data-theme="dark"] .action-card,html[data-theme="dark"] .profile-card,html[data-theme="dark"] .table-pagination,html[data-theme="dark"] .premium-auth-card,html[data-theme="dark"] .login-splash-panel,html[data-theme="dark"] .portal-option,html[data-theme="dark"] .attendance-card,html[data-theme="dark"] .module-table-panel,html[data-theme="dark"] .report-card,html[data-theme="dark"] .settings-card,html[data-theme="dark"] .school-card,html[data-theme="dark"] .user-card,html[data-theme="dark"] .search-result-card{
  background:linear-gradient(145deg,color-mix(in srgb,var(--panel-solid) 96%,transparent),color-mix(in srgb,var(--brand) 5%,var(--panel-solid)))!important;
  border-color:color-mix(in srgb,var(--brand) 18%,var(--line))!important;
  box-shadow:0 18px 48px rgba(0,0,0,.30)!important;
}
.dashboard-hero,.module-hero,.entity-hero,.lekol360-hero,.teachers-dashboard-hero,.years-hero,.classes-hero,.grades-hero,.attendance-hero,.reports-hero,.import-hero,.schools-hero,.users-hero{
  background:
    radial-gradient(circle at 88% 12%,rgba(45,212,191,.26),transparent 15rem),
    radial-gradient(circle at 12% 18%,rgba(255,255,255,.18),transparent 13rem),
    linear-gradient(135deg,#173b60,#2563eb 58%,#14b8a6)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.18)!important;
  box-shadow:0 28px 76px rgba(37,99,235,.22)!important;
}
html[data-theme="dark"] .dashboard-hero,html[data-theme="dark"] .module-hero,html[data-theme="dark"] .entity-hero,html[data-theme="dark"] .lekol360-hero,html[data-theme="dark"] .teachers-dashboard-hero,html[data-theme="dark"] .years-hero,html[data-theme="dark"] .classes-hero,html[data-theme="dark"] .grades-hero,html[data-theme="dark"] .attendance-hero,html[data-theme="dark"] .reports-hero,html[data-theme="dark"] .import-hero,html[data-theme="dark"] .schools-hero,html[data-theme="dark"] .users-hero{
  background:
    radial-gradient(circle at 88% 12%,rgba(45,212,191,.18),transparent 15rem),
    radial-gradient(circle at 12% 18%,rgba(96,165,250,.16),transparent 13rem),
    linear-gradient(135deg,#0b1d33,#1e3a8a 58%,#0f766e)!important;
  box-shadow:0 28px 76px rgba(0,0,0,.36)!important;
}
.dashboard-hero *,.module-hero *,.entity-hero *,.lekol360-hero *,.teachers-dashboard-hero *,.years-hero *,.classes-hero *,.grades-hero *,.attendance-hero *,.reports-hero *,.import-hero *,.schools-hero *,.users-hero *{color:inherit!important}
.dashboard-hero h1,.dashboard-hero h2,.dashboard-hero h3,.module-hero h1,.module-hero h2,.module-hero h3,.entity-hero h1,.entity-hero h2,.entity-hero h3,.lekol360-hero h1,.lekol360-hero h2,.lekol360-hero h3,.teachers-dashboard-hero h1,.teachers-dashboard-hero h2,.teachers-dashboard-hero h3,.years-hero h1,.years-hero h2,.classes-hero h1,.classes-hero h2,.grades-hero h1,.grades-hero h2,.attendance-hero h1,.attendance-hero h2,.reports-hero h1,.reports-hero h2,.import-hero h1,.import-hero h2,.schools-hero h1,.schools-hero h2,.users-hero h1,.users-hero h2{
  color:#fff!important;
  text-shadow:0 2px 20px rgba(7,17,31,.24)!important;
}
.dashboard-hero p,.module-hero p,.entity-hero p,.lekol360-hero p,.teachers-dashboard-hero p,.years-hero p,.classes-hero p,.grades-hero p,.attendance-hero p,.reports-hero p,.import-hero p,.schools-hero p,.users-hero p,
.dashboard-hero small,.module-hero small,.entity-hero small,.lekol360-hero small,.teachers-dashboard-hero small,.years-hero small,.classes-hero small,.grades-hero small,.attendance-hero small,.reports-hero small,.import-hero small,.schools-hero small,.users-hero small{
  color:rgba(255,255,255,.94)!important;
  text-shadow:0 1px 14px rgba(7,17,31,.18)!important;
}
.dashboard-hero .eyebrow,.module-hero .eyebrow,.entity-hero .eyebrow,.lekol360-hero .eyebrow,.teachers-dashboard-hero .eyebrow,.years-hero .eyebrow,.classes-hero .eyebrow,.grades-hero .eyebrow,.attendance-hero .eyebrow,.reports-hero .eyebrow,.import-hero .eyebrow,.schools-hero .eyebrow,.users-hero .eyebrow{
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.26)!important;
}
.primary,button[type="submit"],input[type="submit"],.button.primary,.mobile-menu-button,.sidebar-toggle-button,.pagination-buttons button:not(:disabled){
  background:linear-gradient(135deg,var(--brand),var(--brand-strong))!important;
  border-color:color-mix(in srgb,var(--brand-strong) 55%,#fff)!important;
  color:#fff!important;
  box-shadow:0 13px 28px rgba(37,99,235,.24)!important;
}
.primary:hover,button[type="submit"]:hover,input[type="submit"]:hover,.button.primary:hover,.mobile-menu-button:hover,.sidebar-toggle-button:hover,.pagination-buttons button:not(:disabled):hover{filter:saturate(1.06) brightness(1.03)!important;box-shadow:0 17px 36px rgba(37,99,235,.30)!important}
.ghost,.theme-toggle,.icon-button,.button.ghost,.secondary,.button.secondary{
  background:color-mix(in srgb,var(--brand) 7%,var(--panel-solid))!important;
  color:var(--brand-strong)!important;
  border-color:color-mix(in srgb,var(--brand) 18%,var(--line))!important;
  box-shadow:0 10px 22px rgba(15,39,66,.08)!important;
}
html[data-theme="dark"] .ghost,html[data-theme="dark"] .theme-toggle,html[data-theme="dark"] .icon-button,html[data-theme="dark"] .button.ghost,html[data-theme="dark"] .secondary,html[data-theme="dark"] .button.secondary{color:var(--brand-strong)!important;background:color-mix(in srgb,var(--brand) 11%,var(--panel-solid))!important}
.danger,.button.danger,button.danger{background:linear-gradient(135deg,#ef4444,var(--pro-red))!important;color:#fff!important;border-color:rgba(220,38,38,.36)!important;box-shadow:0 13px 28px rgba(220,38,38,.20)!important}
input,select,textarea,.search-input{
  background:color-mix(in srgb,var(--panel-solid) 96%,#fff)!important;
  color:var(--ink)!important;
  border-color:color-mix(in srgb,var(--brand) 12%,var(--line))!important;
  box-shadow:inset 0 1px 0 rgba(15,39,66,.035)!important;
}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea,html[data-theme="dark"] .search-input{background:color-mix(in srgb,var(--panel-solid) 88%,#000)!important;color:var(--ink)!important;border-color:color-mix(in srgb,var(--brand) 18%,var(--line))!important}
input:focus,select:focus,textarea:focus,.search-input:focus{border-color:var(--brand)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 16%,transparent)!important;outline:none!important}
input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--muted) 86%,var(--ink))!important;opacity:1!important}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#9fb2c6!important}
label,.field-label-text,.dashboard-search label,.dashboard-search span,.search label{color:var(--ink)!important;font-weight:800!important}
table,.entity-table{background:var(--panel-solid)!important;color:var(--ink)!important;border-color:var(--line)!important}
thead th,table th{background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 9%,var(--panel-solid)),color-mix(in srgb,var(--brand2) 7%,var(--panel-solid)))!important;color:var(--ink)!important;border-color:var(--line)!important}
html[data-theme="dark"] thead th,html[data-theme="dark"] table th{background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 14%,var(--panel-solid)),color-mix(in srgb,var(--brand2) 10%,var(--panel-solid)))!important;color:var(--ink)!important}
td,th{border-color:var(--line)!important}tbody tr:hover td,.entity-table tr:hover td{background:color-mix(in srgb,var(--brand) 6%,transparent)!important}
.badge,.chip,.status-pill,.portal-badge,.splash-badges span,.eyebrow,.tag,.pill{background:color-mix(in srgb,var(--brand) 9%,var(--panel-solid))!important;color:var(--brand-strong)!important;border-color:color-mix(in srgb,var(--brand) 20%,var(--line))!important}
html[data-theme="dark"] .badge,html[data-theme="dark"] .chip,html[data-theme="dark"] .status-pill,html[data-theme="dark"] .portal-badge,html[data-theme="dark"] .splash-badges span,html[data-theme="dark"] .eyebrow,html[data-theme="dark"] .tag,html[data-theme="dark"] .pill{color:var(--brand-strong)!important;background:color-mix(in srgb,var(--brand) 13%,var(--panel-solid))!important}
.flash,.alert,.notice,.notification,.message-banner{background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 9%,var(--panel-solid)),color-mix(in srgb,var(--brand2) 6%,var(--panel-solid)))!important;color:var(--ink)!important;border-color:color-mix(in srgb,var(--brand) 22%,var(--line))!important;box-shadow:0 14px 30px rgba(15,39,66,.10)!important}
.flash.success,.alert-success,.notice.success{background:color-mix(in srgb,var(--pro-green) 12%,var(--panel-solid))!important;border-color:color-mix(in srgb,var(--pro-green) 34%,var(--line))!important;color:var(--ink)!important}
.flash.error,.alert-error,.notice.error{background:color-mix(in srgb,var(--pro-red) 11%,var(--panel-solid))!important;border-color:color-mix(in srgb,var(--pro-red) 34%,var(--line))!important;color:var(--ink)!important}
.flash.warning,.alert-warning,.notice.warning{background:color-mix(in srgb,var(--pro-amber) 14%,var(--panel-solid))!important;border-color:color-mix(in srgb,var(--pro-amber) 34%,var(--line))!important;color:var(--ink)!important}
.avatar,.avatar.xl,.logo,.stat-icon,.quick-link-icon,.portal-icon{background:linear-gradient(135deg,var(--brand),var(--brand2))!important;color:#fff!important;box-shadow:0 13px 30px rgba(37,99,235,.20)!important}
.action-card::before,.action-card::after,.mini-card::before,.mini-card::after,.dashboard-stat-card::before{opacity:.18!important;transform:scale(.70)!important}
.dashboard-search input,.search input[type="search"],.search input[type="text"]{min-width:min(420px,100%)!important}
.dashboard-search form,.search form{gap:12px!important}
hr,.divider{border-color:var(--line)!important}
.site-footer a{color:var(--brand-strong)!important}
body.sidebar-collapsed .sidebar nav a::after,body.sidebar-collapsed .sidebar .brand-link::after,body.sidebar-collapsed .sidebar-footer-actions .sidebar-tool::after,body.sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button::after{
  background:#102033!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.18)!important;
  box-shadow:0 16px 36px rgba(7,17,31,.24)!important;
}
html[data-theme="dark"] body.sidebar-collapsed .sidebar nav a::after,html[data-theme="dark"] body.sidebar-collapsed .sidebar .brand-link::after,html[data-theme="dark"] body.sidebar-collapsed .sidebar-footer-actions .sidebar-tool::after,html[data-theme="dark"] body.sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button::after{
  background:#f4f8fc!important;
  color:#102033!important;
  border-color:rgba(16,32,51,.16)!important;
}
@media (max-width:780px){.sidebar{background:linear-gradient(180deg,var(--sidebar),var(--sidebar2))!important}.sidebar-backdrop{background:rgba(7,17,31,.60)!important;backdrop-filter:blur(4px)!important}}
/* Lekòl360 centered collapsed-sidebar tooltip labels: final high-specificity accessibility override. */
@media (min-width:781px){
  body.sidebar-collapsed .sidebar,
  body.sidebar-collapsed .sidebar .brand,
  body.sidebar-collapsed .sidebar nav,
  body.sidebar-collapsed .sidebar-footer-actions,
  body.sidebar-collapsed .compact-sidebar-tools{
    overflow:visible!important;
  }

  body.sidebar-collapsed .sidebar nav a,
  body.sidebar-collapsed .sidebar .brand-link,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-tool,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button{
    position:relative!important;
  }

  body.sidebar-collapsed .sidebar nav a::after,
  body.sidebar-collapsed .sidebar .brand-link::after,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-tool::after,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button::after{
    content:attr(data-tooltip)!important;
    position:absolute!important;
    left:calc(100% + 14px)!important;
    right:auto!important;
    top:50%!important;
    bottom:auto!important;
    z-index:4000!important;
    box-sizing:border-box!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    vertical-align:middle!important;
    min-width:112px!important;
    min-height:40px!important;
    max-width:min(288px,calc(100vw - 140px))!important;
    padding:10px 16px!important;
    border-radius:16px!important;
    border:1px solid rgba(255,255,255,.18)!important;
    background:linear-gradient(135deg,#102033,#173b60)!important;
    color:#ffffff!important;
    font-size:.82rem!important;
    font-weight:850!important;
    letter-spacing:-.01em!important;
    line-height:1.18!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    text-wrap:balance!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(-50%) translateX(-7px) scale(.98)!important;
    transform-origin:left center!important;
    transition:opacity .16s ease,visibility .16s ease,transform .16s ease!important;
    box-shadow:0 18px 42px rgba(7,17,31,.28),inset 0 1px 0 rgba(255,255,255,.12)!important;
    backdrop-filter:blur(12px)!important;
  }

  html[data-theme="dark"] body.sidebar-collapsed .sidebar nav a::after,
  html[data-theme="dark"] body.sidebar-collapsed .sidebar .brand-link::after,
  html[data-theme="dark"] body.sidebar-collapsed .sidebar-footer-actions .sidebar-tool::after,
  html[data-theme="dark"] body.sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button::after{
    background:linear-gradient(135deg,#f8fbff,#eaf2fb)!important;
    color:#102033!important;
    border-color:rgba(16,32,51,.16)!important;
    box-shadow:0 18px 42px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.90)!important;
  }

  body.sidebar-collapsed .sidebar nav a:hover::after,
  body.sidebar-collapsed .sidebar nav a:focus-visible::after,
  body.sidebar-collapsed .sidebar .brand-link:hover::after,
  body.sidebar-collapsed .sidebar .brand-link:focus-visible::after,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-tool:hover::after,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-tool:focus-visible::after,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button:hover::after,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button:focus-visible::after{
    opacity:1!important;
    visibility:visible!important;
    transform:translateY(-50%) translateX(0) scale(1)!important;
  }

  body.sidebar-collapsed .sidebar-footer-actions .sidebar-tool span,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-label,
  body.sidebar-collapsed .sidebar nav a > span,
  body.sidebar-collapsed .brand-text{
    text-align:center!important;
  }

  body.sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button{
    justify-self:center!important;
    align-self:center!important;
    margin-inline:auto!important;
  }
}
/* Lekòl360 professional SaaS sidebar redesign: compact, readable, responsive, light/dark consistent. */
:root{
  --sidebar-expanded-width:304px;
  --sidebar-collapsed-width:86px;
  --sidebar-pad-x:12px;
  --sidebar-nav-radius:16px;
  --sidebar-ease:cubic-bezier(.2,.8,.2,1);
}
@media (min-width:781px){
  .sidebar{
    width:var(--sidebar-expanded-width)!important;
    min-width:var(--sidebar-expanded-width)!important;
    padding:14px var(--sidebar-pad-x)!important;
    gap:10px!important;
    display:flex!important;
    flex-direction:column!important;
    background:
      radial-gradient(circle at 18% 7%,rgba(96,165,250,.20),transparent 15rem),
      radial-gradient(circle at 88% 42%,rgba(45,212,191,.14),transparent 15rem),
      linear-gradient(180deg,color-mix(in srgb,var(--sidebar) 96%,#1d4ed8),var(--sidebar2))!important;
    border-right:1px solid rgba(255,255,255,.10)!important;
    box-shadow:18px 0 54px rgba(7,17,31,.20)!important;
    overflow:visible!important;
    transition:width .22s var(--sidebar-ease),min-width .22s var(--sidebar-ease),padding .22s var(--sidebar-ease),box-shadow .22s var(--sidebar-ease)!important;
  }
  .main{margin-left:var(--sidebar-expanded-width)!important;transition:margin-left .22s var(--sidebar-ease)!important;}
  body.sidebar-collapsed .sidebar{width:var(--sidebar-collapsed-width)!important;min-width:var(--sidebar-collapsed-width)!important;padding:14px 10px!important;}
  body.sidebar-collapsed .main{margin-left:var(--sidebar-collapsed-width)!important;}

  .sidebar .brand{margin:0 0 8px!important;padding:0!important;display:grid!important;place-items:center!important;flex:0 0 auto!important;}
  .sidebar .brand-link{
    width:100%!important;
    min-height:64px!important;
    padding:10px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:20px!important;
    background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.045))!important;
    border:1px solid rgba(255,255,255,.13)!important;
    color:var(--sideText)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.10)!important;
    transition:background .18s var(--sidebar-ease),transform .18s var(--sidebar-ease),border-color .18s var(--sidebar-ease)!important;
  }
  .sidebar .brand-link:hover,.sidebar .brand-link:focus-visible{transform:translateY(-1px)!important;background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.08))!important;border-color:rgba(255,255,255,.22)!important;outline:none!important;}
  .sidebar .brand-logo-img{width:52px!important;height:52px!important;max-height:52px!important;object-fit:contain!important;filter:drop-shadow(0 12px 20px rgba(0,0,0,.24))!important;transition:transform .18s var(--sidebar-ease),filter .18s var(--sidebar-ease)!important;}
  .sidebar .brand-link:hover .brand-logo-img{transform:scale(1.035)!important;}
  body.sidebar-collapsed .sidebar .brand-link{min-height:58px!important;padding:7px!important;border-radius:18px!important;}
  body.sidebar-collapsed .sidebar .brand-logo-img{width:46px!important;height:46px!important;max-height:46px!important;}

  .sidebar nav{
    flex:1 1 auto!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:5px!important;
    padding:2px 1px 8px!important;
    overflow-y:auto!important;
    overflow-x:visible!important;
    scrollbar-width:thin!important;
    scrollbar-color:rgba(255,255,255,.28) transparent!important;
  }
  body.sidebar-collapsed .sidebar nav{align-items:center!important;overflow:visible!important;gap:6px!important;padding-top:4px!important;}
  .sidebar nav::-webkit-scrollbar{width:5px!important}.sidebar nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28)!important;border-radius:999px!important}.sidebar nav::-webkit-scrollbar-track{background:transparent!important}

  .sidebar nav a{
    position:relative!important;
    isolation:isolate!important;
    width:100%!important;
    min-height:44px!important;
    padding:7px 9px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    border-radius:var(--sidebar-nav-radius)!important;
    border:1px solid transparent!important;
    color:rgba(246,251,255,.86)!important;
    background:transparent!important;
    font-size:.89rem!important;
    font-weight:720!important;
    line-height:1.12!important;
    letter-spacing:-.012em!important;
    overflow:visible!important;
    transform:none!important;
    transition:background .16s var(--sidebar-ease),border-color .16s var(--sidebar-ease),color .16s var(--sidebar-ease),transform .16s var(--sidebar-ease),box-shadow .16s var(--sidebar-ease)!important;
  }
  .sidebar nav a > span{display:block!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;line-height:1.15!important;}
  .sidebar nav a::before{
    content:""!important;
    position:absolute!important;
    left:-2px!important;
    top:50%!important;
    width:4px!important;
    height:52%!important;
    border-radius:999px!important;
    background:linear-gradient(180deg,var(--brand),var(--brand2))!important;
    opacity:0!important;
    transform:translateY(-50%) scaleY(.55)!important;
    transition:opacity .16s var(--sidebar-ease),transform .16s var(--sidebar-ease)!important;
  }
  .sidebar nav a:hover,.sidebar nav a:focus-visible{
    color:#fff!important;
    background:linear-gradient(135deg,rgba(255,255,255,.145),rgba(255,255,255,.065))!important;
    border-color:rgba(255,255,255,.14)!important;
    box-shadow:0 12px 28px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.10)!important;
    transform:translateX(2px)!important;
    outline:none!important;
  }
  .sidebar nav a.is-active{
    color:#fff!important;
    background:linear-gradient(135deg,rgba(96,165,250,.30),rgba(45,212,191,.16))!important;
    border-color:rgba(255,255,255,.22)!important;
    box-shadow:0 14px 34px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.16)!important;
  }
  .sidebar nav a:hover::before,.sidebar nav a:focus-visible::before,.sidebar nav a.is-active::before{opacity:1!important;transform:translateY(-50%) scaleY(1)!important;}

  .sidebar nav a{--icon-c1:#60a5fa!important;--icon-c2:#2dd4bf!important;--icon-glow:rgba(96,165,250,.22)!important;}
  .sidebar nav a:nth-child(3n+1){--icon-c1:#3b82f6!important;--icon-c2:#38bdf8!important;--icon-glow:rgba(59,130,246,.23)!important;}
  .sidebar nav a:nth-child(3n+2){--icon-c1:#14b8a6!important;--icon-c2:#5eead4!important;--icon-glow:rgba(20,184,166,.22)!important;}
  .sidebar nav a:nth-child(3n){--icon-c1:#6366f1!important;--icon-c2:#a78bfa!important;--icon-glow:rgba(99,102,241,.22)!important;}
  .sidebar nav svg{
    flex:0 0 auto!important;
    width:34px!important;
    height:34px!important;
    padding:8px!important;
    border-radius:13px!important;
    color:#fff!important;
    background:linear-gradient(135deg,var(--icon-c1),var(--icon-c2))!important;
    border:1px solid rgba(255,255,255,.20)!important;
    box-shadow:0 9px 20px var(--icon-glow),inset 0 1px 0 rgba(255,255,255,.36)!important;
    opacity:.96!important;
    transform:none!important;
    transition:transform .16s var(--sidebar-ease),box-shadow .16s var(--sidebar-ease),opacity .16s var(--sidebar-ease),filter .16s var(--sidebar-ease)!important;
  }
  .sidebar nav a:hover svg,.sidebar nav a:focus-visible svg,.sidebar nav a.is-active svg{opacity:1!important;filter:saturate(1.08) brightness(1.04)!important;transform:scale(1.045)!important;box-shadow:0 12px 26px var(--icon-glow),inset 0 1px 0 rgba(255,255,255,.46)!important;}

  body.sidebar-collapsed .sidebar nav a{
    width:58px!important;
    height:50px!important;
    min-height:50px!important;
    padding:0!important;
    justify-content:center!important;
    align-items:center!important;
    border-radius:17px!important;
    transform:none!important;
  }
  body.sidebar-collapsed .sidebar nav a > span{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;}
  body.sidebar-collapsed .sidebar nav svg{width:38px!important;height:38px!important;padding:8px!important;border-radius:14px!important;}
  body.sidebar-collapsed .sidebar nav a:hover,body.sidebar-collapsed .sidebar nav a:focus-visible,body.sidebar-collapsed .sidebar nav a.is-active{transform:translateY(-1px)!important;}
  body.sidebar-collapsed .sidebar nav a::before{left:50%!important;top:auto!important;bottom:3px!important;width:22px!important;height:3px!important;transform:translateX(-50%) scaleX(.55)!important;}
  body.sidebar-collapsed .sidebar nav a:hover::before,body.sidebar-collapsed .sidebar nav a:focus-visible::before,body.sidebar-collapsed .sidebar nav a.is-active::before{transform:translateX(-50%) scaleX(1)!important;}

  .compact-sidebar-tools,
  .sidebar-footer-actions{
    flex:0 0 auto!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:7px!important;
    align-items:center!important;
    padding:10px 1px 1px!important;
    border-top:1px solid rgba(255,255,255,.12)!important;
    overflow:visible!important;
  }
  .sidebar-tool-form{display:block!important;margin:0!important;min-width:0!important;}
  .sidebar-tool{
    width:100%!important;
    height:44px!important;
    min-height:44px!important;
    display:grid!important;
    place-items:center!important;
    padding:0!important;
    border-radius:15px!important;
    border:1px solid rgba(255,255,255,.14)!important;
    color:#fff!important;
    background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.045))!important;
    box-shadow:0 10px 22px rgba(0,0,0,.16)!important;
    overflow:visible!important;
    transition:transform .16s var(--sidebar-ease),background .16s var(--sidebar-ease),border-color .16s var(--sidebar-ease),box-shadow .16s var(--sidebar-ease)!important;
  }
  .sidebar-tool:hover,.sidebar-tool:focus-visible{transform:translateY(-1px)!important;background:linear-gradient(135deg,rgba(255,255,255,.20),rgba(255,255,255,.08))!important;border-color:rgba(255,255,255,.24)!important;box-shadow:0 14px 28px rgba(0,0,0,.22)!important;outline:none!important;}
  .sidebar-tool svg{width:21px!important;height:21px!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;color:currentColor!important;filter:none!important;}
  .sidebar-user-avatar{width:28px!important;height:28px!important;border-radius:10px!important;object-fit:cover!important;box-shadow:0 6px 14px rgba(0,0,0,.20)!important;}
  .sidebar-tool > span,.sidebar-tool .sidebar-toggle-label{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;}
  body.sidebar-collapsed .compact-sidebar-tools,body.sidebar-collapsed .sidebar-footer-actions{grid-template-columns:1fr!important;gap:8px!important;padding:9px 0 0!important;place-items:center!important;}
  body.sidebar-collapsed .sidebar-tool{width:54px!important;height:48px!important;border-radius:16px!important;margin-inline:auto!important;}

  body.sidebar-collapsed .sidebar,
  body.sidebar-collapsed .sidebar .brand,
  body.sidebar-collapsed .sidebar nav,
  body.sidebar-collapsed .sidebar-footer-actions,
  body.sidebar-collapsed .compact-sidebar-tools{overflow:visible!important;}
  body.sidebar-collapsed .sidebar nav a::after,
  body.sidebar-collapsed .sidebar .brand-link::after,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-tool::after,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button::after{
    content:attr(data-tooltip)!important;
    position:absolute!important;
    left:calc(100% + 14px)!important;
    right:auto!important;
    top:50%!important;
    bottom:auto!important;
    z-index:5000!important;
    box-sizing:border-box!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    min-width:112px!important;
    min-height:40px!important;
    max-width:min(288px,calc(100vw - 140px))!important;
    padding:10px 16px!important;
    border-radius:16px!important;
    border:1px solid rgba(255,255,255,.18)!important;
    background:linear-gradient(135deg,#102033,#173b60)!important;
    color:#fff!important;
    font-size:.82rem!important;
    font-weight:850!important;
    line-height:1.18!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    text-wrap:balance!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(-50%) translateX(-7px) scale(.98)!important;
    transform-origin:left center!important;
    transition:opacity .16s var(--sidebar-ease),visibility .16s var(--sidebar-ease),transform .16s var(--sidebar-ease)!important;
    box-shadow:0 18px 42px rgba(7,17,31,.28),inset 0 1px 0 rgba(255,255,255,.12)!important;
    backdrop-filter:blur(12px)!important;
  }
  html[data-theme="dark"] body.sidebar-collapsed .sidebar nav a::after,
  html[data-theme="dark"] body.sidebar-collapsed .sidebar .brand-link::after,
  html[data-theme="dark"] body.sidebar-collapsed .sidebar-footer-actions .sidebar-tool::after,
  html[data-theme="dark"] body.sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button::after{background:linear-gradient(135deg,#f8fbff,#eaf2fb)!important;color:#102033!important;border-color:rgba(16,32,51,.16)!important;box-shadow:0 18px 42px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.90)!important;}
  body.sidebar-collapsed .sidebar nav a:hover::after,
  body.sidebar-collapsed .sidebar nav a:focus-visible::after,
  body.sidebar-collapsed .sidebar .brand-link:hover::after,
  body.sidebar-collapsed .sidebar .brand-link:focus-visible::after,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-tool:hover::after,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-tool:focus-visible::after,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button:hover::after,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button:focus-visible::after{opacity:1!important;visibility:visible!important;transform:translateY(-50%) translateX(0) scale(1)!important;}
}

@media (max-width:780px){
  .mobile-menu-button.floating-menu-button{display:inline-grid!important;position:fixed!important;left:14px!important;top:14px!important;z-index:55!important;width:48px!important;height:48px!important;border-radius:16px!important;background:linear-gradient(135deg,var(--brand),var(--brand2))!important;color:#fff!important;box-shadow:0 16px 34px rgba(7,17,31,.22)!important;border:1px solid rgba(255,255,255,.24)!important;}
  .sidebar{
    width:min(306px,88vw)!important;
    min-width:0!important;
    padding:16px 14px!important;
    gap:10px!important;
    z-index:50!important;
    transform:translateX(-106%)!important;
    transition:transform .24s var(--sidebar-ease),box-shadow .24s var(--sidebar-ease)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    border-right:1px solid rgba(255,255,255,.12)!important;
  }
  body.sidebar-open .sidebar{transform:translateX(0)!important;box-shadow:24px 0 70px rgba(7,17,31,.34)!important;}
  body.sidebar-collapsed .sidebar{width:min(306px,88vw)!important;min-width:0!important;padding:16px 14px!important;}
  .main,body.sidebar-collapsed .main{margin-left:0!important;padding-top:76px!important;}
  .sidebar .brand-link{min-height:58px!important;padding:8px!important;border-radius:18px!important;}
  .sidebar .brand-logo-img{width:48px!important;height:48px!important;max-height:48px!important;}
  .sidebar nav{display:flex!important;flex-direction:column!important;gap:6px!important;overflow:visible!important;padding:4px 0 10px!important;}
  .sidebar nav a,body.sidebar-collapsed .sidebar nav a{width:100%!important;height:auto!important;min-height:46px!important;padding:8px 10px!important;display:flex!important;justify-content:flex-start!important;gap:11px!important;border-radius:16px!important;font-size:.93rem!important;color:rgba(246,251,255,.90)!important;}
  .sidebar nav a > span,body.sidebar-collapsed .sidebar nav a > span{position:static!important;width:auto!important;height:auto!important;clip:auto!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;display:block!important;}
  .sidebar nav svg,body.sidebar-collapsed .sidebar nav svg{width:35px!important;height:35px!important;padding:8px!important;border-radius:13px!important;}
  .compact-sidebar-tools,.sidebar-footer-actions,body.sidebar-collapsed .compact-sidebar-tools,body.sidebar-collapsed .sidebar-footer-actions{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;padding-top:10px!important;}
  .sidebar-tool,body.sidebar-collapsed .sidebar-tool{width:100%!important;height:44px!important;min-height:44px!important;border-radius:15px!important;margin:0!important;}
  .sidebar-tool > span,.sidebar-tool .sidebar-toggle-label{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;}
  body.sidebar-collapsed .sidebar nav a::after,body.sidebar-collapsed .sidebar .brand-link::after,body.sidebar-collapsed .sidebar-footer-actions .sidebar-tool::after{display:none!important;content:none!important;}
  .sidebar-backdrop{background:rgba(7,17,31,.58)!important;backdrop-filter:blur(5px)!important;}
}

@media (prefers-reduced-motion:reduce){
  .sidebar,.main,.sidebar nav a,.sidebar nav svg,.sidebar-tool,.brand-link,.mobile-menu-button{transition:none!important;animation:none!important;}
}
/* Lekòl360 sidebar icon tile enforcement: final specificity pass for SVG consistency. */
@media (min-width:781px){
  aside.sidebar.sidebar-nav-only nav a svg,
  body .sidebar.sidebar-nav-only nav a svg{
    flex:0 0 auto!important;
    box-sizing:border-box!important;
    display:inline-grid!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    padding:8px!important;
    border-radius:13px!important;
    color:#fff!important;
    fill:currentColor!important;
    background:linear-gradient(135deg,var(--icon-c1,#60a5fa),var(--icon-c2,#2dd4bf))!important;
    border:1px solid rgba(255,255,255,.20)!important;
    box-shadow:0 9px 20px var(--icon-glow,rgba(96,165,250,.22)),inset 0 1px 0 rgba(255,255,255,.36)!important;
    opacity:.96!important;
    transform:none!important;
  }
  aside.sidebar.sidebar-nav-only nav a:hover svg,
  aside.sidebar.sidebar-nav-only nav a:focus-visible svg,
  aside.sidebar.sidebar-nav-only nav a.is-active svg,
  body .sidebar.sidebar-nav-only nav a:hover svg,
  body .sidebar.sidebar-nav-only nav a:focus-visible svg,
  body .sidebar.sidebar-nav-only nav a.is-active svg{
    opacity:1!important;
    filter:saturate(1.08) brightness(1.04)!important;
    transform:scale(1.045)!important;
    box-shadow:0 12px 26px var(--icon-glow,rgba(96,165,250,.24)),inset 0 1px 0 rgba(255,255,255,.46)!important;
  }
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only nav a svg,
  body.sidebar-collapsed .sidebar.sidebar-nav-only nav a svg{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    padding:8px!important;
    border-radius:14px!important;
  }
}
@media (max-width:780px){
  aside.sidebar.sidebar-nav-only nav a svg,
  body .sidebar.sidebar-nav-only nav a svg,
  body.sidebar-collapsed .sidebar.sidebar-nav-only nav a svg{
    box-sizing:border-box!important;
    display:inline-grid!important;
    width:35px!important;
    height:35px!important;
    min-width:35px!important;
    min-height:35px!important;
    padding:8px!important;
    border-radius:13px!important;
    color:#fff!important;
    fill:currentColor!important;
    background:linear-gradient(135deg,var(--icon-c1,#60a5fa),var(--icon-c2,#2dd4bf))!important;
    border:1px solid rgba(255,255,255,.20)!important;
    box-shadow:0 9px 20px var(--icon-glow,rgba(96,165,250,.22)),inset 0 1px 0 rgba(255,255,255,.36)!important;
  }
}
/* Lekòl360 sidebar readability refinement: ensure expanded desktop labels never look clipped. */
@media (min-width:781px){
  :root{--sidebar-expanded-width:320px;}
  body:not(.sidebar-collapsed) aside.sidebar.sidebar-nav-only,
  body:not(.sidebar-collapsed) .sidebar.sidebar-nav-only{
    width:320px!important;
    min-width:320px!important;
  }
  body:not(.sidebar-collapsed) .main{margin-left:320px!important;}
  body:not(.sidebar-collapsed) aside.sidebar.sidebar-nav-only nav a,
  body:not(.sidebar-collapsed) .sidebar.sidebar-nav-only nav a{
    gap:12px!important;
    padding-inline:11px!important;
  }
  body:not(.sidebar-collapsed) aside.sidebar.sidebar-nav-only nav a > span,
  body:not(.sidebar-collapsed) .sidebar.sidebar-nav-only nav a > span{
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:nowrap!important;
  }
  body:not(.sidebar-collapsed) .compact-sidebar-tools,
  body:not(.sidebar-collapsed) .sidebar-footer-actions{
    gap:10px!important;
    padding-inline:2px!important;
  }
}
/* Lekòl360 sidebar full-width visual fill: prevent old compact panel visuals from clipping expanded labels. */
@media (min-width:781px){
  body:not(.sidebar-collapsed) aside.sidebar.sidebar-nav-only,
  body:not(.sidebar-collapsed) .sidebar.sidebar-nav-only{
    position:fixed!important;
    width:320px!important;
    min-width:320px!important;
    max-width:320px!important;
    background-color:#0b1d33!important;
    background-image:
      radial-gradient(circle at 18% 7%,rgba(96,165,250,.22),transparent 15rem),
      radial-gradient(circle at 88% 42%,rgba(45,212,191,.16),transparent 15rem),
      linear-gradient(180deg,#102d4e,#0b1d33)!important;
    box-shadow:inset 0 0 0 999px rgba(11,29,51,.04),18px 0 54px rgba(7,17,31,.20)!important;
    clip-path:none!important;
    mask:none!important;
    overflow:visible!important;
  }
  body:not(.sidebar-collapsed) aside.sidebar.sidebar-nav-only::before,
  body:not(.sidebar-collapsed) .sidebar.sidebar-nav-only::before{
    display:none!important;
    content:none!important;
  }
  body:not(.sidebar-collapsed) aside.sidebar.sidebar-nav-only .brand,
  body:not(.sidebar-collapsed) aside.sidebar.sidebar-nav-only .brand-link,
  body:not(.sidebar-collapsed) aside.sidebar.sidebar-nav-only nav,
  body:not(.sidebar-collapsed) aside.sidebar.sidebar-nav-only nav a,
  body:not(.sidebar-collapsed) aside.sidebar.sidebar-nav-only .sidebar-footer-actions,
  body:not(.sidebar-collapsed) aside.sidebar.sidebar-nav-only .compact-sidebar-tools{
    position:relative!important;
    z-index:2!important;
  }
  body:not(.sidebar-collapsed) aside.sidebar.sidebar-nav-only nav,
  body:not(.sidebar-collapsed) .sidebar.sidebar-nav-only nav{
    width:100%!important;
    max-width:none!important;
  }
  body:not(.sidebar-collapsed) aside.sidebar.sidebar-nav-only nav a,
  body:not(.sidebar-collapsed) .sidebar.sidebar-nav-only nav a{
    width:100%!important;
    max-width:none!important;
  }
}
/* Lekòl360 compact expanded sidebar reconciliation: align visible rail, readable labels, and main offset. */
@media (min-width:781px){
  :root{--sidebar-expanded-width:228px;}
  body:not(.sidebar-collapsed) aside.sidebar.sidebar-nav-only,
  body:not(.sidebar-collapsed) .sidebar.sidebar-nav-only{
    width:228px!important;
    min-width:228px!important;
    max-width:228px!important;
    padding:14px 12px!important;
  }
  body:not(.sidebar-collapsed) .main{margin-left:228px!important;}
  body:not(.sidebar-collapsed) aside.sidebar.sidebar-nav-only nav,
  body:not(.sidebar-collapsed) .sidebar.sidebar-nav-only nav{
    width:100%!important;
    gap:5px!important;
  }
  body:not(.sidebar-collapsed) aside.sidebar.sidebar-nav-only nav a,
  body:not(.sidebar-collapsed) .sidebar.sidebar-nav-only nav a{
    width:100%!important;
    min-height:42px!important;
    padding:7px 8px!important;
    gap:8px!important;
    font-size:.80rem!important;
    font-weight:760!important;
    letter-spacing:-.01em!important;
  }
  body:not(.sidebar-collapsed) aside.sidebar.sidebar-nav-only nav a > span,
  body:not(.sidebar-collapsed) .sidebar.sidebar-nav-only nav a > span{
    flex:1 1 auto!important;
    display:block!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:nowrap!important;
  }
  body:not(.sidebar-collapsed) aside.sidebar.sidebar-nav-only nav a svg,
  body:not(.sidebar-collapsed) .sidebar.sidebar-nav-only nav a svg{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
    padding:7px!important;
    border-radius:12px!important;
  }
  body:not(.sidebar-collapsed) .compact-sidebar-tools,
  body:not(.sidebar-collapsed) .sidebar-footer-actions{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:7px!important;
  }
  body:not(.sidebar-collapsed) .sidebar-tool{
    height:42px!important;
    min-height:42px!important;
    border-radius:14px!important;
  }
}
/* Lekòl360 compact sidebar label fit: final visual QA fallback for constrained renderers. */
@media (min-width:781px){
  body:not(.sidebar-collapsed) aside.sidebar.sidebar-nav-only nav a,
  body:not(.sidebar-collapsed) .sidebar.sidebar-nav-only nav a{
    min-height:40px!important;
    padding:6px 7px!important;
    gap:6px!important;
    font-size:.68rem!important;
    font-weight:800!important;
  }
  body:not(.sidebar-collapsed) aside.sidebar.sidebar-nav-only nav a svg,
  body:not(.sidebar-collapsed) .sidebar.sidebar-nav-only nav a svg{
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    min-height:24px!important;
    padding:5px!important;
    border-radius:10px!important;
  }
  body:not(.sidebar-collapsed) aside.sidebar.sidebar-nav-only nav a > span,
  body:not(.sidebar-collapsed) .sidebar.sidebar-nav-only nav a > span{
    flex:0 1 auto!important;
    max-width:calc(100% - 34px)!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:nowrap!important;
  }
}
/* Lekòl360 QA final sidebar fix: readable expanded labels and calmer footer controls. */
@media (min-width:781px){
  :root{--sidebar-expanded-width:320px;}
  body:not(.sidebar-collapsed) aside.sidebar.sidebar-nav-only,
  body:not(.sidebar-collapsed) .sidebar.sidebar-nav-only{
    width:320px!important;
    min-width:320px!important;
    max-width:320px!important;
    padding:14px 14px!important;
  }
  body:not(.sidebar-collapsed) .main{margin-left:320px!important;}
  body:not(.sidebar-collapsed) aside.sidebar.sidebar-nav-only nav,
  body:not(.sidebar-collapsed) .sidebar.sidebar-nav-only nav{
    width:100%!important;
    max-width:none!important;
    gap:6px!important;
    overflow-y:auto!important;
    padding-bottom:12px!important;
    scrollbar-width:thin!important;
  }
  body:not(.sidebar-collapsed) aside.sidebar.sidebar-nav-only nav a,
  body:not(.sidebar-collapsed) .sidebar.sidebar-nav-only nav a{
    width:100%!important;
    max-width:none!important;
    min-height:44px!important;
    padding:7px 10px!important;
    gap:10px!important;
    font-size:.82rem!important;
    font-weight:780!important;
    line-height:1.12!important;
  }
  body:not(.sidebar-collapsed) aside.sidebar.sidebar-nav-only nav a > span,
  body:not(.sidebar-collapsed) .sidebar.sidebar-nav-only nav a > span{
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:none!important;
    display:block!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:normal!important;
    line-height:1.12!important;
  }
  body:not(.sidebar-collapsed) aside.sidebar.sidebar-nav-only nav a svg,
  body:not(.sidebar-collapsed) .sidebar.sidebar-nav-only nav a svg{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
    padding:7px!important;
    border-radius:12px!important;
  }
  body:not(.sidebar-collapsed) .compact-sidebar-tools,
  body:not(.sidebar-collapsed) .sidebar-footer-actions{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:9px!important;
    padding-inline:3px!important;
  }
  body:not(.sidebar-collapsed) .sidebar-tool{
    height:44px!important;
    min-height:44px!important;
    border-radius:15px!important;
  }
}
/* Lekòl360 QA final collapsed sidebar restoration: keep icon rail compact after expanded-width fixes. */
@media (min-width:781px){
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only,
  body.sidebar-collapsed .sidebar.sidebar-nav-only,
  body.sidebar-collapsed .sidebar{
    width:96px!important;
    min-width:96px!important;
    max-width:96px!important;
    padding:14px 14px!important;
  }
  body.sidebar-collapsed .main{margin-left:96px!important;}
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only nav,
  body.sidebar-collapsed .sidebar.sidebar-nav-only nav{
    align-items:center!important;
    overflow:visible!important;
  }
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only nav a,
  body.sidebar-collapsed .sidebar.sidebar-nav-only nav a{
    width:58px!important;
    height:50px!important;
    min-height:50px!important;
    padding:0!important;
    justify-content:center!important;
    overflow:visible!important;
  }
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only nav a > span,
  body.sidebar-collapsed .sidebar.sidebar-nav-only nav a > span{
    display:none!important;
  }
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only nav a svg,
  body.sidebar-collapsed .sidebar.sidebar-nav-only nav a svg{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    padding:8px!important;
    border-radius:14px!important;
  }
  body.sidebar-collapsed .compact-sidebar-tools,
  body.sidebar-collapsed .sidebar-footer-actions{
    grid-template-columns:1fr!important;
    justify-items:center!important;
    gap:8px!important;
  }
}
/* Lekòl360 QA final collapsed footer fit: prevent bottom action clipping in icon rail. */
@media (min-width:781px){
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only,
  body.sidebar-collapsed .sidebar.sidebar-nav-only,
  body.sidebar-collapsed .sidebar{padding-inline:10px!important;}
  body.sidebar-collapsed .compact-sidebar-tools,
  body.sidebar-collapsed .sidebar-footer-actions{
    grid-template-columns:repeat(2,34px)!important;
    justify-content:center!important;
    justify-items:center!important;
    align-items:center!important;
    gap:7px!important;
    padding:8px 0 0!important;
  }
  body.sidebar-collapsed .sidebar-tool,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button,
  body.sidebar-collapsed .logout-button{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    padding:0!important;
    border-radius:12px!important;
  }
  body.sidebar-collapsed .sidebar-tool svg,
  body.sidebar-collapsed .logout-button svg,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button svg{width:18px!important;height:18px!important;}
}
/* Lekòl360 QA collapsed rail density: fit all icons and action controls in standard desktop height. */
@media (min-width:781px){
  body.sidebar-collapsed .sidebar-full-logo-link.logo-only-brand,
  body.sidebar-collapsed .brand-link.logo-only-brand{
    width:42px!important;
    height:42px!important;
    min-height:42px!important;
    margin:2px auto 6px!important;
    padding:4px!important;
    border-radius:14px!important;
  }
  body.sidebar-collapsed .sidebar-full-logo-link .brand-logo-favicon,
  body.sidebar-collapsed .brand-logo-favicon{
    width:32px!important;
    height:32px!important;
    max-width:32px!important;
    max-height:32px!important;
  }
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only nav,
  body.sidebar-collapsed .sidebar.sidebar-nav-only nav{gap:3px!important;padding-bottom:4px!important;}
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only nav a,
  body.sidebar-collapsed .sidebar.sidebar-nav-only nav a{
    width:48px!important;
    height:31px!important;
    min-height:31px!important;
    border-radius:12px!important;
  }
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only nav a svg,
  body.sidebar-collapsed .sidebar.sidebar-nav-only nav a svg{
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    min-height:28px!important;
    padding:6px!important;
    border-radius:10px!important;
  }
  body.sidebar-collapsed .compact-sidebar-tools,
  body.sidebar-collapsed .sidebar-footer-actions{gap:6px!important;padding-top:6px!important;}
}

/* 2026-05 school management + bulletin print refinements */
.button-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.danger-dialog{width:min(560px,92vw);border:1px solid color-mix(in srgb,#dc2626 24%,var(--line));border-radius:26px;padding:24px;background:var(--panel-solid);color:var(--ink);box-shadow:0 34px 100px rgba(15,23,42,.35)}.danger-dialog::backdrop{background:rgba(2,6,23,.58);backdrop-filter:blur(5px)}.danger-dialog h2{margin:0 0 10px;color:#b4232a}.danger-dialog p{color:var(--muted);font-weight:750;line-height:1.55}.modal-close-form{position:absolute;right:16px;top:14px}.destructive-form{margin-top:10px}.destructive-form label{display:grid;gap:8px;font-weight:900}.report-actions .primary.small{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border-radius:999px;line-height:1;text-decoration:none}.report-identity{align-items:center}.report-school-logo{max-width:92px;max-height:92px;object-fit:contain;border-radius:18px;background:#fff;padding:8px;border:1px solid var(--line)}
@media print{.report.has-school-logo .report-official-logo,.report.has-school-logo .report-student-avatar{display:none!important}.report.has-school-logo .report-school-logo{display:block!important;max-width:150px!important;max-height:92px!important;margin:0 auto 10px!important;border:0!important;padding:0!important;background:#fff!important}.report.has-school-logo .report-identity{display:grid!important;grid-template-columns:1fr!important;text-align:center!important;justify-items:center!important}.report.has-school-logo .report-identity>div{display:block!important}.report.has-school-logo .report-identity .eyebrow{display:block!important}.report-actions{display:none!important}}

/* 2026-05 school management destructive action safety polish */
.danger-dialog .danger,.danger-dialog button.danger,.danger-dialog input.danger{background:#dc2626!important;color:#fff!important;border-color:#b91c1c!important;box-shadow:0 14px 30px rgba(220,38,38,.24)!important}.danger-dialog .danger:hover,.danger-dialog button.danger:hover,.danger-dialog input.danger:hover{background:#b91c1c!important}.danger-dialog input[type="text"]{border-color:color-mix(in srgb,#dc2626 28%,var(--line));background:var(--panel-solid)}


/* Final Ables shell/report/class/attendance polish: no sidebar logo, readable collapsed labels, printable bulletin title */
.sidebar-no-brand{padding-top:18px!important;}
.sidebar-no-brand .brand-link,.sidebar-no-brand .sidebar-favicon-brand,.sidebar-no-brand .brand-logo-img{display:none!important;}
.action-cell{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.print-report-title{display:none;margin:0;text-align:center;font-weight:950;letter-spacing:.08em;color:var(--ink);}
@media (min-width:781px){
  body.sidebar-collapsed .sidebar,
  body.sidebar-collapsed .sidebar nav,
  body.sidebar-collapsed .sidebar-footer-actions{overflow:visible!important;}
  body.sidebar-collapsed .sidebar nav a,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-tool{position:relative!important;overflow:visible!important;}
  body.sidebar-collapsed .sidebar nav a::after,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-tool::after{
    content:attr(data-tooltip)!important;
    position:absolute!important;
    left:calc(100% + 14px)!important;
    top:50%!important;
    z-index:5000!important;
    box-sizing:border-box!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    min-width:104px!important;
    min-height:40px!important;
    max-width:min(292px,calc(100vw - 132px))!important;
    padding:10px 15px!important;
    border-radius:15px!important;
    border:1px solid rgba(255,255,255,.20)!important;
    background:#0f172a!important;
    color:#fff!important;
    font-size:.82rem!important;
    font-weight:850!important;
    line-height:1.18!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    text-wrap:balance!important;
    box-shadow:0 18px 38px rgba(15,23,42,.30)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(-50%) translateX(-6px) scale(.98)!important;
    transition:opacity .16s ease,visibility .16s ease,transform .16s ease!important;
  }
  html[data-theme="dark"] body.sidebar-collapsed .sidebar nav a::after,
  html[data-theme="dark"] body.sidebar-collapsed .sidebar-footer-actions .sidebar-tool::after{
    background:#f8fafc!important;
    color:#0f172a!important;
    border-color:rgba(15,23,42,.16)!important;
    box-shadow:0 18px 38px rgba(0,0,0,.42)!important;
  }
  body.sidebar-collapsed .sidebar nav a:hover::after,
  body.sidebar-collapsed .sidebar nav a:focus-visible::after,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-tool:hover::after,
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-tool:focus-visible::after{
    opacity:1!important;
    visibility:visible!important;
    transform:translateY(-50%) translateX(0) scale(1)!important;
  }
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-tool > span{display:none!important;}
  body.sidebar-collapsed .compact-sidebar-tools{justify-items:center!important;align-items:center!important;padding-inline:0!important;width:100%!important;}
  body.sidebar-collapsed .sidebar-footer-actions .sidebar-toggle-button{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;grid-column:1!important;justify-self:center!important;align-self:center!important;margin-inline:auto!important;transform:none!important;}
}
@media print{
  .print-report-title{display:block!important;font-size:22pt!important;line-height:1.2!important;padding:0 0 18px!important;margin:0 0 18px!important;border-bottom:1px solid #d1d5db!important;color:#111827!important;}
  .report{padding:28px 34px!important;}
  .report-head{padding-top:0!important;margin-top:0!important;}
}

/* Directeur signature + notes PDF print/export enhancements */
.director-signature-preview{display:block;max-width:240px;max-height:110px;object-fit:contain;margin:8px 0 14px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 26px rgba(15,23,42,.08)}
.report-signature-block{margin:44px 0 6px auto;width:min(320px,100%);text-align:center;color:var(--ink);break-inside:avoid}.report-signature-line{min-height:74px;border-bottom:1.5px solid currentColor;display:flex;align-items:flex-end;justify-content:center;padding-bottom:4px}.report-director-signature{max-width:230px;max-height:76px;object-fit:contain}.report-signature-name{font-weight:900;margin-top:8px}.report-signature-title{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;color:var(--muted);font-weight:850}
@media print{.director-signature-preview{box-shadow:none!important}.report-signature-block{margin-top:52px!important;color:#111827!important}.report-director-signature{filter:none!important}.module-advanced-filters,.table-pagination{display:none!important}.grades-hero,.filters-panel{display:none!important}.module-table-panel{box-shadow:none!important;border:0!important;padding:0!important}.module-table-panel .panel-head{display:block!important}.module-table-panel .panel-head p{display:none!important}}

/* Dynamic optional Parent/Tuteur fields */
.form-dynamic-section{grid-column:1/-1;border:1px dashed color-mix(in srgb,var(--brand) 28%,var(--line));border-radius:22px;padding:16px;background:color-mix(in srgb,var(--brand) 4%,var(--panel-solid));display:grid;gap:14px}.dynamic-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.dynamic-section-head h3{margin:0;font-size:1rem;letter-spacing:-.03em}.dynamic-section-head p{margin:4px 0 0;color:var(--muted);font-weight:720;line-height:1.45}.additional-parent-list{display:grid;gap:12px}.additional-parent-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--panel-solid);box-shadow:0 10px 28px rgba(15,23,42,.06)}.additional-parent-card-head{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px}.additional-parent-card-head strong{font-weight:900;color:var(--ink)}.additional-parent-card label{display:grid;gap:7px;font-weight:850;color:var(--ink)}.additional-parent-card input{width:100%}@media (max-width:760px){.additional-parent-card{grid-template-columns:1fr}.dynamic-section-head{align-items:stretch}.dynamic-section-head .ghost{width:100%;justify-content:center}}



/* Modern school-oriented sidebar redesign — Ables Systems polish */
:root{
  --school-sidebar-w:300px;
  --school-sidebar-rail:84px;
  --school-navy:#073b4c;
  --school-teal:#0f766e;
  --school-blue:#2563eb;
  --school-gold:#f59e0b;
  --school-green:#22c55e;
  --school-surface:#ffffff;
}
html[data-theme="dark"]{
  --school-navy:#020b18;
  --school-teal:#2dd4bf;
  --school-blue:#60a5fa;
  --school-gold:#fbbf24;
  --school-green:#4ade80;
  --school-surface:#0f172a;
}
.modern-school-sidebar.sidebar{
  width:var(--school-sidebar-w)!important;
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  padding:18px 16px!important;
  overflow:visible!important;
  color:#edfdfb!important;
  background:
    radial-gradient(circle at 12% 8%,rgba(45,212,191,.30),transparent 28%),
    radial-gradient(circle at 108% 24%,rgba(37,99,235,.28),transparent 32%),
    radial-gradient(circle at 35% 104%,rgba(245,158,11,.22),transparent 29%),
    linear-gradient(180deg,#062f2f 0%,#083344 48%,#081529 100%)!important;
  border-right:1px solid rgba(255,255,255,.14)!important;
  box-shadow:18px 0 48px rgba(15,23,42,.22)!important;
  transition:width .24s ease,transform .24s ease,box-shadow .24s ease!important;
}
html[data-theme="dark"] .modern-school-sidebar.sidebar{
  background:
    radial-gradient(circle at 10% 8%,rgba(20,184,166,.22),transparent 28%),
    radial-gradient(circle at 110% 26%,rgba(96,165,250,.20),transparent 34%),
    radial-gradient(circle at 28% 105%,rgba(251,191,36,.15),transparent 30%),
    linear-gradient(180deg,#020617 0%,#061827 48%,#020617 100%)!important;
  border-right-color:rgba(148,163,184,.16)!important;
  box-shadow:18px 0 58px rgba(0,0,0,.42)!important;
}
.modern-school-sidebar:before{
  content:""!important;
  position:absolute!important;
  inset:10px!important;
  z-index:-1!important;
  border-radius:28px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.025))!important;
  pointer-events:none!important;
}
.sidebar-school-header{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-height:66px!important;
  padding:12px!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(255,255,255,.17)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.20),0 16px 34px rgba(0,0,0,.16)!important;
  backdrop-filter:blur(14px)!important;
}
.school-mark{
  width:43px!important;
  height:43px!important;
  flex:0 0 43px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:16px!important;
  color:#083344!important;
  font-weight:950!important;
  font-size:1.18rem!important;
  letter-spacing:-.04em!important;
  background:linear-gradient(135deg,#e0f2fe,#99f6e4 55%,#fde68a)!important;
  box-shadow:0 12px 24px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.80)!important;
}
.school-header-copy{min-width:0!important;line-height:1.05!important;}
.school-header-copy strong{display:block!important;font-size:1.08rem!important;font-weight:950!important;letter-spacing:-.045em!important;color:#fff!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.school-header-copy small{display:block!important;margin-top:4px!important;color:rgba(237,253,251,.78)!important;font-weight:850!important;font-size:.75rem!important;letter-spacing:.02em!important;text-transform:uppercase!important;}
.modern-school-sidebar nav{
  display:grid!important;
  gap:7px!important;
  overflow:visible!important;
  padding:4px!important;
  margin:0!important;
  flex:1 1 auto!important;
  align-content:start!important;
}
.modern-school-sidebar nav a{
  --nav-icon-a:#14b8a6;
  --nav-icon-b:#38bdf8;
  position:relative!important;
  isolation:isolate!important;
  display:flex!important;
  align-items:center!important;
  min-height:48px!important;
  gap:12px!important;
  padding:8px 10px!important;
  border-radius:18px!important;
  color:rgba(240,253,250,.88)!important;
  background:transparent!important;
  border:1px solid transparent!important;
  font-weight:880!important;
  letter-spacing:-.015em!important;
  text-decoration:none!important;
  transition:background .18s ease,border-color .18s ease,transform .18s ease,color .18s ease,box-shadow .18s ease!important;
}
.modern-school-sidebar nav a:nth-child(1){--nav-icon-a:#22c55e;--nav-icon-b:#0ea5e9}.modern-school-sidebar nav a:nth-child(2){--nav-icon-a:#38bdf8;--nav-icon-b:#2563eb}.modern-school-sidebar nav a:nth-child(3){--nav-icon-a:#f59e0b;--nav-icon-b:#ef4444}.modern-school-sidebar nav a:nth-child(4){--nav-icon-a:#14b8a6;--nav-icon-b:#22c55e}.modern-school-sidebar nav a:nth-child(5){--nav-icon-a:#8b5cf6;--nav-icon-b:#ec4899}.modern-school-sidebar nav a:nth-child(6){--nav-icon-a:#06b6d4;--nav-icon-b:#3b82f6}.modern-school-sidebar nav a:nth-child(7){--nav-icon-a:#f97316;--nav-icon-b:#facc15}.modern-school-sidebar nav a:nth-child(8){--nav-icon-a:#10b981;--nav-icon-b:#84cc16}.modern-school-sidebar nav a:nth-child(9){--nav-icon-a:#6366f1;--nav-icon-b:#a855f7}.modern-school-sidebar nav a:nth-child(10){--nav-icon-a:#0ea5e9;--nav-icon-b:#14b8a6}.modern-school-sidebar nav a:nth-child(11){--nav-icon-a:#f43f5e;--nav-icon-b:#fb7185}.modern-school-sidebar nav a:nth-child(12){--nav-icon-a:#64748b;--nav-icon-b:#22c55e}
.modern-school-sidebar nav a svg,
.modern-school-sidebar .sidebar-tool svg{
  width:34px!important;
  height:34px!important;
  flex:0 0 34px!important;
  padding:8px!important;
  border-radius:13px!important;
  box-sizing:border-box!important;
  color:#fff!important;
  fill:currentColor!important;
  background:linear-gradient(135deg,var(--nav-icon-a,#14b8a6),var(--nav-icon-b,#38bdf8))!important;
  box-shadow:0 10px 22px color-mix(in srgb,var(--nav-icon-a,#14b8a6) 32%,transparent)!important;
  opacity:1!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}
.modern-school-sidebar nav a span{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.modern-school-sidebar nav a:hover,
.modern-school-sidebar nav a:focus-visible,
.modern-school-sidebar nav a.is-active{
  color:#fff!important;
  background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.08))!important;
  border-color:rgba(255,255,255,.16)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 14px 28px rgba(0,0,0,.16)!important;
  transform:translateX(3px)!important;
  outline:none!important;
}
.modern-school-sidebar nav a.is-active{background:linear-gradient(135deg,rgba(20,184,166,.32),rgba(37,99,235,.18))!important;border-color:rgba(45,212,191,.34)!important;}
.modern-school-sidebar nav a:hover svg,
.modern-school-sidebar nav a:focus-visible svg,
.modern-school-sidebar nav a.is-active svg{transform:scale(1.06)!important;filter:saturate(1.12)!important;}
.modern-school-sidebar .sidebar-footer-actions{
  display:grid!important;
  gap:8px!important;
  margin-top:auto!important;
  padding:12px!important;
  border-radius:24px!important;
  background:rgba(2,6,23,.22)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  overflow:visible!important;
}
.modern-school-sidebar .sidebar-tool,
.modern-school-sidebar .sidebar-tool-form{width:100%!important;}
.modern-school-sidebar .sidebar-tool{
  --nav-icon-a:#0ea5e9;
  --nav-icon-b:#14b8a6;
  min-height:46px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  padding:7px 9px!important;
  border-radius:17px!important;
  color:#eefcff!important;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:none!important;
  position:relative!important;
  overflow:visible!important;
}
.modern-school-sidebar .theme-toggle{--nav-icon-a:#7c3aed;--nav-icon-b:#38bdf8;}
.modern-school-sidebar .logout-button{--nav-icon-a:#f43f5e;--nav-icon-b:#fb7185;}
.modern-school-sidebar .sidebar-toggle-button{--nav-icon-a:#f59e0b;--nav-icon-b:#22c55e;}
.modern-school-sidebar .sidebar-user-avatar{width:34px!important;height:34px!important;border-radius:13px!important;box-shadow:0 10px 20px rgba(0,0,0,.20)!important;}
.modern-school-sidebar .sidebar-tool:hover,.modern-school-sidebar .sidebar-tool:focus-visible{background:rgba(255,255,255,.15)!important;color:#fff!important;transform:translateY(-1px)!important;outline:none!important;}
body:not(.sidebar-collapsed) .modern-school-sidebar + .sidebar-backdrop + .mobile-menu-button + .main,
body:not(.sidebar-collapsed) .main{margin-left:var(--school-sidebar-w)!important;}
body.sidebar-collapsed .modern-school-sidebar.sidebar{
  width:var(--school-sidebar-rail)!important;
  padding:16px 12px!important;
  align-items:center!important;
}
body.sidebar-collapsed .modern-school-sidebar:before{inset:8px!important;border-radius:24px!important;}
body.sidebar-collapsed .sidebar-school-header{width:56px!important;min-height:56px!important;padding:6px!important;justify-content:center!important;border-radius:19px!important;}
body.sidebar-collapsed .school-header-copy{display:none!important;}
body.sidebar-collapsed .school-mark{width:42px!important;height:42px!important;flex-basis:42px!important;border-radius:15px!important;}
body.sidebar-collapsed .modern-school-sidebar nav{width:100%!important;padding:2px 0!important;place-items:center!important;}
body.sidebar-collapsed .modern-school-sidebar nav a{width:56px!important;height:52px!important;min-height:52px!important;padding:8px!important;justify-content:center!important;gap:0!important;border-radius:18px!important;transform:none!important;}
body.sidebar-collapsed .modern-school-sidebar nav a span{display:none!important;}
body.sidebar-collapsed .modern-school-sidebar nav a:hover,body.sidebar-collapsed .modern-school-sidebar nav a:focus-visible,body.sidebar-collapsed .modern-school-sidebar nav a.is-active{transform:translateY(-1px)!important;}
body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions{width:100%!important;padding:8px 0!important;place-items:center!important;background:transparent!important;border-color:transparent!important;}
body.sidebar-collapsed .modern-school-sidebar .sidebar-tool,body.sidebar-collapsed .modern-school-sidebar .sidebar-tool-form{width:56px!important;}
body.sidebar-collapsed .modern-school-sidebar .sidebar-tool{height:52px!important;min-height:52px!important;padding:8px!important;justify-content:center!important;border-radius:18px!important;}
body.sidebar-collapsed .modern-school-sidebar .sidebar-tool > span{display:none!important;}
body.sidebar-collapsed .modern-school-sidebar .sidebar-user-avatar{width:34px!important;height:34px!important;}
body.sidebar-collapsed .main{margin-left:var(--school-sidebar-rail)!important;}
@media (min-width:781px){
  body.sidebar-collapsed .modern-school-sidebar.sidebar,
  body.sidebar-collapsed .modern-school-sidebar nav,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions{overflow:visible!important;}
  body.sidebar-collapsed .modern-school-sidebar nav a::after,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-tool::after{
    content:attr(data-tooltip)!important;
    position:absolute!important;
    left:calc(100% + 14px)!important;
    top:50%!important;
    z-index:7000!important;
    box-sizing:border-box!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:112px!important;
    max-width:min(310px,calc(100vw - 138px))!important;
    min-height:40px!important;
    padding:10px 15px!important;
    border-radius:16px!important;
    text-align:center!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    text-wrap:balance!important;
    font-size:.83rem!important;
    font-weight:900!important;
    line-height:1.16!important;
    letter-spacing:-.01em!important;
    color:#f8fafc!important;
    background:linear-gradient(135deg,#0f172a,#073b4c)!important;
    border:1px solid rgba(255,255,255,.18)!important;
    box-shadow:0 18px 42px rgba(15,23,42,.28)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(-50%) translateX(-6px) scale(.98)!important;
    transition:opacity .16s ease,visibility .16s ease,transform .16s ease!important;
  }
  html[data-theme="dark"] body.sidebar-collapsed .modern-school-sidebar nav a::after,
  html[data-theme="dark"] body.sidebar-collapsed .modern-school-sidebar .sidebar-tool::after{
    color:#0f172a!important;
    background:linear-gradient(135deg,#f8fafc,#ccfbf1)!important;
    border-color:rgba(20,184,166,.22)!important;
    box-shadow:0 18px 42px rgba(0,0,0,.46)!important;
  }
  body.sidebar-collapsed .modern-school-sidebar nav a:hover::after,
  body.sidebar-collapsed .modern-school-sidebar nav a:focus-visible::after,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-tool:hover::after,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-tool:focus-visible::after{opacity:1!important;visibility:visible!important;transform:translateY(-50%) translateX(0) scale(1)!important;}
}
@media (max-width:780px){
  .modern-school-sidebar.sidebar{width:min(324px,88vw)!important;padding:16px 14px!important;transform:translateX(-105%)!important;border-radius:0 30px 30px 0!important;}
  body.sidebar-open .modern-school-sidebar.sidebar{transform:translateX(0)!important;}
  body.sidebar-collapsed .modern-school-sidebar.sidebar{width:min(324px,88vw)!important;align-items:stretch!important;}
  body.sidebar-collapsed .sidebar-school-header{width:auto!important;min-height:62px!important;padding:10px!important;justify-content:flex-start!important;}
  body.sidebar-collapsed .school-header-copy{display:block!important;}
  body.sidebar-collapsed .modern-school-sidebar nav{place-items:stretch!important;padding:4px!important;}
  body.sidebar-collapsed .modern-school-sidebar nav a{width:auto!important;height:auto!important;min-height:48px!important;padding:8px 10px!important;justify-content:flex-start!important;gap:12px!important;}
  body.sidebar-collapsed .modern-school-sidebar nav a span{display:block!important;}
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions{width:auto!important;padding:10px!important;background:rgba(2,6,23,.22)!important;border-color:rgba(255,255,255,.12)!important;place-items:stretch!important;}
  body.sidebar-collapsed .modern-school-sidebar .sidebar-tool,body.sidebar-collapsed .modern-school-sidebar .sidebar-tool-form{width:100%!important;}
  body.sidebar-collapsed .modern-school-sidebar .sidebar-tool{height:auto!important;min-height:46px!important;padding:7px 9px!important;justify-content:flex-start!important;}
  body.sidebar-collapsed .modern-school-sidebar .sidebar-tool > span{display:inline!important;}
  .main,body.sidebar-collapsed .main{margin-left:0!important;padding:18px!important;}
  .floating-menu-button{display:inline-grid!important;position:fixed!important;left:14px!important;top:14px!important;z-index:35!important;background:linear-gradient(135deg,var(--school-teal),var(--school-blue))!important;color:#fff!important;box-shadow:0 16px 34px rgba(15,23,42,.24)!important;}
}
@media (max-width:520px){
  .modern-school-sidebar.sidebar{width:min(304px,92vw)!important;padding:14px 12px!important;}
  .modern-school-sidebar nav a{min-height:46px!important;}
  .modern-school-sidebar nav a svg,.modern-school-sidebar .sidebar-tool svg{width:32px!important;height:32px!important;padding:7px!important;}
}
@media print{.modern-school-sidebar.sidebar,.floating-menu-button{display:none!important}}

/* Keep unauthenticated/public screens full-width after sidebar redesign */
.main.public{margin-left:0!important;}


/* Sidebar header favicon + single-line slogan refinement */
.modern-school-sidebar .sidebar-school-header{
  gap:10px!important;
  padding:10px 11px!important;
  min-height:62px!important;
}
.modern-school-sidebar .school-mark{
  width:42px!important;
  height:42px!important;
  flex:0 0 42px!important;
  padding:4px!important;
  overflow:hidden!important;
  color:transparent!important;
  font-size:0!important;
  background:#ffffff!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:0 12px 26px rgba(0,0,0,.22),0 0 0 4px rgba(255,255,255,.08)!important;
}
.modern-school-sidebar .school-mark img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:12px!important;
}
.modern-school-sidebar .school-header-copy{
  min-width:0!important;
  flex:1 1 auto!important;
  line-height:1.02!important;
}
.modern-school-sidebar .school-header-copy strong{
  font-size:1.04rem!important;
  line-height:1!important;
  margin-bottom:3px!important;
}
.modern-school-sidebar .school-header-copy small{
  display:block!important;
  max-width:100%!important;
  margin-top:2px!important;
  color:rgba(237,253,251,.82)!important;
  font-size:.625rem!important;
  line-height:1.05!important;
  font-weight:820!important;
  letter-spacing:-.035em!important;
  text-transform:none!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}
body.sidebar-collapsed .modern-school-sidebar .school-mark{
  width:42px!important;
  height:42px!important;
  flex-basis:42px!important;
  padding:4px!important;
}
body.sidebar-collapsed .modern-school-sidebar .school-mark img{border-radius:12px!important;}
@media (max-width:780px){
  body.sidebar-collapsed .modern-school-sidebar .sidebar-school-header,
  .modern-school-sidebar .sidebar-school-header{gap:10px!important;padding:10px!important;min-height:62px!important;}
  .modern-school-sidebar .school-header-copy small{font-size:.62rem!important;letter-spacing:-.04em!important;}
}
@media (max-width:360px){
  .modern-school-sidebar .school-header-copy small{font-size:.58rem!important;letter-spacing:-.055em!important;}
}


/* Clickable sidebar header and collapsed footer icon centering refinement */
.modern-school-sidebar .sidebar-school-header{
  text-decoration:none!important;
  color:#fff!important;
  cursor:pointer!important;
  position:relative!important;
  overflow:visible!important;
  transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease!important;
}
.modern-school-sidebar .sidebar-school-header:hover,
.modern-school-sidebar .sidebar-school-header:focus-visible{
  color:#fff!important;
  background:rgba(255,255,255,.18)!important;
  border-color:rgba(255,255,255,.28)!important;
  transform:translateY(-1px)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 20px 42px rgba(0,0,0,.20)!important;
  outline:none!important;
}
body.sidebar-collapsed .modern-school-sidebar .sidebar-school-header{
  display:grid!important;
  place-items:center!important;
  margin-inline:auto!important;
}
@media (min-width:781px){
  body.sidebar-collapsed .modern-school-sidebar .sidebar-school-header::after{
    content:attr(data-tooltip)!important;
    position:absolute!important;
    left:calc(100% + 14px)!important;
    top:50%!important;
    z-index:7000!important;
    box-sizing:border-box!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:112px!important;
    min-height:40px!important;
    padding:10px 15px!important;
    border-radius:16px!important;
    color:#f8fafc!important;
    background:linear-gradient(135deg,#0f172a,#073b4c)!important;
    border:1px solid rgba(255,255,255,.18)!important;
    box-shadow:0 18px 42px rgba(15,23,42,.28)!important;
    font-size:.83rem!important;
    font-weight:900!important;
    line-height:1.16!important;
    white-space:nowrap!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(-50%) translateX(-6px) scale(.98)!important;
    transition:opacity .16s ease,visibility .16s ease,transform .16s ease!important;
  }
  html[data-theme="dark"] body.sidebar-collapsed .modern-school-sidebar .sidebar-school-header::after{
    color:#0f172a!important;
    background:linear-gradient(135deg,#f8fafc,#ccfbf1)!important;
    border-color:rgba(20,184,166,.22)!important;
    box-shadow:0 18px 42px rgba(0,0,0,.46)!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-school-header:hover::after,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-school-header:focus-visible::after{
    opacity:1!important;
    visibility:visible!important;
    transform:translateY(-50%) translateX(0) scale(1)!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions,
  body.sidebar-collapsed .modern-school-sidebar .compact-sidebar-tools{
    display:grid!important;
    grid-template-columns:1fr!important;
    place-items:center!important;
    justify-items:center!important;
    align-items:center!important;
    gap:9px!important;
    width:100%!important;
    padding:8px 0!important;
    margin-inline:auto!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-tool-form{
    display:grid!important;
    place-items:center!important;
    width:56px!important;
    height:52px!important;
    margin:0 auto!important;
    padding:0!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-tool{
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    min-height:52px!important;
    max-width:52px!important;
    padding:0!important;
    margin:0 auto!important;
    display:grid!important;
    place-items:center!important;
    justify-content:center!important;
    align-content:center!important;
    justify-items:center!important;
    align-items:center!important;
    border-radius:18px!important;
    line-height:1!important;
    text-align:center!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-tool svg,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-tool .sidebar-user-avatar{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    margin:0!important;
    justify-self:center!important;
    align-self:center!important;
    transform:none!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-toggle-button{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    grid-column:1!important;
    justify-self:center!important;
    align-self:center!important;
    transform:none!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-tool:hover{transform:translateY(-1px)!important;}
}
@media (max-width:780px){
  .modern-school-sidebar .sidebar-school-header{display:flex!important;}
}

/* Full-app QA mobile shell correction: keep authenticated content full-width when the
   mobile drawer is hidden. Later desktop sidebar overrides must not leave a 300px
   offset on phone/tablet viewports. */
@media (max-width:780px){
  html,body{max-width:100%!important;overflow-x:hidden!important;}
  body:not(.sidebar-open) .modern-school-sidebar.sidebar,
  body:not(.sidebar-open).sidebar-collapsed .modern-school-sidebar.sidebar{
    transform:translateX(-105%)!important;
  }
  .main,
  body:not(.sidebar-collapsed) .main,
  body.sidebar-collapsed .main,
  .modern-school-sidebar + .sidebar-backdrop + .mobile-menu-button + .main,
  body:not(.sidebar-collapsed) .modern-school-sidebar + .sidebar-backdrop + .mobile-menu-button + .main{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    padding:76px 16px 18px!important;
  }
  .main.public{padding-top:18px!important;}
  body.sidebar-open .sidebar-backdrop{display:block!important;}
}
@media (max-width:520px){
  .main,
  body:not(.sidebar-collapsed) .main,
  body.sidebar-collapsed .main,
  .modern-school-sidebar + .sidebar-backdrop + .mobile-menu-button + .main,
  body:not(.sidebar-collapsed) .modern-school-sidebar + .sidebar-backdrop + .mobile-menu-button + .main{
    padding:72px 14px 16px!important;
  }
  .main.public{padding-top:16px!important;}
}


/* Notes/Examens ranking and bulletin PDF polish */
.module-advanced-filters .filter-actions{
  grid-column:1 / -1;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin-top:4px!important;
}
.module-advanced-filters .filter-button{
  min-height:46px!important;
  padding:12px 18px!important;
  border-radius:16px!important;
  font-weight:950!important;
  line-height:1.1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  white-space:normal!important;
}
.rank-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  padding:5px 9px;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,#0f766e,#2563eb);
  font-weight:950;
  box-shadow:0 10px 22px rgba(15,118,110,.2);
}
.report-identity-stacked{
  display:grid!important;
  justify-items:start!important;
  align-items:start!important;
  gap:10px!important;
}
.report-student-heading{text-align:left!important}.report-student-heading h2{margin:.1rem 0!important}.report-student-heading p{margin:.15rem 0 0!important}.report-student-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;width:100%}.report-rank-card{justify-self:end;min-width:150px;padding:12px 16px;border-radius:18px;border:1px solid color-mix(in srgb,var(--brand) 18%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 10%,var(--panel-solid)),var(--panel-solid));box-shadow:0 14px 36px rgba(15,23,42,.08);text-align:right}.report-rank-label{display:block;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.report-rank-card strong{display:block;margin:3px 0;font-size:1.8rem;line-height:1;color:var(--brand-strong)}.report-rank-detail{display:block;font-size:.84rem;font-weight:850;color:var(--muted)}.report-ranking-summary{margin:18px 0 8px;display:grid;gap:12px}.term-ranking-card{padding:14px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--brand) 5%,var(--panel-solid))}.term-ranking-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.term-ranking-head h4{margin:0;font-size:1.05rem}.term-ranking-head span{font-weight:900;color:var(--brand-strong)}.top-students-list{display:grid;gap:7px;margin:0;padding-left:0;list-style:none}.top-students-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;border-radius:14px;background:color-mix(in srgb,var(--panel-solid) 92%,var(--brand) 8%);border:1px solid color-mix(in srgb,var(--brand) 14%,var(--line))}.top-students-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-students-list span:last-child{font-weight:950;color:var(--ink)}
@media (max-width:780px){.module-advanced-filters .filter-button,.module-advanced-filters .filter-actions{width:100%!important}.report-student-meta{grid-template-columns:1fr}.report-rank-card{justify-self:start;text-align:left}.term-ranking-head{align-items:flex-start}.top-students-list li{grid-template-columns:auto 1fr}.top-students-list li span:last-child{grid-column:2}}
@media print{.report-identity-stacked{display:grid!important;justify-items:stretch!important;text-align:left!important}.report-student-meta{display:grid!important;grid-template-columns:1fr auto!important;align-items:start!important;width:100%!important}.report-rank-card{justify-self:end!important;background:#fff!important;color:#111827!important;border:1px solid #d1d5db!important;box-shadow:none!important}.report-rank-card strong{color:#111827!important}.report-school-logo{margin-left:0!important}.report-student-heading{text-align:left!important}.report-ranking-summary,.term-ranking-card,.top-students-list li{break-inside:avoid;background:#fff!important;color:#111827!important}.rank-badge{background:#0f766e!important;color:#fff!important;box-shadow:none!important}}


/* Période trimester select polish */
.grid-form select[name="term"],
.filters-grid select[name="term"],
.stacked-form select[name="term"]{
  min-height:46px;
  border-radius:16px!important;
  background:var(--input-bg,var(--panel-solid))!important;
  color:var(--ink)!important;
  border:1px solid color-mix(in srgb,var(--brand) 16%,var(--line))!important;
  font-weight:850!important;
}
.grid-form select[name="term"] option,
.filters-grid select[name="term"] option,
.stacked-form select[name="term"] option{
  background:var(--panel-solid);
  color:var(--ink);
}
html[data-theme="dark"] .grid-form select[name="term"] option,
html[data-theme="dark"] .filters-grid select[name="term"] option,
html[data-theme="dark"] .stacked-form select[name="term"] option{
  background:#0f172a;
  color:#e5eefb;
}


/* Clear profile links for student/teacher names */
a.person-name{
  color:var(--brand-strong,var(--brand));
  font-weight:950;
  text-decoration:none;
  border-bottom:2px solid color-mix(in srgb,var(--brand) 30%,transparent);
  transition:color .16s ease,border-color .16s ease,background .16s ease;
}
a.person-name:hover,a.person-name:focus-visible{
  color:var(--brand2,var(--brand));
  border-bottom-color:currentColor;
  outline:none;
}
.person-cell a.person-name{display:inline-flex;align-items:center;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html[data-theme="dark"] a.person-name{color:#93c5fd;border-bottom-color:rgba(147,197,253,.34)}
html[data-theme="dark"] a.person-name:hover,html[data-theme="dark"] a.person-name:focus-visible{color:#bfdbfe;border-bottom-color:#bfdbfe}
@media (max-width:780px){a.person-name{line-height:1.35}.person-cell a.person-name{white-space:normal}}

.report-term-filter{margin:0;display:flex;align-items:center}
.report-term-filter label{margin:0;min-width:190px;font-size:.8rem;font-weight:900;color:var(--muted)}
.report-term-filter select{margin-top:4px}
@media print{.report-term-filter{display:none!important}}
@media (max-width:780px){.report-term-filter,.report-term-filter label{width:100%;min-width:0}}

/* Final dashboard search contrast fix: readable input text in light and dark modes. */
.dashboard-hero .dashboard-search,
.lekol360-hero .dashboard-search{
  color:var(--ink)!important;
}
.dashboard-hero .dashboard-search .search-shell,
.lekol360-hero .dashboard-search .search-shell{
  align-items:stretch!important;
}
.dashboard-hero .dashboard-search input#dashboard-q,
.dashboard-hero .dashboard-search .search-shell input,
.lekol360-hero .dashboard-search input#dashboard-q,
.lekol360-hero .dashboard-search .search-shell input{
  background:#ffffff!important;
  background-image:none!important;
  color:#102033!important;
  -webkit-text-fill-color:#102033!important;
  caret-color:#2563eb!important;
  border:1px solid #c7d6e7!important;
  box-shadow:inset 0 1px 0 rgba(15,39,66,.04),0 8px 20px rgba(15,39,66,.08)!important;
  border-radius:18px!important;
  min-height:48px!important;
  font-weight:850!important;
}
.dashboard-hero .dashboard-search input#dashboard-q::placeholder,
.dashboard-hero .dashboard-search .search-shell input::placeholder,
.lekol360-hero .dashboard-search input#dashboard-q::placeholder,
.lekol360-hero .dashboard-search .search-shell input::placeholder{
  color:#5b6f86!important;
  -webkit-text-fill-color:#5b6f86!important;
  opacity:1!important;
}
.dashboard-hero .dashboard-search input#dashboard-q:focus,
.dashboard-hero .dashboard-search .search-shell input:focus,
.lekol360-hero .dashboard-search input#dashboard-q:focus,
.lekol360-hero .dashboard-search .search-shell input:focus{
  border-color:#2563eb!important;
  box-shadow:0 0 0 4px rgba(37,99,235,.18),0 10px 24px rgba(37,99,235,.12)!important;
  outline:none!important;
}
html[data-theme="dark"] .dashboard-hero .dashboard-search input#dashboard-q,
html[data-theme="dark"] .dashboard-hero .dashboard-search .search-shell input,
html[data-theme="dark"] .lekol360-hero .dashboard-search input#dashboard-q,
html[data-theme="dark"] .lekol360-hero .dashboard-search .search-shell input{
  background:#0f1d31!important;
  background-image:none!important;
  color:#f4f8fc!important;
  -webkit-text-fill-color:#f4f8fc!important;
  caret-color:#93c5fd!important;
  border-color:#3a506d!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 10px 24px rgba(0,0,0,.26)!important;
}
html[data-theme="dark"] .dashboard-hero .dashboard-search input#dashboard-q::placeholder,
html[data-theme="dark"] .dashboard-hero .dashboard-search .search-shell input::placeholder,
html[data-theme="dark"] .lekol360-hero .dashboard-search input#dashboard-q::placeholder,
html[data-theme="dark"] .lekol360-hero .dashboard-search .search-shell input::placeholder{
  color:#b9c9dc!important;
  -webkit-text-fill-color:#b9c9dc!important;
}

/* E-mail dashboard filters, delete actions, and pagination polish. */
.email-advanced-filters{
  margin:0 0 18px!important;
  padding:16px!important;
  border:1px solid color-mix(in srgb,var(--brand) 14%,var(--line))!important;
  border-radius:24px!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 5%,var(--panel-solid)),color-mix(in srgb,var(--brand2) 4%,var(--panel-solid)))!important;
}
.email-filters-grid{
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;
}
.email-filters-grid label{
  color:var(--ink)!important;
  font-weight:900!important;
}
.email-filters-grid input,
.email-filters-grid select{
  min-height:46px!important;
  border-radius:16px!important;
}
.email-table-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 12px;
  padding:12px 14px;
  border:1px solid color-mix(in srgb,var(--brand) 12%,var(--line));
  border-radius:18px;
  background:color-mix(in srgb,var(--brand) 5%,var(--panel-solid));
  color:var(--muted);
  font-weight:850;
}
.email-queue-table td{vertical-align:top!important}.email-queue-table td:nth-child(4){min-width:220px}.email-queue-table td:nth-child(8){max-width:300px;overflow-wrap:anywhere}.email-queue-table{min-width:1060px!important}.email-queue-table th:last-child,.email-queue-table td:last-child{position:sticky!important;right:0!important;z-index:2!important;background:var(--panel-solid)!important;box-shadow:-10px 0 20px color-mix(in srgb,var(--bg) 80%,transparent)!important}.email-queue-table th:last-child{z-index:3!important;background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 13%,var(--panel-solid)),color-mix(in srgb,var(--brand2) 8%,var(--panel-solid)))!important}.email-queue-table td:last-child{text-align:center!important}.email-queue-table .email-delete-trigger{white-space:nowrap!important}
.email-delete-form{margin:0!important;display:inline-flex!important}.email-delete-form .danger.small,.email-delete-trigger.danger.small{padding:8px 12px!important;font-size:.82rem!important;box-shadow:0 10px 22px rgba(220,38,38,.16)!important}.email-delete-summary{margin:12px 0 18px!important}.email-delete-summary dd{overflow-wrap:anywhere!important}
.email-status-queued{background:color-mix(in srgb,#2563eb 12%,var(--panel-solid))!important;color:#1d4ed8!important}.email-status-retry{background:color-mix(in srgb,#f59e0b 18%,var(--panel-solid))!important;color:#92400e!important}.email-status-sent{background:color-mix(in srgb,#16a34a 14%,var(--panel-solid))!important;color:#166534!important}.email-status-failed{background:color-mix(in srgb,#dc2626 12%,var(--panel-solid))!important;color:#991b1b!important}
.email-pagination{margin-top:14px!important}.email-pagination .pagination-buttons a.disabled{opacity:.45;pointer-events:none;filter:grayscale(.4)}
html[data-theme="dark"] .email-advanced-filters,html[data-theme="dark"] .email-table-toolbar{background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 9%,var(--panel-solid)),color-mix(in srgb,var(--brand2) 6%,var(--panel-solid)))!important;border-color:color-mix(in srgb,var(--brand) 18%,var(--line))!important}
html[data-theme="dark"] .email-status-queued{color:#bfdbfe!important}html[data-theme="dark"] .email-status-retry{color:#fde68a!important}html[data-theme="dark"] .email-status-sent{color:#bbf7d0!important}html[data-theme="dark"] .email-status-failed{color:#fecaca!important}
@media (max-width:780px){.email-table-toolbar{align-items:flex-start}.email-pagination{align-items:stretch!important}.email-pagination .pagination-buttons,.email-pagination .pagination-buttons a{width:100%;justify-content:center}.email-queue-table td:nth-child(4),.email-queue-table td:nth-child(8){min-width:0;max-width:none}}

/* Bulletin PDF top-right school logo identity block */
.report .report-student-meta{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(240px,340px)!important;
  align-items:start!important;
  gap:18px!important;
  width:100%!important;
}
.report-student-identity-card{
  grid-column:2!important;
  justify-self:end!important;
  width:min(340px,100%)!important;
  display:grid!important;
  justify-items:end!important;
  gap:10px!important;
  padding:16px 18px!important;
  border-radius:22px!important;
  border:1px solid color-mix(in srgb,var(--brand) 16%,var(--line))!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 4%,var(--panel-solid)),var(--panel-solid))!important;
  box-shadow:0 14px 36px rgba(15,23,42,.07)!important;
  text-align:right!important;
}
.report-logo-slot{
  display:flex!important;
  width:100%!important;
  justify-content:flex-end!important;
  align-items:center!important;
  min-height:70px!important;
  padding:0 0 8px!important;
  border-bottom:1px solid color-mix(in srgb,var(--brand) 12%,var(--line))!important;
}
.report-school-logo-top-right,
.report.has-school-logo .report-school-logo-top-right{
  display:block!important;
  width:auto!important;
  max-width:158px!important;
  max-height:82px!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  padding:8px!important;
  border-radius:16px!important;
  background:#fff!important;
  border:1px solid color-mix(in srgb,var(--brand) 14%,var(--line))!important;
  box-shadow:0 10px 24px rgba(15,23,42,.08)!important;
}
.report-student-identity-card .report-student-heading{
  width:100%!important;
  text-align:right!important;
}
.report-student-identity-card .report-student-heading h2{
  margin:0!important;
  line-height:1.08!important;
}
.report-student-identity-card .report-student-heading p{
  margin:6px 0 0!important;
  line-height:1.35!important;
}
.report .report-rank-card{
  grid-column:1!important;
  grid-row:1!important;
  justify-self:start!important;
  align-self:start!important;
}
@media (max-width:780px){
  .report .report-student-meta{grid-template-columns:1fr!important;}
  .report-student-identity-card{grid-column:1!important;justify-self:stretch!important;width:100%!important;}
  .report .report-rank-card{grid-column:1!important;grid-row:auto!important;justify-self:stretch!important;text-align:left!important;}
}
@media print{
  .report .report-student-meta{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 2.45in!important;
    align-items:start!important;
    gap:.28in!important;
    width:100%!important;
  }
  .report-student-identity-card{
    grid-column:2!important;
    justify-self:end!important;
    width:2.45in!important;
    padding:.16in .18in!important;
    gap:.08in!important;
    border:1px solid #d1d5db!important;
    border-radius:.16in!important;
    background:#fff!important;
    box-shadow:none!important;
    break-inside:avoid!important;
    text-align:right!important;
  }
  .report-logo-slot{
    min-height:.68in!important;
    padding:0 0 .08in!important;
    border-bottom:1px solid #e5e7eb!important;
    justify-content:flex-end!important;
  }
  .report-school-logo-top-right,
  .report.has-school-logo .report-school-logo-top-right{
    max-width:1.45in!important;
    max-height:.72in!important;
    padding:.04in!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
    box-shadow:none!important;
  }
  .report-student-identity-card .report-student-heading{text-align:right!important;color:#111827!important;}
  .report-student-identity-card .report-student-heading h2{font-size:15pt!important;color:#111827!important;}
  .report-student-identity-card .report-student-heading p{font-size:9.5pt!important;color:#374151!important;}
  .report .report-rank-card{grid-column:1!important;grid-row:1!important;justify-self:start!important;}
}


/* 2026-05 login full-width branding refresh */
.full-width-login-page.portal-first-login{
  width:100%!important;
  min-height:100vh!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:clamp(24px,4vw,64px)!important;
  text-align:left!important;
}
.login-wide-shell{
  width:min(1280px,100%)!important;
  max-width:1280px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.1fr) minmax(380px,480px)!important;
  grid-template-areas:
    "brand auth"
    "intro auth"!important;
  align-items:center!important;
  gap:clamp(18px,3vw,42px)!important;
  margin-inline:auto!important;
}
.login-wide-shell .login-top-logo{
  grid-area:brand!important;
  justify-self:start!important;
  width:min(520px,100%)!important;
  padding-inline:0!important;
}
.login-wide-shell .login-top-logo img{
  width:min(430px,100%)!important;
  max-width:100%!important;
}
.login-wide-shell .login-branding-panel{
  grid-area:intro!important;
  width:100%!important;
  max-width:760px!important;
  margin:0!important;
  padding:clamp(22px,2.6vw,34px)!important;
  text-align:left!important;
}
.login-wide-shell .login-branding-panel .intro-heading-row{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  text-align:left!important;
  margin-bottom:12px!important;
}
.login-wide-shell .login-branding-panel .intro-icon{
  display:grid!important;
}
.login-wide-shell .login-branding-panel h2{
  text-align:left!important;
  margin:0!important;
  color:var(--ink)!important;
  font-size:clamp(1.8rem,3vw,2.6rem)!important;
  line-height:1.05!important;
}
.login-wide-shell .login-branding-panel .intro-copy{
  display:block!important;
  max-width:64ch!important;
  margin:0!important;
  text-align:left!important;
}
.login-wide-shell .login-branding-panel .intro-copy p{
  color:var(--muted)!important;
  font-size:clamp(1rem,1.25vw,1.14rem)!important;
  line-height:1.68!important;
}
.login-wide-shell .login-auth-panel{
  grid-area:auth!important;
  width:100%!important;
  max-width:480px!important;
  margin:0!important;
  justify-self:stretch!important;
  align-self:center!important;
  padding:clamp(28px,3vw,38px)!important;
}
.login-wide-shell .login-card-heading,
.login-wide-shell .portal-subtitle{
  text-align:left!important;
}
.login-wide-shell .login-card-heading span{
  justify-content:flex-start!important;
}
.login-wide-shell .portal-login-options{
  gap:12px!important;
}
.login-wide-shell .portal-option{
  min-height:76px!important;
}
.login-wide-shell .login-form-card label{
  gap:7px!important;
}
.login-wide-shell input{
  min-height:48px!important;
}
.login-wide-shell .primary.full{
  min-height:50px!important;
}
html[data-theme="dark"] .login-wide-shell .login-branding-panel h2{
  color:#f8fafc!important;
}
html[data-theme="dark"] .login-wide-shell .login-branding-panel .intro-copy p{
  color:#cbd5e1!important;
}
@media (min-width:1440px){
  .login-wide-shell{max-width:1440px!important;grid-template-columns:minmax(0,1.2fr) minmax(420px,520px)!important}
  .login-wide-shell .login-auth-panel{max-width:520px!important}
  .login-wide-shell .login-top-logo img{width:min(500px,100%)!important}
}
@media (max-width:1060px){
  .full-width-login-page.portal-first-login{align-items:flex-start!important;padding:20px!important}
  .login-wide-shell{
    grid-template-columns:1fr!important;
    grid-template-areas:"brand" "intro" "auth"!important;
    max-width:760px!important;
    text-align:center!important;
  }
  .login-wide-shell .login-top-logo,
  .login-wide-shell .login-branding-panel,
  .login-wide-shell .login-auth-panel{justify-self:center!important;max-width:100%!important}
  .login-wide-shell .login-top-logo{text-align:center!important}
  .login-wide-shell .login-branding-panel,
  .login-wide-shell .login-branding-panel .intro-heading-row,
  .login-wide-shell .login-branding-panel h2,
  .login-wide-shell .login-branding-panel .intro-copy,
  .login-wide-shell .login-card-heading,
  .login-wide-shell .portal-subtitle{text-align:center!important;justify-content:center!important}
  .login-wide-shell .login-branding-panel .intro-copy{margin-inline:auto!important}
}
@media (max-width:560px){
  .full-width-login-page.portal-first-login{padding:16px 14px!important}
  .login-wide-shell{gap:16px!important}
  .login-wide-shell .login-top-logo img{width:min(300px,82vw)!important}
  .login-wide-shell .login-branding-panel{padding:18px!important;border-radius:24px!important}
  .login-wide-shell .login-branding-panel h2{font-size:1.65rem!important}
  .login-wide-shell .login-auth-panel{padding:22px!important;border-radius:26px!important}
  .login-wide-shell .portal-option{min-height:68px!important}
}


/* Final login desktop width/dark readability adjustments */
.login-wide-shell{
  width:100%!important;
  flex:1 1 auto!important;
  align-self:stretch!important;
}
@media (min-width:1061px){
  .login-wide-shell{
    grid-template-columns:minmax(520px,1fr) minmax(400px,500px)!important;
  }
}
html[data-theme="dark"] .full-width-login-page.portal-first-login{
  background:
    radial-gradient(circle at 16% 10%,rgba(37,99,235,.20),transparent 26rem),
    radial-gradient(circle at 84% 22%,rgba(124,58,237,.18),transparent 24rem),
    radial-gradient(circle at 48% 100%,rgba(6,182,212,.12),transparent 28rem),
    linear-gradient(135deg,#06111f,#0b2034 58%,#071a2a)!important;
}
html[data-theme="dark"] .login-wide-shell input::placeholder{
  color:#e2e8f0!important;
  opacity:1!important;
}


/* Public pages should not reserve authenticated sidebar space. */
.main.public{
  margin-left:0!important;
  width:100%!important;
  min-height:100vh!important;
}

body:not(.sidebar-collapsed) .main.public,
body.sidebar-collapsed .main.public,
body .main.public{
  margin-left:0!important;
}

/* Final centered login override: logo -> intro -> auth card */
.main.public{
  margin-left: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}
.login-page.portal-first-login{
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: auto !important;
  padding: clamp(24px, 4vw, 56px) 16px !important;
}
.login-page.portal-first-login .login-centered-stack{
  width: min(100%, 760px) !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 20px !important;
  text-align: center !important;
}
.login-page.portal-first-login .login-top-logo{
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 0 auto !important;
}
.login-page.portal-first-login .login-top-logo img{
  width: min(260px, 72vw) !important;
  max-height: 140px !important;
  object-fit: contain !important;
}
.login-page.portal-first-login .login-introduction{
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 auto !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  text-align: center !important;
  padding: clamp(20px, 3vw, 34px) !important;
}
.login-page.portal-first-login .login-introduction .intro-heading-row{
  justify-content: center !important;
  text-align: center !important;
}
.login-page.portal-first-login .login-card{
  width: 100% !important;
  max-width: 720px !important;
  margin: 0 auto !important;
}
@media (max-width: 640px){
  .login-page.portal-first-login{
    justify-content: flex-start !important;
    padding-top: 24px !important;
  }
}

/* 2026-05 integrated searchable selects and teacher subject slide selector */
.native-select-hidden{position:absolute!important;width:1px!important;height:1px!important;opacity:.001!important;pointer-events:none!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important}
.searchable-select-control{position:relative;display:block;width:100%}
.custom-select-trigger,.teacher-subject-slide-toggle{width:100%;min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;border-radius:16px;padding:11px 14px;color:var(--ink)!important;background:color-mix(in srgb,var(--panel-solid) 96%,#fff)!important;border:1px solid color-mix(in srgb,var(--brand) 14%,var(--line))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.28)!important;font-weight:850;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.custom-select-trigger:hover,.teacher-subject-slide-toggle:hover,.custom-select-trigger:focus-visible,.teacher-subject-slide-toggle:focus-visible{border-color:color-mix(in srgb,var(--brand) 42%,var(--line))!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 10%,transparent)!important;outline:0}
.custom-select-panel{position:fixed;z-index:10000;margin-top:0;padding:8px;border-radius:18px;border:1px solid color-mix(in srgb,var(--brand) 18%,var(--line));background:var(--panel-solid);box-shadow:0 22px 55px rgba(15,23,42,.20);overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
.custom-select-search,.teacher-subject-search{width:100%;min-height:42px;border-radius:14px;padding:10px 12px;margin-bottom:8px}
.custom-select-options{display:grid;gap:4px;max-height:240px;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:2px}
.custom-select-option{width:100%;min-height:44px;border:0;border-radius:12px;background:transparent;color:var(--ink);padding:10px 11px;text-align:left;font-weight:800;cursor:pointer;touch-action:manipulation;transition:background .14s ease,color .14s ease,transform .14s ease}
.custom-select-option:hover,.custom-select-option:focus-visible,.custom-select-option[aria-selected="true"]{background:color-mix(in srgb,var(--brand) 10%,var(--panel-solid));color:var(--brand-strong);outline:0}
.custom-select-empty{padding:12px;color:var(--muted);font-weight:800;text-align:center}.custom-select-group-label{position:sticky;top:0;z-index:1;margin:8px 0 4px;padding:7px 10px;border-radius:12px;background:color-mix(in srgb,var(--brand) 11%,var(--panel-solid));color:var(--brand-strong);font-size:.72rem;font-weight:950;letter-spacing:.055em;text-transform:uppercase}.custom-select-group-label:first-child{margin-top:0}.custom-select-option[data-group]{padding-left:18px}.grid-form .full-span{grid-column:1/-1}.teacher-subject-field{align-items:stretch}
.teacher-subject-slide-select{position:relative;width:100%;z-index:1}.teacher-subject-slide-select.is-open{z-index:25}.slide-toggle-icon{font-size:1.1rem;transition:transform .18s ease}.teacher-subject-slide-select.is-open .slide-toggle-icon{transform:rotate(180deg)}
.teacher-subject-slide-panel{display:grid;gap:8px;margin-top:8px;padding:12px;border:1px solid color-mix(in srgb,var(--brand) 16%,var(--line));border-radius:20px;background:color-mix(in srgb,var(--brand) 4%,var(--panel-solid));box-shadow:0 18px 42px rgba(15,23,42,.10);animation:subjectSlideDown .18s ease both;overscroll-behavior:contain}.teacher-subject-slide-panel[hidden]{display:none!important}
@keyframes subjectSlideDown{from{opacity:0;transform:translateY(-8px);max-height:0}to{opacity:1;transform:translateY(0);max-height:420px}}
.teacher-subject-option-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:10px;max-height:320px;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:2px}.teacher-subject-group{grid-column:1/-1;display:grid;gap:8px;min-width:0}.teacher-subject-group[hidden],.teacher-subject-option[hidden]{display:none!important}.teacher-subject-group-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;border-radius:14px;padding:9px 11px;background:color-mix(in srgb,var(--brand) 10%,var(--panel-solid));color:var(--brand-strong);font-size:.74rem;font-weight:950;letter-spacing:.045em;text-transform:uppercase;text-align:left;cursor:pointer;touch-action:manipulation}.teacher-subject-group-toggle span:first-child{min-width:0;white-space:normal;overflow-wrap:anywhere}.teacher-subject-group-toggle[aria-expanded="false"] span:last-child{transform:rotate(-90deg)}.teacher-subject-group-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:10px;min-width:0}.teacher-subject-group-options[hidden]{display:none!important}.teacher-subject-option{display:flex;align-items:flex-start;gap:10px;min-width:0;margin:0;padding:11px 12px;border:1px solid color-mix(in srgb,var(--brand) 14%,var(--line));border-radius:14px;background:var(--panel-solid);font-weight:850;cursor:pointer;touch-action:manipulation;transition:border-color .15s ease,background .15s ease,transform .15s ease}.teacher-subject-option span{min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.25}.teacher-subject-option:hover,.teacher-subject-option:focus-within,.teacher-subject-option[aria-selected="true"]{transform:translateY(-1px);border-color:color-mix(in srgb,var(--brand) 42%,var(--line));background:color-mix(in srgb,var(--brand) 8%,var(--panel-solid))}.teacher-subject-option input{width:18px;height:18px;margin-top:1px;accent-color:var(--brand);flex:0 0 auto}.subject-custom-field[hidden]{display:none!important}
html[data-theme="dark"] .custom-select-panel,html[data-theme="dark"] .teacher-subject-slide-panel{background:#0a1726;border-color:#37506e;box-shadow:0 22px 55px rgba(0,0,0,.42)}html[data-theme="dark"] .custom-select-group-label,html[data-theme="dark"] .teacher-subject-group-toggle{background:#10243a;color:#7dd3fc}html[data-theme="dark"] .custom-select-trigger,html[data-theme="dark"] .teacher-subject-slide-toggle,html[data-theme="dark"] .teacher-subject-option{background:#0a1726!important;border-color:#37506e!important;color:#f8fbff!important}html[data-theme="dark"] .custom-select-option{color:#f8fbff}html[data-theme="dark"] .custom-select-option:hover,html[data-theme="dark"] .custom-select-option:focus-visible,html[data-theme="dark"] .custom-select-option[aria-selected="true"],html[data-theme="dark"] .teacher-subject-option:hover,html[data-theme="dark"] .teacher-subject-option:focus-within,html[data-theme="dark"] .teacher-subject-option[aria-selected="true"]{background:color-mix(in srgb,var(--brand) 16%,#0a1726)}
@media (hover:none){.custom-select-trigger:hover,.teacher-subject-slide-toggle:hover{transform:none}.custom-select-option:hover,.teacher-subject-option:hover{transform:none}}
@media (max-width:560px){.custom-select-trigger,.teacher-subject-slide-toggle,.custom-select-search,.teacher-subject-search{min-height:44px}.teacher-subject-option-list{grid-template-columns:1fr;max-height:min(260px,48vh)}.custom-select-panel{left:14px!important;right:14px!important;top:auto!important;bottom:max(14px,env(safe-area-inset-bottom))!important;width:auto!important;max-height:min(70vh,520px);overflow:auto}.custom-select-options{max-height:min(48vh,360px)}}

/* QA polish: keep long French placeholders readable in subject/catalog controls. */
.subject-custom-field input,
.table-filter-control input{
  width:100%;
  min-width:min(100%,260px);
}

.subject-custom-field{
  min-width:min(100%,280px);
}

@media (max-width:780px){
  .subject-custom-field,
  .subject-custom-field input,
  .table-filter-control input{
    min-width:0;
  }
}


/* 2026-05 GES-SCO-inspired Lekòl360 full-screen login refresh */
.main.public:has(.ges-sco-inspired-login){
  position:relative!important;
  min-height:100vh!important;
  overflow:hidden!important;
}
.main.public:has(.ges-sco-inspired-login) .minimal-footer{
  position:fixed!important;
  left:50%!important;
  bottom:10px!important;
  z-index:5!important;
  transform:translateX(-50%)!important;
  width:min(92vw,760px)!important;
  margin:0!important;
  padding:6px 12px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:color-mix(in srgb,var(--muted) 82%,transparent)!important;
  font-size:.76rem!important;
}
.main.public:has(.ges-sco-inspired-login) .minimal-footer img{display:none!important}
.ges-sco-inspired-login.login-page.portal-first-login{
  --login-glass:rgba(255,255,255,.78);
  --login-glass-strong:rgba(255,255,255,.92);
  --login-stroke:rgba(255,255,255,.74);
  --login-shadow:0 30px 90px rgba(15,23,42,.16);
  min-height:100vh!important;
  width:100%!important;
  display:grid!important;
  place-items:center!important;
  padding:clamp(20px,3vw,48px)!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 7% 16%, color-mix(in srgb,var(--brand2) 26%,transparent), transparent 24rem),
    radial-gradient(circle at 90% 8%, color-mix(in srgb,var(--accent) 30%,transparent), transparent 24rem),
    radial-gradient(circle at 76% 92%, color-mix(in srgb,var(--brand3) 22%,transparent), transparent 26rem),
    linear-gradient(135deg,#f8fbff 0%,#effdf8 48%,#eef6ff 100%)!important;
}
.ges-sco-inspired-login:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(120deg,rgba(255,255,255,.70),rgba(255,255,255,.18) 44%,rgba(255,255,255,.58)),
    radial-gradient(circle at 50% 50%,transparent 0 40%,rgba(255,255,255,.28) 41% 42%,transparent 43%);
  pointer-events:none;
}
.login-bg-grid{
  position:absolute;
  inset:0;
  z-index:0;
  opacity:.42;
  background-image:
    linear-gradient(color-mix(in srgb,var(--brand) 11%,transparent) 1px,transparent 1px),
    linear-gradient(90deg,color-mix(in srgb,var(--brand2) 10%,transparent) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(circle at 50% 45%,#000 0 45%,transparent 78%);
  pointer-events:none;
}
.ges-sco-inspired-login .splash-orb{z-index:0;filter:blur(18px);opacity:.58;animation:loginFloat 9s ease-in-out infinite alternate}
.ges-sco-inspired-login .splash-orb-blue{width:360px;height:360px;left:-120px;bottom:8%;background:linear-gradient(135deg,color-mix(in srgb,var(--brand2) 48%,transparent),color-mix(in srgb,var(--brand) 32%,transparent))}
.ges-sco-inspired-login .splash-orb-gold{width:280px;height:280px;right:7%;top:5%;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 52%,transparent),color-mix(in srgb,var(--accent2) 28%,transparent));animation-delay:-2s}
@keyframes loginFloat{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(18px,-14px,0) scale(1.05)}}
.login-theme-toggle{
  position:fixed;
  top:18px;
  right:18px;
  z-index:8;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:9px 13px;
  border-radius:999px;
  color:var(--ink);
  background:color-mix(in srgb,var(--panel-solid) 76%,transparent);
  border:1px solid color-mix(in srgb,var(--brand) 16%,var(--line));
  box-shadow:0 14px 34px rgba(15,23,42,.12);
  backdrop-filter:blur(18px);
}
.login-theme-toggle:hover,.login-theme-toggle:focus-visible{transform:translateY(-2px);box-shadow:0 20px 42px color-mix(in srgb,var(--brand2) 18%,transparent);outline:none}
.theme-toggle-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;font-weight:900}
.ges-sco-inspired-login .login-centered-stack{
  position:relative!important;
  z-index:2!important;
  width:min(100%,1180px)!important;
  min-height:min(760px,calc(100vh - 96px))!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.06fr) minmax(360px,.78fr)!important;
  grid-template-areas:"brand auth" "intro auth"!important;
  align-items:center!important;
  gap:clamp(20px,3vw,34px)!important;
  text-align:left!important;
}
.ges-sco-inspired-login .login-top-logo{
  grid-area:brand!important;
  justify-self:start!important;
  align-self:end!important;
  margin:0!important;
}
.ges-sco-inspired-login .login-top-logo img{
  width:clamp(190px,22vw,320px)!important;
  max-height:150px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 24px 38px color-mix(in srgb,var(--brand) 22%,transparent))!important;
}
.ges-sco-inspired-login .login-introduction{
  grid-area:intro!important;
  position:relative!important;
  isolation:isolate!important;
  width:100%!important;
  max-width:720px!important;
  margin:0!important;
  padding:clamp(28px,4vw,48px)!important;
  overflow:hidden!important;
  text-align:left!important;
  border-radius:36px!important;
  border:1px solid var(--login-stroke)!important;
  background:linear-gradient(145deg,var(--login-glass),rgba(255,255,255,.48))!important;
  box-shadow:var(--login-shadow)!important;
  backdrop-filter:blur(24px)!important;
}
.ges-sco-inspired-login .login-introduction:before{
  content:"";
  position:absolute;
  inset:auto -12% -34% auto;
  width:360px;
  height:360px;
  z-index:-1;
  border-radius:999px;
  background:radial-gradient(circle,color-mix(in srgb,var(--brand2) 16%,transparent),transparent 68%);
}
.ges-sco-inspired-login .intro-heading-row{display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;gap:14px!important;text-align:left!important}
.ges-sco-inspired-login .intro-icon{display:grid!important;place-items:center!important;width:44px!important;height:44px!important;flex:0 0 auto!important;border-radius:16px!important;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff!important;box-shadow:0 16px 32px color-mix(in srgb,var(--brand) 28%,transparent)}
.ges-sco-inspired-login .login-kicker{margin:0 0 10px!important;background:color-mix(in srgb,var(--brand) 10%,#fff)!important;color:var(--brand-strong)!important;border-color:color-mix(in srgb,var(--brand) 18%,#fff)!important;box-shadow:none!important}
.ges-sco-inspired-login .login-introduction h2{
  display:block!important;
  margin:0!important;
  font-size:clamp(2.35rem,5vw,4.65rem)!important;
  line-height:.96!important;
  letter-spacing:-.075em!important;
  font-weight:820!important;
  color:var(--ink)!important;
  max-width:10ch!important;
}
.ges-sco-inspired-login .intro-copy{display:block!important;max-width:62ch!important;margin:18px 0 0!important;text-align:left!important}
.ges-sco-inspired-login .intro-copy p{margin:0!important;color:var(--muted)!important;font-size:clamp(1.02rem,1.3vw,1.15rem)!important;line-height:1.7!important;font-weight:520!important}
.login-illustration{position:relative;min-height:180px;margin-top:26px;border-radius:30px;background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 10%,#fff),color-mix(in srgb,var(--brand2) 9%,#fff));border:1px solid color-mix(in srgb,var(--brand) 14%,#fff);overflow:hidden}
.login-illustration:before{content:"";position:absolute;inset:18px;border-radius:24px;border:1px dashed color-mix(in srgb,var(--brand2) 26%,transparent)}
.login-illustration .school-card{position:absolute;display:grid;gap:3px;min-width:176px;padding:14px;border-radius:20px;background:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.86);box-shadow:0 18px 38px rgba(15,23,42,.12)}
.login-illustration .school-card strong{font-size:1rem!important;color:var(--ink);font-weight:760!important}.login-illustration .school-card small{color:var(--muted);font-weight:650}.school-card-icon{font-size:1.45rem}.card-primary{left:26px;top:24px}.card-secondary{right:28px;bottom:24px}.mini-chart{display:flex;align-items:end;gap:5px;height:28px}.mini-chart i{display:block;width:10px;border-radius:999px;background:linear-gradient(180deg,var(--brand2),var(--brand))}.mini-chart i:nth-child(1){height:15px}.mini-chart i:nth-child(2){height:24px}.mini-chart i:nth-child(3){height:19px}.school-ring{position:absolute;right:34%;top:34px;width:92px;height:92px;border-radius:999px;border:18px solid color-mix(in srgb,var(--accent) 34%,transparent);box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}
.ges-sco-inspired-login .login-feature-badges{margin-top:20px!important;display:flex!important;gap:10px!important;flex-wrap:wrap!important}.ges-sco-inspired-login .login-feature-badges span{background:color-mix(in srgb,var(--panel-solid) 82%,transparent)!important;color:var(--ink)!important;border-color:color-mix(in srgb,var(--brand) 13%,var(--line))!important;box-shadow:0 12px 28px rgba(15,23,42,.08)!important}
.ges-sco-inspired-login .login-auth-panel{
  grid-area:auth!important;
  position:relative!important;
  width:100%!important;
  max-width:500px!important;
  margin:0!important;
  justify-self:end!important;
  padding:clamp(26px,3vw,38px)!important;
  border-radius:34px!important;
  background:linear-gradient(145deg,var(--login-glass-strong),rgba(255,255,255,.74))!important;
  border:1px solid var(--login-stroke)!important;
  box-shadow:0 34px 100px rgba(15,23,42,.20)!important;
  backdrop-filter:blur(26px)!important;
}
.ges-sco-inspired-login .login-auth-panel:before{height:6px!important;background:linear-gradient(90deg,var(--brand),var(--brand2),var(--accent),var(--accent2))!important}
.ges-sco-inspired-login .login-card-heading,.ges-sco-inspired-login .portal-subtitle{text-align:left!important}.ges-sco-inspired-login .login-card-heading span{display:inline-flex!important;margin-bottom:9px!important;color:var(--brand-strong)!important;font-weight:760!important}.ges-sco-inspired-login .login-card-heading h2{display:block!important;margin:0 0 8px!important;color:var(--ink)!important;font-size:clamp(1.85rem,3vw,2.45rem)!important;line-height:1.02!important;font-weight:800!important;letter-spacing:-.055em!important}.ges-sco-inspired-login .portal-subtitle{display:block!important;margin:0!important;color:var(--muted)!important;line-height:1.5!important}
.ges-sco-inspired-login .portal-login-options{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;margin:22px 0 16px!important}.ges-sco-inspired-login .portal-option{min-height:76px!important;padding:14px!important;border-radius:22px!important;background:linear-gradient(135deg,color-mix(in srgb,var(--panel-solid) 88%,transparent),color-mix(in srgb,var(--brand2) 6%,var(--panel-solid)))!important;border:1px solid color-mix(in srgb,var(--brand) 14%,var(--line))!important;box-shadow:0 12px 28px rgba(15,23,42,.08)!important}.ges-sco-inspired-login .portal-option:hover,.ges-sco-inspired-login .portal-option:focus-visible,.ges-sco-inspired-login .portal-option.is-selected{transform:translateY(-3px)!important;border-color:color-mix(in srgb,var(--brand2) 42%,var(--line))!important;box-shadow:0 20px 44px color-mix(in srgb,var(--brand2) 18%,transparent)!important}.ges-sco-inspired-login .portal-option.is-selected{background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 13%,var(--panel-solid)),color-mix(in srgb,var(--brand2) 11%,var(--panel-solid)))!important}.ges-sco-inspired-login .portal-icon{width:48px!important;height:48px!important;border-radius:17px!important;box-shadow:0 13px 26px color-mix(in srgb,var(--brand) 24%,transparent)!important}.ges-sco-inspired-login .portal-option strong{font-weight:760!important;color:var(--ink)!important}.ges-sco-inspired-login .portal-option small{color:var(--muted)!important;font-weight:620!important}
.ges-sco-inspired-login .portal-note,.ges-sco-inspired-login .portal-placeholder{margin:0 0 15px!important;padding:13px 14px!important;border-radius:18px!important;background:color-mix(in srgb,var(--brand) 8%,var(--panel-solid))!important;border:1px solid color-mix(in srgb,var(--brand) 16%,var(--line))!important;color:var(--brand-strong)!important;font-weight:650!important;line-height:1.4!important}.ges-sco-inspired-login .portal-placeholder{color:var(--muted)!important;text-align:center!important;border-style:dashed!important}
.ges-sco-inspired-login .login-form-card{display:grid!important;gap:14px!important;margin-top:0!important}.ges-sco-inspired-login .login-form-card label{display:grid!important;gap:7px!important;color:var(--ink)!important;font-weight:700!important}.ges-sco-inspired-login .field-label-text{display:flex!important;align-items:center!important;gap:3px!important}.ges-sco-inspired-login .required-star{color:var(--danger)!important}.ges-sco-inspired-login .login-form-card input{width:100%!important;min-height:52px!important;padding:13px 15px!important;border-radius:18px!important;color:var(--ink)!important;background:color-mix(in srgb,var(--panel-solid) 92%,transparent)!important;border:1px solid color-mix(in srgb,var(--brand) 15%,var(--line))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.36)!important;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease!important}.ges-sco-inspired-login .login-form-card input:focus{outline:none!important;border-color:color-mix(in srgb,var(--brand2) 58%,var(--line))!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--brand2) 14%,transparent),inset 0 1px 0 rgba(255,255,255,.38)!important}.ges-sco-inspired-login .primary.full{width:100%!important;min-height:52px!important;margin-top:2px!important;border-radius:18px!important;background:linear-gradient(135deg,var(--brand),var(--brand2) 56%,var(--accent2))!important;box-shadow:0 18px 38px color-mix(in srgb,var(--brand2) 26%,transparent)!important;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease!important}.ges-sco-inspired-login .primary.full:hover,.ges-sco-inspired-login .primary.full:focus-visible{transform:translateY(-2px)!important;filter:saturate(1.08)!important;box-shadow:0 24px 48px color-mix(in srgb,var(--brand2) 32%,transparent)!important;outline:none!important}.ges-sco-inspired-login .auth-help{margin:2px 0 0!important;text-align:center!important;font-size:.92rem!important}.ges-sco-inspired-login .auth-help a{font-weight:680!important;color:var(--brand-strong)!important}.ges-sco-inspired-login .auth-help a:hover{text-decoration:underline!important}
html[data-theme="dark"] .ges-sco-inspired-login{
  --login-glass:rgba(8,22,35,.72);
  --login-glass-strong:rgba(10,24,38,.90);
  --login-stroke:rgba(148,163,184,.18);
  --login-shadow:0 30px 90px rgba(0,0,0,.50);
  background:
    radial-gradient(circle at 7% 16%, color-mix(in srgb,var(--brand2) 19%,transparent), transparent 24rem),
    radial-gradient(circle at 90% 8%, color-mix(in srgb,var(--accent2) 18%,transparent), transparent 24rem),
    radial-gradient(circle at 76% 92%, color-mix(in srgb,var(--brand) 17%,transparent), transparent 26rem),
    linear-gradient(135deg,#031312 0%,#06172a 54%,#0b1020 100%)!important;
}
html[data-theme="dark"] .ges-sco-inspired-login:before{background:linear-gradient(120deg,rgba(15,23,42,.34),rgba(15,23,42,.05) 44%,rgba(15,23,42,.28))}
html[data-theme="dark"] .login-bg-grid{opacity:.30}
html[data-theme="dark"] .login-theme-toggle{background:rgba(10,24,38,.78);border-color:rgba(148,163,184,.22);color:var(--ink)}
html[data-theme="dark"] .ges-sco-inspired-login .login-kicker{background:color-mix(in srgb,var(--brand) 12%,#071524)!important;border-color:rgba(148,163,184,.16)!important;color:var(--brand-strong)!important}
html[data-theme="dark"] .login-illustration{background:linear-gradient(135deg,rgba(20,184,166,.10),rgba(96,165,250,.09));border-color:rgba(148,163,184,.16)}
html[data-theme="dark"] .login-illustration .school-card{background:rgba(10,24,38,.86);border-color:rgba(148,163,184,.16);box-shadow:0 18px 42px rgba(0,0,0,.34)}
html[data-theme="dark"] .ges-sco-inspired-login .portal-option{background:linear-gradient(135deg,color-mix(in srgb,var(--panel-solid) 88%,transparent),color-mix(in srgb,var(--brand2) 8%,var(--panel-solid)))!important;border-color:rgba(148,163,184,.18)!important}
html[data-theme="dark"] .ges-sco-inspired-login .login-form-card input{background:#081827!important;border-color:#28445d!important;color:#f8fbff!important}html[data-theme="dark"] .ges-sco-inspired-login .login-form-card input::placeholder{color:#b9c9da!important;opacity:1!important}
html[data-theme="dark"] .ges-sco-inspired-login .portal-note,html[data-theme="dark"] .ges-sco-inspired-login .portal-placeholder{background:rgba(20,184,166,.10)!important;border-color:rgba(148,163,184,.18)!important;color:var(--brand-strong)!important}
@media (max-width:1060px){
  .ges-sco-inspired-login.login-page.portal-first-login{place-items:start center!important;overflow:auto!important;padding:76px 20px 38px!important}
  .ges-sco-inspired-login .login-centered-stack{min-height:0!important;width:min(100%,760px)!important;grid-template-columns:1fr!important;grid-template-areas:"brand" "intro" "auth"!important;gap:18px!important;text-align:center!important}
  .ges-sco-inspired-login .login-top-logo{justify-self:center!important}.ges-sco-inspired-login .login-introduction,.ges-sco-inspired-login .login-auth-panel{justify-self:center!important;max-width:100%!important}.ges-sco-inspired-login .login-introduction,.ges-sco-inspired-login .intro-heading-row,.ges-sco-inspired-login .intro-copy,.ges-sco-inspired-login .login-card-heading,.ges-sco-inspired-login .portal-subtitle{text-align:center!important;justify-content:center!important}.ges-sco-inspired-login .intro-copy{margin-inline:auto!important}.ges-sco-inspired-login .login-introduction h2{max-width:none!important}.login-illustration{min-height:160px}.main.public:has(.ges-sco-inspired-login){overflow:auto!important}.main.public:has(.ges-sco-inspired-login) .minimal-footer{position:static!important;transform:none!important;margin:-26px auto 12px!important;width:100%!important}
}
@media (max-width:640px){
  .login-theme-toggle{top:12px;right:12px;min-height:38px;padding:8px 10px;font-size:.86rem}.ges-sco-inspired-login.login-page.portal-first-login{padding:66px 14px 28px!important}.ges-sco-inspired-login .login-top-logo img{width:min(230px,72vw)!important}.ges-sco-inspired-login .login-introduction{padding:22px!important;border-radius:28px!important}.ges-sco-inspired-login .intro-heading-row{display:grid!important;gap:10px!important}.ges-sco-inspired-login .intro-icon{margin-inline:auto!important}.ges-sco-inspired-login .login-introduction h2{font-size:clamp(2rem,12vw,3rem)!important}.login-illustration{min-height:142px;margin-top:18px}.login-illustration .school-card{min-width:145px;padding:11px;border-radius:16px}.card-primary{left:12px;top:16px}.card-secondary{right:12px;bottom:16px}.school-ring{display:none}.ges-sco-inspired-login .login-feature-badges span{flex:1 1 100%;text-align:center!important}.ges-sco-inspired-login .login-auth-panel{padding:22px!important;border-radius:28px!important}.ges-sco-inspired-login .portal-option{min-height:70px!important;padding:12px!important}.ges-sco-inspired-login .portal-icon{width:44px!important;height:44px!important}.ges-sco-inspired-login .login-card-heading h2{font-size:1.75rem!important}.main.public:has(.ges-sco-inspired-login) .minimal-footer{font-size:.7rem!important;padding-inline:14px!important}
}
@media (max-width:420px){
  .login-illustration .school-card{position:relative;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;min-width:0;margin:10px}.login-illustration{display:grid;gap:0;min-height:0;padding:8px}.login-illustration:before{display:none}.ges-sco-inspired-login .portal-option small{font-size:.78rem!important}.ges-sco-inspired-login .portal-icon{width:40px!important;height:40px!important;font-size:1.15rem!important}
}
@media (prefers-reduced-motion:reduce){.ges-sco-inspired-login .splash-orb{animation:none!important}.ges-sco-inspired-login *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Final specificity lock for the 2026 full-screen login refresh */
.login-page.portal-first-login.ges-sco-inspired-login .login-centered-stack{
  display:grid!important;
  flex-direction:unset!important;
  width:min(100%,1180px)!important;
  max-width:1180px!important;
  grid-template-columns:minmax(0,1.06fr) minmax(360px,.78fr)!important;
  grid-template-areas:"brand auth" "intro auth"!important;
  align-items:center!important;
  justify-items:stretch!important;
  gap:clamp(20px,3vw,34px)!important;
  text-align:left!important;
}
.login-page.portal-first-login.ges-sco-inspired-login .login-top-logo{grid-area:brand!important;justify-self:start!important;text-align:left!important}
.login-page.portal-first-login.ges-sco-inspired-login .login-introduction{grid-area:intro!important;display:block!important;justify-self:stretch!important;align-self:start!important;max-width:720px!important;text-align:left!important}
.login-page.portal-first-login.ges-sco-inspired-login .login-auth-panel{grid-area:auth!important;justify-self:end!important;align-self:center!important;width:100%!important;max-width:500px!important}
.login-page.portal-first-login.ges-sco-inspired-login + .site-footer{display:none!important}
.main.public:has(.ges-sco-inspired-login) .minimal-footer{display:none!important}
.login-page.portal-first-login.ges-sco-inspired-login .primary.full,
.login-page.portal-first-login.ges-sco-inspired-login button[type="submit"].primary{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-shadow:0 1px 0 rgba(0,0,0,.16)!important;
}
@media (min-width:1061px){
  .login-page.portal-first-login.ges-sco-inspired-login .login-centered-stack{min-height:min(760px,calc(100vh - 96px))!important}
}
@media (max-width:1060px){
  .login-page.portal-first-login.ges-sco-inspired-login .login-centered-stack{
    display:grid!important;
    width:min(100%,760px)!important;
    max-width:760px!important;
    min-height:0!important;
    grid-template-columns:1fr!important;
    grid-template-areas:"brand" "intro" "auth"!important;
    text-align:center!important;
  }
  .login-page.portal-first-login.ges-sco-inspired-login .login-top-logo,
  .login-page.portal-first-login.ges-sco-inspired-login .login-introduction,
  .login-page.portal-first-login.ges-sco-inspired-login .login-auth-panel{justify-self:center!important;max-width:100%!important}
  .login-page.portal-first-login.ges-sco-inspired-login .login-top-logo{text-align:center!important}
}
@media (max-width:640px){
  .login-page.portal-first-login.ges-sco-inspired-login .login-centered-stack{width:100%!important;gap:14px!important}
  .login-page.portal-first-login.ges-sco-inspired-login .login-introduction{padding:20px!important}
  .login-page.portal-first-login.ges-sco-inspired-login .login-auth-panel{padding:20px!important}
}

/* Login shell width fix: avoid shrink-to-content inside CSS grid parent */
@media (min-width:1061px){
  .login-page.portal-first-login.ges-sco-inspired-login .login-centered-stack{
    width:min(1180px,calc(100vw - 96px))!important;
    grid-template-columns:minmax(540px,1fr) minmax(400px,500px)!important;
  }
  .login-page.portal-first-login.ges-sco-inspired-login .login-introduction{max-width:none!important}
}

/* Login decorative element polish after visual QA */
.login-page.portal-first-login.ges-sco-inspired-login .school-ring{
  right:30%!important;
  top:42px!important;
  width:74px!important;
  height:74px!important;
  border-width:14px!important;
  opacity:.56!important;
  z-index:0!important;
  pointer-events:none!important;
}
.login-page.portal-first-login.ges-sco-inspired-login .school-card{z-index:1!important}
.login-page.portal-first-login.ges-sco-inspired-login .login-theme-toggle{top:22px!important;right:24px!important}
@media (max-width:640px){.login-page.portal-first-login.ges-sco-inspired-login .school-ring{display:none!important}.login-page.portal-first-login.ges-sco-inspired-login .login-theme-toggle{top:12px!important;right:12px!important}}

/* Mobile/tablet auth compactness so the login action stays reachable quickly */
@media (max-width:640px){
  .login-page.portal-first-login.ges-sco-inspired-login .login-card-heading h2{font-size:1.48rem!important;line-height:1.05!important}
  .login-page.portal-first-login.ges-sco-inspired-login .portal-subtitle{font-size:.92rem!important;line-height:1.38!important}
  .login-page.portal-first-login.ges-sco-inspired-login .portal-login-options{gap:9px!important;margin:14px 0 11px!important}
  .login-page.portal-first-login.ges-sco-inspired-login .portal-option{min-height:58px!important;padding:10px 11px!important;border-radius:17px!important;gap:10px!important}
  .login-page.portal-first-login.ges-sco-inspired-login .portal-icon{width:38px!important;height:38px!important;border-radius:14px!important;font-size:1.08rem!important}
  .login-page.portal-first-login.ges-sco-inspired-login .portal-option strong{font-size:.95rem!important}
  .login-page.portal-first-login.ges-sco-inspired-login .portal-option small{font-size:.75rem!important;line-height:1.18!important}
  .login-page.portal-first-login.ges-sco-inspired-login .portal-note,.login-page.portal-first-login.ges-sco-inspired-login .portal-placeholder{padding:10px 11px!important;margin-bottom:11px!important;font-size:.86rem!important;line-height:1.3!important}
  .login-page.portal-first-login.ges-sco-inspired-login .login-form-card{gap:10px!important}
  .login-page.portal-first-login.ges-sco-inspired-login .login-form-card input{min-height:46px!important;padding:10px 12px!important;border-radius:15px!important}
  .login-page.portal-first-login.ges-sco-inspired-login .primary.full{min-height:48px!important;border-radius:15px!important}
  .login-page.portal-first-login.ges-sco-inspired-login .auth-help{font-size:.84rem!important;line-height:1.3!important}
}
@media (max-width:420px){
  .login-page.portal-first-login.ges-sco-inspired-login .login-auth-panel{padding:17px!important;border-radius:24px!important}
  .login-page.portal-first-login.ges-sco-inspired-login .login-card-heading span{margin-bottom:5px!important;font-size:.86rem!important}
  .login-page.portal-first-login.ges-sco-inspired-login .portal-option small{display:none!important}
}

/* 2026-05 Minimal flat Lekòl360 login redesign */
.main.public:has(.minimal-flat-login){
  margin-left:0!important;
  padding:0!important;
  min-height:100vh!important;
  overflow:auto!important;
  background:var(--bg)!important;
}
.main.public:has(.minimal-flat-login) .minimal-footer{display:none!important}
.login-page.portal-first-login.minimal-flat-login{
  --flat-page:#f6faf8;
  --flat-surface:#ffffff;
  --flat-surface-2:#f8fbff;
  --flat-border:#dce8e4;
  --flat-text:#102033;
  --flat-muted:#607286;
  --flat-shadow:0 18px 42px rgba(15,23,42,.08);
  --flat-focus:0 0 0 4px color-mix(in srgb,var(--brand2) 15%,transparent);
  min-height:100vh!important;
  width:100%!important;
  display:grid!important;
  place-items:center!important;
  padding:clamp(22px,4vw,56px)!important;
  overflow:auto!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.62)),
    radial-gradient(circle at 12% 14%,color-mix(in srgb,var(--brand) 9%,transparent),transparent 28rem),
    radial-gradient(circle at 90% 6%,color-mix(in srgb,var(--brand2) 8%,transparent),transparent 26rem),
    var(--flat-page)!important;
  color:var(--flat-text)!important;
}
.login-page.portal-first-login.minimal-flat-login:before,
.login-page.portal-first-login.minimal-flat-login .splash-orb,
.login-page.portal-first-login.minimal-flat-login .login-bg-grid{display:none!important}
.login-page.portal-first-login.minimal-flat-login .login-centered-stack{
  position:relative!important;
  z-index:2!important;
  width:min(1120px,calc(100vw - 48px))!important;
  max-width:1120px!important;
  min-height:auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(360px,440px)!important;
  grid-template-areas:"brand brand" "intro auth"!important;
  gap:clamp(18px,3vw,32px)!important;
  align-items:start!important;
  margin:0 auto!important;
  text-align:left!important;
}
.login-page.portal-first-login.minimal-flat-login .login-top-logo{
  grid-area:brand!important;
  justify-self:start!important;
  display:inline-flex!important;
  align-items:center!important;
  margin:0 0 clamp(2px,1vw,8px)!important;
  width:auto!important;
  height:auto!important;
}
.login-page.portal-first-login.minimal-flat-login .login-top-logo img{
  width:clamp(168px,18vw,240px)!important;
  height:auto!important;
  max-height:92px!important;
  object-fit:contain!important;
  filter:none!important;
}
.login-page.portal-first-login.minimal-flat-login .login-theme-toggle{
  top:clamp(16px,2.5vw,26px)!important;
  right:clamp(16px,2.5vw,28px)!important;
  z-index:10!important;
  min-height:40px!important;
  padding:8px 12px!important;
  border-radius:14px!important;
  color:var(--flat-text)!important;
  background:var(--flat-surface)!important;
  border:1px solid var(--flat-border)!important;
  box-shadow:0 10px 24px rgba(15,23,42,.08)!important;
  backdrop-filter:none!important;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
.login-page.portal-first-login.minimal-flat-login .login-theme-toggle:hover,
.login-page.portal-first-login.minimal-flat-login .login-theme-toggle:focus-visible{transform:translateY(-1px)!important;border-color:color-mix(in srgb,var(--brand) 34%,var(--flat-border))!important;box-shadow:0 14px 30px rgba(15,23,42,.11)!important;outline:none!important}
.login-page.portal-first-login.minimal-flat-login .theme-toggle-icon{width:22px!important;height:22px!important;border-radius:8px!important;background:color-mix(in srgb,var(--brand) 13%,var(--flat-surface))!important;color:var(--brand-strong)!important}
.login-page.portal-first-login.minimal-flat-login .login-introduction{
  grid-area:intro!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-height:100%!important;
  padding:clamp(26px,4vw,44px)!important;
  text-align:left!important;
  background:var(--flat-surface)!important;
  border:1px solid var(--flat-border)!important;
  border-radius:30px!important;
  box-shadow:var(--flat-shadow)!important;
  overflow:hidden!important;
  backdrop-filter:none!important;
}
.login-page.portal-first-login.minimal-flat-login .login-introduction:before{display:none!important}
.login-page.portal-first-login.minimal-flat-login .login-kicker{
  display:inline-flex!important;
  align-items:center!important;
  margin:0 0 14px!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  color:var(--brand-strong)!important;
  background:color-mix(in srgb,var(--brand) 9%,var(--flat-surface))!important;
  border:1px solid color-mix(in srgb,var(--brand) 15%,var(--flat-border))!important;
  box-shadow:none!important;
  font-size:.86rem!important;
  font-weight:700!important;
}
.login-page.portal-first-login.minimal-flat-login .login-introduction h2{
  display:block!important;
  max-width:12ch!important;
  margin:0!important;
  color:var(--flat-text)!important;
  font-size:clamp(2.35rem,5.3vw,4.8rem)!important;
  line-height:.96!important;
  letter-spacing:-.075em!important;
  font-weight:780!important;
  text-transform:none!important;
}
.login-page.portal-first-login.minimal-flat-login .about-summary{
  max-width:58ch!important;
  margin:18px 0 0!important;
  color:var(--flat-muted)!important;
  font-size:clamp(1rem,1.35vw,1.12rem)!important;
  line-height:1.65!important;
  font-weight:450!important;
}
.login-page.portal-first-login.minimal-flat-login .about-feature-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  margin-top:clamp(22px,3vw,32px)!important;
}
.login-page.portal-first-login.minimal-flat-login .about-feature-card{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:58px!important;
  padding:12px 13px!important;
  border-radius:18px!important;
  background:var(--flat-surface-2)!important;
  border:1px solid color-mix(in srgb,var(--brand) 9%,var(--flat-border))!important;
  color:var(--flat-text)!important;
  box-shadow:none!important;
  transition:transform .16s ease,border-color .16s ease,background .16s ease!important;
}
.login-page.portal-first-login.minimal-flat-login .about-feature-card:hover{transform:translateY(-2px)!important;border-color:color-mix(in srgb,var(--brand) 26%,var(--flat-border))!important;background:color-mix(in srgb,var(--brand) 4%,var(--flat-surface))!important}
.login-page.portal-first-login.minimal-flat-login .about-feature-card span{
  display:grid!important;
  place-items:center!important;
  flex:0 0 auto!important;
  width:34px!important;
  height:34px!important;
  border-radius:12px!important;
  background:color-mix(in srgb,var(--brand) 11%,var(--flat-surface))!important;
  color:var(--brand-strong)!important;
  font-size:1rem!important;
}
.login-page.portal-first-login.minimal-flat-login .about-feature-card strong{font-size:.94rem!important;font-weight:700!important;letter-spacing:-.015em!important;line-height:1.22!important;color:var(--flat-text)!important}
.login-page.portal-first-login.minimal-flat-login .login-auth-panel{
  grid-area:auth!important;
  justify-self:stretch!important;
  align-self:start!important;
  width:100%!important;
  max-width:440px!important;
  margin:0!important;
  padding:clamp(24px,3vw,32px)!important;
  border-radius:30px!important;
  background:var(--flat-surface)!important;
  border:1px solid var(--flat-border)!important;
  box-shadow:var(--flat-shadow)!important;
  backdrop-filter:none!important;
  overflow:hidden!important;
}
.login-page.portal-first-login.minimal-flat-login .login-auth-panel:before{display:none!important}
.login-page.portal-first-login.minimal-flat-login .login-card-heading,
.login-page.portal-first-login.minimal-flat-login .portal-subtitle{text-align:left!important}
.login-page.portal-first-login.minimal-flat-login .login-card-heading span{display:inline-flex!important;margin:0 0 8px!important;color:var(--brand-strong)!important;font-size:.86rem!important;font-weight:750!important}
.login-page.portal-first-login.minimal-flat-login .login-card-heading h2{display:block!important;margin:0 0 6px!important;color:var(--flat-text)!important;font-size:clamp(1.55rem,2.4vw,2rem)!important;line-height:1.08!important;letter-spacing:-.045em!important;font-weight:760!important;text-transform:none!important}
.login-page.portal-first-login.minimal-flat-login .portal-subtitle{display:block!important;margin:0!important;color:var(--flat-muted)!important;font-size:.96rem!important;line-height:1.45!important}
.login-page.portal-first-login.minimal-flat-login .portal-login-options{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  margin:20px 0 12px!important;
}
.login-page.portal-first-login.minimal-flat-login .portal-option{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:82px!important;
  gap:6px!important;
  padding:10px 8px!important;
  border-radius:18px!important;
  text-align:center!important;
  color:var(--flat-text)!important;
  background:var(--flat-surface-2)!important;
  border:1px solid var(--flat-border)!important;
  box-shadow:none!important;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease!important;
}
.login-page.portal-first-login.minimal-flat-login .portal-option:hover,
.login-page.portal-first-login.minimal-flat-login .portal-option:focus-visible{transform:translateY(-2px)!important;border-color:color-mix(in srgb,var(--brand) 30%,var(--flat-border))!important;background:color-mix(in srgb,var(--brand) 5%,var(--flat-surface))!important;outline:none!important;box-shadow:none!important}
.login-page.portal-first-login.minimal-flat-login .portal-option.is-selected{border-color:color-mix(in srgb,var(--brand) 44%,var(--flat-border))!important;background:color-mix(in srgb,var(--brand) 9%,var(--flat-surface))!important;color:var(--brand-strong)!important}
.login-page.portal-first-login.minimal-flat-login .portal-icon{display:grid!important;place-items:center!important;width:32px!important;height:32px!important;border-radius:12px!important;background:var(--flat-surface)!important;color:var(--brand-strong)!important;box-shadow:none!important;font-size:.98rem!important}
.login-page.portal-first-login.minimal-flat-login .portal-option > span:not(.portal-icon){display:block!important;width:100%!important;text-align:center!important}
.login-page.portal-first-login.minimal-flat-login .portal-option strong{display:block!important;width:100%!important;color:inherit!important;font-size:.88rem!important;font-weight:740!important;text-align:center!important;line-height:1.1!important}
.login-page.portal-first-login.minimal-flat-login .portal-option small{display:block!important;width:100%!important;margin-top:3px!important;color:var(--flat-muted)!important;font-size:.72rem!important;font-weight:520!important;line-height:1.16!important;text-align:center!important}
.login-page.portal-first-login.minimal-flat-login .portal-note,
.login-page.portal-first-login.minimal-flat-login .portal-placeholder{margin:0 0 14px!important;padding:10px 12px!important;border-radius:15px!important;background:color-mix(in srgb,var(--brand) 7%,var(--flat-surface))!important;border:1px solid color-mix(in srgb,var(--brand) 13%,var(--flat-border))!important;color:var(--brand-strong)!important;font-size:.88rem!important;font-weight:650!important;line-height:1.35!important;text-align:left!important}
.login-page.portal-first-login.minimal-flat-login .login-form-card{display:grid!important;gap:12px!important;margin:0!important}
.login-page.portal-first-login.minimal-flat-login .login-form-card label{display:grid!important;gap:6px!important;color:var(--flat-text)!important;font-weight:690!important;font-size:.93rem!important}
.login-page.portal-first-login.minimal-flat-login .field-label-text{display:flex!important;gap:3px!important;align-items:center!important}
.login-page.portal-first-login.minimal-flat-login .required-star{color:var(--danger)!important}
.login-page.portal-first-login.minimal-flat-login .login-form-card input{
  width:100%!important;
  min-height:48px!important;
  padding:11px 13px!important;
  border-radius:16px!important;
  color:var(--flat-text)!important;
  background:var(--flat-surface-2)!important;
  border:1px solid var(--flat-border)!important;
  box-shadow:none!important;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease!important;
}
.login-page.portal-first-login.minimal-flat-login .login-form-card input:hover{border-color:color-mix(in srgb,var(--brand) 28%,var(--flat-border))!important}
.login-page.portal-first-login.minimal-flat-login .login-form-card input:focus{outline:none!important;border-color:var(--brand)!important;box-shadow:var(--flat-focus)!important;background:var(--flat-surface)!important}
.login-page.portal-first-login.minimal-flat-login .login-form-card input::placeholder{color:color-mix(in srgb,var(--flat-muted) 74%,transparent)!important;opacity:1!important}
.login-page.portal-first-login.minimal-flat-login .primary.full,
.login-page.portal-first-login.minimal-flat-login button[type="submit"].primary{width:100%!important;min-height:48px!important;margin-top:2px!important;border-radius:16px!important;background:var(--brand)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:none!important;text-shadow:none!important;font-weight:760!important;transition:transform .16s ease,background .16s ease,box-shadow .16s ease!important}
.login-page.portal-first-login.minimal-flat-login .primary.full:hover,
.login-page.portal-first-login.minimal-flat-login .primary.full:focus-visible{transform:translateY(-1px)!important;background:var(--brand-strong)!important;box-shadow:0 12px 24px color-mix(in srgb,var(--brand) 22%,transparent)!important;outline:none!important}
.login-page.portal-first-login.minimal-flat-login .auth-help{margin:0!important;text-align:center!important;font-size:.86rem!important;line-height:1.35!important}
.login-page.portal-first-login.minimal-flat-login .auth-help a{color:var(--brand-strong)!important;font-weight:650!important;text-decoration:none!important}
.login-page.portal-first-login.minimal-flat-login .auth-help a:hover,
.login-page.portal-first-login.minimal-flat-login .auth-help a:focus-visible{text-decoration:underline!important;outline:none!important}
html[data-theme="dark"] .login-page.portal-first-login.minimal-flat-login{
  --flat-page:#071312;
  --flat-surface:#0d1c24;
  --flat-surface-2:#102632;
  --flat-border:#24414a;
  --flat-text:#eefdf8;
  --flat-muted:#b1c3cb;
  --flat-shadow:0 18px 42px rgba(0,0,0,.28);
  --flat-focus:0 0 0 4px color-mix(in srgb,var(--brand) 18%,transparent);
  background:
    radial-gradient(circle at 12% 14%,color-mix(in srgb,var(--brand) 9%,transparent),transparent 28rem),
    radial-gradient(circle at 90% 6%,color-mix(in srgb,var(--brand2) 9%,transparent),transparent 26rem),
    var(--flat-page)!important;
}
html[data-theme="dark"] .login-page.portal-first-login.minimal-flat-login .login-theme-toggle{background:var(--flat-surface)!important;color:var(--flat-text)!important;border-color:var(--flat-border)!important}
html[data-theme="dark"] .login-page.portal-first-login.minimal-flat-login .theme-toggle-icon{background:color-mix(in srgb,var(--brand) 17%,var(--flat-surface))!important;color:var(--brand-strong)!important}
html[data-theme="dark"] .login-page.portal-first-login.minimal-flat-login .login-form-card input::placeholder{color:#9fb3bc!important}
@media (max-width:1060px){
  .login-page.portal-first-login.minimal-flat-login{place-items:start center!important;padding:76px 20px 32px!important}
  .login-page.portal-first-login.minimal-flat-login .login-centered-stack{width:min(100%,760px)!important;grid-template-columns:1fr!important;grid-template-areas:"brand" "intro" "auth"!important;gap:16px!important;text-align:left!important}
  .login-page.portal-first-login.minimal-flat-login .login-top-logo{justify-self:center!important;margin-bottom:2px!important}
  .login-page.portal-first-login.minimal-flat-login .login-introduction,
  .login-page.portal-first-login.minimal-flat-login .login-auth-panel{max-width:100%!important;justify-self:stretch!important}
  .login-page.portal-first-login.minimal-flat-login .login-introduction h2{max-width:15ch!important}
}
@media (max-width:640px){
  .login-page.portal-first-login.minimal-flat-login{padding:66px 14px 24px!important}
  .login-page.portal-first-login.minimal-flat-login .login-top-logo img{width:min(196px,66vw)!important;max-height:76px!important}
  .login-page.portal-first-login.minimal-flat-login .login-introduction,
  .login-page.portal-first-login.minimal-flat-login .login-auth-panel{padding:20px!important;border-radius:24px!important}
  .login-page.portal-first-login.minimal-flat-login .login-introduction h2{font-size:clamp(2rem,10vw,2.75rem)!important;max-width:12ch!important}
  .login-page.portal-first-login.minimal-flat-login .about-summary{font-size:.96rem!important;line-height:1.55!important;margin-top:14px!important}
  .login-page.portal-first-login.minimal-flat-login .about-feature-grid{grid-template-columns:1fr!important;gap:9px!important;margin-top:18px!important}
  .login-page.portal-first-login.minimal-flat-login .about-feature-card{min-height:50px!important;padding:10px 11px!important;border-radius:15px!important}
  .login-page.portal-first-login.minimal-flat-login .about-feature-card span{width:30px!important;height:30px!important;border-radius:10px!important}
  .login-page.portal-first-login.minimal-flat-login .portal-login-options{grid-template-columns:1fr!important;gap:8px!important;margin:16px 0 11px!important}
  .login-page.portal-first-login.minimal-flat-login .portal-option{min-height:54px!important;flex-direction:row!important;justify-content:flex-start!important;text-align:left!important;padding:10px 11px!important}
  .login-page.portal-first-login.minimal-flat-login .portal-option > span:not(.portal-icon),
  .login-page.portal-first-login.minimal-flat-login .portal-option strong,
  .login-page.portal-first-login.minimal-flat-login .portal-option small{text-align:left!important}
}
@media (max-width:420px){
  .login-page.portal-first-login.minimal-flat-login .login-theme-toggle span[data-theme-label]{display:none!important}
  .login-page.portal-first-login.minimal-flat-login .login-theme-toggle{width:40px!important;padding:0!important;justify-content:center!important;border-radius:13px!important}
  .login-page.portal-first-login.minimal-flat-login .login-introduction,
  .login-page.portal-first-login.minimal-flat-login .login-auth-panel{padding:17px!important;border-radius:22px!important}
  .login-page.portal-first-login.minimal-flat-login .login-card-heading h2{font-size:1.42rem!important}
}
@media (prefers-reduced-motion:reduce){.login-page.portal-first-login.minimal-flat-login *{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Responsive priority: keep the login actions immediately reachable when split layout collapses */
@media (max-width:1060px){
  .login-page.portal-first-login.minimal-flat-login .login-centered-stack{
    grid-template-areas:"brand" "auth" "intro"!important;
  }
}

/* 2026-05 Lekòl360 login legal/footer branding */
.login-page.portal-first-login.minimal-flat-login .login-legal{
  position:absolute!important;
  left:50%!important;
  bottom:clamp(12px,2vw,22px)!important;
  transform:translateX(-50%)!important;
  z-index:3!important;
  width:min(92vw,760px)!important;
  padding:0 12px!important;
  color:var(--flat-muted)!important;
  font-size:.86rem!important;
  line-height:1.45!important;
  text-align:center!important;
  letter-spacing:-.01em!important;
}
.login-page.portal-first-login.minimal-flat-login .login-legal a{
  color:var(--brand-strong)!important;
  font-weight:760!important;
  text-decoration:none!important;
  text-underline-offset:3px!important;
  transition:color .16s ease,text-decoration-color .16s ease!important;
}
.login-page.portal-first-login.minimal-flat-login .login-legal a:hover,
.login-page.portal-first-login.minimal-flat-login .login-legal a:focus-visible{
  color:var(--brand)!important;
  text-decoration:underline!important;
  outline:none!important;
}
@media (max-width:1060px){
  .login-page.portal-first-login.minimal-flat-login{
    padding-bottom:clamp(58px,8vw,78px)!important;
  }
  .login-page.portal-first-login.minimal-flat-login .login-legal{
    bottom:18px!important;
    font-size:.82rem!important;
  }
}
@media (max-width:420px){
  .login-page.portal-first-login.minimal-flat-login .login-legal{
    width:94vw!important;
    font-size:.78rem!important;
  }
}

/* 2026-05 Écoles dashboard card layout fix */
.schools-directory-panel{
  overflow:visible!important;
}
.schools-list-cards{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))!important;
  gap:clamp(14px,2vw,22px)!important;
  align-items:stretch!important;
  width:100%!important;
  margin-top:2px!important;
}
.schools-list-cards .school-directory-card{
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  z-index:auto!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  gap:14px!important;
  min-width:0!important;
  min-height:190px!important;
  width:100%!important;
  height:auto!important;
  padding:clamp(16px,2vw,20px)!important;
  border-radius:24px!important;
  overflow:hidden!important;
  text-decoration:none!important;
  isolation:isolate!important;
}
.schools-list-cards .school-directory-card:hover,
.schools-list-cards .school-directory-card:focus-visible{
  transform:translateY(-3px)!important;
  box-shadow:0 18px 44px rgba(15,118,110,.18)!important;
  outline:none!important;
}
.schools-list-cards .school-card-main{
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
  min-width:0!important;
}
.schools-list-cards .school-card-main .avatar{
  flex:0 0 auto!important;
  width:48px!important;
  height:48px!important;
  border-radius:16px!important;
  object-fit:cover!important;
}
.schools-list-cards .school-card-copy{
  min-width:0!important;
  flex:1 1 auto!important;
}
.schools-list-cards .school-card-copy h3{
  margin:0 0 5px!important;
  color:var(--ink)!important;
  font-size:clamp(1.02rem,1.4vw,1.16rem)!important;
  line-height:1.18!important;
  overflow-wrap:anywhere!important;
}
.schools-list-cards .school-card-copy p,
.schools-list-cards .school-contact-line{
  display:block!important;
  margin:0!important;
  color:var(--muted)!important;
  font-size:.9rem!important;
  line-height:1.38!important;
  overflow-wrap:anywhere!important;
  white-space:normal!important;
}
.schools-list-cards .school-contact-line{
  min-height:1.3em!important;
}
.schools-list-cards .school-metrics-row{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  margin-top:auto!important;
}
.schools-list-cards .school-metrics-row span{
  display:inline-flex!important;
  align-items:center!important;
  min-height:30px!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--brand) 10%,var(--panel-solid))!important;
  border:1px solid color-mix(in srgb,var(--brand) 14%,var(--line))!important;
  color:var(--brand-strong)!important;
  font-size:.82rem!important;
  font-weight:700!important;
  line-height:1!important;
  white-space:nowrap!important;
}
html[data-theme="dark"] .schools-list-cards .school-metrics-row span{
  background:color-mix(in srgb,var(--brand) 13%,var(--panel-solid))!important;
  color:var(--brand-strong)!important;
  border-color:color-mix(in srgb,var(--brand) 22%,var(--line))!important;
}
@media (max-width:780px){
  .schools-list-cards{
    grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))!important;
    gap:14px!important;
  }
  .schools-list-cards .school-directory-card{
    min-height:0!important;
    border-radius:22px!important;
  }
}
@media (max-width:520px){
  .schools-list-cards{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .schools-list-cards .school-directory-card{
    padding:15px!important;
  }
  .schools-list-cards .school-card-main .avatar{
    width:44px!important;
    height:44px!important;
    border-radius:14px!important;
  }
  .schools-list-cards .school-metrics-row span{
    flex:1 1 auto!important;
    justify-content:center!important;
  }
}

/* 2026-05 Sidebar footer action bar: shared frame, clean icons, subtle hover shake */
@keyframes sidebarActionShake{
  0%,100%{transform:translate3d(0,0,0) rotate(0deg) scale(1)}
  22%{transform:translate3d(-1px,-1px,0) rotate(-4deg) scale(1.06)}
  48%{transform:translate3d(1px,0,0) rotate(3deg) scale(1.07)}
  72%{transform:translate3d(-.5px,1px,0) rotate(-2deg) scale(1.05)}
}
.sidebar-footer-actions.compact-sidebar-tools,
.compact-sidebar-tools{
  position:relative!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:6px!important;
  align-items:center!important;
  justify-items:center!important;
  margin-top:auto!important;
  padding:9px!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.15),rgba(255,255,255,.07))!important;
  border:1px solid rgba(255,255,255,.20)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 16px 34px rgba(2,6,23,.16)!important;
  backdrop-filter:blur(12px)!important;
  overflow:visible!important;
}
html[data-theme="dark"] .sidebar-footer-actions.compact-sidebar-tools,
html[data-theme="dark"] .compact-sidebar-tools{
  background:linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.045))!important;
  border-color:rgba(255,255,255,.15)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 16px 34px rgba(0,0,0,.26)!important;
}
.sidebar-footer-actions .sidebar-tool,
.sidebar-footer-actions .sidebar-toggle-button,
.sidebar-footer-actions .sidebar-tool-form .logout-button,
.compact-sidebar-tools .sidebar-tool,
.compact-sidebar-tools .sidebar-toggle-button{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:14px!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  color:#f8fbff!important;
  overflow:visible!important;
  transition:color .16s ease,transform .16s ease,opacity .16s ease!important;
}
.sidebar-footer-actions .sidebar-tool:hover,
.sidebar-footer-actions .sidebar-tool:focus-visible,
.sidebar-footer-actions .sidebar-toggle-button:hover,
.sidebar-footer-actions .sidebar-toggle-button:focus-visible,
.sidebar-footer-actions .sidebar-tool-form .logout-button:hover,
.sidebar-footer-actions .sidebar-tool-form .logout-button:focus-visible,
.compact-sidebar-tools .sidebar-tool:hover,
.compact-sidebar-tools .sidebar-tool:focus-visible,
.compact-sidebar-tools .sidebar-toggle-button:hover,
.compact-sidebar-tools .sidebar-toggle-button:focus-visible{
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  transform:translateY(-1px)!important;
  outline:2px solid transparent!important;
  color:#ffffff!important;
}
.sidebar-footer-actions .sidebar-tool svg,
.sidebar-footer-actions .sidebar-toggle-button svg,
.sidebar-footer-actions .sidebar-tool-form .logout-button svg,
.compact-sidebar-tools .sidebar-tool svg,
.compact-sidebar-tools .sidebar-toggle-button svg{
  display:block!important;
  width:24px!important;
  height:24px!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:drop-shadow(0 4px 8px rgba(2,6,23,.22))!important;
  transform-origin:center!important;
  transition:transform .18s ease,filter .18s ease,color .16s ease!important;
}
.sidebar-footer-actions .sidebar-user-avatar,
.compact-sidebar-tools .sidebar-user-avatar{
  width:26px!important;
  height:26px!important;
  border-radius:50%!important;
  box-shadow:none!important;
  border:1px solid rgba(255,255,255,.42)!important;
}
.sidebar-footer-actions .sidebar-tool:hover svg,
.sidebar-footer-actions .sidebar-tool:focus-visible svg,
.sidebar-footer-actions .sidebar-toggle-button:hover svg,
.sidebar-footer-actions .sidebar-toggle-button:focus-visible svg,
.sidebar-footer-actions .sidebar-tool-form .logout-button:hover svg,
.sidebar-footer-actions .sidebar-tool-form .logout-button:focus-visible svg,
.compact-sidebar-tools .sidebar-tool:hover svg,
.compact-sidebar-tools .sidebar-tool:focus-visible svg,
.compact-sidebar-tools .sidebar-toggle-button:hover svg,
.compact-sidebar-tools .sidebar-toggle-button:focus-visible svg{
  animation:sidebarActionShake .42s cubic-bezier(.2,.8,.2,1) both!important;
  filter:drop-shadow(0 7px 12px rgba(2,6,23,.28)) brightness(1.1)!important;
}
.sidebar-footer-actions .sidebar-user-pill:hover .sidebar-user-avatar,
.sidebar-footer-actions .sidebar-user-pill:focus-visible .sidebar-user-avatar,
.compact-sidebar-tools .sidebar-user-pill:hover .sidebar-user-avatar,
.compact-sidebar-tools .sidebar-user-pill:focus-visible .sidebar-user-avatar{
  animation:sidebarActionShake .42s cubic-bezier(.2,.8,.2,1) both!important;
}
.sidebar-footer-actions .sidebar-user-pill{color:#99f6e4!important}
.sidebar-footer-actions .theme-toggle{color:#bfdbfe!important}
.sidebar-footer-actions .logout-button{color:#fecaca!important}
.sidebar-footer-actions .sidebar-toggle-button{color:#fde68a!important}
.sidebar-collapsed .sidebar-footer-actions.compact-sidebar-tools,
.sidebar-collapsed .compact-sidebar-tools{
  grid-template-columns:1fr!important;
  gap:8px!important;
  padding:8px!important;
  border-radius:20px!important;
}
.sidebar-collapsed .compact-sidebar-tools .sidebar-tool,
.sidebar-collapsed .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button{
  width:48px!important;
  height:44px!important;
  min-height:44px!important;
  justify-self:center!important;
}
@media (max-width:780px){
  .sidebar-footer-actions.compact-sidebar-tools,
  .compact-sidebar-tools,
  .sidebar-collapsed .compact-sidebar-tools{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:6px!important;
    padding:8px!important;
  }
  .sidebar-collapsed .compact-sidebar-tools .sidebar-tool,
  .sidebar-collapsed .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button{
    width:100%!important;
    height:42px!important;
    min-height:42px!important;
  }
}
@media (max-width:560px){
  .sidebar-footer-actions.compact-sidebar-tools,
  .compact-sidebar-tools{
    grid-template-columns:repeat(4,minmax(38px,1fr))!important;
    border-radius:18px!important;
  }
}
@media (prefers-reduced-motion:reduce){
  .sidebar-footer-actions .sidebar-tool:hover svg,
  .sidebar-footer-actions .sidebar-tool:focus-visible svg,
  .sidebar-footer-actions .sidebar-toggle-button:hover svg,
  .sidebar-footer-actions .sidebar-toggle-button:focus-visible svg,
  .sidebar-footer-actions .sidebar-tool-form .logout-button:hover svg,
  .sidebar-footer-actions .sidebar-tool-form .logout-button:focus-visible svg,
  .compact-sidebar-tools .sidebar-tool:hover svg,
  .compact-sidebar-tools .sidebar-tool:focus-visible svg,
  .compact-sidebar-tools .sidebar-toggle-button:hover svg,
  .compact-sidebar-tools .sidebar-toggle-button:focus-visible svg,
  .sidebar-footer-actions .sidebar-user-pill:hover .sidebar-user-avatar,
  .sidebar-footer-actions .sidebar-user-pill:focus-visible .sidebar-user-avatar,
  .compact-sidebar-tools .sidebar-user-pill:hover .sidebar-user-avatar,
  .compact-sidebar-tools .sidebar-user-pill:focus-visible .sidebar-user-avatar{
    animation:none!important;
    transform:scale(1.04)!important;
  }
}

/* 2026-05 Sidebar footer icon centering refinement */
.sidebar-footer-actions.compact-sidebar-tools > .sidebar-tool,
.sidebar-footer-actions.compact-sidebar-tools > .sidebar-tool-form,
.sidebar-footer-actions.compact-sidebar-tools > .sidebar-toggle-button{
  display:grid!important;
  place-items:center!important;
  align-content:center!important;
  justify-content:center!important;
  min-width:0!important;
}
.sidebar-footer-actions.compact-sidebar-tools > .sidebar-tool-form{
  width:100%!important;
  height:42px!important;
  margin:0!important;
}
.sidebar-footer-actions.compact-sidebar-tools > .sidebar-tool-form > .sidebar-tool{
  width:100%!important;
  height:42px!important;
}
.sidebar-footer-actions.compact-sidebar-tools .sidebar-tool > svg,
.sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button > svg,
.sidebar-footer-actions.compact-sidebar-tools .sidebar-tool-form .sidebar-tool > svg,
.sidebar-footer-actions.compact-sidebar-tools .sidebar-user-avatar{
  grid-area:1/1!important;
  justify-self:center!important;
  align-self:center!important;
  margin:auto!important;
}
.sidebar-footer-actions.compact-sidebar-tools .sidebar-user-avatar{
  display:block!important;
  object-fit:cover!important;
  transform-origin:center!important;
}
.sidebar-footer-actions.compact-sidebar-tools .sidebar-user-pill > span{
  grid-area:1/1!important;
}

/* 2026-05 Sidebar footer strict background reset */
.sidebar-footer-actions.compact-sidebar-tools .sidebar-tool,
.sidebar-footer-actions.compact-sidebar-tools .sidebar-tool.theme-toggle,
.sidebar-footer-actions.compact-sidebar-tools .theme-toggle,
.sidebar-footer-actions.compact-sidebar-tools .logout-button,
.sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button,
.sidebar-footer-actions.compact-sidebar-tools .sidebar-tool-form .sidebar-tool,
.sidebar-footer-actions.compact-sidebar-tools .sidebar-tool-form .logout-button{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
}
.sidebar-footer-actions.compact-sidebar-tools .sidebar-tool:hover,
.sidebar-footer-actions.compact-sidebar-tools .sidebar-tool:focus-visible,
.sidebar-footer-actions.compact-sidebar-tools .sidebar-tool.theme-toggle:hover,
.sidebar-footer-actions.compact-sidebar-tools .sidebar-tool.theme-toggle:focus-visible,
.sidebar-footer-actions.compact-sidebar-tools .theme-toggle:hover,
.sidebar-footer-actions.compact-sidebar-tools .theme-toggle:focus-visible,
.sidebar-footer-actions.compact-sidebar-tools .logout-button:hover,
.sidebar-footer-actions.compact-sidebar-tools .logout-button:focus-visible,
.sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button:hover,
.sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button:focus-visible{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}
.sidebar-footer-actions.compact-sidebar-tools .sidebar-tool-form{
  display:grid!important;
  place-items:center!important;
}

/* 2026-05 Mobile sidebar footer spacing: prevent action frame from covering lower nav items */
@media (max-width:780px){
  .sidebar.modern-school-sidebar{
    display:flex!important;
    flex-direction:column!important;
    max-height:100vh!important;
    overflow:visible!important;
  }
  .sidebar.modern-school-sidebar nav{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:calc(100vh - 230px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding-bottom:14px!important;
    scrollbar-width:thin!important;
  }
  .sidebar.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{
    flex:0 0 auto!important;
    margin-top:10px!important;
    position:relative!important;
    bottom:auto!important;
  }
}

/* 2026-05 Sidebar footer toggle alignment reset */
.sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button,
.sidebar-footer-actions.compact-sidebar-tools > .sidebar-toggle-button,
body.sidebar-collapsed .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  transform:none!important;
}
@media (max-width:780px){
  .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button,
  .sidebar-footer-actions.compact-sidebar-tools > .sidebar-toggle-button,
  body.sidebar-collapsed .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button{
    position:relative!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
  }
}

/* 2026-05 Official slogan + school background refresh */
.login-page.portal-first-login,
.login-page.splash-screen.portal-first-login,
.login-page.auth-refresh.portal-first-login{
  position:relative!important;
  isolation:isolate!important;
  min-height:100vh!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  background:
    radial-gradient(circle at 18% 18%,rgba(56,189,248,.25),transparent 28rem),
    radial-gradient(circle at 84% 12%,rgba(14,165,233,.20),transparent 24rem),
    radial-gradient(circle at 74% 86%,rgba(125,211,252,.18),transparent 24rem),
    linear-gradient(115deg,#f8fcff 0%,#e8f7ff 44%,#f7fbff 100%)!important;
}
.login-page.portal-first-login::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-3;
  pointer-events:none;
  background:
    linear-gradient(115deg,rgba(255,255,255,.82),rgba(224,242,254,.36) 48%,rgba(255,255,255,.72)),
    repeating-linear-gradient(0deg,rgba(7,89,133,.045) 0 1px,transparent 1px 58px),
    repeating-linear-gradient(90deg,rgba(7,89,133,.04) 0 1px,transparent 1px 58px);
}
.login-page.portal-first-login::after{
  content:"A+   ABC   123   ✎   📚";
  position:fixed;
  right:clamp(-2rem,2vw,2rem);
  bottom:clamp(1rem,5vw,5rem);
  z-index:-2;
  max-width:min(46rem,80vw);
  color:rgba(7,89,133,.085);
  font-family:"Aptos Display","Segoe UI",system-ui,sans-serif;
  font-size:clamp(3.8rem,10vw,8.8rem);
  font-weight:800;
  letter-spacing:.08em;
  line-height:1.05;
  transform:rotate(-8deg);
  white-space:normal;
  pointer-events:none;
  user-select:none;
}
.login-page.portal-first-login .login-bg-grid{
  position:fixed!important;
  inset:0!important;
  z-index:-1!important;
  pointer-events:none!important;
  opacity:1!important;
  background:
    radial-gradient(circle at 20% 26%,rgba(255,255,255,.86) 0 8rem,transparent 8.1rem),
    radial-gradient(circle at 82% 72%,rgba(255,255,255,.62) 0 10rem,transparent 10.1rem),
    linear-gradient(115deg,rgba(14,165,233,.10),rgba(255,255,255,0) 42%,rgba(125,211,252,.12))!important;
}
.login-page.portal-first-login .login-bg-grid::before,
.login-page.portal-first-login .login-bg-grid::after{
  content:"";
  position:absolute;
  border-radius:34px;
  border:1px solid rgba(14,116,144,.12);
  background:rgba(255,255,255,.34);
  box-shadow:0 24px 70px rgba(7,89,133,.08);
  backdrop-filter:blur(3px);
}
.login-page.portal-first-login .login-bg-grid::before{
  width:clamp(150px,20vw,290px);
  height:clamp(100px,13vw,185px);
  left:clamp(-70px,5vw,68px);
  top:clamp(120px,20vh,230px);
  transform:rotate(-11deg);
}
.login-page.portal-first-login .login-bg-grid::after{
  width:clamp(120px,16vw,220px);
  height:clamp(120px,16vw,220px);
  right:clamp(-72px,5vw,74px);
  top:clamp(80px,15vh,190px);
  transform:rotate(12deg);
  border-radius:50%;
}
.login-page.portal-first-login .login-centered-stack{
  position:relative!important;
  z-index:1!important;
}
.login-page.portal-first-login .login-introduction{
  text-align:center!important;
  padding:clamp(18px,2.8vw,34px)!important;
  border-color:rgba(186,230,253,.78)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(240,249,255,.68))!important;
  backdrop-filter:blur(22px)!important;
}
.login-page.portal-first-login .official-slogan{
  max-width:780px!important;
  margin:clamp(8px,1.6vw,14px) auto 0!important;
  font-family:"Aptos Display","Segoe UI Variable Display","Inter","SF Pro Display",system-ui,sans-serif!important;
  font-size:clamp(2rem, 5vw, 3.55rem)!important;
  line-height:.98!important;
  letter-spacing:-.055em!important;
  font-weight:820!important;
  text-wrap:balance;
  color:#083344!important;
}
.login-page.portal-first-login .about-summary{
  max-width:680px!important;
  margin:clamp(12px,1.8vw,18px) auto 0!important;
  line-height:1.58!important;
  font-size:clamp(.98rem,1.6vw,1.08rem)!important;
}
html[data-theme="dark"] .login-page.portal-first-login{
  background:
    radial-gradient(circle at 18% 18%,rgba(56,189,248,.18),transparent 28rem),
    radial-gradient(circle at 88% 16%,rgba(14,165,233,.14),transparent 24rem),
    radial-gradient(circle at 72% 86%,rgba(125,211,252,.10),transparent 24rem),
    linear-gradient(115deg,#061826 0%,#082f49 48%,#0b2235 100%)!important;
}
html[data-theme="dark"] .login-page.portal-first-login::before{
  background:
    linear-gradient(115deg,rgba(8,47,73,.88),rgba(6,24,38,.64) 48%,rgba(11,34,53,.82)),
    repeating-linear-gradient(0deg,rgba(186,230,253,.055) 0 1px,transparent 1px 58px),
    repeating-linear-gradient(90deg,rgba(186,230,253,.045) 0 1px,transparent 1px 58px);
}
html[data-theme="dark"] .login-page.portal-first-login::after{color:rgba(224,242,254,.075)}
html[data-theme="dark"] .login-page.portal-first-login .login-bg-grid{
  background:
    radial-gradient(circle at 20% 26%,rgba(14,165,233,.16) 0 8rem,transparent 8.1rem),
    radial-gradient(circle at 82% 72%,rgba(56,189,248,.10) 0 10rem,transparent 10.1rem),
    linear-gradient(115deg,rgba(14,165,233,.10),rgba(255,255,255,0) 42%,rgba(125,211,252,.08))!important;
}
html[data-theme="dark"] .login-page.portal-first-login .login-bg-grid::before,
html[data-theme="dark"] .login-page.portal-first-login .login-bg-grid::after{
  background:rgba(14,165,233,.07);
  border-color:rgba(186,230,253,.12);
}
html[data-theme="dark"] .login-page.portal-first-login .login-introduction{
  background:linear-gradient(145deg,rgba(11,59,89,.80),rgba(8,47,73,.66))!important;
  border-color:rgba(56,189,248,.28)!important;
}
html[data-theme="dark"] .login-page.portal-first-login .official-slogan{color:#f0f9ff!important}
html[data-theme="dark"] .login-page.portal-first-login .portal-option small,
html[data-theme="dark"] .login-page.portal-first-login .login-card-heading p{
  color:#dff3ff!important;
  opacity:1!important;
}
@media (max-width: 1180px){
  .login-page.portal-first-login .official-slogan{font-size:clamp(2rem,6.4vw,3.25rem)!important;line-height:1.02!important}
  .login-page.portal-first-login::after{font-size:clamp(3.2rem,12vw,6.6rem);right:-2rem;bottom:2rem}
}
@media (max-width: 640px){
  .login-page.portal-first-login{padding:14px!important}
  .login-page.portal-first-login .login-introduction{padding:18px!important;border-radius:24px!important}
  .login-page.portal-first-login .official-slogan{font-size:clamp(1.78rem,9.2vw,2.5rem)!important;line-height:1.06!important;letter-spacing:-.04em!important}
  .login-page.portal-first-login .about-summary{font-size:.94rem!important;line-height:1.5!important}
  .login-page.portal-first-login::after{content:"A+  123";font-size:clamp(3rem,18vw,5rem);opacity:.72;right:-1rem;bottom:5rem}
  .login-page.portal-first-login .login-bg-grid::before{left:-92px;top:150px}
  .login-page.portal-first-login .login-bg-grid::after{right:-92px;top:62px}
}

/* 2026-05 Collapsed sidebar spacing + stable tooltip fix */
@media (min-width:781px){
  :root{
    --collapsed-nav-gap:10px;
    --collapsed-tooltip-offset:18px;
    --collapsed-tooltip-bg:#073b4c;
    --collapsed-tooltip-text:#ffffff;
    --collapsed-tooltip-border:rgba(255,255,255,.18);
    --collapsed-tooltip-shadow:0 20px 48px rgba(8,51,68,.34),0 2px 8px rgba(8,51,68,.16);
  }
  html[data-theme="dark"]{
    --collapsed-tooltip-bg:#071827;
    --collapsed-tooltip-text:#f8fafc;
    --collapsed-tooltip-border:rgba(125,211,252,.24);
    --collapsed-tooltip-shadow:0 22px 54px rgba(0,0,0,.48),0 0 0 1px rgba(255,255,255,.04);
  }
  body.sidebar-collapsed .modern-school-sidebar.sidebar{
    --school-sidebar-rail:92px;
    width:92px!important;
    min-width:92px!important;
    max-width:92px!important;
    padding:18px 16px!important;
    overflow:visible!important;
  }
  body.sidebar-collapsed .main{margin-left:92px!important;}
  body.sidebar-collapsed .modern-school-sidebar .sidebar-school-header{
    width:60px!important;
    min-height:60px!important;
    margin:0 auto 8px!important;
    border-radius:20px!important;
  }
  body.sidebar-collapsed .modern-school-sidebar nav{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    align-content:start!important;
    place-items:center!important;
    gap:var(--collapsed-nav-gap)!important;
    padding:3px 0 8px!important;
    overflow:visible!important;
  }
  body.sidebar-collapsed .modern-school-sidebar nav a{
    width:60px!important;
    height:56px!important;
    min-width:60px!important;
    min-height:56px!important;
    max-width:60px!important;
    padding:8px!important;
    display:grid!important;
    place-items:center!important;
    justify-content:center!important;
    align-items:center!important;
    border-radius:20px!important;
    overflow:visible!important;
    transform:none!important;
  }
  body.sidebar-collapsed .modern-school-sidebar nav a svg{
    width:39px!important;
    height:39px!important;
    min-width:39px!important;
    min-height:39px!important;
    padding:8px!important;
    border-radius:15px!important;
  }
  body.sidebar-collapsed .modern-school-sidebar nav a:hover,
  body.sidebar-collapsed .modern-school-sidebar nav a:focus-visible,
  body.sidebar-collapsed .modern-school-sidebar nav a.is-active{
    transform:translateY(-1px)!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions,
  body.sidebar-collapsed .modern-school-sidebar .compact-sidebar-tools{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    place-items:center!important;
    gap:10px!important;
    padding:10px 0 0!important;
    overflow:visible!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-tool-form{
    width:60px!important;
    height:56px!important;
    display:grid!important;
    place-items:center!important;
    overflow:visible!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-tool{
    width:60px!important;
    height:56px!important;
    min-width:60px!important;
    min-height:56px!important;
    max-width:60px!important;
    border-radius:20px!important;
    overflow:visible!important;
  }
  body.sidebar-collapsed .modern-school-sidebar nav a::after,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-school-header::after,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-tool::after{
    content:attr(data-tooltip)!important;
    position:absolute!important;
    left:calc(100% + var(--collapsed-tooltip-offset))!important;
    right:auto!important;
    top:50%!important;
    bottom:auto!important;
    z-index:9000!important;
    box-sizing:border-box!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:max-content!important;
    width:max-content!important;
    max-width:min(320px,calc(100vw - 150px))!important;
    min-height:42px!important;
    padding:10px 16px!important;
    border-radius:16px!important;
    color:var(--collapsed-tooltip-text,#ffffff)!important;
    background:var(--collapsed-tooltip-bg,#073b4c)!important;
    background-color:var(--collapsed-tooltip-bg,#073b4c)!important;
    background-image:none!important;
    border:1px solid var(--collapsed-tooltip-border,rgba(255,255,255,.18))!important;
    border-color:var(--collapsed-tooltip-border,rgba(255,255,255,.18))!important;
    border-style:solid!important;
    border-width:1px!important;
    box-shadow:var(--collapsed-tooltip-shadow,0 20px 48px rgba(8,51,68,.34))!important;
    font-size:.84rem!important;
    font-weight:850!important;
    line-height:1.18!important;
    letter-spacing:-.01em!important;
    white-space:nowrap!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:auto!important;
    transform:translateY(-50%) translateX(-8px) scale(.98)!important;
    transform-origin:left center!important;
    transition:opacity .20s ease,visibility .20s ease,transform .20s ease!important;
    transition-delay:.04s!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
  }
  body.sidebar-collapsed .modern-school-sidebar nav a::before,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-school-header::before,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-tool::before{
    pointer-events:none!important;
  }
  body.sidebar-collapsed .modern-school-sidebar nav a:hover::after,
  body.sidebar-collapsed .modern-school-sidebar nav a:focus-visible::after,
  body.sidebar-collapsed .modern-school-sidebar nav a::after:hover,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-school-header:hover::after,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-school-header:focus-visible::after,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-school-header::after:hover,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-tool:hover::after,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-tool:focus-visible::after,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-tool::after:hover{
    opacity:1!important;
    visibility:visible!important;
    transform:translateY(-50%) translateX(0) scale(1)!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-tool > span,
  body.sidebar-collapsed .modern-school-sidebar nav a > span{
    display:none!important;
  }
}
@media (prefers-reduced-motion:reduce){
  body.sidebar-collapsed .modern-school-sidebar nav a::after,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-school-header::after,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-tool::after{
    transition:none!important;
  }
}

/* 2026-05 Collapsed sidebar no-overlap scroll contract */
@media (min-width:781px){
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar,
  body.sidebar-collapsed .sidebar.sidebar-nav-only.modern-school-sidebar{
    --school-sidebar-rail:92px;
    --collapsed-header-reserve:96px;
    --collapsed-footer-reserve:230px;
    width:92px!important;
    min-width:92px!important;
    max-width:92px!important;
    height:100vh!important;
    max-height:100vh!important;
    padding:18px 16px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    gap:12px!important;
    overflow:visible!important;
  }
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar nav,
  body.sidebar-collapsed .sidebar.sidebar-nav-only.modern-school-sidebar nav{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:calc(100vh - var(--collapsed-header-reserve) - var(--collapsed-footer-reserve))!important;
    gap:var(--collapsed-nav-gap)!important;
    padding:3px 0 8px!important;
    place-items:center!important;
    align-content:start!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    scrollbar-width:thin!important;
    scrollbar-color:rgba(255,255,255,.38) transparent!important;
  }
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar nav a,
  body.sidebar-collapsed .sidebar.sidebar-nav-only.modern-school-sidebar nav a{
    width:60px!important;
    height:56px!important;
    min-width:60px!important;
    min-height:56px!important;
    max-width:60px!important;
    padding:8px!important;
    border-radius:20px!important;
    display:grid!important;
    place-items:center!important;
    overflow:visible!important;
  }
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar nav a svg,
  body.sidebar-collapsed .sidebar.sidebar-nav-only.modern-school-sidebar nav a svg{
    width:39px!important;
    height:39px!important;
    min-width:39px!important;
    min-height:39px!important;
    padding:8px!important;
    border-radius:15px!important;
  }
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions,
  body.sidebar-collapsed .sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .compact-sidebar-tools,
  body.sidebar-collapsed .sidebar.sidebar-nav-only.modern-school-sidebar .compact-sidebar-tools{
    flex:0 0 auto!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    margin-top:auto!important;
    padding:10px 0 0!important;
    overflow:visible!important;
  }
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-tool,
  body.sidebar-collapsed .sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-tool,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-tool-form,
  body.sidebar-collapsed .sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-tool-form{
    width:60px!important;
    height:56px!important;
    min-width:60px!important;
    min-height:56px!important;
    max-width:60px!important;
    border-radius:20px!important;
    overflow:visible!important;
  }
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar nav a::after,
  body.sidebar-collapsed .sidebar.sidebar-nav-only.modern-school-sidebar nav a::after,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-school-header::after,
  body.sidebar-collapsed .sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-school-header::after,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-tool::after,
  body.sidebar-collapsed .sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-tool::after{
    color:var(--collapsed-tooltip-text,#ffffff)!important;
    background:var(--collapsed-tooltip-bg,#073b4c)!important;
    background-color:var(--collapsed-tooltip-bg,#073b4c)!important;
    background-image:none!important;
    border:1px solid var(--collapsed-tooltip-border,rgba(255,255,255,.18))!important;
    border-color:var(--collapsed-tooltip-border,rgba(255,255,255,.18))!important;
    border-style:solid!important;
    border-width:1px!important;
    box-shadow:var(--collapsed-tooltip-shadow,0 20px 48px rgba(8,51,68,.34))!important;
    left:calc(100% + var(--collapsed-tooltip-offset))!important;
    z-index:9000!important;
  }
}

/* 2026-05 Floating collapsed sidebar tooltips: rendered outside the scroll container. */
.sidebar-floating-tooltip{
  position:fixed!important;
  z-index:10000!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  max-width:min(320px,calc(100vw - 132px))!important;
  min-height:40px!important;
  padding:10px 15px!important;
  border-radius:16px!important;
  border:1px solid rgba(255,255,255,.22)!important;
  background:linear-gradient(135deg,rgba(7,59,76,.98),rgba(15,23,42,.96))!important;
  color:#ffffff!important;
  box-shadow:0 22px 52px rgba(2,6,23,.34),0 0 0 1px rgba(8,51,68,.08)!important;
  font-size:.84rem!important;
  font-weight:850!important;
  line-height:1.18!important;
  letter-spacing:-.01em!important;
  text-align:center!important;
  white-space:normal!important;
  text-wrap:balance!important;
  pointer-events:none!important;
  opacity:0!important;
  visibility:hidden!important;
  transform:translateX(-8px) scale(.98)!important;
  transform-origin:left center!important;
  transition:opacity .20s ease,visibility .20s ease,transform .20s ease!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
}
.sidebar-floating-tooltip.is-visible{
  opacity:1!important;
  visibility:visible!important;
  transform:translateX(0) scale(1)!important;
}
html[data-theme="dark"] .sidebar-floating-tooltip{
  background:linear-gradient(135deg,rgba(248,250,252,.98),rgba(226,232,240,.96))!important;
  color:#071827!important;
  border-color:rgba(15,23,42,.14)!important;
  box-shadow:0 24px 56px rgba(0,0,0,.46),0 0 0 1px rgba(255,255,255,.10)!important;
}
@media (max-width:780px){
  .sidebar-floating-tooltip{display:none!important}
}
@media (prefers-reduced-motion:reduce){
  .sidebar-floating-tooltip{transition:none!important}
}

body.has-floating-sidebar-tooltips.sidebar-collapsed .modern-school-sidebar [data-tooltip]::after,
body.has-floating-sidebar-tooltips.sidebar-collapsed .modern-school-sidebar [data-tooltip]::before{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* 2026-05 Collapsed sidebar compact footer action icons */
@media (min-width:781px){
  :root{
    --collapsed-footer-action-size:46px;
    --collapsed-footer-icon-size:30px;
    --collapsed-footer-gap:6px;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions,
  body.sidebar-collapsed .modern-school-sidebar .compact-sidebar-tools,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .compact-sidebar-tools{
    gap:var(--collapsed-footer-gap)!important;
    padding:7px 0 0!important;
    align-items:center!important;
    justify-items:center!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions .sidebar-tool,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions .sidebar-toggle-button,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions .logout-button,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions .sidebar-tool,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions .sidebar-toggle-button,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions .logout-button{
    width:var(--collapsed-footer-action-size)!important;
    height:var(--collapsed-footer-action-size)!important;
    min-width:var(--collapsed-footer-action-size)!important;
    min-height:var(--collapsed-footer-action-size)!important;
    max-width:var(--collapsed-footer-action-size)!important;
    max-height:var(--collapsed-footer-action-size)!important;
    padding:6px!important;
    border-radius:16px!important;
    display:grid!important;
    place-items:center!important;
    justify-content:center!important;
    align-items:center!important;
    line-height:0!important;
    touch-action:manipulation!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions .sidebar-tool-form,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions .sidebar-tool-form{
    width:var(--collapsed-footer-action-size)!important;
    height:var(--collapsed-footer-action-size)!important;
    min-width:var(--collapsed-footer-action-size)!important;
    min-height:var(--collapsed-footer-action-size)!important;
    max-width:var(--collapsed-footer-action-size)!important;
    max-height:var(--collapsed-footer-action-size)!important;
    display:grid!important;
    place-items:center!important;
    margin:0!important;
    overflow:visible!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions .sidebar-tool svg,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions .sidebar-toggle-button svg,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions .logout-button svg,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions .sidebar-tool svg,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions .sidebar-toggle-button svg,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions .logout-button svg{
    width:var(--collapsed-footer-icon-size)!important;
    height:var(--collapsed-footer-icon-size)!important;
    min-width:var(--collapsed-footer-icon-size)!important;
    min-height:var(--collapsed-footer-icon-size)!important;
    flex:0 0 var(--collapsed-footer-icon-size)!important;
    padding:6px!important;
    border-radius:12px!important;
    margin:0!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions .sidebar-tool:hover,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions .sidebar-tool:focus-visible,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions .sidebar-toggle-button:hover,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions .sidebar-toggle-button:focus-visible{
    transform:translateY(-1px)!important;
  }
}

/* 2026-05 Collapsed sidebar no-scroll compact icon stack */
@media (min-width:781px){
  :root{
    --collapsed-nav-gap:2px;
    --collapsed-nav-item-size:34px;
    --collapsed-nav-icon-size:27px;
    --collapsed-short-nav-item-size:30px;
    --collapsed-short-nav-icon-size:24px;
    --collapsed-header-size:42px;
    --collapsed-footer-action-size:36px;
    --collapsed-footer-icon-size:25px;
    --collapsed-footer-gap:4px;
  }
  body.sidebar-collapsed .modern-school-sidebar.sidebar,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar,
  body.sidebar-collapsed .sidebar.sidebar-nav-only.modern-school-sidebar{
    width:92px!important;
    min-width:92px!important;
    max-width:92px!important;
    height:100vh!important;
    max-height:100vh!important;
    padding:8px 16px!important;
    gap:4px!important;
    justify-content:flex-start!important;
    overflow:visible!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-school-header,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-school-header{
    width:var(--collapsed-header-size)!important;
    height:var(--collapsed-header-size)!important;
    min-width:var(--collapsed-header-size)!important;
    min-height:var(--collapsed-header-size)!important;
    max-width:var(--collapsed-header-size)!important;
    max-height:var(--collapsed-header-size)!important;
    margin:0 auto 2px!important;
    padding:4px!important;
    border-radius:15px!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .school-mark,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .school-mark{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    min-height:32px!important;
    flex:0 0 32px!important;
    padding:3px!important;
    border-radius:12px!important;
  }
  body.sidebar-collapsed .modern-school-sidebar nav,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar nav,
  body.sidebar-collapsed .sidebar.sidebar-nav-only.modern-school-sidebar nav{
    flex:0 0 auto!important;
    width:100%!important;
    max-height:none!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    place-items:center!important;
    align-content:start!important;
    gap:var(--collapsed-nav-gap)!important;
    padding:0!important;
    margin:0!important;
    overflow-y:visible!important;
    overflow-x:visible!important;
    scrollbar-width:none!important;
  }
  body.sidebar-collapsed .modern-school-sidebar nav::-webkit-scrollbar,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar nav::-webkit-scrollbar{display:none!important}
  body.sidebar-collapsed .modern-school-sidebar nav a,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar nav a,
  body.sidebar-collapsed .sidebar.sidebar-nav-only.modern-school-sidebar nav a{
    width:var(--collapsed-nav-item-size)!important;
    height:var(--collapsed-nav-item-size)!important;
    min-width:var(--collapsed-nav-item-size)!important;
    min-height:var(--collapsed-nav-item-size)!important;
    max-width:var(--collapsed-nav-item-size)!important;
    max-height:var(--collapsed-nav-item-size)!important;
    padding:3px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:13px!important;
    overflow:visible!important;
    touch-action:manipulation!important;
  }
  body.sidebar-collapsed .modern-school-sidebar nav a svg,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar nav a svg,
  body.sidebar-collapsed .sidebar.sidebar-nav-only.modern-school-sidebar nav a svg{
    width:var(--collapsed-nav-icon-size)!important;
    height:var(--collapsed-nav-icon-size)!important;
    min-width:var(--collapsed-nav-icon-size)!important;
    min-height:var(--collapsed-nav-icon-size)!important;
    flex:0 0 var(--collapsed-nav-icon-size)!important;
    padding:5px!important;
    border-radius:10px!important;
    margin:0!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions,
  body.sidebar-collapsed .modern-school-sidebar .compact-sidebar-tools,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .compact-sidebar-tools{
    flex:0 0 auto!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,var(--collapsed-footer-action-size))!important;
    justify-content:center!important;
    align-items:center!important;
    justify-items:center!important;
    gap:var(--collapsed-footer-gap)!important;
    margin-top:4px!important;
    padding:0!important;
    overflow:visible!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions .sidebar-tool,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions .sidebar-toggle-button,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions .logout-button,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions .sidebar-tool,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions .sidebar-toggle-button,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions .logout-button{
    width:var(--collapsed-footer-action-size)!important;
    height:var(--collapsed-footer-action-size)!important;
    min-width:var(--collapsed-footer-action-size)!important;
    min-height:var(--collapsed-footer-action-size)!important;
    max-width:var(--collapsed-footer-action-size)!important;
    max-height:var(--collapsed-footer-action-size)!important;
    padding:5px!important;
    border-radius:13px!important;
    display:grid!important;
    place-items:center!important;
    line-height:0!important;
    touch-action:manipulation!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions .sidebar-tool-form,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions .sidebar-tool-form{
    width:var(--collapsed-footer-action-size)!important;
    height:var(--collapsed-footer-action-size)!important;
    min-width:var(--collapsed-footer-action-size)!important;
    min-height:var(--collapsed-footer-action-size)!important;
    max-width:var(--collapsed-footer-action-size)!important;
    max-height:var(--collapsed-footer-action-size)!important;
    display:grid!important;
    place-items:center!important;
    margin:0!important;
    overflow:visible!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions .sidebar-tool svg,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions .sidebar-toggle-button svg,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions .logout-button svg,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions .sidebar-tool svg,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions .sidebar-toggle-button svg,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions .logout-button svg{
    width:var(--collapsed-footer-icon-size)!important;
    height:var(--collapsed-footer-icon-size)!important;
    min-width:var(--collapsed-footer-icon-size)!important;
    min-height:var(--collapsed-footer-icon-size)!important;
    flex:0 0 var(--collapsed-footer-icon-size)!important;
    padding:5px!important;
    border-radius:10px!important;
    margin:0!important;
  }
  body.sidebar-collapsed .modern-school-sidebar nav a:hover,
  body.sidebar-collapsed .modern-school-sidebar nav a:focus-visible,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-tool:hover,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-tool:focus-visible{
    transform:translateY(-1px)!important;
  }
}
@media (min-width:781px) and (max-height:640px){
  body.sidebar-collapsed .modern-school-sidebar.sidebar,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar,
  body.sidebar-collapsed .sidebar.sidebar-nav-only.modern-school-sidebar{
    padding-top:6px!important;
    padding-bottom:6px!important;
    gap:3px!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-school-header,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-school-header{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    max-width:38px!important;
    max-height:38px!important;
    margin-bottom:1px!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .school-mark,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .school-mark{
    width:29px!important;
    height:29px!important;
    min-width:29px!important;
    min-height:29px!important;
    flex-basis:29px!important;
  }
  body.sidebar-collapsed .modern-school-sidebar nav,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar nav{
    gap:1px!important;
  }
  body.sidebar-collapsed .modern-school-sidebar nav a,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar nav a,
  body.sidebar-collapsed .sidebar.sidebar-nav-only.modern-school-sidebar nav a{
    width:var(--collapsed-short-nav-item-size)!important;
    height:var(--collapsed-short-nav-item-size)!important;
    min-width:var(--collapsed-short-nav-item-size)!important;
    min-height:var(--collapsed-short-nav-item-size)!important;
    max-width:var(--collapsed-short-nav-item-size)!important;
    max-height:var(--collapsed-short-nav-item-size)!important;
    border-radius:11px!important;
    padding:2px!important;
  }
  body.sidebar-collapsed .modern-school-sidebar nav a svg,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar nav a svg,
  body.sidebar-collapsed .sidebar.sidebar-nav-only.modern-school-sidebar nav a svg{
    width:var(--collapsed-short-nav-icon-size)!important;
    height:var(--collapsed-short-nav-icon-size)!important;
    min-width:var(--collapsed-short-nav-icon-size)!important;
    min-height:var(--collapsed-short-nav-icon-size)!important;
    flex-basis:var(--collapsed-short-nav-icon-size)!important;
    padding:4px!important;
    border-radius:9px!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions,
  body.sidebar-collapsed .modern-school-sidebar .compact-sidebar-tools,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .compact-sidebar-tools{
    --collapsed-footer-action-size:34px;
    --collapsed-footer-icon-size:23px;
    gap:3px!important;
    margin-top:2px!important;
  }
}

/* 2026-05 Ultra-short viewport collapsed sidebar fit tuning */
@media (min-width:781px) and (max-height:640px){
  :root{
    --collapsed-short-nav-item-size:28px;
    --collapsed-short-nav-icon-size:22px;
  }
  body.sidebar-collapsed .modern-school-sidebar.sidebar,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar,
  body.sidebar-collapsed .sidebar.sidebar-nav-only.modern-school-sidebar{
    padding-top:5px!important;
    padding-bottom:5px!important;
    gap:2px!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-school-header,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-school-header{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    max-width:34px!important;
    max-height:34px!important;
    margin-bottom:0!important;
    padding:3px!important;
    border-radius:12px!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .school-mark,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .school-mark{
    width:26px!important;
    height:26px!important;
    min-width:26px!important;
    min-height:26px!important;
    flex-basis:26px!important;
    padding:2px!important;
    border-radius:10px!important;
  }
  body.sidebar-collapsed .modern-school-sidebar nav,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar nav,
  body.sidebar-collapsed .sidebar.sidebar-nav-only.modern-school-sidebar nav{
    gap:0!important;
  }
  body.sidebar-collapsed .modern-school-sidebar nav a,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar nav a,
  body.sidebar-collapsed .sidebar.sidebar-nav-only.modern-school-sidebar nav a{
    width:var(--collapsed-short-nav-item-size)!important;
    height:var(--collapsed-short-nav-item-size)!important;
    min-width:var(--collapsed-short-nav-item-size)!important;
    min-height:var(--collapsed-short-nav-item-size)!important;
    max-width:var(--collapsed-short-nav-item-size)!important;
    max-height:var(--collapsed-short-nav-item-size)!important;
    padding:2px!important;
    border-radius:10px!important;
  }
  body.sidebar-collapsed .modern-school-sidebar nav a svg,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar nav a svg,
  body.sidebar-collapsed .sidebar.sidebar-nav-only.modern-school-sidebar nav a svg{
    width:var(--collapsed-short-nav-icon-size)!important;
    height:var(--collapsed-short-nav-icon-size)!important;
    min-width:var(--collapsed-short-nav-icon-size)!important;
    min-height:var(--collapsed-short-nav-icon-size)!important;
    flex-basis:var(--collapsed-short-nav-icon-size)!important;
    padding:4px!important;
    border-radius:8px!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions,
  body.sidebar-collapsed .modern-school-sidebar .compact-sidebar-tools,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .compact-sidebar-tools{
    --collapsed-footer-action-size:28px;
    --collapsed-footer-icon-size:20px;
    gap:2px!important;
    margin-top:1px!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions .sidebar-tool,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions .sidebar-toggle-button,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions .logout-button,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions .sidebar-tool,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions .sidebar-toggle-button,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions .logout-button,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions .sidebar-tool-form,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions .sidebar-tool-form{
    width:var(--collapsed-footer-action-size)!important;
    height:var(--collapsed-footer-action-size)!important;
    min-width:var(--collapsed-footer-action-size)!important;
    min-height:var(--collapsed-footer-action-size)!important;
    max-width:var(--collapsed-footer-action-size)!important;
    max-height:var(--collapsed-footer-action-size)!important;
    padding:4px!important;
    border-radius:10px!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions .sidebar-tool svg,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions .sidebar-toggle-button svg,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions .logout-button svg,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions .sidebar-tool svg,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions .sidebar-toggle-button svg,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions .logout-button svg{
    width:var(--collapsed-footer-icon-size)!important;
    height:var(--collapsed-footer-icon-size)!important;
    min-width:var(--collapsed-footer-icon-size)!important;
    min-height:var(--collapsed-footer-icon-size)!important;
    flex-basis:var(--collapsed-footer-icon-size)!important;
    padding:3px!important;
    border-radius:7px!important;
  }
}
/* 2026-05 Sidebar footer action centering polish */
.modern-school-sidebar .sidebar-footer-actions{
  align-items:center!important;
  justify-items:center!important;
}
.modern-school-sidebar .sidebar-footer-actions > .sidebar-tool,
.modern-school-sidebar .sidebar-footer-actions > .sidebar-tool-form{
  justify-self:center!important;
  align-self:center!important;
}
.modern-school-sidebar .sidebar-footer-actions > .sidebar-tool-form{
  display:grid!important;
  place-items:stretch!important;
}
.modern-school-sidebar .sidebar-footer-actions > .sidebar-tool-form > .logout-button{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  justify-content:center!important;
  align-items:center!important;
}
@media (min-width:781px){
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions > .sidebar-tool,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions > .sidebar-tool-form,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions > .sidebar-toggle-button{
    grid-column:auto!important;
    justify-self:center!important;
    align-self:center!important;
    margin:0!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions > .sidebar-toggle-button{
    grid-column:auto!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions > .sidebar-tool-form > .logout-button{
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    margin:0!important;
    padding:5px!important;
    display:grid!important;
    place-items:center!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions > .sidebar-tool-form > .logout-button svg{
    margin:auto!important;
  }
}
/* 2026-05 Sidebar logout action fill fallback */
.modern-school-sidebar .sidebar-footer-actions .sidebar-tool-form .logout-button.sidebar-tool,
.modern-school-sidebar .compact-sidebar-tools .sidebar-tool-form .logout-button.sidebar-tool,
.modern-school-sidebar .sidebar-footer-actions form.sidebar-tool-form button.logout-button.sidebar-tool[type="submit"]{
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  display:grid!important;
  place-items:center!important;
  place-self:stretch!important;
  justify-self:stretch!important;
  align-self:stretch!important;
  justify-content:center!important;
  align-items:center!important;
  padding:0!important;
  margin:0!important;
}
/* 2026-05 Sidebar final footer geometry lock */
.modern-school-sidebar .sidebar-footer-actions > .sidebar-tool-form{
  width:64px!important;
  height:44px!important;
  min-width:64px!important;
  min-height:44px!important;
  max-width:64px!important;
  max-height:44px!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  padding:0!important;
}
.modern-school-sidebar .sidebar-footer-actions > .sidebar-tool-form > .logout-button.sidebar-tool{
  width:64px!important;
  height:44px!important;
  min-width:64px!important;
  min-height:44px!important;
  max-width:64px!important;
  max-height:44px!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  padding:0!important;
}
@media (min-width:781px){
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions > .sidebar-tool-form,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions > .sidebar-tool-form > .logout-button.sidebar-tool{
    width:var(--collapsed-footer-action-size)!important;
    height:var(--collapsed-footer-action-size)!important;
    min-width:var(--collapsed-footer-action-size)!important;
    min-height:var(--collapsed-footer-action-size)!important;
    max-width:var(--collapsed-footer-action-size)!important;
    max-height:var(--collapsed-footer-action-size)!important;
    display:grid!important;
    place-items:center!important;
    justify-self:center!important;
    align-self:center!important;
    margin:0!important;
    padding:0!important;
  }
}
/* 2026-05 Sidebar logout absolute-fill alignment fix */
.modern-school-sidebar .sidebar-footer-actions > .sidebar-tool-form{
  position:relative!important;
  overflow:visible!important;
}
.modern-school-sidebar .sidebar-footer-actions > .sidebar-tool-form > .logout-button.sidebar-tool{
  position:absolute!important;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  display:grid!important;
  place-items:center!important;
  justify-content:center!important;
  align-content:center!important;
  padding:0!important;
  margin:0!important;
}
.modern-school-sidebar .sidebar-footer-actions > .sidebar-tool-form > .logout-button.sidebar-tool svg{
  margin:auto!important;
}


/* 2026-05 Collapsed sidebar vertical footer action stack */
@media (min-width:781px){
  body.sidebar-collapsed .modern-school-sidebar.sidebar,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar,
  body.sidebar-collapsed .sidebar.sidebar-nav-only.modern-school-sidebar{
    display:flex!important;
    flex-direction:column!important;
    overflow:visible!important;
  }
  body.sidebar-collapsed .modern-school-sidebar nav,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar nav,
  body.sidebar-collapsed .sidebar.sidebar-nav-only.modern-school-sidebar nav{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:visible!important;
    align-content:start!important;
    padding-bottom:8px!important;
    scrollbar-width:none!important;
  }
  body.sidebar-collapsed .modern-school-sidebar nav::-webkit-scrollbar,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar nav::-webkit-scrollbar,
  body.sidebar-collapsed .sidebar.sidebar-nav-only.modern-school-sidebar nav::-webkit-scrollbar{
    width:0!important;
    height:0!important;
    display:none!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions,
  body.sidebar-collapsed .modern-school-sidebar .compact-sidebar-tools,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .compact-sidebar-tools{
    --collapsed-footer-action-size:38px;
    --collapsed-footer-icon-size:24px;
    --collapsed-footer-gap:7px;
    flex:0 0 auto!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:var(--collapsed-footer-action-size)!important;
    grid-auto-rows:var(--collapsed-footer-action-size)!important;
    justify-content:center!important;
    align-content:end!important;
    justify-items:center!important;
    align-items:center!important;
    gap:var(--collapsed-footer-gap)!important;
    margin-top:auto!important;
    padding:8px 0 2px!important;
    border-top:1px solid rgba(255,255,255,.14)!important;
    overflow:visible!important;
    position:relative!important;
    z-index:5!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions > .sidebar-tool,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions > .sidebar-tool-form,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions > .sidebar-toggle-button{
    grid-column:1!important;
    width:var(--collapsed-footer-action-size)!important;
    height:var(--collapsed-footer-action-size)!important;
    min-width:var(--collapsed-footer-action-size)!important;
    min-height:var(--collapsed-footer-action-size)!important;
    max-width:var(--collapsed-footer-action-size)!important;
    max-height:var(--collapsed-footer-action-size)!important;
    justify-self:center!important;
    align-self:center!important;
    margin:0!important;
    padding:0!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions > .sidebar-tool-form > .logout-button.sidebar-tool{
    width:auto!important;
    height:auto!important;
    min-width:0!important;
    min-height:0!important;
    max-width:none!important;
    max-height:none!important;
    inset:0!important;
    display:grid!important;
    place-items:center!important;
    padding:0!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions .sidebar-tool svg,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions .sidebar-toggle-button svg,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions .logout-button svg{
    width:var(--collapsed-footer-icon-size)!important;
    height:var(--collapsed-footer-icon-size)!important;
    min-width:var(--collapsed-footer-icon-size)!important;
    min-height:var(--collapsed-footer-icon-size)!important;
    padding:4px!important;
    margin:auto!important;
  }
  body.sidebar-collapsed.has-floating-sidebar-tooltips .modern-school-sidebar .sidebar-footer-actions .sidebar-tool > span,
  body.sidebar-collapsed.has-floating-sidebar-tooltips .modern-school-sidebar .sidebar-footer-actions .sidebar-toggle-button > span,
  body.sidebar-collapsed.has-floating-sidebar-tooltips .modern-school-sidebar .sidebar-footer-actions .logout-button > span{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    display:none!important;
  }
}
@media (min-width:781px) and (max-height:640px){
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions,
  body.sidebar-collapsed .modern-school-sidebar .compact-sidebar-tools,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .compact-sidebar-tools{
    --collapsed-footer-action-size:32px;
    --collapsed-footer-icon-size:21px;
    --collapsed-footer-gap:4px;
    padding-top:5px!important;
    padding-bottom:0!important;
  }
}


/* 2026-05 Collapsed sidebar footer separation refinement */
@media (min-width:781px){
  body.sidebar-collapsed .modern-school-sidebar nav,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar nav,
  body.sidebar-collapsed .sidebar.sidebar-nav-only.modern-school-sidebar nav{
    margin-bottom:8px!important;
  }
}
@media (min-width:781px) and (max-height:640px){
  body.sidebar-collapsed .modern-school-sidebar nav,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar nav,
  body.sidebar-collapsed .sidebar.sidebar-nav-only.modern-school-sidebar nav{
    margin-bottom:6px!important;
  }
}


/* 2026-05 Collapsed sidebar ultra-short vertical stack fit */
@media (min-width:781px) and (max-height:700px){
  :root{
    --collapsed-short-nav-item-size:26px;
    --collapsed-short-nav-icon-size:20px;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions,
  body.sidebar-collapsed .modern-school-sidebar .compact-sidebar-tools,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .compact-sidebar-tools{
    --collapsed-footer-action-size:28px;
    --collapsed-footer-icon-size:19px;
    --collapsed-footer-gap:3px;
    padding-top:5px!important;
    padding-bottom:0!important;
  }
  body.sidebar-collapsed .modern-school-sidebar nav,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar nav,
  body.sidebar-collapsed .sidebar.sidebar-nav-only.modern-school-sidebar nav{
    gap:0!important;
    margin-bottom:8px!important;
    overflow-y:hidden!important;
  }
  body.sidebar-collapsed .modern-school-sidebar nav a,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar nav a,
  body.sidebar-collapsed .sidebar.sidebar-nav-only.modern-school-sidebar nav a{
    width:var(--collapsed-short-nav-item-size)!important;
    height:var(--collapsed-short-nav-item-size)!important;
    min-width:var(--collapsed-short-nav-item-size)!important;
    min-height:var(--collapsed-short-nav-item-size)!important;
    max-width:var(--collapsed-short-nav-item-size)!important;
    max-height:var(--collapsed-short-nav-item-size)!important;
    padding:2px!important;
    border-radius:9px!important;
  }
  body.sidebar-collapsed .modern-school-sidebar nav a svg,
  body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar nav a svg,
  body.sidebar-collapsed .sidebar.sidebar-nav-only.modern-school-sidebar nav a svg{
    width:var(--collapsed-short-nav-icon-size)!important;
    height:var(--collapsed-short-nav-icon-size)!important;
    min-width:var(--collapsed-short-nav-icon-size)!important;
    min-height:var(--collapsed-short-nav-icon-size)!important;
    flex-basis:var(--collapsed-short-nav-icon-size)!important;
    padding:3px!important;
    border-radius:7px!important;
  }
}

/* ── Backup Management ──────────────────────────────────────── */
.backup-hero{
  background:linear-gradient(135deg,#0f766e,#2563eb 52%,#7c3aed);
}
.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.backup-stats,.backup-stats-secondary{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:22px;margin-bottom:30px;align-items:stretch}
.backup-stats div,.backup-stats-secondary div{
  min-width:0;
  min-height:118px;
  padding:20px 18px;
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  overflow:hidden;
}
.backup-stats strong,.backup-stats-secondary strong{
  display:block;
  max-width:100%;
  font-size:clamp(1.05rem,1.6vw,1.45rem);
  line-height:1.16;
  letter-spacing:-.035em;
  color:var(--brand);
  overflow-wrap:anywhere;
  word-break:break-word;
  hyphens:auto;
}
.backup-stats span,.backup-stats-secondary span{display:block;max-width:100%;color:var(--muted);font-weight:850;font-size:.82rem;line-height:1.25;text-transform:none;overflow-wrap:anywhere}
.notify-on{color:var(--ok)!important}
.notify-off{color:var(--muted)!important}
.backup-settings-panel{max-width:none;width:100%;margin-bottom:34px!important}
.backup-import-panel{max-width:none;width:100%;margin:0 0 28px!important}
.backup-import-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}
.backup-import-form label:nth-of-type(2){grid-column:1 / -1}
.backup-import-form .full-span{grid-column:1 / -1}
.backup-import-note{border:1px solid color-mix(in srgb,var(--brand) 18%,var(--line));background:color-mix(in srgb,var(--brand) 6%,var(--panel-solid));border-radius:18px;padding:14px 16px;color:var(--muted);font-weight:750;line-height:1.45;overflow-wrap:anywhere}
.backup-import-note code{white-space:normal;overflow-wrap:anywhere}
.backup-settings-form{
  grid-template-columns:repeat(3,1fr);
  gap:18px 22px;
}
.backup-settings-form .full-span{grid-column:1 / -1}
.backup-settings-form .toggle-label{display:flex;align-items:center;gap:8px}
.backup-settings-form .toggle-label input[type="checkbox"]{width:auto;margin:0}
.backup-settings-form .compact-check{display:flex;align-items:center;gap:8px}
.backup-settings-form .compact-check input[type="checkbox"]{width:auto}
.backup-settings-form .compact-check small{color:var(--muted)}
.checkbox-group{display:flex;flex-wrap:wrap;gap:16px 28px;padding:6px 0}
.backup-history-panel .panel-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
.panel-head-actions{display:flex;align-items:center;gap:8px}
.run-id-badge{
  display:inline-block;
  padding:4px 8px;
  border-radius:999px;
  background:color-mix(in srgb,var(--brand) 10%,var(--panel-solid));
  color:var(--brand);
  font-weight:900;
  font-size:.78rem;
}
.backup-type-chip.backup-type-full{background:color-mix(in srgb,var(--brand) 12%,var(--panel-solid));color:var(--brand)}
.backup-type-chip.backup-type-incremental{background:color-mix(in srgb,var(--accent2) 12%,var(--panel-solid));color:var(--accent2)}
.backup-trigger-chip{background:color-mix(in srgb,var(--brand2) 10%,var(--panel-solid));color:var(--brand2)}
.backup-status-success{background:color-mix(in srgb,var(--ok) 12%,var(--panel-solid));color:var(--ok)}
.backup-status-failed{background:color-mix(in srgb,var(--danger) 12%,var(--panel-solid));color:var(--danger)}
.backup-status-running{background:color-mix(in srgb,#f59e0b 14%,var(--panel-solid));color:#d97706}
.backup-status-expired{background:color-mix(in srgb,var(--muted) 10%,var(--panel-solid));color:var(--muted)}
.restore-chip{margin-top:4px;font-size:.74rem}
.restore-chip-success{background:color-mix(in srgb,var(--ok) 10%,var(--panel-solid));color:var(--ok)}
.restore-chip-failed{background:color-mix(in srgb,var(--danger) 10%,var(--panel-solid));color:var(--danger)}
.restore-chip-running{background:color-mix(in srgb,#f59e0b 10%,var(--panel-solid));color:#d97706}
.backup-error-row{display:inline-block;margin-top:4px}
.backup-actions-cell{min-width:0;white-space:normal}
.backup-history-panel .table-wrap,.restore-panel .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;max-width:100%}
.backup-runs-table,.backup-restore-table{width:100%;min-width:0;table-layout:fixed}
.backup-runs-table th,.backup-runs-table td,.backup-restore-table th,.backup-restore-table td{padding:10px 8px;overflow-wrap:break-word}
.backup-runs-table th,.backup-restore-table th{font-size:.72rem;letter-spacing:.035em;white-space:nowrap}
.backup-runs-table .chip,.backup-restore-table .chip{overflow-wrap:normal;word-break:normal;hyphens:none}
.backup-runs-table td:nth-child(2) strong,.backup-restore-table td:nth-child(2) strong{white-space:nowrap}
.backup-runs-table th:nth-child(1),.backup-runs-table td:nth-child(1){width:52px}
.backup-runs-table th:nth-child(2),.backup-runs-table td:nth-child(2){width:112px}
.backup-runs-table th:nth-child(3),.backup-runs-table td:nth-child(3){width:98px}
.backup-runs-table th:nth-child(4),.backup-runs-table td:nth-child(4){width:112px}
.backup-runs-table th:nth-child(5),.backup-runs-table td:nth-child(5){width:104px}
.backup-runs-table th:nth-child(6),.backup-runs-table td:nth-child(6){width:70px}
.backup-runs-table th:nth-child(7),.backup-runs-table td:nth-child(7){width:100px}
.backup-runs-table th:nth-child(8),.backup-runs-table td:nth-child(8){width:150px}
.backup-run-row td{vertical-align:middle}
.backup-logs-panel{margin-top:26px}
.backup-log-info{background:transparent}
.backup-log-warning{background:color-mix(in srgb,#f59e0b 5%,var(--panel-solid))}
.backup-log-error{background:color-mix(in srgb,var(--danger) 6%,var(--panel-solid))}
.backup-log-level-info{background:color-mix(in srgb,var(--brand) 10%,var(--panel-solid));color:var(--brand)}
.backup-log-level-warning{background:color-mix(in srgb,#f59e0b 12%,var(--panel-solid));color:#b45309}
.backup-log-level-error{background:color-mix(in srgb,var(--danger) 12%,var(--panel-solid));color:var(--danger)}
.restore-panel{margin-top:26px;border-color:color-mix(in srgb,var(--danger) 20%,var(--line))}
.restore-panel .panel-head h2{color:var(--danger)}
.restore-confirm-dialog,.delete-confirm-dialog{max-width:520px;padding:28px;border-radius:24px;background:var(--panel-solid);border:1px solid var(--line);box-shadow:0 34px 90px #0f172a2f;color:var(--ink)}
.restore-confirm-dialog h2{color:var(--danger);margin:0 0 10px;letter-spacing:-.04em}
.delete-confirm-dialog h2{color:var(--danger);margin:0 0 10px;letter-spacing:-.04em}
.restore-confirm-dialog p,.delete-confirm-dialog p{color:var(--muted)}
.delete-run-ref{font-size:.9rem;margin:6px 0}
.restore-confirm-dialog .stacked-form,.delete-confirm-dialog .stacked-form{gap:12px;margin-top:14px}
.restore-confirm-dialog .button-row,.delete-confirm-dialog .button-row{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}
.modal-close-form{position:absolute;top:12px;right:16px}
.modal-close-form button{width:36px;height:36px;padding:0;font-size:1.2rem}
@media (max-width:1180px){
  .backup-settings-form{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:780px){
  .backup-settings-form,.backup-import-form{grid-template-columns:1fr}
  .backup-stats,.backup-stats-secondary{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .backup-stats div,.backup-stats-secondary div{min-height:112px;padding:18px 14px}
  .checkbox-group{gap:10px 18px}
}
@media (max-width:520px){
  .backup-stats,.backup-stats-secondary{grid-template-columns:1fr}
  .backup-stats div,.backup-stats-secondary div{min-height:auto;padding:18px 16px}
}

/* 2026-05 Backup delete workflow + French UX polish */
.backup-actions-cell .small{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:normal;line-height:1.15;padding:8px 10px;min-width:0}
.backup-action-delete{font-weight:850!important;letter-spacing:-.01em}
.backup-action-download{font-weight:800!important}
.delete-warning-box{border:1px solid color-mix(in srgb,var(--danger) 32%,var(--line));background:color-mix(in srgb,var(--danger) 9%,var(--panel-solid));border-radius:18px;padding:14px 16px;margin:10px 0 14px}
.delete-warning-box p{margin:0!important}.delete-warning-box p+p{margin-top:6px!important}
.delete-run-details{display:grid;grid-template-columns:minmax(96px,auto) 1fr;gap:8px 14px;border:1px solid var(--line);border-radius:18px;padding:14px 16px;background:color-mix(in srgb,var(--brand) 4%,var(--panel-solid));margin:12px 0}
.delete-run-details dt{font-weight:900;color:var(--muted)}.delete-run-details dd{margin:0;font-weight:800;color:var(--ink);overflow-wrap:anywhere}
.delete-instructions{padding:10px 12px;border-radius:14px;background:color-mix(in srgb,var(--accent) 9%,var(--panel-solid));border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line))}
.destructive-form.is-processing{opacity:.82;cursor:progress}.destructive-form.is-processing *{cursor:progress!important}
.backup-toast-region{position:fixed;right:18px;top:18px;z-index:9999;display:grid;gap:10px;max-width:min(420px,calc(100vw - 32px));pointer-events:none}
.backup-toast{pointer-events:auto;border-radius:18px;padding:14px 16px;border:1px solid var(--line);box-shadow:0 20px 48px rgba(15,23,42,.18);background:var(--panel-solid);color:var(--ink);font-weight:850;line-height:1.4;animation:backupToastIn .22s ease-out both}
.backup-toast-success{border-color:color-mix(in srgb,var(--ok) 34%,var(--line));background:color-mix(in srgb,var(--ok) 12%,var(--panel-solid))}
.backup-toast-error{border-color:color-mix(in srgb,var(--danger) 38%,var(--line));background:color-mix(in srgb,var(--danger) 12%,var(--panel-solid))}
.backup-toast-hide{animation:backupToastOut .22s ease-in both}
@keyframes backupToastIn{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}
@keyframes backupToastOut{to{opacity:0;transform:translateY(-8px) scale(.98)}}
@media (max-width:780px){.backup-runs-table,.backup-restore-table{min-width:980px!important}.backup-actions-cell{align-items:stretch}.backup-actions-cell .small{min-width:118px}.delete-confirm-dialog,.restore-confirm-dialog{width:min(94vw,560px);padding:22px}.backup-toast-region{left:14px;right:14px;top:auto;bottom:calc(14px + env(safe-area-inset-bottom))}.delete-run-details{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.backup-toast,.backup-toast-hide{animation:none!important}}
html[data-theme="dark"] .delete-warning-box{background:color-mix(in srgb,var(--danger) 14%,var(--panel-solid));border-color:color-mix(in srgb,var(--danger) 42%,var(--line))}
html[data-theme="dark"] .delete-run-details{background:color-mix(in srgb,var(--brand) 8%,var(--panel-solid))}
/* 2026-05 production readiness layout + upload polish */
.school-form{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}
.school-form .form-field{grid-column:span 6}.school-form .form-field-filefield{grid-column:span 12}
.classroom-form,.teacher-form,.grade-form{align-items:start;gap:14px 16px}.classroom-form .actions,.teacher-form .actions,.grade-form .actions{align-self:end}
.teacher-subject-field{margin-top:0}.teacher-subject-slide-select{width:100%}
.logo-upload-preview{display:flex;align-items:center;gap:12px;margin-top:10px;padding:10px;border:1px dashed color-mix(in srgb,var(--brand) 24%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--brand) 7%,var(--panel-solid));color:var(--muted);font-weight:700}
.logo-upload-preview[hidden]{display:none!important}.logo-upload-preview img{width:76px;height:76px;object-fit:contain;border-radius:14px;background:#fff;border:1px solid color-mix(in srgb,var(--brand) 16%,var(--line));padding:6px}
.school-logo-img{object-fit:contain;background:#fff}.backup-hero{grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important}.backup-hero-actions{justify-self:end;align-self:center;width:min(100%,460px)}.backup-manual-form{display:grid!important;grid-template-columns:minmax(150px,1fr) auto;gap:10px;align-items:center;justify-content:end;padding:10px;border:1px solid rgba(255,255,255,.28);border-radius:18px;background:rgba(255,255,255,.12);backdrop-filter:blur(10px)}.backup-manual-form select{min-height:44px;border-radius:14px}.backup-manual-form .primary{white-space:nowrap}.custom-select-trigger,.custom-select-search,.custom-select-option{font:inherit}.custom-select-panel{box-shadow:0 22px 60px rgba(2,6,23,.24)}.grade-form [data-grade-subject-select] + .custom-select-trigger,.grade-form .custom-select-control{width:100%}
html[data-theme="dark"] .logo-upload-preview{background:color-mix(in srgb,var(--brand2) 12%,var(--panel-solid));border-color:color-mix(in srgb,var(--brand2) 28%,var(--line))}html[data-theme="dark"] .logo-upload-preview img{background:#f8fafc}
@media (max-width:900px){.school-form .form-field{grid-column:span 12}.backup-hero{grid-template-columns:1fr!important}.backup-hero-actions{justify-self:stretch;width:100%}.backup-manual-form{grid-template-columns:1fr}.backup-manual-form .primary{width:100%}}
@media (max-width:640px){.classroom-form,.teacher-form,.grade-form,.school-form{grid-template-columns:1fr!important}.logo-upload-preview{align-items:flex-start}.backup-manual-form{padding:8px}.custom-select-panel{max-width:calc(100vw - 24px)}}
/* 2026-05 production QA overflow fixes */
.school-form{width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.school-form .form-field,.school-form input,.school-form select,.school-form textarea,.school-form .logo-upload-preview,.school-form .field-help{min-width:0;max-width:100%;box-sizing:border-box}.school-form input[type="file"]{width:100%;white-space:normal}.backup-hero,.backup-hero-actions,.backup-manual-form{min-width:0}.backup-manual-form select,.backup-manual-form button{min-width:0;max-width:100%}@media (max-width:520px){.backup-hero{overflow:hidden}.backup-manual-form{width:100%;max-width:100%;overflow:hidden}.backup-manual-form select{width:100%}.backup-manual-form .primary{white-space:normal;line-height:1.2;padding-inline:12px}}
/* 2026-05 backup mobile form wrapping */
.backup-settings-panel,.backup-settings-form,.backup-settings-form .checkbox-group,.backup-settings-form .compact-check{min-width:0;max-width:100%;box-sizing:border-box}.backup-settings-form .checkbox-group{display:grid;gap:10px}.backup-settings-form .compact-check{width:100%;white-space:normal;overflow-wrap:anywhere;align-items:flex-start}.backup-settings-form .compact-check .hint{display:block;min-width:0;max-width:100%;overflow-wrap:anywhere}
/* 2026-05 admin deletion + messaging/grades layout polish */
.email-hero{align-items:center}.email-hero-actions{margin-left:auto;justify-content:flex-end;align-self:center;min-width:fit-content}.email-process-form button{white-space:nowrap}.users-table-panel .table-wrap{overflow-x:auto}.user-management-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.user-delete-dialog{max-height:min(88vh,720px);overflow:auto}.user-delete-dialog .button-row{position:sticky;bottom:-1px;background:var(--panel-solid);padding-top:12px}.user-delete-dialog .detail-list{grid-template-columns:minmax(110px,max-content) 1fr}.user-delete-confirm-form .danger-confirm-input{font-weight:800;letter-spacing:.03em}.small-note{font-size:.78rem}.grades-create-panel{overflow:visible}.grades-create-form .grade-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;align-items:end}.grades-create-form .grade-form .form-field{min-width:0}.grades-create-form .grade-form .form-field textarea,.grades-create-form .grade-form label:has(textarea){grid-column:1/-1}.grades-create-form .grade-form .actions{grid-column:1/-1;justify-content:flex-end}.grades-create-form .grade-subject-field{grid-column:auto!important}.grades-create-form .custom-select-trigger{min-height:44px;max-width:100%}@media (max-width:1080px){.grades-create-form .grade-form{grid-template-columns:repeat(2,minmax(0,1fr))}.email-hero-actions{width:auto}}@media (max-width:780px){.email-hero{align-items:stretch}.email-hero-actions{margin-left:0;width:100%;justify-content:stretch}.email-process-form button{width:100%}.user-delete-dialog{width:min(94vw,560px);padding:22px;max-height:86vh}.user-delete-dialog .detail-list{grid-template-columns:1fr}.grades-create-form .grade-form{grid-template-columns:1fr}.grades-create-form .grade-form .actions{justify-content:stretch}.grades-create-form .grade-form .actions .primary{width:100%}.user-management-actions{align-items:stretch}.user-management-actions .small,.user-management-actions button{width:100%;justify-content:center}}


/* 2026-05 analytics, enrollment, messaging automation polish */
.analytics-hero{background:radial-gradient(circle at 88% 16%,rgba(45,212,191,.38),transparent 16rem),radial-gradient(circle at 18% 80%,rgba(96,165,250,.30),transparent 17rem),linear-gradient(135deg,#0f172a,#0f766e 52%,#2563eb)!important}.analytics-export-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.analytics-filter-panel{margin-bottom:18px}.analytics-filters{align-items:end}.analytics-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:18px}.analytics-kpi-grid div{position:relative;overflow:hidden}.analytics-kpi-grid div:after{content:"";position:absolute;right:-22px;bottom:-26px;width:74px;height:74px;border-radius:999px;background:color-mix(in srgb,var(--brand2) 15%,transparent)}.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.analytics-card{min-width:0}.bar-chart{display:grid;gap:12px}.bar-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,2fr) auto;gap:10px;align-items:center}.bar-row span{min-width:0;white-space:normal;overflow-wrap:anywhere;font-weight:800;color:var(--ink)}.bar-row div{height:14px;border-radius:999px;background:color-mix(in srgb,var(--brand) 10%,var(--panel-solid));overflow:hidden}.bar-row i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand),var(--brand2));transition:width .28s ease}.grade-bars .bar-row i{background:linear-gradient(90deg,var(--accent),var(--brand2))}.donut-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.donut-list div{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:8px;padding:12px;border-radius:16px;background:color-mix(in srgb,var(--brand) 6%,var(--panel-solid));border:1px solid color-mix(in srgb,var(--brand) 12%,var(--line))}.donut-list .dot{width:10px;height:10px;border-radius:999px;background:linear-gradient(135deg,var(--brand),var(--brand2))}.analytics-table-panel .table-wrap{max-height:560px}.email-hero-actions{display:none!important}.email-process-form{display:none!important}.student-form{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}.student-form .form-field-textareafield,.student-form .additional-parents-section,.student-form .actions{grid-column:1/-1}.student-form .form-field-datefield,.student-form .form-field-selectfield,.student-form .form-field-stringfield{min-width:0}.teacher-form .logo-upload-preview,.student-form .logo-upload-preview,.school-form .logo-upload-preview{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;margin-top:8px;padding:10px;border-radius:16px;background:color-mix(in srgb,var(--brand) 7%,var(--panel-solid));border:1px solid color-mix(in srgb,var(--brand) 14%,var(--line))}.teacher-form .logo-upload-preview img,.student-form .logo-upload-preview img,.school-form .logo-upload-preview img{width:58px;height:58px;object-fit:cover;border-radius:14px}.teacher-subject-slide-toggle [data-subject-summary]{min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.25}.teacher-subject-slide-panel{max-height:min(520px,62vh);overflow:auto}.teacher-subject-option-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.teacher-subject-group-options{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}@media (max-width:1100px){.analytics-grid{grid-template-columns:1fr}.student-form{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-export-actions{justify-content:flex-start}}@media (max-width:640px){.analytics-export-actions,.analytics-export-actions a{width:100%}.bar-row{grid-template-columns:1fr;gap:6px}.student-form{grid-template-columns:1fr}.teacher-subject-slide-panel{max-height:60vh}.teacher-subject-option-list,.teacher-subject-group-options{grid-template-columns:1fr}.donut-list{grid-template-columns:1fr}}html[data-theme="dark"] .analytics-card,html[data-theme="dark"] .analytics-filter-panel{background:#071524!important}html[data-theme="dark"] .bar-row div{background:#10243a}html[data-theme="dark"] .donut-list div,html[data-theme="dark"] .teacher-form .logo-upload-preview,html[data-theme="dark"] .student-form .logo-upload-preview{background:#0a1726;border-color:#37506e}


/* 2026-05 report-card PDF service preview */
.report-preview-hero{background:linear-gradient(135deg,rgba(15,61,145,.14),rgba(220,38,38,.08)),var(--surface);border:1px solid var(--border);border-radius:28px;padding:1.2rem;box-shadow:var(--shadow-sm)}
.report-control-panel .panel-head{align-items:flex-start}.report-options-form{grid-template-columns:repeat(3,minmax(180px,1fr));align-items:end}.modern-report-preview{max-width:980px;margin-inline:auto;background:linear-gradient(180deg,#fff,#f8fbff);color:#0f172a;border:1px solid #dbeafe;box-shadow:0 28px 90px rgba(15,61,145,.13)}
[data-theme="dark"] .modern-report-preview{background:linear-gradient(180deg,#071524,#0f2035);color:#e5eefb;border-color:#1d4ed8}.report-letterhead{display:grid;grid-template-columns:90px 1fr minmax(130px,auto);gap:1rem;align-items:center;padding:1rem;border-radius:22px;background:linear-gradient(135deg,#eff6ff,#ffffff);border:1px solid #bfdbfe;margin-bottom:1rem}.report-letterhead h2{margin:0;color:#0f3d91}.report-letterhead p{margin:.25rem 0;color:#475569}.report-logo-slot{display:grid;place-items:center}.report-school-logo{max-width:76px;max-height:76px;object-fit:contain}.report-logo-fallback{display:grid;place-items:center;width:76px;height:76px;border-radius:22px;background:#0f3d91;color:#fff;font-weight:900;letter-spacing:.06em}.report-issued{text-align:right}.report-issued span,.report-student-meta-grid span,.report-kpi-grid span{display:block;color:#64748b;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;font-weight:800}.report-student-meta-grid,.report-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0}.report-student-meta-grid>div,.report-kpi-grid>div{border:1px solid #dbeafe;border-radius:18px;padding:.8rem;background:#fff}.report-kpi-grid strong{display:block;font-size:1.45rem;color:#0f3d91}.report-grades-table th{background:#0f3d91;color:#fff}.report-observations-grid{display:grid;grid-template-columns:minmax(220px,.75fr) 1.25fr;gap:1rem;margin-top:1rem}.report-observations-grid article{border:1px solid #dbeafe;border-radius:18px;padding:1rem;background:#fff}.report-observations-grid h3{margin-top:0}.report-archive-panel .mini-card{min-width:min(100%,220px)}
[data-theme="dark"] .report-letterhead,[data-theme="dark"] .report-student-meta-grid>div,[data-theme="dark"] .report-kpi-grid>div,[data-theme="dark"] .report-observations-grid article{background:#0b1b2d;border-color:#24486f;color:#e5eefb}[data-theme="dark"] .report-letterhead h2,[data-theme="dark"] .report-kpi-grid strong{color:#93c5fd}[data-theme="dark"] .report-letterhead p,[data-theme="dark"] .report-issued span,[data-theme="dark"] .report-student-meta-grid span,[data-theme="dark"] .report-kpi-grid span{color:#94a3b8}
@media(max-width:820px){.report-options-form,.report-student-meta-grid,.report-kpi-grid,.report-observations-grid{grid-template-columns:1fr}.report-letterhead{grid-template-columns:1fr;text-align:center}.report-issued{text-align:center}.report-actions{align-items:stretch}.report-actions>*{width:100%;justify-content:center}}
@media print{.sidebar,.topbar,.report-preview-hero,.report-control-panel,.report-archive-panel,.profile-actions,footer{display:none!important}.modern-report-preview{box-shadow:none;border:0;max-width:none}.report-grades-table{font-size:10px}.app-main{margin:0!important;padding:0!important}.report-letterhead,.report-student-meta-grid>div,.report-kpi-grid>div,.report-observations-grid article{break-inside:avoid}}


/* 2026-05 Backup dashboard command-center redesign */
.backup-command-center{position:relative;display:grid!important;grid-template-columns:minmax(0,1.45fr) minmax(320px,.62fr)!important;gap:clamp(18px,3vw,34px)!important;align-items:stretch!important;overflow:hidden!important;padding:clamp(22px,3vw,34px)!important;background:radial-gradient(circle at 12% 15%,rgba(255,255,255,.22),transparent 18rem),radial-gradient(circle at 85% 78%,rgba(45,212,191,.24),transparent 18rem),linear-gradient(135deg,#083344,#0f766e 44%,#2563eb 100%)!important}.backup-hero-copy{display:grid;align-content:center;gap:12px;min-width:0}.backup-hero-copy h2{font-size:clamp(2rem,4vw,3.35rem)!important;line-height:.96!important;margin:0!important}.backup-hero-copy p{max-width:72ch!important;margin:0!important;color:rgba(255,255,255,.88)!important}.backup-hero-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.backup-pill{display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);color:#fff;font-weight:850;font-size:.82rem;line-height:1.15;backdrop-filter:blur(8px)}.backup-pill-ok{background:rgba(16,185,129,.22);border-color:rgba(167,243,208,.42)}.backup-pill-muted{background:rgba(148,163,184,.20)}.backup-manual-card{display:grid!important;align-content:start;gap:14px!important;justify-self:stretch!important;align-self:stretch!important;width:100%!important;padding:18px!important;border:1px solid rgba(255,255,255,.28);border-radius:24px;background:rgba(255,255,255,.14);box-shadow:0 22px 70px rgba(2,6,23,.22);backdrop-filter:blur(12px)}.backup-manual-card strong{display:block;color:#fff;font-size:1.05rem}.backup-manual-card span{display:block;color:rgba(255,255,255,.78);font-weight:750;font-size:.86rem;line-height:1.35;margin-top:3px}.backup-manual-form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;padding:0!important;background:transparent!important;border:0!important;backdrop-filter:none!important}.backup-manual-form select,.backup-manual-form button{width:100%;min-height:46px}.backup-health-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;margin:18px 0 22px!important}.backup-stat-card,.backup-storage-summary>div{position:relative;text-align:left!important;align-items:flex-start!important;justify-content:space-between!important;min-height:116px!important;padding:18px!important;border-radius:22px!important;background:linear-gradient(145deg,color-mix(in srgb,var(--panel-solid) 98%,transparent),color-mix(in srgb,var(--brand) 4%,var(--panel-solid)))!important;border:1px solid color-mix(in srgb,var(--brand) 12%,var(--line))!important;box-shadow:0 16px 42px rgba(15,23,42,.08)!important;overflow:hidden!important}.backup-stat-card:after,.backup-storage-summary>div:after{content:"";position:absolute;right:-24px;bottom:-28px;width:88px;height:88px;border-radius:999px;background:color-mix(in srgb,var(--brand) 10%,transparent);pointer-events:none}.backup-stat-card.success:after{background:color-mix(in srgb,var(--ok) 16%,transparent)}.backup-stat-card.danger:after{background:color-mix(in srgb,var(--danger) 14%,transparent)}.backup-stat-card span,.backup-storage-summary span{order:0!important;text-transform:uppercase!important;letter-spacing:.045em!important;font-size:.74rem!important;color:var(--muted)!important;font-weight:900!important}.backup-stat-card strong,.backup-storage-summary strong{order:1!important;font-size:clamp(1.15rem,2vw,1.72rem)!important;line-height:1.08!important;color:var(--ink)!important;max-width:100%;overflow-wrap:anywhere;position:relative;z-index:1}.backup-stat-card.success strong{color:var(--ok)!important}.backup-stat-card.danger strong{color:var(--danger)!important}.backup-operations-grid{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(320px,.78fr);gap:22px;align-items:start;margin-bottom:22px}.backup-side-stack{display:grid;gap:18px;min-width:0}.backup-storage-summary{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;margin:0!important}.backup-card-primary,.backup-card-secondary,.backup-table-card{border-radius:28px!important;border:1px solid color-mix(in srgb,var(--brand) 13%,var(--line))!important;box-shadow:0 20px 60px rgba(15,23,42,.07)!important;overflow:hidden}.backup-section-head{padding-bottom:14px;border-bottom:1px solid color-mix(in srgb,var(--brand) 10%,var(--line));margin-bottom:18px!important;align-items:flex-start!important}.section-kicker{display:inline-flex;align-items:center;gap:6px;margin-bottom:6px;color:var(--brand);font-size:.76rem;font-weight:950;letter-spacing:.07em;text-transform:uppercase}.danger-text{color:var(--danger)!important}.backup-section-head h2{margin:0!important;letter-spacing:-.04em}.backup-section-head p{max-width:72ch;margin:.35rem 0 0!important}.backup-form-card{gap:16px!important;align-items:end!important}.backup-settings-form{grid-template-columns:repeat(12,minmax(0,1fr))!important}.backup-settings-form>label{grid-column:span 4;min-width:0}.backup-settings-form>.toggle-label{grid-column:span 4}.backup-settings-form>.full-span,.backup-settings-form>.checkbox-group,.backup-settings-form>.actions{grid-column:1/-1!important}.backup-import-form{grid-template-columns:1fr!important}.backup-toggle-card{min-height:82px;padding:14px 16px!important;border:1px solid color-mix(in srgb,var(--brand) 15%,var(--line));border-radius:18px;background:color-mix(in srgb,var(--brand) 5%,var(--panel-solid));align-self:stretch!important}.backup-check-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important;padding:12px!important;border:1px solid color-mix(in srgb,var(--brand) 11%,var(--line));border-radius:18px;background:color-mix(in srgb,var(--brand) 3%,var(--panel-solid))}.backup-check-grid .compact-check{min-height:44px;padding:9px 10px;border-radius:14px;background:var(--panel-solid);border:1px solid var(--line);gap:10px!important}.backup-form-actions{display:flex!important;justify-content:flex-end!important;margin-top:4px!important}.backup-form-actions .primary{min-width:min(100%,260px)}.backup-import-note{font-size:.88rem}.backup-data-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:22px}.backup-table-card .table-wrap,.backup-table-wrap{border:1px solid color-mix(in srgb,var(--brand) 8%,var(--line));border-radius:20px;background:color-mix(in srgb,var(--panel-solid) 96%,transparent);overflow:auto!important}.backup-runs-table,.backup-restore-table{min-width:980px!important;table-layout:auto!important}.backup-logs-table{min-width:720px}.backup-actions-cell{display:flex!important;gap:8px;align-items:center;flex-wrap:wrap}.backup-actions-cell .small,.backup-restore-table .small,.validate-trigger{min-height:34px!important;border-radius:12px!important}.backup-history-panel .panel-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important}.panel-head-actions{justify-content:flex-end}.restore-panel{margin-top:0!important}.backup-logs-panel{margin-top:0!important}html[data-theme="dark"] .backup-stat-card,html[data-theme="dark"] .backup-storage-summary>div,html[data-theme="dark"] .backup-card-primary,html[data-theme="dark"] .backup-card-secondary,html[data-theme="dark"] .backup-table-card{box-shadow:0 20px 60px rgba(0,0,0,.22)!important;border-color:color-mix(in srgb,var(--brand2) 18%,var(--line))!important}html[data-theme="dark"] .backup-toggle-card,html[data-theme="dark"] .backup-check-grid{background:color-mix(in srgb,var(--brand2) 8%,var(--panel-solid));border-color:color-mix(in srgb,var(--brand2) 18%,var(--line))}html[data-theme="dark"] .backup-check-grid .compact-check{background:color-mix(in srgb,var(--panel-solid) 92%,#000)}@media(max-width:1180px){.backup-command-center,.backup-operations-grid{grid-template-columns:1fr!important}.backup-manual-card{max-width:none}.backup-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.backup-settings-form>label,.backup-settings-form>.toggle-label{grid-column:span 6}}@media(max-width:780px){.backup-command-center{padding:20px!important}.backup-health-grid{grid-template-columns:1fr!important}.backup-stat-card{min-height:96px!important}.backup-settings-form{grid-template-columns:1fr!important}.backup-settings-form>label,.backup-settings-form>.toggle-label{grid-column:1/-1}.backup-check-grid{grid-template-columns:1fr}.backup-form-actions{justify-content:stretch!important}.backup-form-actions .primary{width:100%}.backup-history-panel .panel-head{display:grid!important}.panel-head-actions,.panel-head-actions .inline-form,.panel-head-actions button{width:100%;justify-content:center}.backup-runs-table,.backup-restore-table{min-width:900px!important}.backup-logs-table{min-width:680px}}@media(max-width:520px){.backup-command-center{border-radius:22px!important}.backup-hero-meta{display:grid}.backup-pill{width:100%;justify-content:center}.backup-table-card{border-radius:22px!important}.backup-runs-table,.backup-restore-table{min-width:820px!important}.backup-actions-cell .small{min-width:112px!important}}


/* 2026-05 backup dashboard final fit-and-polish pass */
.backup-stat-card strong,.backup-storage-summary strong{font-size:clamp(.98rem,1.35vw,1.45rem)!important;letter-spacing:-.025em!important;word-break:normal!important;overflow-wrap:anywhere!important}
.backup-stat-card span,.backup-storage-summary span{line-height:1.2!important}
.backup-form-card input,.backup-form-card textarea,.backup-form-card select,.backup-form-card .custom-select-trigger{min-width:0!important;max-width:100%!important}
.backup-import-panel,.backup-side-stack,.backup-card-primary,.backup-card-secondary,.backup-table-card{min-width:0!important}
.backup-table-card{max-width:100%!important}
.backup-table-wrap{max-width:100%!important;overflow-x:auto!important;overscroll-behavior-x:contain}
.backup-runs-table{min-width:min(860px,100%)!important;width:100%!important;table-layout:fixed!important}
.backup-restore-table{min-width:min(720px,100%)!important;width:100%!important;table-layout:fixed!important}
.backup-logs-table{min-width:min(680px,100%)!important;width:100%!important}
.backup-runs-table th,.backup-runs-table td,.backup-restore-table th,.backup-restore-table td{padding:9px 7px!important;min-width:0!important}
.backup-runs-table th{font-size:.68rem!important}
.backup-runs-table th:nth-child(1),.backup-runs-table td:nth-child(1){width:52px!important}
.backup-runs-table th:nth-child(2),.backup-runs-table td:nth-child(2){width:112px!important}
.backup-runs-table th:nth-child(3),.backup-runs-table td:nth-child(3){width:92px!important}
.backup-runs-table th:nth-child(4),.backup-runs-table td:nth-child(4){width:104px!important}
.backup-runs-table th:nth-child(5),.backup-runs-table td:nth-child(5){width:102px!important}
.backup-runs-table th:nth-child(6),.backup-runs-table td:nth-child(6){width:74px!important}
.backup-runs-table th:nth-child(7),.backup-runs-table td:nth-child(7){width:102px!important}
.backup-runs-table th:nth-child(8),.backup-runs-table td:nth-child(8){width:150px!important}
.backup-runs-table .chip,.backup-restore-table .chip,.backup-runs-table .small,.backup-restore-table .small{font-size:.76rem!important}
.backup-actions-cell{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;align-items:stretch!important}
.backup-actions-cell .small,.backup-restore-table .small,.validate-trigger{width:100%!important;min-width:0!important;padding-inline:8px!important;white-space:normal!important}
.backup-restore-table th:nth-child(1),.backup-restore-table td:nth-child(1){width:56px!important}
.backup-restore-table th:nth-child(2),.backup-restore-table td:nth-child(2){width:128px!important}
.backup-restore-table th:nth-child(3),.backup-restore-table td:nth-child(3){width:120px!important}
.backup-restore-table th:nth-child(4),.backup-restore-table td:nth-child(4){width:92px!important}
.backup-restore-table th:nth-child(5),.backup-restore-table td:nth-child(5){width:112px!important}
.backup-restore-table th:nth-child(6),.backup-restore-table td:nth-child(6){width:112px!important}
.backup-restore-table td:last-child .danger{width:100%!important;justify-content:center!important}
@media(max-width:1180px){.backup-runs-table{min-width:900px!important}.backup-restore-table{min-width:760px!important}.backup-stat-card strong,.backup-storage-summary strong{font-size:clamp(.96rem,2.4vw,1.35rem)!important}}
@media(max-width:780px){.backup-runs-table{min-width:860px!important}.backup-restore-table{min-width:720px!important}.backup-logs-table{min-width:640px!important}}


/* 2026-05 student enrollment photos + schools demo-data controls */
.schools-management-hero{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:22px!important;flex-wrap:wrap!important}
.schools-hero-actions{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;flex-wrap:wrap!important;position:relative!important;z-index:1!important}
.schools-hero-actions .inline-form,.demo-action-form{margin:0!important;display:inline-flex!important}
.schools-hero-actions .primary,.schools-hero-actions .ghost,.schools-hero-actions .danger{min-height:44px!important;white-space:normal!important;text-align:center!important}
.logo-upload-preview{display:flex!important;align-items:center!important;gap:12px!important;margin-top:10px!important;padding:10px!important;border:1px dashed color-mix(in srgb,var(--brand) 30%,var(--line))!important;border-radius:16px!important;background:color-mix(in srgb,var(--brand) 7%,var(--panel-solid))!important;color:var(--muted)!important;font-weight:800!important}
.logo-upload-preview[hidden]{display:none!important}
.logo-upload-preview img{width:72px!important;height:72px!important;border-radius:18px!important;object-fit:cover!important;border:2px solid color-mix(in srgb,var(--brand) 18%,var(--line))!important;background:#fff!important;box-shadow:0 10px 24px rgba(15,23,42,.14)!important}
.student-form .form-field-filefield,.teacher-form .form-field-filefield,.school-form .form-field-filefield{grid-column:span 2!important}
html[data-theme="dark"] .logo-upload-preview{background:color-mix(in srgb,var(--brand) 13%,var(--panel-solid))!important;border-color:color-mix(in srgb,var(--brand) 36%,var(--line))!important}
@media (max-width:780px){.schools-management-hero{display:grid!important;grid-template-columns:1fr!important}.schools-hero-actions{width:100%!important}.schools-hero-actions .primary,.schools-hero-actions .ghost,.schools-hero-actions .danger,.schools-hero-actions form{width:100%!important}.schools-hero-actions button,.schools-hero-actions a{width:100%!important;justify-content:center!important}.student-form .form-field-filefield,.teacher-form .form-field-filefield,.school-form .form-field-filefield{grid-column:1/-1!important}.logo-upload-preview{align-items:flex-start!important}.logo-upload-preview img{width:64px!important;height:64px!important}}


/* 2026-05 bulletin preview/PDF signature polish */
.report-letterhead{grid-template-columns:minmax(76px,96px) minmax(0,1fr) minmax(150px,auto)!important;gap:clamp(14px,2vw,22px)!important;align-items:stretch!important;padding:clamp(16px,2.4vw,24px)!important;border-radius:26px!important;background:linear-gradient(135deg,#f8fbff 0%,#eff6ff 52%,#fff 100%)!important;box-shadow:0 14px 38px rgba(15,61,145,.08)!important}
.report-letterhead-main{display:grid!important;align-content:center!important;gap:5px!important;min-width:0!important}.report-document-label{display:inline-flex!important;width:max-content!important;max-width:100%!important;padding:5px 10px!important;border-radius:999px!important;background:#dbeafe!important;color:#0f3d91!important;font-size:.74rem!important;font-weight:950!important;letter-spacing:.08em!important;text-transform:uppercase!important}.report-letterhead-main h2{font-size:clamp(1.45rem,2.4vw,2.05rem)!important;line-height:1.05!important;letter-spacing:-.035em!important}.report-letterhead-main p{max-width:64ch!important;line-height:1.35!important}.report-letterhead-meta{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin-top:4px!important}.report-letterhead-meta span{display:inline-flex!important;align-items:center!important;min-height:30px!important;padding:5px 10px!important;border-radius:999px!important;border:1px solid #bfdbfe!important;background:#fff!important;color:#1e3a8a!important;font-weight:900!important;font-size:.82rem!important}.report-issued{display:grid!important;align-content:center!important;justify-items:end!important;gap:4px!important;padding:12px 14px!important;border-radius:18px!important;background:#fff!important;border:1px solid #dbeafe!important;min-width:150px!important}.report-issued strong{font-size:1.05rem!important;color:#0f172a!important}.report-issued small{font-size:.72rem!important;color:#64748b!important;font-weight:800!important}.report-signature-grid{display:grid!important;grid-template-columns:repeat(2,minmax(220px,1fr))!important;gap:clamp(40px,7vw,96px)!important;width:100%!important;max-width:760px!important;margin:78px auto 10px!important;color:var(--ink)!important}.report-signature-area{text-align:center!important;break-inside:avoid!important}.report-signature-line{min-height:92px!important;border-bottom:1.5px solid currentColor!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;padding-bottom:5px!important}.report-signature-title{margin-top:10px!important;text-transform:uppercase!important;letter-spacing:.12em!important;font-size:.8rem!important;color:var(--muted)!important;font-weight:900!important}.report-signature-name{display:none!important}
[data-theme="dark"] .report-letterhead{background:linear-gradient(135deg,#0b1b2d 0%,#102844 58%,#071524 100%)!important;box-shadow:none!important}[data-theme="dark"] .report-document-label{background:#1d4ed8!important;color:#e0f2fe!important}[data-theme="dark"] .report-letterhead-meta span,[data-theme="dark"] .report-issued{background:#071524!important;border-color:#24486f!important;color:#bfdbfe!important}[data-theme="dark"] .report-issued strong{color:#e5eefb!important}
@media(max-width:820px){.report-letterhead{grid-template-columns:1fr!important;text-align:center!important}.report-letterhead-main,.report-logo-slot,.report-issued{justify-items:center!important}.report-document-label{width:auto!important}.report-letterhead-meta{justify-content:center!important}.report-issued{justify-self:stretch!important}.report-signature-grid{grid-template-columns:1fr!important;gap:46px!important;margin-top:58px!important}.report-signature-line{min-height:82px!important}}
@media print{.report-letterhead{background:#fff!important;border:1px solid #cbd5e1!important;box-shadow:none!important}.report-document-label{background:#f1f5f9!important;color:#111827!important;border:1px solid #cbd5e1!important}.report-letterhead-meta span,.report-issued{background:#fff!important;color:#111827!important;border-color:#cbd5e1!important}.report-signature-grid{margin-top:84px!important;gap:72px!important;color:#111827!important}.report-signature-line{min-height:96px!important}.report-signature-title{color:#111827!important}}


/* 2026-05 bulletin header overlap fix */
.modern-report-preview .report-letterhead .report-logo-slot{width:auto!important;min-width:78px!important;min-height:78px!important;justify-content:center!important;align-self:center!important;padding:0!important;border-bottom:0!important;position:relative!important;z-index:0!important}.modern-report-preview .report-letterhead .report-logo-fallback{width:72px!important;height:72px!important;flex:0 0 auto!important}.modern-report-preview .report-letterhead .report-school-logo-top-right{max-width:82px!important;max-height:82px!important;flex:0 0 auto!important}.modern-report-preview .report-letterhead-main{position:relative!important;z-index:1!important;padding-inline:2px!important}.modern-report-preview .report-letterhead-main h2,.modern-report-preview .report-letterhead-main p{overflow-wrap:anywhere!important;word-break:normal!important}
@media(max-width:820px){.modern-report-preview .report-letterhead .report-logo-slot{margin:0 auto 8px!important}.modern-report-preview .report-letterhead-main{padding:0!important}.modern-report-preview .report-letterhead-main h2{font-size:clamp(1.25rem,7vw,1.8rem)!important}}
@media print{.modern-report-preview .report-letterhead .report-logo-slot{border-bottom:0!important;min-height:.7in!important}.modern-report-preview .report-letterhead .report-school-logo-top-right{max-width:.82in!important;max-height:.82in!important}}

.modern-report-preview .report-letterhead.report-student-identity-card{grid-column:auto!important;justify-self:stretch!important;width:100%!important;display:grid!important;justify-items:stretch!important;text-align:left!important}.modern-report-preview .report-letterhead.report-student-identity-card .report-logo-slot{justify-self:center!important}.modern-report-preview .report-letterhead.report-student-identity-card .report-issued{justify-self:end!important;text-align:right!important}
@media(max-width:820px){.modern-report-preview .report-letterhead.report-student-identity-card{text-align:center!important}.modern-report-preview .report-letterhead.report-student-identity-card .report-issued{justify-self:stretch!important;text-align:center!important}}


/* 2026-05 payment tracking module */
.payments-hero{background:linear-gradient(135deg,color-mix(in srgb,#0f3d91 14%,var(--surface)),color-mix(in srgb,#16a34a 10%,var(--surface)))!important;border:1px solid color-mix(in srgb,var(--brand) 16%,var(--border))!important}.payments-forms-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}.payments-forms-grid>article{min-width:0}.payment-stats strong{font-size:clamp(1.1rem,2vw,1.65rem)!important;letter-spacing:-.03em!important}.payment-entry-form,.payment-fee-form{grid-template-columns:repeat(2,minmax(160px,1fr))!important}.payment-entry-form .span-2,.payment-fee-form .span-2{grid-column:1/-1!important}.payment-status-paid{background:color-mix(in srgb,#16a34a 15%,var(--panel-solid))!important;color:#166534!important}.payment-status-partial{background:color-mix(in srgb,#f59e0b 20%,var(--panel-solid))!important;color:#92400e!important}.payment-status-unpaid{background:color-mix(in srgb,#dc2626 14%,var(--panel-solid))!important;color:#991b1b!important}.payments-table td{vertical-align:top!important}.payment-history-cards{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:14px!important}.payment-receipt{max-width:820px;margin-inline:auto;background:#fff!important;color:#0f172a!important;border:1px solid #dbeafe!important}.receipt-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:1px solid #cbd5e1;padding-bottom:18px;margin-bottom:18px}.receipt-head h1{margin:.2rem 0;color:#0f3d91}.receipt-number{padding:10px 14px;border-radius:14px;background:#eff6ff;color:#0f3d91;border:1px solid #bfdbfe;white-space:nowrap}.receipt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.receipt-grid>div,.receipt-notes{border:1px solid #dbeafe;border-radius:16px;padding:12px;background:#f8fbff}.receipt-grid span{display:block;color:#64748b;font-size:.76rem;text-transform:uppercase;font-weight:900;letter-spacing:.05em}.receipt-grid strong{display:block;margin-top:4px}.receipt-financial-confirmation{margin-top:28px;padding:16px 18px;border:1px solid #dbeafe;border-radius:16px;background:#f8fbff}.receipt-confirmation{margin:0;color:#111827;font-weight:800}.receipt-confirmation strong{color:#0f3d91}.receipt-fineprint{margin:10px 0 0;color:#64748b;font-size:.88rem}html[data-theme="dark"] .payment-status-paid{color:#bbf7d0!important}html[data-theme="dark"] .payment-status-partial{color:#fde68a!important}html[data-theme="dark"] .payment-status-unpaid{color:#fecaca!important}html[data-theme="dark"] .payment-receipt{background:#071524!important;color:#e5eefb!important;border-color:#24486f!important}html[data-theme="dark"] .receipt-head h1{color:#93c5fd}html[data-theme="dark"] .receipt-number,html[data-theme="dark"] .receipt-grid>div,html[data-theme="dark"] .receipt-notes{background:#0b1b2d;color:#e5eefb;border-color:#24486f}html[data-theme="dark"] .receipt-grid span{color:#94a3b8}
@media(max-width:920px){.payments-forms-grid{grid-template-columns:1fr!important}.payment-entry-form,.payment-fee-form{grid-template-columns:1fr!important}.receipt-head{display:grid}.receipt-grid{grid-template-columns:1fr}.receipt-financial-confirmation{margin-top:24px!important}}
@media print{.no-print,.payments-hero,.payment-filters,.sidebar,.topbar,footer{display:none!important}.payment-receipt{box-shadow:none!important;border:0!important;max-width:none!important}.app-main{margin:0!important;padding:0!important}.receipt-grid>div,.receipt-notes,.receipt-financial-confirmation{break-inside:avoid!important;background:#fff!important}}


/* 2026-05 payment QA polish: contrast, metrics fit, table actions */
.payments-hero h2,.payments-hero p,.payments-hero .eyebrow{color:var(--ink)!important;text-shadow:none!important}.payments-hero .actions{display:flex!important;flex-wrap:wrap!important;gap:10px!important}.payment-stats{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(118px,1fr))!important;gap:12px!important}.payments-table .actions{display:flex!important;flex-wrap:nowrap!important;gap:8px!important;align-items:center!important}.payments-table .actions .small{white-space:nowrap!important;min-width:max-content!important}.payments-table th:last-child,.payments-table td:last-child{min-width:150px!important}.payment-entry-form input::placeholder,.payment-fee-form textarea::placeholder{font-size:.88rem!important}
@media(max-width:720px){.payments-table .actions{flex-wrap:wrap!important}.payments-table th:last-child,.payments-table td:last-child{min-width:130px!important}}


/* 2026-05 payment dark-mode clipping fixes */
.payment-stats{grid-template-columns:repeat(auto-fit,minmax(148px,1fr))!important}.payment-stats strong{font-size:clamp(1rem,1.6vw,1.42rem)!important;white-space:nowrap!important}.payments-table{min-width:980px!important}.payments-table th:last-child,.payments-table td:last-child{min-width:190px!important;width:190px!important}.payments-table .actions{justify-content:flex-start!important}.payments-table .actions .small{padding-inline:10px!important;font-size:.82rem!important}.payment-entry-form input::placeholder,.payment-entry-form textarea::placeholder,.payment-fee-form textarea::placeholder{font-size:.82rem!important;color:color-mix(in srgb,var(--muted) 88%,var(--ink))!important}
@media(max-width:720px){.payment-stats{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))!important}.payments-table{min-width:920px!important}.payments-table th:last-child,.payments-table td:last-child{min-width:170px!important;width:170px!important}}


/* 2026-05 payment table action column final fit */
.payments-table{min-width:860px!important}.payments-table th:last-child,.payments-table td:last-child{min-width:128px!important;width:128px!important;padding-right:14px!important}.payments-table td:last-child .actions{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;justify-items:stretch!important}.payments-table td:last-child .actions .small{width:100%!important;min-width:0!important;text-align:center!important;padding-inline:8px!important;overflow:visible!important}
@media(max-width:720px){.payments-table{min-width:820px!important}.payments-table th:last-child,.payments-table td:last-child{min-width:122px!important;width:122px!important}}


/* 20260528 multi-dashboard-polish */
.ops-hero,.subjects-redesign-hero,.attendance-redesign-hero,.reports-redesign-hero,.import-redesign-hero,.users-redesign-hero{position:relative;overflow:hidden}.ops-hero:after,.subjects-redesign-hero:after,.attendance-redesign-hero:after,.reports-redesign-hero:after,.import-redesign-hero:after,.users-redesign-hero:after{content:"";position:absolute;inset:auto -8% -45% auto;width:360px;height:360px;border-radius:999px;background:linear-gradient(135deg,rgba(37,99,235,.18),rgba(20,184,166,.16));pointer-events:none}.ops-kpi-grid,.executive-kpis,.subjects-kpis,.attendance-kpis,.reports-kpis,.import-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.finance-card strong{letter-spacing:-.04em}.ops-action-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.recent-activity-panel,.subject-catalog-panel,.attendance-log-panel,.reports-filter-panel,.report-archives-panel{border:1px solid color-mix(in srgb,var(--border,#d8dee9),transparent 20%);box-shadow:0 18px 50px rgba(15,23,42,.08)}.filters-grid,.subject-filters,.attendance-filters,.report-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;align-items:end;margin:1rem 0}.filter-actions{display:flex;align-items:end}.filter-button{width:100%}.subject-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin:1rem 0 1.25rem}.subject-card h3{margin:.45rem 0}.attendance-status-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin:1rem 0}.attendance-status-strip>div{display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem;border:1px solid var(--border,#d8dee9);border-radius:16px;background:var(--card,#fff)}.dot{width:.75rem;height:.75rem;border-radius:50%;display:inline-block;background:#2563eb}.status-present{background:#16a34a!important}.status-absent{background:#dc2626!important}.status-late{background:#f59e0b!important}.status-excused{background:#6366f1!important}.attendance-chip.status-present{color:#166534;background:#dcfce7}.attendance-chip.status-absent{color:#991b1b;background:#fee2e2}.attendance-chip.status-late{color:#92400e;background:#fef3c7}.attendance-chip.status-excused{color:#3730a3;background:#e0e7ff}.import-flow-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:1rem}.file-drop-zone{border:1.5px dashed var(--border,#cbd5e1);border-radius:18px;padding:1rem;background:color-mix(in srgb,var(--card,#fff),#2563eb 3%)}.flow-steps{display:grid;gap:.7rem;margin:0;padding-left:1.2rem}.flow-steps li{padding:.6rem .75rem;border-radius:14px;background:color-mix(in srgb,var(--card,#fff),#14b8a6 5%)}.email-body-preview{white-space:pre-wrap;max-height:42vh;overflow:auto;border:1px solid var(--border,#d8dee9);border-radius:14px;padding:1rem;background:var(--input-bg,#f8fafc);font:inherit}.email-view-dialog{max-width:min(760px,94vw);border:0;border-radius:24px;padding:1rem;background:var(--card,#fff);color:var(--text,#0f172a);box-shadow:0 30px 90px rgba(15,23,42,.28)}.table-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.report-archives-panel small,.email-queue-table small{word-break:break-word}.dashboard-stat-card,.mini-card{transition:transform .18s ease,box-shadow .18s ease}.dashboard-stat-card:hover,.mini-card:hover{transform:translateY(-2px)}
[data-theme="dark"] .attendance-status-strip>div,[data-theme="dark"] .file-drop-zone,[data-theme="dark"] .flow-steps li,[data-theme="dark"] .email-body-preview,[data-theme="dark"] .email-view-dialog{background:color-mix(in srgb,var(--card,#111827),#ffffff 4%);border-color:rgba(148,163,184,.25)}[data-theme="dark"] .attendance-chip.status-present{background:rgba(22,163,74,.18);color:#86efac}[data-theme="dark"] .attendance-chip.status-absent{background:rgba(220,38,38,.18);color:#fecaca}[data-theme="dark"] .attendance-chip.status-late{background:rgba(245,158,11,.18);color:#fde68a}[data-theme="dark"] .attendance-chip.status-excused{background:rgba(99,102,241,.2);color:#c7d2fe}
@media(max-width:900px){.import-flow-grid{grid-template-columns:1fr}.filters-grid,.subject-filters,.attendance-filters,.report-filters{grid-template-columns:1fr}.ops-hero,.subjects-redesign-hero,.attendance-redesign-hero,.reports-redesign-hero,.import-redesign-hero,.users-redesign-hero{padding:1.25rem}.table-actions{justify-content:flex-start}.email-view-dialog{width:94vw}}
@media print{.filters-grid,.subject-card-grid,.attendance-status-strip,.dashboard-hero .primary,.table-actions,dialog{display:none!important}.panel,.module-table-panel{box-shadow:none!important;border-color:#111!important}.entity-table th,.entity-table td{color:#111!important;background:#fff!important}}


/* 2026-05 main dashboard redesign: balanced KPI hierarchy, daily attendance, light/dark consistency */
.modern-dashboard-hero{
  align-items:stretch!important;
  gap:clamp(18px,3vw,32px)!important;
  padding:clamp(24px,4vw,38px)!important;
  border-radius:32px!important;
  background:
    radial-gradient(circle at 12% 18%,rgba(20,184,166,.18),transparent 32%),
    radial-gradient(circle at 88% 10%,rgba(37,99,235,.18),transparent 30%),
    linear-gradient(135deg,color-mix(in srgb,var(--brand) 9%,var(--panel-solid)),color-mix(in srgb,var(--brand2) 6%,var(--panel-solid)))!important;
  border:1px solid color-mix(in srgb,var(--brand) 16%,var(--line))!important;
  box-shadow:0 22px 60px rgba(15,23,42,.10)!important;
}
.modern-dashboard-hero h2{font-size:clamp(2rem,4vw,3.6rem)!important;line-height:.98!important;letter-spacing:-.06em!important;margin:.25rem 0 .65rem!important;}
.modern-dashboard-hero p{max-width:760px!important;font-weight:780!important;line-height:1.55!important;color:var(--muted)!important;}
.dashboard-section{margin-top:clamp(18px,3vw,30px)!important;}
.section-heading{display:grid;gap:4px;margin:0 0 14px!important;}
.section-heading h3{margin:0!important;font-size:clamp(1.25rem,2.4vw,1.8rem)!important;letter-spacing:-.045em!important;color:var(--ink)!important;}
.section-heading p{margin:0!important;color:var(--muted)!important;font-weight:760!important;line-height:1.45!important;}
.modern-kpi-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;gap:clamp(14px,2vw,20px)!important;align-items:stretch!important;}
.modern-kpi-card{
  --kpi-a:#2563eb;--kpi-b:#14b8a6;--kpi-soft:rgba(37,99,235,.10);
  position:relative!important;isolation:isolate!important;overflow:hidden!important;
  min-height:172px!important;padding:20px!important;border-radius:28px!important;
  display:grid!important;grid-template-columns:1fr auto!important;grid-template-rows:auto 1fr auto!important;gap:10px!important;
  text-decoration:none!important;color:#fff!important;
  background:linear-gradient(135deg,var(--kpi-a),var(--kpi-b))!important;
  border:1px solid rgba(255,255,255,.24)!important;
  box-shadow:0 20px 44px color-mix(in srgb,var(--kpi-a) 22%,transparent),inset 0 1px 0 rgba(255,255,255,.22)!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}
.modern-kpi-card:before{content:""!important;position:absolute!important;inset:auto -30px -54px auto!important;width:150px!important;height:150px!important;border-radius:999px!important;background:rgba(255,255,255,.18)!important;z-index:-1!important;}
.modern-kpi-card:hover,.modern-kpi-card:focus-visible{transform:translateY(-4px)!important;filter:saturate(1.08)!important;box-shadow:0 26px 58px color-mix(in srgb,var(--kpi-a) 28%,transparent)!important;outline:none!important;}
.modern-kpi-card .kpi-icon{grid-column:2!important;grid-row:1!important;display:grid!important;place-items:center!important;width:48px!important;height:48px!important;border-radius:18px!important;background:rgba(255,255,255,.22)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.26)!important;font-size:1.25rem!important;}
.modern-kpi-card .kpi-label{grid-column:1!important;grid-row:1!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-size:.76rem!important;font-weight:950!important;color:rgba(255,255,255,.84)!important;align-self:center!important;}
.modern-kpi-card strong{grid-column:1/-1!important;grid-row:2!important;font-size:clamp(2rem,4vw,3.3rem)!important;line-height:1!important;letter-spacing:-.07em!important;color:#fff!important;align-self:end!important;overflow-wrap:anywhere!important;}
.modern-kpi-card small{grid-column:1/-1!important;grid-row:3!important;color:rgba(255,255,255,.82)!important;font-weight:820!important;line-height:1.35!important;}
.kpi-schools{--kpi-a:#0f766e;--kpi-b:#2563eb}.kpi-students{--kpi-a:#2563eb;--kpi-b:#7c3aed}.kpi-teachers{--kpi-a:#ea580c;--kpi-b:#dc2626}.kpi-classes{--kpi-a:#16a34a;--kpi-b:#0ea5e9}.kpi-paid{--kpi-a:#059669;--kpi-b:#22c55e}.kpi-balance{--kpi-a:#f59e0b;--kpi-b:#ef4444}.kpi-activity{--kpi-a:#6366f1;--kpi-b:#06b6d4}.kpi-backup{--kpi-a:#0f172a;--kpi-b:#0f766e}
.dashboard-two-column{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)!important;gap:clamp(16px,2.4vw,24px)!important;align-items:stretch!important;}
.dashboard-presence-card,.dashboard-performance-card{border-radius:30px!important;padding:clamp(18px,2.6vw,26px)!important;background:var(--panel-solid)!important;border:1px solid color-mix(in srgb,var(--brand) 14%,var(--line))!important;box-shadow:0 18px 48px rgba(15,23,42,.08)!important;}
.compact-head{align-items:flex-start!important;margin-bottom:16px!important}.compact-head h2{font-size:clamp(1.35rem,2.3vw,2rem)!important;letter-spacing:-.045em!important;margin:.15rem 0!important}.compact-head p{margin:0!important;color:var(--muted)!important;font-weight:760!important;}
.presence-summary{display:grid!important;grid-template-columns:minmax(180px,.8fr) minmax(180px,.7fr)!important;gap:14px!important;margin-bottom:14px!important;}
.presence-rate,.presence-total{padding:18px!important;border-radius:24px!important;background:linear-gradient(135deg,color-mix(in srgb,#14b8a6 12%,var(--panel-solid)),color-mix(in srgb,#2563eb 8%,var(--panel-solid)))!important;border:1px solid color-mix(in srgb,#14b8a6 20%,var(--line))!important;}
.presence-rate strong,.presence-total strong{display:block!important;font-size:clamp(2rem,4vw,3.1rem)!important;line-height:1!important;color:var(--brand-strong,var(--brand))!important;letter-spacing:-.06em!important;}.presence-rate span,.presence-total span{display:block!important;margin-top:6px!important;color:var(--muted)!important;font-weight:850!important;}
.presence-breakdown{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;}
.presence-pill{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:14px!important;border-radius:18px!important;border:1px solid var(--line)!important;background:var(--panel)!important;font-weight:900!important;}
.presence-pill span{color:var(--muted)!important}.presence-pill strong{font-size:1.45rem!important;color:var(--ink)!important}.presence-pill.present{border-color:color-mix(in srgb,#16a34a 24%,var(--line));background:color-mix(in srgb,#16a34a 9%,var(--panel-solid))}.presence-pill.late{border-color:color-mix(in srgb,#f59e0b 28%,var(--line));background:color-mix(in srgb,#f59e0b 10%,var(--panel-solid))}.presence-pill.absent{border-color:color-mix(in srgb,#dc2626 24%,var(--line));background:color-mix(in srgb,#dc2626 8%,var(--panel-solid))}.presence-pill.excused{border-color:color-mix(in srgb,#6366f1 24%,var(--line));background:color-mix(in srgb,#6366f1 8%,var(--panel-solid))}
.performance-grid{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;}.performance-tile{display:grid!important;gap:6px!important;padding:18px!important;border-radius:22px!important;border:1px solid color-mix(in srgb,var(--brand) 15%,var(--line))!important;background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 7%,var(--panel-solid)),var(--panel-solid))!important;text-decoration:none!important;color:var(--ink)!important;}.performance-tile span{text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:950;color:var(--muted)}.performance-tile strong{font-size:clamp(2rem,4vw,2.8rem);line-height:1;letter-spacing:-.06em;color:var(--brand-strong,var(--brand))}.performance-tile small{font-weight:800;color:var(--muted)}
.dashboard-action-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important}.dashboard-action-grid .action-card{border-radius:24px!important;padding:20px!important;min-height:132px!important;background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 5%,var(--panel-solid)),var(--panel-solid))!important;}
.report-archive-cards{align-items:stretch!important}.archive-card{display:grid!important;gap:10px!important}.archive-card-actions{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;margin-top:auto!important}.archive-delete-summary{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;padding:12px!important;border-radius:18px!important;background:color-mix(in srgb,#dc2626 7%,var(--panel-solid))!important;border:1px solid color-mix(in srgb,#dc2626 18%,var(--line))!important}.archive-delete-summary div{min-width:0!important}.archive-delete-summary dt{font-size:.72rem!important;text-transform:uppercase!important;letter-spacing:.07em!important;color:var(--muted)!important;font-weight:950!important}.archive-delete-summary dd{margin:2px 0 0!important;font-weight:850!important;color:var(--ink)!important;overflow-wrap:anywhere!important;}
html[data-theme="dark"] .modern-dashboard-hero{background:radial-gradient(circle at 12% 18%,rgba(45,212,191,.14),transparent 32%),radial-gradient(circle at 88% 10%,rgba(96,165,250,.14),transparent 30%),linear-gradient(135deg,color-mix(in srgb,var(--brand) 13%,var(--panel-solid)),color-mix(in srgb,var(--brand2) 9%,var(--panel-solid)))!important;box-shadow:0 22px 60px rgba(0,0,0,.25)!important}html[data-theme="dark"] .dashboard-presence-card,html[data-theme="dark"] .dashboard-performance-card{box-shadow:0 18px 48px rgba(0,0,0,.24)!important}html[data-theme="dark"] .kpi-backup{--kpi-a:#1e293b;--kpi-b:#0f766e}
@media (max-width:980px){.dashboard-two-column{grid-template-columns:1fr!important}.presence-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:680px){.modern-dashboard-hero{padding:22px!important;border-radius:26px!important}.modern-kpi-grid{grid-template-columns:1fr!important}.modern-kpi-card{min-height:148px!important}.presence-summary{grid-template-columns:1fr!important}.presence-breakdown{grid-template-columns:1fr!important}.presence-pill{padding:13px!important}.archive-delete-summary{grid-template-columns:1fr!important}.archive-card-actions,.archive-card-actions a,.archive-card-actions button{width:100%!important;justify-content:center!important}.dashboard-search .search-shell{grid-template-columns:1fr!important}.dashboard-search .search-shell button{width:100%!important}}
@media (prefers-reduced-motion:reduce){.modern-kpi-card,.dashboard-action-grid .action-card{transition:none!important}.modern-kpi-card:hover,.modern-kpi-card:focus-visible{transform:none!important}}

/* Dashboard money KPI anti-wrap refinement after desktop QA */
.executive-kpi-row .modern-kpi-card strong{font-size:clamp(1.55rem,2.6vw,2.55rem)!important;white-space:nowrap!important;letter-spacing:-.055em!important;}
@media (max-width:680px){.executive-kpi-row .modern-kpi-card strong{white-space:normal!important;overflow-wrap:anywhere!important;}}

/* Dashboard finance card exact fit on 1280px desktop content area */
.executive-kpi-row .modern-kpi-card strong{font-size:clamp(1.32rem,2.05vw,2.1rem)!important;letter-spacing:-.065em!important;}

/* 2026-05 dashboard header light-mode polish: clean branded contrast without changing dark mode */
html:not([data-theme="dark"]) .modern-dashboard-hero{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  align-items:center!important;
  grid-template-columns:minmax(0,1fr) minmax(320px,440px)!important;
  gap:clamp(20px,3vw,36px)!important;
  padding:clamp(26px,4.2vw,44px)!important;
  border-radius:32px!important;
  color:#0b2f50!important;
  background:
    linear-gradient(90deg,rgba(18,60,105,.07),transparent 34%),
    radial-gradient(circle at 10% 18%,rgba(56,189,248,.18),transparent 16rem),
    radial-gradient(circle at 90% 16%,rgba(116,184,67,.14),transparent 17rem),
    linear-gradient(135deg,#ffffff 0%,#f7fcff 52%,#edf8ff 100%)!important;
  border:1px solid rgba(14,165,233,.24)!important;
  box-shadow:0 18px 42px rgba(18,60,105,.10)!important;
}
html:not([data-theme="dark"]) .modern-dashboard-hero:before{
  content:""!important;
  position:absolute!important;
  inset:0 auto 0 0!important;
  width:8px!important;
  background:linear-gradient(180deg,#123c69,#38bdf8 48%,#74b843)!important;
  z-index:0!important;
}
html:not([data-theme="dark"]) .modern-dashboard-hero:after{
  content:""!important;
  position:absolute!important;
  right:-120px!important;
  top:-150px!important;
  width:360px!important;
  height:360px!important;
  border-radius:999px!important;
  background:radial-gradient(circle,rgba(56,189,248,.22),rgba(56,189,248,.06) 58%,transparent 70%)!important;
  pointer-events:none!important;
  z-index:0!important;
}
html:not([data-theme="dark"]) .modern-dashboard-hero > *{position:relative!important;z-index:1!important;}
html:not([data-theme="dark"]) .modern-dashboard-hero .eyebrow{
  display:inline-flex!important;
  width:max-content!important;
  max-width:100%!important;
  align-items:center!important;
  gap:8px!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  color:#075985!important;
  background:#e0f2fe!important;
  border:1px solid #bae6fd!important;
  font-weight:900!important;
  letter-spacing:.055em!important;
}
html:not([data-theme="dark"]) .modern-dashboard-hero .eyebrow:before{
  content:""!important;
  width:8px!important;
  height:8px!important;
  border-radius:999px!important;
  background:#74b843!important;
  box-shadow:0 0 0 4px rgba(116,184,67,.16)!important;
}
html:not([data-theme="dark"]) .modern-dashboard-hero h2{
  display:block!important;
  color:#0b2f50!important;
  text-wrap:balance!important;
  font-size:clamp(2.05rem,4vw,3.45rem)!important;
  line-height:1.02!important;
  letter-spacing:-.055em!important;
  margin:.7rem 0 .65rem!important;
}
html:not([data-theme="dark"]) .modern-dashboard-hero p{
  max-width:760px!important;
  color:#35556f!important;
  font-size:clamp(1rem,1.35vw,1.12rem)!important;
  font-weight:650!important;
  line-height:1.62!important;
  margin:0!important;
}
html:not([data-theme="dark"]) .modern-dashboard-hero .dashboard-search{
  align-self:stretch!important;
  min-width:0!important;
  width:100%!important;
  padding:18px!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.88)!important;
  border:1px solid rgba(14,165,233,.22)!important;
  box-shadow:0 16px 34px rgba(18,60,105,.10)!important;
  backdrop-filter:blur(14px)!important;
}
html:not([data-theme="dark"]) .modern-dashboard-hero .dashboard-search label{
  color:#0b2f50!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
}
html:not([data-theme="dark"]) .modern-dashboard-hero .dashboard-search .search-shell{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  align-items:center!important;
}
html:not([data-theme="dark"]) .modern-dashboard-hero .dashboard-search input#dashboard-q{
  min-width:0!important;
  width:100%!important;
  color:#0b2f50!important;
  background:#f8fcff!important;
  border:1px solid #cfe8f8!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.86)!important;
}
html:not([data-theme="dark"]) .modern-dashboard-hero .dashboard-search input#dashboard-q::placeholder{color:#668198!important;opacity:1!important;}
html:not([data-theme="dark"]) .modern-dashboard-hero .dashboard-search input#dashboard-q:focus{
  border-color:#38bdf8!important;
  box-shadow:0 0 0 4px rgba(56,189,248,.18)!important;
  outline:none!important;
}
html:not([data-theme="dark"]) .modern-dashboard-hero .dashboard-search .primary{
  min-height:44px!important;
  padding-inline:18px!important;
  border-radius:14px!important;
  background:#123c69!important;
  color:#fff!important;
  white-space:nowrap!important;
  width:100%!important;
  justify-content:center!important;
}
html:not([data-theme="dark"]) .modern-dashboard-hero .clear-search{
  display:inline-flex!important;
  margin-top:10px!important;
  color:#075985!important;
  font-weight:850!important;
}
@media (max-width:980px){
  html:not([data-theme="dark"]) .modern-dashboard-hero{grid-template-columns:1fr!important;align-items:stretch!important;}
}
@media (max-width:680px){
  html:not([data-theme="dark"]) .modern-dashboard-hero{padding:22px!important;border-radius:26px!important;gap:18px!important;}
  html:not([data-theme="dark"]) .modern-dashboard-hero h2{font-size:clamp(1.9rem,11vw,2.65rem)!important;}
  html:not([data-theme="dark"]) .modern-dashboard-hero .dashboard-search{padding:16px!important;border-radius:20px!important;}
  html:not([data-theme="dark"]) .modern-dashboard-hero .dashboard-search .search-shell{grid-template-columns:1fr!important;}
  html:not([data-theme="dark"]) .modern-dashboard-hero .dashboard-search .primary{width:100%!important;justify-content:center!important;}
}

/* 20260528 payment forms separated cards */
.payments-forms-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(16px,2vw,24px)!important;
  align-items:stretch!important;
  margin:clamp(18px,2.4vw,28px) 0!important;
}
.payment-form-card{
  position:relative!important;
  overflow:hidden!important;
  min-width:0!important;
  padding:clamp(18px,2.2vw,26px)!important;
  border-radius:24px!important;
  border:1px solid color-mix(in srgb,var(--brand) 18%,var(--line))!important;
  background:
    radial-gradient(circle at 8% 0%,color-mix(in srgb,var(--brand2) 12%,transparent),transparent 34%),
    linear-gradient(145deg,color-mix(in srgb,var(--panel-solid) 96%,#ffffff 4%),color-mix(in srgb,var(--surface) 88%,var(--panel-solid) 12%))!important;
  box-shadow:0 22px 58px rgba(15,23,42,.10)!important;
}
.payment-form-card-secondary{
  border-color:color-mix(in srgb,var(--accent) 22%,var(--line))!important;
  background:
    radial-gradient(circle at 8% 0%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 34%),
    linear-gradient(145deg,color-mix(in srgb,var(--panel-solid) 96%,#ffffff 4%),color-mix(in srgb,var(--surface) 88%,var(--panel-solid) 12%))!important;
}
.payment-form-card .panel-head{
  margin:0 0 18px!important;
  padding:0 0 14px!important;
  border-bottom:1px solid color-mix(in srgb,var(--line) 78%,transparent)!important;
}
.payment-form-card .panel-head h2{margin:.2rem 0 .3rem!important;letter-spacing:-.02em!important}
.payment-form-card .panel-head p{max-width:54ch!important;color:var(--muted)!important}
.payment-form-card .filters-grid{margin:0!important;gap:14px!important;align-items:end!important}
.payment-form-card label{min-width:0!important}
.payment-form-card textarea{min-height:108px!important;resize:vertical!important}
.payment-form-card .actions{grid-column:1/-1!important;justify-content:flex-end!important;margin-top:4px!important}
.payment-form-card .actions button{min-width:190px!important}
html[data-theme="dark"] .payment-form-card{
  background:
    radial-gradient(circle at 8% 0%,color-mix(in srgb,var(--brand2) 18%,transparent),transparent 36%),
    linear-gradient(145deg,color-mix(in srgb,var(--panel-solid) 92%,#ffffff 3%),color-mix(in srgb,var(--surface) 84%,#000 16%))!important;
  border-color:color-mix(in srgb,var(--brand2) 28%,rgba(148,163,184,.24))!important;
  box-shadow:0 24px 64px rgba(0,0,0,.30)!important;
}
html[data-theme="dark"] .payment-form-card-secondary{border-color:color-mix(in srgb,var(--accent) 34%,rgba(148,163,184,.24))!important}
@media(max-width:1040px){
  .payments-forms-grid{grid-template-columns:1fr!important;gap:18px!important}
  .payment-form-card{padding:clamp(16px,4vw,22px)!important}
}
@media(max-width:640px){
  .payment-form-card .filters-grid,.payment-entry-form,.payment-fee-form{grid-template-columns:1fr!important}
  .payment-form-card .span-2{grid-column:auto!important}
  .payment-form-card .actions{justify-content:stretch!important}
  .payment-form-card .actions button{width:100%!important;min-width:0!important}
}

/* 20260529 dashboard matte card design: flat, professional KPI surfaces */
:root{
  --matte-shadow:0 12px 28px rgba(15,23,42,.08);
  --matte-shadow-hover:0 16px 34px rgba(15,23,42,.11);
  --matte-border:color-mix(in srgb,var(--line) 78%,var(--brand) 12%);
}
html[data-theme="dark"]{
  --matte-shadow:0 14px 30px rgba(0,0,0,.28);
  --matte-shadow-hover:0 18px 38px rgba(0,0,0,.34);
  --matte-border:rgba(148,163,184,.24);
}
.modern-kpi-card{
  --kpi-a:#2563eb;
  --kpi-b:#1d4ed8;
  --kpi-bg:color-mix(in srgb,var(--kpi-a) 10%,var(--panel-solid));
  --kpi-border:color-mix(in srgb,var(--kpi-a) 24%,var(--line));
  --kpi-ink:color-mix(in srgb,var(--kpi-a) 72%,#111827);
  color:var(--ink)!important;
  background:var(--kpi-bg)!important;
  background-image:none!important;
  border:1px solid var(--kpi-border)!important;
  box-shadow:var(--matte-shadow)!important;
  min-height:164px!important;
  border-radius:24px!important;
  padding:20px!important;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background-color .16s ease!important;
}
.modern-kpi-card:before,
.modern-kpi-card:after{
  display:none!important;
  content:none!important;
}
.modern-kpi-card:hover,
.modern-kpi-card:focus-visible{
  transform:translateY(-2px)!important;
  filter:none!important;
  background:color-mix(in srgb,var(--kpi-a) 13%,var(--panel-solid))!important;
  border-color:color-mix(in srgb,var(--kpi-a) 36%,var(--line))!important;
  box-shadow:var(--matte-shadow-hover)!important;
  outline:none!important;
}
.modern-kpi-card .kpi-icon{
  color:var(--kpi-ink)!important;
  background:color-mix(in srgb,var(--kpi-a) 14%,var(--panel-solid))!important;
  background-image:none!important;
  border:1px solid color-mix(in srgb,var(--kpi-a) 24%,var(--line))!important;
  box-shadow:none!important;
}
.modern-kpi-card .kpi-label{
  color:color-mix(in srgb,var(--kpi-ink) 86%,var(--muted))!important;
}
.modern-kpi-card strong{
  color:var(--kpi-ink)!important;
  text-shadow:none!important;
}
.modern-kpi-card small{
  color:var(--muted)!important;
}
.kpi-schools{--kpi-a:#0f766e;--kpi-b:#115e59}
.kpi-students{--kpi-a:#2563eb;--kpi-b:#1d4ed8}
.kpi-teachers{--kpi-a:#c2410c;--kpi-b:#9a3412}
.kpi-classes{--kpi-a:#15803d;--kpi-b:#166534}
.kpi-paid{--kpi-a:#047857;--kpi-b:#065f46}
.kpi-balance{--kpi-a:#b45309;--kpi-b:#92400e}
.kpi-activity{--kpi-a:#4f46e5;--kpi-b:#4338ca}
.kpi-backup{--kpi-a:#334155;--kpi-b:#1e293b}
.dashboard-presence-card,
.dashboard-performance-card,
.dashboard-action-grid .action-card,
.presence-rate,
.presence-total,
.performance-tile{
  background:var(--panel-solid)!important;
  background-image:none!important;
  border:1px solid var(--matte-border)!important;
  box-shadow:var(--matte-shadow)!important;
}
.dashboard-presence-card,
.dashboard-performance-card{
  border-radius:28px!important;
}
.presence-rate,
.presence-total{
  background:color-mix(in srgb,#0f766e 7%,var(--panel-solid))!important;
  border-color:color-mix(in srgb,#0f766e 20%,var(--line))!important;
}
.presence-total{
  background:color-mix(in srgb,#2563eb 7%,var(--panel-solid))!important;
  border-color:color-mix(in srgb,#2563eb 20%,var(--line))!important;
}
.presence-rate strong{color:#0f766e!important}
.presence-total strong{color:#1d4ed8!important}
.presence-pill,
.performance-tile,
.dashboard-action-grid .action-card{
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background-color .16s ease!important;
}
.performance-tile{
  background:color-mix(in srgb,var(--brand) 5%,var(--panel-solid))!important;
}
.performance-tile:hover,
.performance-tile:focus-visible,
.dashboard-action-grid .action-card:hover,
.dashboard-action-grid .action-card:focus-visible{
  transform:translateY(-2px)!important;
  border-color:color-mix(in srgb,var(--brand) 26%,var(--line))!important;
  box-shadow:var(--matte-shadow-hover)!important;
  outline:none!important;
}
.presence-pill{
  box-shadow:none!important;
}
.presence-pill.present{background:color-mix(in srgb,#16a34a 8%,var(--panel-solid))!important;border-color:color-mix(in srgb,#16a34a 26%,var(--line))!important}
.presence-pill.late{background:color-mix(in srgb,#d97706 8%,var(--panel-solid))!important;border-color:color-mix(in srgb,#d97706 28%,var(--line))!important}
.presence-pill.absent{background:color-mix(in srgb,#dc2626 7%,var(--panel-solid))!important;border-color:color-mix(in srgb,#dc2626 24%,var(--line))!important}
.presence-pill.excused{background:color-mix(in srgb,#4f46e5 7%,var(--panel-solid))!important;border-color:color-mix(in srgb,#4f46e5 24%,var(--line))!important}
.dashboard-action-grid .action-card h3,
.performance-tile strong{
  color:var(--brand-strong)!important;
}
html[data-theme="dark"] .modern-kpi-card{
  --kpi-bg:color-mix(in srgb,var(--kpi-a) 16%,#0f172a);
  --kpi-border:color-mix(in srgb,var(--kpi-a) 34%,rgba(148,163,184,.22));
  --kpi-ink:color-mix(in srgb,var(--kpi-a) 36%,#f8fafc);
  background:var(--kpi-bg)!important;
  border-color:var(--kpi-border)!important;
}
html[data-theme="dark"] .modern-kpi-card:hover,
html[data-theme="dark"] .modern-kpi-card:focus-visible{
  background:color-mix(in srgb,var(--kpi-a) 20%,#0f172a)!important;
  border-color:color-mix(in srgb,var(--kpi-a) 48%,rgba(148,163,184,.24))!important;
}
html[data-theme="dark"] .modern-kpi-card .kpi-icon{
  background:color-mix(in srgb,var(--kpi-a) 18%,#111827)!important;
  border-color:color-mix(in srgb,var(--kpi-a) 36%,rgba(148,163,184,.20))!important;
  color:var(--kpi-ink)!important;
}
html[data-theme="dark"] .modern-kpi-card .kpi-label,
html[data-theme="dark"] .modern-kpi-card small{color:#d7e4f3!important}
html[data-theme="dark"] .modern-kpi-card .kpi-label{line-height:1.25!important;letter-spacing:.065em!important}
.modern-kpi-card .kpi-label{line-height:1.25!important}
.kpi-teachers{--kpi-a:#b45309;--kpi-b:#92400e}
.kpi-balance{--kpi-a:#a16207;--kpi-b:#854d0e}
html[data-theme="dark"] .modern-kpi-card strong{color:var(--kpi-ink)!important}
html[data-theme="dark"] .dashboard-presence-card,
html[data-theme="dark"] .dashboard-performance-card,
html[data-theme="dark"] .dashboard-action-grid .action-card,
html[data-theme="dark"] .performance-tile{
  background:#0f1b2d!important;
  background-image:none!important;
  border-color:rgba(148,163,184,.22)!important;
}
html[data-theme="dark"] .presence-rate{background:color-mix(in srgb,#14b8a6 13%,#0f1b2d)!important;border-color:color-mix(in srgb,#14b8a6 30%,rgba(148,163,184,.20))!important}
html[data-theme="dark"] .presence-total{background:color-mix(in srgb,#60a5fa 13%,#0f1b2d)!important;border-color:color-mix(in srgb,#60a5fa 30%,rgba(148,163,184,.20))!important}
html[data-theme="dark"] .presence-rate strong{color:#5eead4!important}
html[data-theme="dark"] .presence-total strong{color:#93c5fd!important}
html[data-theme="dark"] .presence-pill.present{background:color-mix(in srgb,#16a34a 14%,#0f1b2d)!important;border-color:color-mix(in srgb,#16a34a 34%,rgba(148,163,184,.18))!important}
html[data-theme="dark"] .presence-pill.late{background:color-mix(in srgb,#d97706 15%,#0f1b2d)!important;border-color:color-mix(in srgb,#d97706 36%,rgba(148,163,184,.18))!important}
html[data-theme="dark"] .presence-pill.absent{background:color-mix(in srgb,#dc2626 13%,#0f1b2d)!important;border-color:color-mix(in srgb,#dc2626 34%,rgba(148,163,184,.18))!important}
html[data-theme="dark"] .presence-pill.excused{background:color-mix(in srgb,#4f46e5 14%,#0f1b2d)!important;border-color:color-mix(in srgb,#4f46e5 34%,rgba(148,163,184,.18))!important}
@media (max-width:680px){
  .modern-kpi-card{min-height:142px!important;border-radius:22px!important;padding:18px!important}
  .modern-kpi-card strong{font-size:clamp(1.8rem,10vw,2.55rem)!important}
}

/* 2026-05 main dashboard v2: matte, organized, responsive */
.dashboard-v2{
  --dash-gap:clamp(16px,2vw,24px);
  --dash-radius:28px;
  --dash-panel:var(--panel-solid,#ffffff);
  --dash-muted:var(--muted,#64748b);
  --dash-border:color-mix(in srgb,var(--brand,#2563eb) 12%,var(--line,#e2e8f0));
  --dash-shadow:0 18px 42px rgba(15,35,65,.08);
  --dash-shadow-hover:0 22px 52px rgba(15,35,65,.12);
  display:grid!important;
  gap:0!important;
  font-feature-settings:"cv01","ss03"!important;
}
.dashboard-v2 .dashboard-section{margin-top:var(--dash-gap)!important;}
.dashboard-v2-hero{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(320px,430px)!important;
  align-items:stretch!important;
  gap:var(--dash-gap)!important;
  padding:clamp(24px,4vw,42px)!important;
  border-radius:34px!important;
  border:1px solid color-mix(in srgb,var(--brand2,#2563eb) 16%,var(--line,#e2e8f0))!important;
  background:
    radial-gradient(circle at 12% 14%,color-mix(in srgb,var(--brand,#0f766e) 13%,transparent),transparent 28%),
    radial-gradient(circle at 88% 8%,color-mix(in srgb,var(--brand2,#2563eb) 12%,transparent),transparent 30%),
    linear-gradient(135deg,color-mix(in srgb,var(--panel-solid,#fff) 92%,#e8f5ff),color-mix(in srgb,var(--panel-solid,#fff) 96%,#ecfdf5))!important;
  box-shadow:var(--dash-shadow)!important;
}
.dashboard-v2-hero:before{
  content:""!important;
  position:absolute!important;
  inset:18px auto 18px 0!important;
  width:6px!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,#0f766e,#2563eb 58%,#f59e0b)!important;
  z-index:0!important;
}
.dashboard-v2-hero>*{position:relative!important;z-index:1!important;}
.dashboard-v2 .dashboard-hero-copy{display:grid!important;align-content:center!important;gap:12px!important;min-width:0!important;}
.dashboard-v2 .dashboard-hero-copy .eyebrow,
.dashboard-v2 .dashboard-section-heading .eyebrow,
.dashboard-v2 .dashboard-panel-head .eyebrow{
  width:max-content!important;
  max-width:100%!important;
  padding:7px 11px!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--brand,#0f766e) 10%,var(--panel-solid,#fff))!important;
  border:1px solid color-mix(in srgb,var(--brand,#0f766e) 18%,var(--line,#e2e8f0))!important;
  color:var(--brand-strong,var(--brand,#0f766e))!important;
  font-size:.72rem!important;
  font-weight:850!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
}
.dashboard-v2-hero h2{
  margin:0!important;
  color:var(--ink,#0f172a)!important;
  font-size:clamp(2.15rem,4.6vw,4.1rem)!important;
  line-height:.96!important;
  letter-spacing:-.07em!important;
  font-weight:760!important;
  text-wrap:balance!important;
}
.dashboard-v2-hero p{margin:0!important;max-width:760px!important;color:var(--dash-muted)!important;font-size:clamp(1rem,1.35vw,1.14rem)!important;font-weight:560!important;line-height:1.62!important;}
.dashboard-hero-pills{display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin-top:4px!important;}
.dashboard-hero-pills span{
  display:inline-flex!important;align-items:center!important;gap:8px!important;
  min-height:34px!important;padding:7px 12px!important;border-radius:999px!important;
  background:color-mix(in srgb,#2563eb 7%,var(--panel-solid,#fff))!important;
  border:1px solid color-mix(in srgb,#2563eb 16%,var(--line,#e2e8f0))!important;
  color:var(--ink,#0f172a)!important;font-weight:720!important;font-size:.88rem!important;
}
.dashboard-v2-hero .dashboard-search{
  align-self:stretch!important;
  min-width:0!important;width:100%!important;
  display:grid!important;align-content:center!important;gap:12px!important;
  padding:20px!important;border-radius:26px!important;
  background:color-mix(in srgb,var(--panel-solid,#fff) 86%,transparent)!important;
  border:1px solid color-mix(in srgb,var(--brand2,#2563eb) 18%,var(--line,#e2e8f0))!important;
  box-shadow:0 14px 34px rgba(15,35,65,.07)!important;
  backdrop-filter:blur(12px)!important;
}
.dashboard-v2-hero .dashboard-search label{color:var(--ink,#0f172a)!important;font-weight:800!important;font-size:1rem!important;}
.dashboard-v2-hero .dashboard-search p{font-size:.9rem!important;line-height:1.45!important;color:var(--dash-muted)!important;}
.dashboard-v2-hero .dashboard-search .search-shell{display:grid!important;grid-template-columns:1fr auto!important;gap:10px!important;align-items:center!important;}
.dashboard-v2-hero #dashboard-q{min-width:0!important;width:100%!important;border-radius:16px!important;padding:13px 14px!important;background:var(--panel-solid,#fff)!important;border:1px solid var(--dash-border)!important;color:var(--ink,#0f172a)!important;}
.dashboard-v2-hero .primary{border-radius:16px!important;min-height:46px!important;padding-inline:18px!important;}
.dashboard-v2 .dashboard-section-heading{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:14px!important;flex-wrap:wrap!important;margin-bottom:14px!important;}
.dashboard-v2 .dashboard-section-heading h3{width:100%!important;margin:0!important;color:var(--ink,#0f172a)!important;font-size:clamp(1.45rem,2.4vw,2rem)!important;font-weight:760!important;letter-spacing:-.055em!important;line-height:1.05!important;}
.dashboard-v2 .dashboard-section-heading p{margin:0!important;color:var(--dash-muted)!important;font-weight:560!important;line-height:1.5!important;max-width:780px!important;}
.dashboard-v2-kpis.modern-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))!important;gap:clamp(14px,1.7vw,20px)!important;}
.dashboard-v2 .modern-kpi-card{
  --kpi-bg:color-mix(in srgb,var(--kpi-a) 8%,var(--panel-solid,#fff));
  --kpi-border:color-mix(in srgb,var(--kpi-a) 24%,var(--line,#e2e8f0));
  --kpi-ink:color-mix(in srgb,var(--kpi-a) 72%,var(--ink,#0f172a));
  min-height:156px!important;
  display:grid!important;grid-template-columns:1fr auto!important;grid-template-rows:auto 1fr auto!important;gap:10px!important;
  padding:20px!important;border-radius:26px!important;
  background:var(--kpi-bg)!important;background-image:none!important;
  border:1px solid var(--kpi-border)!important;
  box-shadow:var(--dash-shadow)!important;
  color:var(--ink,#0f172a)!important;text-shadow:none!important;
  text-decoration:none!important;overflow:hidden!important;isolation:isolate!important;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background-color .16s ease!important;
}
.dashboard-v2 .modern-kpi-card:before{content:""!important;position:absolute!important;inset:0 auto 0 0!important;width:5px!important;background:var(--kpi-a)!important;border-radius:999px 0 0 999px!important;opacity:.9!important;z-index:0!important;}
.dashboard-v2 .modern-kpi-card:hover,.dashboard-v2 .modern-kpi-card:focus-visible{transform:translateY(-3px)!important;box-shadow:var(--dash-shadow-hover)!important;border-color:color-mix(in srgb,var(--kpi-a) 38%,var(--line,#e2e8f0))!important;outline:none!important;filter:none!important;}
.dashboard-v2 .modern-kpi-card .kpi-icon{grid-column:2!important;grid-row:1!important;width:44px!important;height:44px!important;border-radius:16px!important;display:grid!important;place-items:center!important;background:color-mix(in srgb,var(--kpi-a) 13%,var(--panel-solid,#fff))!important;border:1px solid color-mix(in srgb,var(--kpi-a) 22%,var(--line,#e2e8f0))!important;color:var(--kpi-ink)!important;box-shadow:none!important;font-size:1.17rem!important;}
.dashboard-v2 .modern-kpi-card .kpi-label{grid-column:1!important;grid-row:1!important;align-self:center!important;color:var(--dash-muted)!important;text-transform:uppercase!important;letter-spacing:.075em!important;font-weight:850!important;font-size:.73rem!important;line-height:1.2!important;}
.dashboard-v2 .modern-kpi-card strong{grid-column:1/-1!important;grid-row:2!important;align-self:end!important;color:var(--kpi-ink)!important;font-size:clamp(2rem,3.8vw,3.05rem)!important;line-height:.95!important;letter-spacing:-.065em!important;font-weight:760!important;overflow-wrap:anywhere!important;}
.dashboard-v2 .modern-kpi-card small{grid-column:1/-1!important;grid-row:3!important;color:var(--dash-muted)!important;font-weight:620!important;line-height:1.35!important;}
.dashboard-v2 .executive-kpi-row .modern-kpi-card strong{font-size:clamp(1.55rem,2.1vw,2.2rem)!important;white-space:normal!important;}
.dashboard-v2 .dashboard-insight-grid{grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr)!important;gap:var(--dash-gap)!important;align-items:stretch!important;}
.dashboard-v2-panel{border-radius:30px!important;padding:clamp(18px,2.3vw,26px)!important;background:var(--dash-panel)!important;background-image:none!important;border:1px solid var(--dash-border)!important;box-shadow:var(--dash-shadow)!important;}
.dashboard-v2 .dashboard-panel-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important;margin-bottom:18px!important;}
.dashboard-v2 .dashboard-panel-head h2{margin:7px 0 5px!important;color:var(--ink,#0f172a)!important;font-size:clamp(1.42rem,2.35vw,2.05rem)!important;font-weight:760!important;letter-spacing:-.055em!important;line-height:1.05!important;}
.dashboard-v2 .dashboard-panel-head p{margin:0!important;color:var(--dash-muted)!important;font-weight:560!important;line-height:1.5!important;}
.dashboard-v2 .dashboard-panel-head .ghost{border-radius:999px!important;white-space:nowrap!important;}
.dashboard-v2 .dashboard-presence-summary{display:grid!important;grid-template-columns:1.15fr .85fr!important;gap:14px!important;margin-bottom:14px!important;}
.dashboard-v2 .presence-rate,.dashboard-v2 .presence-total{display:grid!important;gap:8px!important;padding:18px!important;border-radius:24px!important;background:color-mix(in srgb,#0f766e 7%,var(--panel-solid,#fff))!important;border:1px solid color-mix(in srgb,#0f766e 22%,var(--line,#e2e8f0))!important;box-shadow:none!important;}
.dashboard-v2 .presence-total{background:color-mix(in srgb,#2563eb 7%,var(--panel-solid,#fff))!important;border-color:color-mix(in srgb,#2563eb 22%,var(--line,#e2e8f0))!important;}
.dashboard-v2 .presence-rate span,.dashboard-v2 .presence-total span{order:1!important;margin:0!important;color:var(--dash-muted)!important;text-transform:uppercase!important;letter-spacing:.07em!important;font-size:.73rem!important;font-weight:850!important;}
.dashboard-v2 .presence-rate strong,.dashboard-v2 .presence-total strong{order:2!important;color:#0f766e!important;font-size:clamp(2.1rem,4vw,3.15rem)!important;line-height:.95!important;letter-spacing:-.065em!important;font-weight:760!important;}
.dashboard-v2 .presence-total strong{color:#1d4ed8!important;}
.dashboard-v2 .presence-rate small,.dashboard-v2 .presence-total small{order:3!important;color:var(--dash-muted)!important;font-weight:560!important;line-height:1.35!important;}
.dashboard-v2 .presence-breakdown{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;}
.dashboard-v2 .presence-pill{display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;gap:8px!important;padding:14px!important;border-radius:18px!important;background:var(--panel-solid,#fff)!important;border:1px solid var(--dash-border)!important;box-shadow:none!important;font-weight:720!important;}
.dashboard-v2 .presence-pill span{color:var(--dash-muted)!important;font-size:.86rem!important;}
.dashboard-v2 .presence-pill strong{color:var(--ink,#0f172a)!important;font-size:1.38rem!important;line-height:1!important;font-weight:760!important;}
.dashboard-v2 .presence-pill.present{background:color-mix(in srgb,#16a34a 7%,var(--panel-solid,#fff))!important;border-color:color-mix(in srgb,#16a34a 24%,var(--line,#e2e8f0))!important;}
.dashboard-v2 .presence-pill.late{background:color-mix(in srgb,#d97706 7%,var(--panel-solid,#fff))!important;border-color:color-mix(in srgb,#d97706 25%,var(--line,#e2e8f0))!important;}
.dashboard-v2 .presence-pill.absent{background:color-mix(in srgb,#dc2626 6%,var(--panel-solid,#fff))!important;border-color:color-mix(in srgb,#dc2626 22%,var(--line,#e2e8f0))!important;}
.dashboard-v2 .presence-pill.excused{background:color-mix(in srgb,#4f46e5 6%,var(--panel-solid,#fff))!important;border-color:color-mix(in srgb,#4f46e5 22%,var(--line,#e2e8f0))!important;}
.dashboard-v2 .dashboard-performance-grid{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;}
.dashboard-v2 .performance-tile{display:grid!important;gap:8px!important;padding:18px!important;min-height:132px!important;border-radius:22px!important;background:color-mix(in srgb,var(--brand2,#2563eb) 6%,var(--panel-solid,#fff))!important;background-image:none!important;border:1px solid color-mix(in srgb,var(--brand2,#2563eb) 18%,var(--line,#e2e8f0))!important;color:var(--ink,#0f172a)!important;text-decoration:none!important;box-shadow:none!important;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease!important;}
.dashboard-v2 .performance-tile:hover,.dashboard-v2 .performance-tile:focus-visible{transform:translateY(-2px)!important;box-shadow:var(--dash-shadow-hover)!important;outline:none!important;}
.dashboard-v2 .performance-tile span{text-transform:uppercase!important;letter-spacing:.07em!important;font-size:.73rem!important;font-weight:850!important;color:var(--dash-muted)!important;}
.dashboard-v2 .performance-tile strong{font-size:clamp(2rem,3.4vw,2.75rem)!important;line-height:.95!important;letter-spacing:-.065em!important;color:var(--brand-strong,var(--brand,#0f766e))!important;font-weight:760!important;}
.dashboard-v2 .performance-tile small{font-weight:560!important;line-height:1.35!important;color:var(--dash-muted)!important;}
.dashboard-v2 .dashboard-search-results{margin-top:var(--dash-gap)!important;}
html[data-theme="dark"] .dashboard-v2{--dash-panel:#0f1b2d;--dash-muted:#c2d2e5;--dash-border:rgba(148,163,184,.22);--dash-shadow:0 18px 42px rgba(0,0,0,.24);--dash-shadow-hover:0 22px 52px rgba(0,0,0,.34);}
html[data-theme="dark"] .dashboard-v2-hero{background:radial-gradient(circle at 12% 14%,rgba(45,212,191,.12),transparent 28%),radial-gradient(circle at 88% 8%,rgba(96,165,250,.12),transparent 30%),linear-gradient(135deg,#0f1b2d,#0b1625)!important;border-color:rgba(148,163,184,.22)!important;}
html[data-theme="dark"] .dashboard-v2 .dashboard-hero-copy .eyebrow,
html[data-theme="dark"] .dashboard-v2 .dashboard-section-heading .eyebrow,
html[data-theme="dark"] .dashboard-v2 .dashboard-panel-head .eyebrow{background:rgba(45,212,191,.10)!important;border-color:rgba(45,212,191,.22)!important;color:#8df6e9!important;}
html[data-theme="dark"] .dashboard-v2-hero h2,
html[data-theme="dark"] .dashboard-v2 .dashboard-section-heading h3,
html[data-theme="dark"] .dashboard-v2 .dashboard-panel-head h2{color:#f8fafc!important;}
html[data-theme="dark"] .dashboard-v2-hero .dashboard-search,
html[data-theme="dark"] .dashboard-v2-panel{background:#0f1b2d!important;border-color:rgba(148,163,184,.22)!important;}
html[data-theme="dark"] .dashboard-hero-pills span{background:rgba(96,165,250,.10)!important;border-color:rgba(96,165,250,.24)!important;color:#e5f1ff!important;}
html[data-theme="dark"] .dashboard-v2 .modern-kpi-card{--kpi-bg:color-mix(in srgb,var(--kpi-a) 14%,#0f1b2d);--kpi-border:color-mix(in srgb,var(--kpi-a) 32%,rgba(148,163,184,.22));--kpi-ink:color-mix(in srgb,var(--kpi-a) 34%,#f8fafc);background:var(--kpi-bg)!important;border-color:var(--kpi-border)!important;color:#f8fafc!important;}
html[data-theme="dark"] .dashboard-v2 .modern-kpi-card .kpi-icon{background:color-mix(in srgb,var(--kpi-a) 18%,#111827)!important;border-color:color-mix(in srgb,var(--kpi-a) 36%,rgba(148,163,184,.20))!important;color:var(--kpi-ink)!important;}
html[data-theme="dark"] .dashboard-v2 .modern-kpi-card .kpi-label,
html[data-theme="dark"] .dashboard-v2 .modern-kpi-card small{color:#cbd9ea!important;}
html[data-theme="dark"] .dashboard-v2 .presence-rate{background:color-mix(in srgb,#14b8a6 13%,#0f1b2d)!important;border-color:color-mix(in srgb,#14b8a6 30%,rgba(148,163,184,.20))!important;}
html[data-theme="dark"] .dashboard-v2 .presence-total{background:color-mix(in srgb,#60a5fa 13%,#0f1b2d)!important;border-color:color-mix(in srgb,#60a5fa 30%,rgba(148,163,184,.20))!important;}
html[data-theme="dark"] .dashboard-v2 .presence-rate strong{color:#5eead4!important}html[data-theme="dark"] .dashboard-v2 .presence-total strong{color:#93c5fd!important}
html[data-theme="dark"] .dashboard-v2 .presence-pill,html[data-theme="dark"] .dashboard-v2 .performance-tile{background:#111f33!important;border-color:rgba(148,163,184,.20)!important;}
html[data-theme="dark"] .dashboard-v2 .presence-pill.present{background:color-mix(in srgb,#16a34a 14%,#0f1b2d)!important;border-color:color-mix(in srgb,#16a34a 34%,rgba(148,163,184,.18))!important}
html[data-theme="dark"] .dashboard-v2 .presence-pill.late{background:color-mix(in srgb,#d97706 15%,#0f1b2d)!important;border-color:color-mix(in srgb,#d97706 36%,rgba(148,163,184,.18))!important}
html[data-theme="dark"] .dashboard-v2 .presence-pill.absent{background:color-mix(in srgb,#dc2626 13%,#0f1b2d)!important;border-color:color-mix(in srgb,#dc2626 34%,rgba(148,163,184,.18))!important}
html[data-theme="dark"] .dashboard-v2 .presence-pill.excused{background:color-mix(in srgb,#4f46e5 14%,#0f1b2d)!important;border-color:color-mix(in srgb,#4f46e5 34%,rgba(148,163,184,.18))!important}
html[data-theme="dark"] .dashboard-v2 .presence-pill strong{color:#f8fafc!important;}
@media (max-width:1100px){.dashboard-v2-hero{grid-template-columns:1fr!important}.dashboard-v2 .dashboard-insight-grid{grid-template-columns:1fr!important}.dashboard-v2 .dashboard-performance-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media (max-width:780px){.dashboard-v2-hero{padding:22px!important;border-radius:28px!important}.dashboard-v2 .dashboard-section-heading{display:grid!important}.dashboard-v2 .dashboard-presence-summary{grid-template-columns:1fr!important}.dashboard-v2 .presence-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dashboard-v2 .dashboard-panel-head{display:grid!important}.dashboard-v2 .dashboard-panel-head .ghost{width:max-content!important}.dashboard-v2 .dashboard-performance-grid{grid-template-columns:1fr!important}.dashboard-v2-hero .dashboard-search .search-shell{grid-template-columns:1fr!important}.dashboard-v2-hero .dashboard-search .primary{width:100%!important;}}
@media (max-width:520px){.dashboard-v2{--dash-gap:14px}.dashboard-v2 .modern-kpi-card{min-height:140px!important;border-radius:22px!important;padding:18px!important}.dashboard-v2 .presence-breakdown{grid-template-columns:1fr!important}.dashboard-v2-panel{border-radius:24px!important;padding:16px!important}.dashboard-hero-pills span{width:100%!important;justify-content:center!important}.dashboard-v2-hero h2{font-size:clamp(2rem,14vw,3.2rem)!important}}
@media (prefers-reduced-motion:reduce){.dashboard-v2 .modern-kpi-card,.dashboard-v2 .performance-tile{transition:none!important}.dashboard-v2 .modern-kpi-card:hover,.dashboard-v2 .performance-tile:hover{transform:none!important}}

/* Dashboard v2 desktop QA refinements: balance rows and tighten vertical rhythm */
@media (min-width:1181px){
  .dashboard-v2 .primary-kpis.dashboard-v2-kpis,
  .dashboard-v2 .executive-kpi-row.dashboard-v2-kpis{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}
.dashboard-v2-hero{
  padding:clamp(22px,3.2vw,34px)!important;
}
.dashboard-v2-hero h2{
  font-size:clamp(2rem,4.1vw,3.55rem)!important;
}
.dashboard-v2 .dashboard-insight-grid{
  align-items:start!important;
}
.dashboard-v2 .dashboard-presence-summary{
  margin-bottom:12px!important;
}
.dashboard-v2 .presence-breakdown{
  gap:10px!important;
}
.dashboard-v2 .presence-pill{
  min-height:58px!important;
}
.dashboard-v2 .dashboard-performance-grid{
  align-content:start!important;
}
.dashboard-v2 .performance-tile{
  min-height:118px!important;
}
@media (max-width:1180px){
  .dashboard-v2 .primary-kpis.dashboard-v2-kpis,
  .dashboard-v2 .executive-kpi-row.dashboard-v2-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:680px){
  .dashboard-v2 .primary-kpis.dashboard-v2-kpis,
  .dashboard-v2 .executive-kpi-row.dashboard-v2-kpis{
    grid-template-columns:1fr!important;
  }
}


/* 2026-05 Écoles dashboard: 3x3 paginated school directory */
.schools-directory-head{
  align-items:flex-start!important;
  gap:14px!important;
}
.schools-page-summary{
  white-space:nowrap!important;
  margin-top:2px!important;
}
.schools-paginated-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(16px,1.8vw,24px)!important;
  align-items:stretch!important;
}
.schools-paginated-grid .school-directory-card{
  min-height:220px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  gap:14px!important;
}
.schools-paginated-grid .school-metrics-row{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  width:100%!important;
  margin-top:auto!important;
}
.schools-paginated-grid .school-metric-link{
  display:grid!important;
  place-items:center!important;
  gap:2px!important;
  min-width:0!important;
  min-height:62px!important;
  padding:9px 6px!important;
  border-radius:16px!important;
  text-align:center!important;
}
.schools-paginated-grid .school-metric-link strong{
  font-size:1.05rem!important;
  line-height:1!important;
  color:var(--ink)!important;
}
.schools-paginated-grid .school-metric-link span{
  display:block!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--muted)!important;
  font-size:.74rem!important;
  font-weight:850!important;
  line-height:1.1!important;
  white-space:normal!important;
}
.schools-card-pagination{
  margin:20px 0 0!important;
}
.schools-card-pagination .pagination-buttons a,
.schools-card-pagination .pagination-pages a{
  text-decoration:none!important;
}
.schools-card-pagination .is-disabled{
  pointer-events:none!important;
  opacity:.48!important;
  cursor:not-allowed!important;
}
.schools-card-pagination .pagination-ellipsis{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:28px!important;
  color:var(--muted)!important;
  font-weight:900!important;
}
html[data-theme="dark"] .schools-paginated-grid .school-metric-link strong{
  color:#f8fafc!important;
}
html[data-theme="dark"] .schools-paginated-grid .school-metric-link span{
  color:#cbd5e1!important;
}
@media (max-width:1180px){
  .schools-paginated-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:720px){
  .schools-directory-head{
    flex-direction:column!important;
  }
  .schools-paginated-grid{
    grid-template-columns:1fr!important;
  }
  .schools-card-pagination{
    display:grid!important;
    grid-template-columns:1fr!important;
    justify-items:stretch!important;
  }
  .schools-card-pagination .pagination-buttons{
    width:100%!important;
    justify-content:space-between!important;
  }
  .schools-card-pagination .pagination-pages{
    order:3!important;
    width:100%!important;
    justify-content:center!important;
  }
}
@media (max-width:460px){
  .schools-paginated-grid .school-metrics-row{
    grid-template-columns:1fr!important;
  }
  .schools-paginated-grid .school-metric-link{
    min-height:48px!important;
    grid-template-columns:auto 1fr!important;
    place-items:center start!important;
    text-align:left!important;
    padding:10px 12px!important;
  }
}


/* 2026-05 Dashboard v3: polished executive cockpit */
.dashboard-v3{
  --dash-blue:#2563eb;
  --dash-red:#dc2626;
  --dash-indigo:#7c3aed;
  --dash-teal:#0f766e;
  --dash-amber:#f59e0b;
  --dash-ink:var(--ink,var(--text,#0f172a));
  --dash-muted:var(--muted,#64748b);
  display:grid;
  gap:clamp(18px,2.2vw,28px);
}
.dashboard-v3 a{text-decoration:none!important}
.dashboard-v3-hero{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);
  gap:clamp(18px,2.5vw,34px);
  align-items:stretch;
  padding:clamp(22px,3.4vw,42px)!important;
  border:1px solid color-mix(in srgb,var(--brand) 22%,var(--line));
  border-radius:34px;
  color:#fff!important;
  background:
    radial-gradient(circle at 12% 18%,rgba(255,255,255,.28),transparent 13rem),
    radial-gradient(circle at 88% 10%,rgba(59,130,246,.45),transparent 17rem),
    radial-gradient(circle at 82% 86%,rgba(239,68,68,.38),transparent 18rem),
    linear-gradient(135deg,#062a5f 0%,#0f766e 45%,#173ca3 100%)!important;
  box-shadow:0 28px 80px rgba(15,23,42,.22);
}
.dashboard-v3-hero:before{content:"";position:absolute;inset:auto -90px -120px auto;width:330px;height:330px;border-radius:999px;background:rgba(255,255,255,.13);filter:blur(1px)}
.dashboard-v3-hero:after{content:"";position:absolute;inset:18px;pointer-events:none;border-radius:28px;border:1px solid rgba(255,255,255,.16)}
.dashboard-v3-hero-copy,.dashboard-v3-search{position:relative;z-index:1}
.dashboard-v3-eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:8px;color:inherit!important;opacity:.86;font-size:.75rem;font-weight:950;letter-spacing:.13em;text-transform:uppercase}
.dashboard-v3-hero h2{margin:0;color:#fff!important;font-size:clamp(2.2rem,5vw,4.8rem);line-height:.9;letter-spacing:-.08em;font-weight:950;text-transform:none!important}
.dashboard-v3-hero p{max-width:760px;margin:16px 0 0;color:rgba(255,255,255,.86)!important;font-size:clamp(1rem,1.45vw,1.17rem);line-height:1.65}
.dashboard-v3-hero-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.dashboard-v3-hero-pills span{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:9px 13px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.13);backdrop-filter:blur(12px);color:#fff!important;font-weight:850;box-shadow:inset 0 1px 0 rgba(255,255,255,.16)}
.dashboard-v3-hero-pills strong{color:#fff!important;font-size:1.05rem}
.dashboard-v3-search{align-self:center;padding:20px;border-radius:28px;background:rgba(255,255,255,.16)!important;border:1px solid rgba(255,255,255,.22)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 18px 48px rgba(2,6,23,.18)!important;backdrop-filter:blur(18px)}
.dashboard-v3-search label{display:block;color:#fff!important;font-weight:950;letter-spacing:-.03em;font-size:1.05rem}.dashboard-v3-search p{margin:5px 0 14px!important;font-size:.9rem!important;color:rgba(255,255,255,.78)!important}.dashboard-v3-search-row{display:grid;grid-template-columns:1fr auto;gap:10px}.dashboard-v3-search input{width:100%;min-width:0;border:1px solid rgba(255,255,255,.28)!important;border-radius:16px!important;background:rgba(255,255,255,.93)!important;color:#0f172a!important;padding:12px 14px!important;font-weight:750}.dashboard-v3-search input::placeholder{color:#64748b!important}.dashboard-v3-clear{display:inline-block;margin-top:10px;color:#fff!important;font-weight:850;text-decoration:underline!important;text-underline-offset:4px}
.dashboard-v3-section,.dashboard-v3-feature-card{border:1px solid color-mix(in srgb,var(--brand) 12%,var(--line));border-radius:30px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel-solid) 98%,#fff),color-mix(in srgb,var(--panel-solid) 94%,var(--brand) 4%));box-shadow:0 18px 52px rgba(15,23,42,.10);padding:clamp(18px,2.4vw,28px)}
.dashboard-v3-section-head,.dashboard-v3-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.dashboard-v3-section-head h3,.dashboard-v3-card-head h3{margin:0;color:var(--dash-ink)!important;font-size:clamp(1.25rem,2vw,1.75rem);letter-spacing:-.055em;font-weight:950}.dashboard-v3-section-head p,.dashboard-v3-card-head p{margin:5px 0 0;color:var(--dash-muted)!important;line-height:1.55}.dashboard-v3-section .dashboard-v3-eyebrow,.dashboard-v3-feature-card .dashboard-v3-eyebrow{color:var(--brand-strong,var(--brand))!important;opacity:1}
.dashboard-v3-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.6vw,20px)}
.dashboard-v3-kpi{position:relative;overflow:hidden;display:grid;gap:8px;min-height:188px;padding:22px;border-radius:28px;border:1px solid color-mix(in srgb,var(--kpi-color) 18%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--kpi-color) 10%,var(--panel-solid)),color-mix(in srgb,#fff 74%,var(--kpi-color) 8%));box-shadow:0 18px 44px color-mix(in srgb,var(--kpi-color) 18%,transparent);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;color:var(--dash-ink)!important}.dashboard-v3-kpi:before{content:"";position:absolute;right:-42px;top:-42px;width:130px;height:130px;border-radius:40px;background:linear-gradient(135deg,color-mix(in srgb,var(--kpi-color) 34%,transparent),transparent);transform:rotate(18deg)}.dashboard-v3-kpi:hover,.dashboard-v3-kpi:focus-visible{transform:translateY(-4px);box-shadow:0 28px 64px color-mix(in srgb,var(--kpi-color) 22%,transparent);outline:none;border-color:color-mix(in srgb,var(--kpi-color) 38%,var(--line))}.kpi-tone-blue{--kpi-color:var(--dash-blue)}.kpi-tone-red{--kpi-color:var(--dash-red)}.kpi-tone-indigo{--kpi-color:var(--dash-indigo)}.kpi-tone-teal{--kpi-color:var(--dash-teal)}.dashboard-v3-kpi .kpi-mark{position:relative;z-index:1;display:grid;place-items:center;width:48px;height:48px;border-radius:18px;background:color-mix(in srgb,var(--kpi-color) 14%,#fff);font-size:1.3rem}.dashboard-v3-kpi .kpi-label{position:relative;z-index:1;color:color-mix(in srgb,var(--kpi-color) 78%,var(--dash-ink));font-size:.76rem;font-weight:950;text-transform:uppercase;letter-spacing:.1em}.dashboard-v3-kpi strong{position:relative;z-index:1;color:var(--dash-ink)!important;font-size:clamp(2rem,4vw,3.2rem);line-height:.9;letter-spacing:-.075em;font-weight:950}.dashboard-v3-kpi small{position:relative;z-index:1;color:var(--dash-muted)!important;font-weight:800;line-height:1.35}
.dashboard-v3-insights{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:clamp(16px,2vw,24px)}
.attendance-feature{background:radial-gradient(circle at 95% 0%,color-mix(in srgb,var(--dash-teal) 18%,transparent),transparent 16rem),linear-gradient(180deg,var(--panel-solid),color-mix(in srgb,var(--panel-solid) 92%,var(--dash-teal) 8%))}.academic-feature{background:radial-gradient(circle at 95% 0%,color-mix(in srgb,var(--dash-indigo) 18%,transparent),transparent 16rem),linear-gradient(180deg,var(--panel-solid),color-mix(in srgb,var(--panel-solid) 93%,var(--dash-indigo) 7%))}
.attendance-hero-stat{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:center;margin:8px 0 18px}.dashboard-v3-ring{--value:0;display:grid;place-items:center;align-content:center;width:154px;height:154px;border-radius:999px;background:radial-gradient(circle at center,var(--panel-solid) 58%,transparent 59%),conic-gradient(var(--dash-teal) calc(var(--value)*1%),color-mix(in srgb,var(--dash-teal) 12%,var(--line)) 0);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--dash-teal) 14%,var(--line)),0 20px 40px rgba(15,118,110,.15)}.dashboard-v3-ring strong{color:var(--dash-ink)!important;font-size:1.75rem;line-height:1;font-weight:950;letter-spacing:-.06em}.dashboard-v3-ring span{color:var(--dash-muted)!important;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.attendance-total-copy span,.dashboard-v3-wide-metric span,.dashboard-v3-op-card span{color:var(--dash-muted)!important;font-size:.78rem;font-weight:950;text-transform:uppercase;letter-spacing:.09em}.attendance-total-copy strong{display:block;margin-top:4px;color:var(--dash-ink)!important;font-size:clamp(2.2rem,5vw,3.8rem);line-height:.92;letter-spacing:-.08em;font-weight:950}.attendance-total-copy small{color:var(--dash-muted)!important;font-weight:800}.dashboard-v3-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.status-chip{padding:14px;border-radius:20px;border:1px solid color-mix(in srgb,var(--status-color) 20%,var(--line));background:color-mix(in srgb,var(--status-color) 9%,var(--panel-solid));box-shadow:0 12px 28px color-mix(in srgb,var(--status-color) 12%,transparent)}.status-chip.present{--status-color:#16a34a}.status-chip.late{--status-color:#f59e0b}.status-chip.absent{--status-color:#dc2626}.status-chip.excused{--status-color:#2563eb}.status-chip span{display:block;color:var(--dash-muted)!important;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.status-chip strong{display:block;margin-top:4px;color:var(--dash-ink)!important;font-size:1.55rem;font-weight:950;line-height:1}
.dashboard-v3-metric-stack{display:grid;gap:14px}.dashboard-v3-wide-metric{display:grid;gap:8px;padding:18px;border-radius:22px;background:rgba(255,255,255,.68);border:1px solid color-mix(in srgb,var(--dash-indigo) 14%,var(--line));color:var(--dash-ink)!important;transition:transform .18s ease,box-shadow .18s ease}.dashboard-v3-wide-metric:hover,.dashboard-v3-wide-metric:focus-visible{transform:translateY(-2px);box-shadow:0 18px 36px rgba(124,58,237,.14);outline:none}.dashboard-v3-wide-metric strong{color:var(--dash-ink)!important;font-size:clamp(2rem,4vw,3.1rem);line-height:.9;font-weight:950;letter-spacing:-.075em}.dashboard-v3-wide-metric small{color:var(--dash-muted)!important;font-weight:800;line-height:1.35}.dashboard-v3-ops-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.6vw,20px)}.dashboard-v3-op-card{position:relative;overflow:hidden;display:grid;gap:8px;min-height:150px;padding:20px;border-radius:24px;border:1px solid color-mix(in srgb,var(--op-color) 18%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--op-color) 10%,var(--panel-solid)),var(--panel-solid));color:var(--dash-ink)!important;box-shadow:0 16px 38px color-mix(in srgb,var(--op-color) 14%,transparent);transition:transform .18s ease,box-shadow .18s ease}.dashboard-v3-op-card:after{content:"";position:absolute;right:-36px;bottom:-48px;width:120px;height:120px;border-radius:999px;background:color-mix(in srgb,var(--op-color) 16%,transparent)}.dashboard-v3-op-card:hover,.dashboard-v3-op-card:focus-visible{transform:translateY(-3px);box-shadow:0 24px 54px color-mix(in srgb,var(--op-color) 20%,transparent);outline:none}.dashboard-v3-op-card strong{position:relative;z-index:1;color:var(--dash-ink)!important;font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.08;letter-spacing:-.055em;font-weight:950;overflow-wrap:anywhere}.dashboard-v3-op-card small{position:relative;z-index:1;color:var(--dash-muted)!important;font-weight:800}.op-paid{--op-color:#16a34a}.op-balance{--op-color:#dc2626}.op-activity{--op-color:#2563eb}.op-backup{--op-color:#7c3aed}
html[data-theme="dark"] .dashboard-v3{--dash-ink:#f8fafc;--dash-muted:#cbd5e1}html[data-theme="dark"] .dashboard-v3-section,html[data-theme="dark"] .dashboard-v3-feature-card{background:linear-gradient(180deg,rgba(15,23,42,.92),rgba(15,23,42,.76));border-color:rgba(148,163,184,.18);box-shadow:0 18px 52px rgba(0,0,0,.28)}html[data-theme="dark"] .dashboard-v3-kpi,html[data-theme="dark"] .dashboard-v3-op-card{background:linear-gradient(145deg,color-mix(in srgb,var(--kpi-color,var(--op-color)) 18%,rgba(15,23,42,.92)),rgba(15,23,42,.72));border-color:color-mix(in srgb,var(--kpi-color,var(--op-color)) 28%,rgba(148,163,184,.20))}html[data-theme="dark"] .dashboard-v3-wide-metric{background:rgba(15,23,42,.62);border-color:rgba(148,163,184,.18)}html[data-theme="dark"] .dashboard-v3-ring{background:radial-gradient(circle at center,#0f172a 58%,transparent 59%),conic-gradient(var(--dash-teal) calc(var(--value)*1%),rgba(148,163,184,.18) 0)}html[data-theme="dark"] .dashboard-v3-search input{background:rgba(15,23,42,.92)!important;color:#f8fafc!important;border-color:rgba(255,255,255,.24)!important}html[data-theme="dark"] .dashboard-v3-search input::placeholder{color:#94a3b8!important}
@media (min-width:1181px){.dashboard-v3-kpi-grid.has-three,.dashboard-v3-ops-grid.has-three{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1180px){.dashboard-v3-hero,.dashboard-v3-insights{grid-template-columns:1fr}.dashboard-v3-kpi-grid,.dashboard-v3-ops-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-v3-search{align-self:stretch}.dashboard-v3-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){.dashboard-v3{gap:16px}.dashboard-v3-hero,.dashboard-v3-section,.dashboard-v3-feature-card{border-radius:24px;padding:18px!important}.dashboard-v3-hero h2{font-size:clamp(2rem,13vw,3.2rem)}.dashboard-v3-search-row{grid-template-columns:1fr}.dashboard-v3-kpi-grid,.dashboard-v3-ops-grid,.dashboard-v3-status-grid{grid-template-columns:1fr}.attendance-hero-stat{grid-template-columns:1fr;justify-items:start}.dashboard-v3-ring{width:132px;height:132px}.dashboard-v3-card-head,.dashboard-v3-section-head{flex-direction:column}.dashboard-v3-kpi{min-height:150px}.dashboard-v3-op-card{min-height:132px}}
@media (max-width:420px){.dashboard-v3-hero-pills span{width:100%;justify-content:space-between}.dashboard-v3-kpi,.dashboard-v3-op-card{padding:17px;border-radius:22px}.dashboard-v3-status-grid{gap:8px}}


/* Production readiness polish: dashboard search/readability/accessibility overrides */
.dashboard-v3 .dashboard-v3-search{
  min-width:min(100%, 420px);
}
.dashboard-v3 .dashboard-v3-search-row{
  grid-template-columns:minmax(240px, 1fr) auto;
  align-items:center;
}
.dashboard-v3 .dashboard-v3-search input{
  min-height:48px;
  font-size:.95rem!important;
  text-overflow:ellipsis;
}
.dashboard-v3 .dashboard-v3-search .primary{
  min-height:48px;
  white-space:nowrap;
  padding-inline:16px!important;
}
.dashboard-v3 .dashboard-v3-kpi p,
.dashboard-v3 .dashboard-v3-op-card p,
.dashboard-v3 .dashboard-v3-section-head p,
.dashboard-v3 .dashboard-v3-feature-card p,
.dashboard-v3 .dashboard-v3-search p{
  line-height:1.5!important;
}
html[data-theme="dark"] .dashboard-v3 .dashboard-v3-kpi p,
html[data-theme="dark"] .dashboard-v3 .dashboard-v3-op-card p,
html[data-theme="dark"] .dashboard-v3 .dashboard-v3-section-head p,
html[data-theme="dark"] .dashboard-v3 .dashboard-v3-feature-card p,
html[data-theme="dark"] .dashboard-v3 .dashboard-v3-search p{
  color:#dbeafe!important;
}
.dashboard-v3 a:focus-visible,
.dashboard-v3 button:focus-visible,
.dashboard-v3 input:focus-visible{
  outline:3px solid rgba(59,130,246,.95)!important;
  outline-offset:3px!important;
}
@media (max-width:760px){
  .dashboard-v3 .dashboard-v3-search{min-width:0;width:100%;}
  .dashboard-v3 .dashboard-v3-search-row{grid-template-columns:1fr;}
  .dashboard-v3 .dashboard-v3-search .primary{width:100%;}
}


/* Production readiness polish: stronger quick-search placeholder readability */
.dashboard-v3 .dashboard-v3-search input::placeholder{
  color:#475569!important;
  opacity:1!important;
}
.dashboard-v3 .dashboard-v3-search input{
  padding-inline:16px!important;
}
html[data-theme="dark"] .dashboard-v3 .dashboard-v3-search input::placeholder{
  color:#64748b!important;
  opacity:1!important;
}

/* Demo environment notification banner */
.demo-environment-banner,
.demo-login-notice {
  display: flex;
  align-items: center;
  gap: .75rem;
  width: min(1120px, calc(100% - 2rem));
  margin: .9rem auto 1rem;
  padding: .78rem 1rem;
  border: 1px solid rgba(37, 99, 235, .22);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(239, 246, 255, .96), rgba(240, 253, 250, .94));
  color: #1e3a8a;
  box-shadow: 0 14px 35px rgba(15, 23, 42, .08);
  font-size: .95rem;
  line-height: 1.45;
}
.demo-login-notice {
  justify-content: center;
  text-align: center;
  flex-wrap: wrap;
  margin-top: -.25rem;
  margin-bottom: .75rem;
}
.demo-banner-badge,
.demo-login-notice strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 1.85rem;
  padding: .28rem .7rem;
  border-radius: 999px;
  background: #2563eb;
  color: #fff;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: .78rem;
}
html[data-theme="dark"] .demo-environment-banner,
html[data-theme="dark"] .demo-login-notice {
  border-color: rgba(96, 165, 250, .38);
  background: linear-gradient(135deg, rgba(15, 23, 42, .94), rgba(17, 24, 39, .92));
  color: #dbeafe;
  box-shadow: 0 16px 38px rgba(0, 0, 0, .34);
}
html[data-theme="dark"] .demo-banner-badge,
html[data-theme="dark"] .demo-login-notice strong {
  background: #3b82f6;
  color: #eff6ff;
}
@media (max-width: 680px) {
  .demo-environment-banner,
  .demo-login-notice {
    width: calc(100% - 1rem);
    align-items: flex-start;
    flex-direction: column;
    gap: .5rem;
    border-radius: 15px;
    font-size: .88rem;
  }
  .demo-login-notice { align-items: center; }
}


/* 2026-05 Teacher portal v2 + demo login banner cleanup */
.teacher-dashboard-v2{
  display:grid;
  gap:clamp(18px,2vw,28px);
}
.teacher-dashboard-v2 .teacher-hero-panel{
  padding:clamp(24px,3vw,42px)!important;
  border-radius:32px!important;
  overflow:hidden;
}
.teacher-hero-profile{gap:clamp(16px,2vw,24px)!important;align-items:center!important}
.teacher-hero-subtitle{max-width:860px;margin-top:8px!important;opacity:.94}
.teacher-kpi-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:14px;
}
.teacher-kpi-card{
  padding:18px;
  border:1px solid color-mix(in srgb,var(--brand) 14%,var(--line));
  border-radius:24px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel-solid) 94%,#fff),color-mix(in srgb,var(--brand2) 5%,var(--panel-solid)));
  color:var(--ink);
  box-shadow:0 16px 38px rgba(15,23,42,.08);
  min-width:0;
}
.teacher-kpi-card span,.teacher-kpi-card small{display:block;color:var(--muted);font-weight:750}.teacher-kpi-card strong{display:block;font-size:clamp(1.75rem,3vw,2.45rem);line-height:1;margin:8px 0;color:var(--ink)}
.teacher-main-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(320px,1.2fr);gap:clamp(18px,2vw,24px)}
.teacher-panel{padding:clamp(20px,2vw,30px)!important;border-radius:28px!important;overflow:visible!important}
.teacher-section-heading{margin-bottom:16px}.teacher-section-heading.split{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.teacher-section-kicker{display:inline-flex;margin-bottom:8px;color:var(--brand-strong);font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.teacher-section-heading h2{margin:0!important;letter-spacing:-.035em!important}.teacher-section-heading p{margin:8px 0 0!important}.teacher-subsection-heading{margin:24px 0 12px}.teacher-subsection-heading h3{margin:0}
.teacher-form{display:grid;gap:16px}.teacher-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}.teacher-form-compact{grid-template-columns:1fr}.teacher-field{display:flex!important;flex-direction:column!important;gap:8px!important;margin:0!important;min-width:0;color:var(--ink);font-weight:750}.teacher-field-wide{grid-column:1 / -1}.teacher-field-label{display:inline-flex;align-items:center;gap:4px;color:var(--ink);font-size:.94rem;font-weight:850;line-height:1.2}.teacher-input,.teacher-dashboard-v2 input,.teacher-dashboard-v2 select,.teacher-dashboard-v2 textarea{width:100%!important;min-height:48px!important;padding:12px 14px!important;border-radius:16px!important;color:var(--ink)!important;background:color-mix(in srgb,var(--panel-solid) 94%,#fff)!important;border:1px solid color-mix(in srgb,var(--brand) 18%,var(--line))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.35)!important;line-height:1.25!important}.teacher-textarea,.teacher-dashboard-v2 textarea{min-height:126px!important;resize:vertical}.teacher-select,.teacher-subject-select{display:block!important;appearance:auto!important;-webkit-appearance:menulist!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;color:var(--ink)!important;background-color:color-mix(in srgb,var(--panel-solid) 96%,#fff)!important}.teacher-subject-field{position:relative;z-index:2}.teacher-subject-field .teacher-field-label{color:var(--brand-strong);font-weight:950}.teacher-subject-select{min-width:100%!important;max-width:100%!important;border-width:2px!important;border-color:color-mix(in srgb,var(--brand) 34%,var(--line))!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 8%,transparent)!important}.teacher-subject-select:focus{outline:3px solid color-mix(in srgb,var(--brand2) 46%,transparent)!important;outline-offset:2px!important;border-color:var(--brand2)!important}.teacher-actions{display:flex;gap:10px;justify-content:flex-end;align-items:center}.teacher-actions-wide{grid-column:1 / -1}.teacher-actions .primary,.teacher-dashboard-v2 button.primary,.teacher-dashboard-v2 input[type="submit"].primary{min-height:46px;border-radius:15px!important;padding:11px 18px!important}
.teacher-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.teacher-card-grid.compact{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.teacher-mini-card{display:block;padding:18px;border:1px solid color-mix(in srgb,var(--brand2) 14%,var(--line));border-radius:22px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel-solid) 96%,#fff),color-mix(in srgb,var(--brand) 4%,var(--panel-solid)));color:var(--ink);box-shadow:0 14px 30px rgba(15,23,42,.07);min-width:0}.teacher-mini-card h3{margin:6px 0 8px!important;line-height:1.16}.teacher-mini-card p,.teacher-mini-card small{color:var(--muted);font-weight:700}.teacher-mini-card em{display:block;margin-top:10px;color:var(--brand-strong);font-style:normal;font-weight:850}.teacher-card-badge{display:inline-flex;align-items:center;width:max-content;padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--brand) 11%,var(--panel-solid));color:var(--brand-strong);font-size:.75rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.teacher-lesson-card:hover,.teacher-link:hover{transform:translateY(-2px);text-decoration:none}.teacher-link{display:inline-flex;margin:4px 0 10px;color:var(--brand-strong);font-weight:850}
.teacher-attendance-card{padding:18px;margin:16px 0;border:1px solid color-mix(in srgb,var(--brand) 14%,var(--line));border-radius:24px;background:color-mix(in srgb,var(--panel-solid) 88%,transparent)}.teacher-card-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;flex-wrap:wrap}.teacher-card-toolbar h3{margin:6px 0 0}.teacher-inline-date{display:flex;align-items:center;gap:10px;font-weight:850}.teacher-inline-date input{width:auto!important;min-width:170px}.teacher-table-wrap{border-radius:20px;border:1px solid var(--line);overflow:auto;background:var(--panel-solid)}.teacher-table{min-width:680px}.teacher-table th{font-weight:900}.teacher-table td,.teacher-table th{vertical-align:middle}.teacher-report-form{margin-top:14px}.teacher-report-form .teacher-textarea{min-height:98px!important}
.demo-environment-banner{display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;width:min(1120px,calc(100% - 28px))!important;margin:0 auto 18px!important;padding:12px 16px!important;border-radius:18px!important;border:1px solid color-mix(in srgb,#0ea5e9 30%,var(--line))!important;background:linear-gradient(135deg,color-mix(in srgb,#e0f2fe 88%,#fff),color-mix(in srgb,#dcfce7 55%,#fff))!important;color:#0f3552!important;box-shadow:0 14px 34px rgba(14,165,233,.12)!important;text-align:center!important;font-weight:800!important;line-height:1.35!important}.demo-banner-badge{display:inline-flex!important;align-items:center!important;padding:4px 9px!important;border-radius:999px!important;background:#0369a1!important;color:#fff!important;font-size:.76rem!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.06em!important}.login-page .demo-login-notice{display:none!important}
html[data-theme="dark"] .teacher-kpi-card,html[data-theme="dark"] .teacher-mini-card,html[data-theme="dark"] .teacher-attendance-card{background:linear-gradient(180deg,rgba(13,35,56,.96),rgba(8,47,73,.92))!important;border-color:rgba(56,189,248,.28)!important;box-shadow:0 18px 44px rgba(0,0,0,.28)!important;color:#f8fbff!important}html[data-theme="dark"] .teacher-field-label,html[data-theme="dark"] .teacher-kpi-card strong{color:#f8fbff!important}html[data-theme="dark"] .teacher-input,html[data-theme="dark"] .teacher-dashboard-v2 input,html[data-theme="dark"] .teacher-dashboard-v2 select,html[data-theme="dark"] .teacher-dashboard-v2 textarea{background:#071827!important;color:#f8fbff!important;border-color:#38617f!important}html[data-theme="dark"] .teacher-subject-select{border-color:#38bdf8!important;box-shadow:0 0 0 4px rgba(56,189,248,.16)!important}html[data-theme="dark"] .teacher-section-kicker,html[data-theme="dark"] .teacher-subject-field .teacher-field-label,html[data-theme="dark"] .teacher-card-badge,html[data-theme="dark"] .teacher-link{color:#7dd3fc!important}html[data-theme="dark"] .teacher-card-badge{background:rgba(56,189,248,.14)!important}html[data-theme="dark"] .teacher-table-wrap{background:#071827!important;border-color:#38617f!important}html[data-theme="dark"] .demo-environment-banner{background:linear-gradient(135deg,rgba(8,47,73,.96),rgba(6,78,59,.88))!important;border-color:rgba(125,211,252,.32)!important;color:#e0f2fe!important}html[data-theme="dark"] .demo-banner-badge{background:#0ea5e9!important;color:#001827!important}
@media (max-width:1180px){.teacher-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-main-grid{grid-template-columns:1fr}}
@media (max-width:720px){.teacher-dashboard-v2{gap:16px}.teacher-dashboard-v2 .teacher-hero-panel{padding:22px!important;border-radius:24px!important}.teacher-hero-profile{align-items:flex-start!important}.teacher-hero-profile .avatar.xl{width:74px!important;height:74px!important;border-radius:22px!important}.teacher-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.teacher-kpi-card{padding:14px;border-radius:18px}.teacher-form-grid{grid-template-columns:1fr}.teacher-field-wide,.teacher-actions-wide{grid-column:auto}.teacher-section-heading.split{display:block}.teacher-card-toolbar{align-items:flex-start}.teacher-inline-date{width:100%;align-items:flex-start;flex-direction:column}.teacher-inline-date input{width:100%!important}.teacher-table{min-width:620px}.demo-environment-banner{width:calc(100% - 20px)!important;align-items:flex-start!important;text-align:left!important;font-size:.92rem!important}}
@media (max-width:460px){.teacher-kpi-grid{grid-template-columns:1fr}.teacher-card-grid,.teacher-card-grid.compact{grid-template-columns:1fr}.teacher-panel{padding:18px!important}.demo-environment-banner{flex-direction:column!important;gap:6px!important}}

/* 2026-05 FT QA: demo banner typography + teacher searchable Matière selects */
.demo-environment-banner{
  width:min(1320px,calc(100% - 28px))!important;
  max-width:1320px!important;
  padding:9px 14px!important;
  gap:8px!important;
  line-height:1.22!important;
  font-weight:400!important;
  font-size:clamp(.78rem,.82vw,.9rem)!important;
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
}
.demo-environment-banner .demo-banner-message{
  font-weight:400!important;
  min-width:0;
  overflow:hidden;
  text-overflow:clip;
  white-space:nowrap;
}
.demo-environment-banner .demo-banner-badge{
  min-height:1.35rem!important;
  padding:2px 7px!important;
  font-size:.68rem!important;
  line-height:1!important;
}
.teacher-dashboard-v2 .teacher-subject-field .searchable-select-control,
.teacher-dashboard-v2 .teacher-subject-field .custom-select-trigger{
  width:100%!important;
  min-width:0!important;
}
.teacher-dashboard-v2 .teacher-subject-field .custom-select-trigger{
  min-height:48px!important;
  padding:12px 14px!important;
  border-radius:16px!important;
  border:2px solid color-mix(in srgb,var(--brand) 34%,var(--line))!important;
  background:color-mix(in srgb,var(--panel-solid) 96%,#fff)!important;
  color:var(--ink)!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 8%,transparent)!important;
  font-weight:850!important;
}
.teacher-dashboard-v2 .teacher-subject-field .custom-select-trigger:focus-visible{
  outline:3px solid color-mix(in srgb,var(--brand2) 46%,transparent)!important;
  outline-offset:2px!important;
  border-color:var(--brand2)!important;
}
.teacher-dashboard-v2 .teacher-subject-field select.native-select-hidden,
.teacher-dashboard-v2 select.teacher-subject-select.native-select-hidden,
.teacher-dashboard-v2 select.teacher-select.native-select-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-width:1px!important;
  min-height:1px!important;
  max-width:1px!important;
  max-height:1px!important;
  padding:0!important;
  margin:-1px!important;
  border:0!important;
  opacity:.001!important;
  pointer-events:none!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  overflow:hidden!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
html[data-theme="dark"] .teacher-dashboard-v2 .teacher-subject-field .custom-select-trigger{
  background:#071827!important;
  color:#f8fbff!important;
  border-color:#38bdf8!important;
  box-shadow:0 0 0 4px rgba(56,189,248,.16)!important;
}
@media (max-width:900px){
  .demo-environment-banner{
    white-space:normal!important;
    flex-wrap:wrap!important;
    font-size:.86rem!important;
    line-height:1.32!important;
  }
  .demo-environment-banner .demo-banner-message{
    white-space:normal!important;
    overflow:visible!important;
  }
}
@media (max-width:460px){
  .demo-environment-banner{
    align-items:flex-start!important;
    flex-direction:row!important;
    justify-content:flex-start!important;
    gap:7px!important;
    padding:9px 11px!important;
  }
}



/* Lekol360 Unified Dashboard Design System
   App-wide dashboard polish for main, school, student, teacher, admin, finance,
   analytics, reports/PDF, backup, settings, and portal workspaces. */
:root{
  --dash-radius:28px;
  --dash-radius-sm:18px;
  --dash-gap:clamp(14px,2vw,24px);
  --dash-pad:clamp(18px,2.5vw,30px);
  --dash-card-pad:clamp(16px,2vw,24px);
  --dash-shadow:0 22px 60px rgba(15,23,42,.12);
  --dash-shadow-soft:0 12px 34px rgba(15,23,42,.08);
  --dash-line:color-mix(in srgb,var(--brand2,#2563eb) 16%,var(--line,#dbeafe));
  --dash-gradient:linear-gradient(135deg,#0f766e 0%,#2563eb 48%,#7c3aed 100%);
  --dash-gradient-warm:linear-gradient(135deg,#f97316 0%,#f59e0b 44%,#22c55e 100%);
  --dash-muted-surface:linear-gradient(145deg,color-mix(in srgb,var(--panel-solid,#fff) 94%,transparent),color-mix(in srgb,var(--brand2,#2563eb) 6%,var(--panel-solid,#fff)));
  --dash-focus:0 0 0 4px color-mix(in srgb,var(--brand2,#2563eb) 22%,transparent);
}
html[data-theme="dark"] .dashboard-experience{
  --dash-shadow:0 24px 70px rgba(0,0,0,.36);
  --dash-shadow-soft:0 14px 38px rgba(0,0,0,.26);
  --dash-line:rgba(148,163,184,.22);
  --dash-muted-surface:linear-gradient(145deg,rgba(15,30,49,.96),rgba(17,38,61,.92));
}
.dashboard-experience{
  isolation:isolate;
  color:var(--ink);
  background:
    radial-gradient(circle at 8% 2%, color-mix(in srgb,var(--brand2,#2563eb) 14%,transparent), transparent 25rem),
    radial-gradient(circle at 96% 8%, color-mix(in srgb,var(--accent,#f59e0b) 13%,transparent), transparent 23rem),
    linear-gradient(180deg,color-mix(in srgb,var(--bg,#edf4ff) 98%,white),color-mix(in srgb,var(--bg2,#fff7ed) 70%,var(--bg,#edf4ff)));
}
html[data-theme="dark"] .dashboard-experience{
  background:
    radial-gradient(circle at 12% 0%, rgba(37,99,235,.18), transparent 25rem),
    radial-gradient(circle at 92% 12%, rgba(20,184,166,.16), transparent 22rem),
    linear-gradient(180deg,#061423,#081827 58%,#07111f);
}
.dashboard-experience .demo-environment-banner,
.demo-environment-banner{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 var(--dash-gap);padding:12px 16px;border-radius:999px;
  background:linear-gradient(135deg,color-mix(in srgb,#f59e0b 17%,var(--panel-solid)),color-mix(in srgb,#2563eb 8%,var(--panel-solid)));
  border:1px solid color-mix(in srgb,#f59e0b 30%,var(--line));box-shadow:var(--dash-shadow-soft);font-weight:750;color:var(--ink)
}
.demo-banner-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#f59e0b;color:#111827;font-weight:950;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}
.dashboard-experience .dashboard-hero,
.dashboard-experience .module-hero,
.dashboard-experience .entity-hero,
.dashboard-experience .lekol360-hero,
.dashboard-experience .profile-hero,
.dashboard-experience .payments-hero,
.dashboard-experience .reports-hero,
.dashboard-experience .backup-hero,
.dashboard-experience .dashboard-v3-hero{
  position:relative!important;overflow:hidden!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:var(--dash-gap)!important;
  min-height:clamp(150px,20vw,240px)!important;margin:0 0 var(--dash-gap)!important;padding:clamp(24px,4vw,44px)!important;border:1px solid rgba(255,255,255,.32)!important;border-radius:calc(var(--dash-radius) + 6px)!important;
  background:radial-gradient(circle at 88% 12%,rgba(255,255,255,.22),transparent 12rem),radial-gradient(circle at 12% 88%,rgba(255,255,255,.13),transparent 14rem),var(--dash-gradient)!important;
  color:#fff!important;box-shadow:var(--dash-shadow)!important;backdrop-filter:blur(18px)!important;
}
.dashboard-experience .dashboard-hero:before,
.dashboard-experience .module-hero:before,
.dashboard-experience .entity-hero:before,
.dashboard-experience .lekol360-hero:before,
.dashboard-experience .profile-hero:before,
.dashboard-experience .payments-hero:before,
.dashboard-experience .reports-hero:before,
.dashboard-experience .backup-hero:before,
.dashboard-experience .dashboard-v3-hero:before{content:"";position:absolute;inset:auto -80px -130px auto;width:310px;height:310px;border-radius:999px;background:rgba(255,255,255,.12);pointer-events:none}
.dashboard-experience .dashboard-hero:after,
.dashboard-experience .module-hero:after,
.dashboard-experience .entity-hero:after,
.dashboard-experience .lekol360-hero:after{display:block!important;content:"";position:absolute;inset:22px 22px auto auto;width:90px;height:90px;border-radius:30px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.10);transform:rotate(12deg)}
.dashboard-experience .dashboard-hero > *,
.dashboard-experience .module-hero > *,
.dashboard-experience .entity-hero > *,
.dashboard-experience .lekol360-hero > *,
.dashboard-experience .dashboard-v3-hero > *{position:relative;z-index:1}
.dashboard-experience .dashboard-hero .eyebrow,
.dashboard-experience .module-hero .eyebrow,
.dashboard-experience .entity-hero .eyebrow,
.dashboard-experience .lekol360-hero .eyebrow,
.dashboard-experience .dashboard-v3-kicker{display:inline-flex!important;align-items:center;gap:8px;margin-bottom:10px;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.16);color:#eef6ff!important;border:1px solid rgba(255,255,255,.22);font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.dashboard-experience .dashboard-hero h1,
.dashboard-experience .dashboard-hero h2,
.dashboard-experience .module-hero h1,
.dashboard-experience .module-hero h2,
.dashboard-experience .entity-hero h1,
.dashboard-experience .entity-hero h2,
.dashboard-experience .lekol360-hero h1,
.dashboard-experience .lekol360-hero h2,
.dashboard-experience .dashboard-v3-title{display:block!important;margin:0!important;max-width:950px;font-size:clamp(2rem,4.8vw,4.3rem)!important;line-height:.96!important;letter-spacing:-.06em!important;color:#fff!important;font-weight:900!important;text-wrap:balance}
.dashboard-experience .dashboard-hero p,
.dashboard-experience .module-hero p,
.dashboard-experience .entity-hero p,
.dashboard-experience .lekol360-hero p,
.dashboard-experience .dashboard-v3-subtitle{display:block!important;max-width:780px;margin:12px 0 0!important;color:#eaf5ff!important;font-weight:560!important;line-height:1.6!important;font-size:clamp(.98rem,1.4vw,1.12rem)!important}
.dashboard-experience .stats,
.dashboard-experience .module-stats,
.dashboard-experience .payment-stats,
.dashboard-experience .dashboard-v3-overview-grid,
.dashboard-experience .dashboard-v3-ops-grid,
.dashboard-experience .cards{
  display:grid!important;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;gap:var(--dash-gap)!important;margin:0 0 var(--dash-gap)!important;align-items:stretch!important;
}
.dashboard-experience .stats > div,
.dashboard-experience .stats > a,
.dashboard-experience .dashboard-stat-card,
.dashboard-experience .mini-card,
.dashboard-experience .dashboard-v3-card,
.dashboard-experience .dashboard-v3-op-card{
  position:relative;overflow:hidden;min-width:0;padding:var(--dash-card-pad)!important;border-radius:var(--dash-radius)!important;border:1px solid var(--dash-line)!important;background:var(--dash-muted-surface)!important;box-shadow:var(--dash-shadow-soft)!important;color:var(--ink)!important;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease!important;text-decoration:none!important;
}
.dashboard-experience .stats > div:before,
.dashboard-experience .stats > a:before,
.dashboard-experience .dashboard-stat-card:before,
.dashboard-experience .mini-card:before,
.dashboard-experience .dashboard-v3-card:before,
.dashboard-experience .dashboard-v3-op-card:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(180deg,var(--brand2,#2563eb),var(--accent,#f59e0b));opacity:.95}
.dashboard-experience .stats > div:hover,
.dashboard-experience .stats > a:hover,
.dashboard-experience .dashboard-stat-card:hover,
.dashboard-experience .mini-card:hover,
.dashboard-experience .dashboard-v3-card:hover,
.dashboard-experience .dashboard-v3-op-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--brand2,#2563eb) 38%,var(--line));box-shadow:var(--dash-shadow)!important}
.dashboard-experience .stats strong,
.dashboard-experience .dashboard-v3-value,
.dashboard-experience .big-metric{display:block;color:var(--ink)!important;font-size:clamp(1.55rem,3vw,2.55rem)!important;line-height:1!important;font-weight:900!important;letter-spacing:-.05em!important}
.dashboard-experience .stats span,
.dashboard-experience .mini-card p,
.dashboard-experience .dashboard-v3-label,
.dashboard-experience .dashboard-v3-card small,
.dashboard-experience .dashboard-v3-op-card small{color:var(--muted)!important;font-weight:750!important;line-height:1.45!important}
.dashboard-experience .panel,
.dashboard-experience .dashboard-search,
.dashboard-experience .filters-panel,
.dashboard-experience .module-table-panel,
.dashboard-experience .settings-card,
.dashboard-experience .profile-card,
.dashboard-experience .backup-card,
.dashboard-experience .backup-history-card{
  position:relative;margin:0 0 var(--dash-gap)!important;padding:var(--dash-pad)!important;border-radius:var(--dash-radius)!important;border:1px solid var(--dash-line)!important;background:color-mix(in srgb,var(--panel-solid,#fff) 93%,transparent)!important;box-shadow:var(--dash-shadow-soft)!important;backdrop-filter:blur(16px)!important;
}
html[data-theme="dark"] .dashboard-experience .panel,
html[data-theme="dark"] .dashboard-experience .dashboard-search,
html[data-theme="dark"] .dashboard-experience .filters-panel,
html[data-theme="dark"] .dashboard-experience .module-table-panel,
html[data-theme="dark"] .dashboard-experience .settings-card,
html[data-theme="dark"] .dashboard-experience .profile-card{background:rgba(13,31,50,.94)!important;border-color:rgba(148,163,184,.2)!important}
.dashboard-experience .panel-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;flex-wrap:wrap!important;margin:0 0 18px!important;padding-bottom:14px!important;border-bottom:1px solid color-mix(in srgb,var(--brand2,#2563eb) 12%,var(--line))!important}
.dashboard-experience .panel h2,
.dashboard-experience .panel h3,
.dashboard-experience .panel-head h2{display:block!important;margin:0!important;color:var(--ink)!important;font-weight:900!important;letter-spacing:-.04em!important;font-size:clamp(1.25rem,2vw,1.75rem)!important}
.dashboard-experience .panel-head p,.dashboard-experience .panel > p{color:var(--muted)!important;font-weight:600!important;line-height:1.55!important}
.dashboard-experience .actions,.dashboard-experience .hero-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.dashboard-experience .primary,
.dashboard-experience button.primary,
.dashboard-experience input[type="submit"],
.dashboard-experience .btn-primary{border:0!important;border-radius:999px!important;background:linear-gradient(135deg,var(--brand,#0f766e),var(--brand2,#2563eb))!important;color:#fff!important;box-shadow:0 14px 30px color-mix(in srgb,var(--brand2,#2563eb) 25%,transparent)!important;font-weight:850!important;padding:11px 16px!important;min-height:42px!important}
.dashboard-experience .ghost,
.dashboard-experience button.ghost,
.dashboard-experience .theme-toggle{border-radius:999px!important;background:color-mix(in srgb,var(--brand2,#2563eb) 8%,var(--panel-solid))!important;border:1px solid color-mix(in srgb,var(--brand2,#2563eb) 20%,var(--line))!important;color:var(--brand-strong,var(--brand2,#2563eb))!important;font-weight:850!important;padding:10px 14px!important}
.dashboard-experience .danger{border-radius:999px!important;font-weight:850!important}
.dashboard-experience input,
.dashboard-experience select,
.dashboard-experience textarea{border-radius:16px!important;border:1px solid color-mix(in srgb,var(--brand2,#2563eb) 12%,var(--line))!important;background:color-mix(in srgb,var(--panel-solid,#fff) 92%,transparent)!important;color:var(--ink)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.4)!important}
.dashboard-experience input:focus,
.dashboard-experience select:focus,
.dashboard-experience textarea:focus,
.dashboard-experience a:focus-visible,
.dashboard-experience button:focus-visible{outline:none!important;box-shadow:var(--dash-focus)!important;border-color:var(--brand2,#2563eb)!important}
.dashboard-experience .filters-grid,
.dashboard-experience .grid-form{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;gap:16px!important;align-items:end!important}
.dashboard-experience .table-wrap{overflow:auto!important;border-radius:22px!important;border:1px solid var(--dash-line)!important;background:var(--panel-solid)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.5)!important}
.dashboard-experience table{width:100%;border-collapse:separate!important;border-spacing:0!important;min-width:680px}
.dashboard-experience thead th{position:sticky;top:0;z-index:1;background:linear-gradient(135deg,color-mix(in srgb,var(--brand2,#2563eb) 12%,var(--panel-solid)),color-mix(in srgb,var(--brand,#0f766e) 8%,var(--panel-solid)))!important;color:var(--ink)!important;font-size:.78rem!important;letter-spacing:.06em!important;text-transform:uppercase!important;font-weight:900!important;border-bottom:1px solid var(--dash-line)!important}
.dashboard-experience td,.dashboard-experience th{padding:13px 14px!important;vertical-align:middle!important}
.dashboard-experience tbody tr{background:color-mix(in srgb,var(--panel-solid,#fff) 96%,transparent)!important}
.dashboard-experience tbody tr:nth-child(even){background:color-mix(in srgb,var(--brand2,#2563eb) 3%,var(--panel-solid,#fff))!important}
.dashboard-experience tbody tr:hover{background:color-mix(in srgb,var(--brand2,#2563eb) 8%,var(--panel-solid,#fff))!important}
.dashboard-experience .chip,
.dashboard-experience .backup-pill,
.dashboard-experience .badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px!important;padding:6px 10px!important;background:color-mix(in srgb,var(--brand,#0f766e) 10%,var(--panel-solid))!important;color:var(--brand-strong,#0f766e)!important;border:1px solid color-mix(in srgb,var(--brand,#0f766e) 20%,var(--line))!important;font-weight:850!important}
.dashboard-experience .result-item{border-radius:20px!important;border:1px solid var(--dash-line)!important;background:var(--dash-muted-surface)!important;box-shadow:var(--dash-shadow-soft)!important}
.dashboard-experience .empty{padding:18px!important;border-radius:18px!important;background:color-mix(in srgb,var(--brand2,#2563eb) 5%,var(--panel-solid))!important;color:var(--muted)!important;text-align:center!important;font-weight:750!important}
@media (min-width:1180px){
  .dashboard-experience .stats,.dashboard-experience .module-stats,.dashboard-experience .payment-stats{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .dashboard-experience .dashboard-v3-overview-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media (max-width:980px){
  .dashboard-experience .dashboard-hero,.dashboard-experience .module-hero,.dashboard-experience .entity-hero,.dashboard-experience .lekol360-hero,.dashboard-experience .profile-hero,.dashboard-experience .payments-hero,.dashboard-experience .reports-hero,.dashboard-experience .backup-hero,.dashboard-experience .dashboard-v3-hero{grid-template-columns:1fr!important;min-height:auto!important}
  .dashboard-experience .actions,.dashboard-experience .hero-actions{justify-content:flex-start;width:100%}
}
@media (max-width:720px){
  .dashboard-experience{padding-inline:14px!important}
  .dashboard-experience .dashboard-hero,.dashboard-experience .module-hero,.dashboard-experience .entity-hero,.dashboard-experience .lekol360-hero,.dashboard-experience .profile-hero,.dashboard-experience .payments-hero,.dashboard-experience .reports-hero,.dashboard-experience .backup-hero,.dashboard-experience .dashboard-v3-hero{padding:22px!important;border-radius:24px!important}
  .dashboard-experience .stats,.dashboard-experience .module-stats,.dashboard-experience .payment-stats,.dashboard-experience .cards,.dashboard-experience .dashboard-v3-overview-grid,.dashboard-experience .dashboard-v3-ops-grid{grid-template-columns:1fr!important}
  .dashboard-experience .panel,.dashboard-experience .dashboard-search,.dashboard-experience .filters-panel,.dashboard-experience .module-table-panel{padding:18px!important;border-radius:22px!important}
  .dashboard-experience .panel-head{display:grid!important;grid-template-columns:1fr!important}
  .dashboard-experience .primary,.dashboard-experience .ghost,.dashboard-experience button,.dashboard-experience input[type="submit"]{width:100%;justify-content:center;text-align:center}
  .dashboard-experience table{min-width:620px}
}
@media (prefers-reduced-motion:reduce){.dashboard-experience *{transition:none!important;animation:none!important}}

/* Unified dashboard refinements after finance QA: keep six finance KPIs balanced as 3 + 3 on desktop. */
@media (min-width:1180px){
  .dashboard-experience .payment-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

/* Analytics dashboard polish from visual QA: stronger export contrast, compact filters, semantic status dots. */
.dashboard-experience .analytics-export-actions .primary{background:#ffffff!important;color:#0f3b7a!important;border:1px solid rgba(255,255,255,.72)!important;box-shadow:0 14px 34px rgba(0,0,0,.20)!important}
.dashboard-experience .analytics-export-actions .ghost{background:rgba(255,255,255,.18)!important;color:#fff!important;border-color:rgba(255,255,255,.42)!important}
.dashboard-experience .analytics-filters{grid-template-columns:minmax(260px,1.3fr) repeat(2,minmax(170px,1fr)) auto!important;align-items:end!important}
.dashboard-experience .analytics-filters .filter-actions{display:flex;align-items:end;height:100%}
.dashboard-experience .analytics-filters .filter-actions .filter-button{width:auto!important;min-width:132px}
.dashboard-experience .analytics-kpi-grid strong{white-space:normal;overflow-wrap:anywhere}
.dashboard-experience .donut-list>div:nth-child(1) .dot{background:#22c55e!important}
.dashboard-experience .donut-list>div:nth-child(2) .dot{background:#ef4444!important}
.dashboard-experience .donut-list>div:nth-child(3) .dot{background:#f59e0b!important}
.dashboard-experience .donut-list>div:nth-child(4) .dot{background:#8b5cf6!important}
@media (max-width:980px){.dashboard-experience .analytics-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dashboard-experience .analytics-filters .filter-actions .filter-button{width:100%!important}}
@media (max-width:720px){.dashboard-experience .analytics-filters{grid-template-columns:1fr!important}}


/* Requested production refinements: subject catalogue, bulletins, receipts, sidebar footer tooltip */
.subject-card-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(150px,1fr))!important;
  gap:14px!important;
  align-items:stretch!important;
  max-width:1120px!important;
  margin-inline:auto!important;
}
.subject-card-grid>*{min-width:0!important;max-width:100%!important}
.subject-card-grid .subject-card,
.subject-card-grid article,
.subject-card-grid label{
  min-height:92px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
@media(max-width:1180px){.subject-card-grid{grid-template-columns:repeat(4,minmax(145px,1fr))!important;max-width:920px!important}}
@media(max-width:920px){.subject-card-grid{grid-template-columns:repeat(3,minmax(140px,1fr))!important;max-width:720px!important}}
@media(max-width:720px){.subject-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}}
@media(max-width:460px){.subject-card-grid{grid-template-columns:1fr!important;max-width:360px!important}}

.report-signature-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(240px,1fr))!important;
  gap:clamp(34px,7vw,76px)!important;
  margin-top:clamp(54px,8vw,86px)!important;
  break-inside:avoid!important;
  page-break-inside:avoid!important;
}
.report-signature-area{text-align:center!important;break-inside:avoid!important;color:var(--ink)!important}
.report-signature-line{min-height:86px!important;border-bottom:1.5px solid currentColor!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;padding-bottom:6px!important}
.report-signature-name{font-weight:950!important;margin-top:10px!important;letter-spacing:-.01em!important;color:var(--ink)!important}
.report-signature-title{text-transform:uppercase!important;letter-spacing:.12em!important;font-size:.78rem!important;font-weight:900!important;color:var(--muted)!important;margin-top:3px!important}
.report-signature-role{font-size:.82rem!important;color:var(--muted)!important;margin-top:2px!important}

.payment-receipt.receipt-document{
  max-width:8.5in!important;
  margin:0 auto 36px!important;
  padding:clamp(22px,4vw,42px)!important;
  background:#fff!important;
  color:#111827!important;
  border:1px solid #d7dee9!important;
  border-radius:24px!important;
  box-shadow:0 24px 70px rgba(15,23,42,.13)!important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
.receipt-branding{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;gap:18px!important;align-items:center!important;border-bottom:2px solid #e5e7eb!important;padding-bottom:20px!important;margin-bottom:18px!important}
.receipt-school-mark{width:78px!important;height:78px!important;border-radius:22px!important;border:1px solid #dbe4f0!important;display:grid!important;place-items:center!important;background:linear-gradient(135deg,#f8fafc,#eef6ff)!important;overflow:hidden!important}
.school-logo.receipt-school-logo{width:100%!important;height:100%!important;object-fit:contain!important;padding:8px!important}
.receipt-logo-fallback{font-weight:950!important;color:#0f3d91!important;letter-spacing:-.04em!important}
.receipt-school-copy h1{margin:4px 0!important;font-size:clamp(1.35rem,3vw,2rem)!important;line-height:1.05!important;color:#0f172a!important}
.receipt-school-copy p,.receipt-school-copy small{margin:0!important;color:#475569!important}
.receipt-meta-box{justify-self:end!important;min-width:170px!important;padding:14px 16px!important;border-radius:18px!important;background:#0f172a!important;color:#fff!important;text-align:right!important;box-shadow:0 12px 28px rgba(15,23,42,.2)!important}
.receipt-meta-box span,.receipt-meta-box small{display:block!important;color:#cbd5e1!important;font-size:.8rem!important}.receipt-meta-box strong{display:block!important;font-size:1rem!important;margin:3px 0!important;color:#fff!important}
.receipt-total-band{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:18px!important;margin:18px 0 22px!important;padding:18px 22px!important;border-radius:20px!important;background:linear-gradient(135deg,#0f3d91,#16a34a)!important;color:#fff!important;box-shadow:0 18px 44px rgba(15,61,145,.22)!important}
.receipt-total-band span{text-transform:uppercase!important;letter-spacing:.1em!important;font-size:.78rem!important;font-weight:900!important;color:#dbeafe!important}.receipt-total-band strong{font-size:clamp(1.5rem,4vw,2.35rem)!important;color:#fff!important;letter-spacing:-.04em!important}
.receipt-section-title{margin:22px 0 10px!important;font-size:.78rem!important;letter-spacing:.13em!important;text-transform:uppercase!important;color:#0f3d91!important;font-weight:950!important}
.receipt-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.receipt-grid>div{padding:13px 15px!important;border:1px solid #e5e7eb!important;border-radius:16px!important;background:#f8fafc!important}.receipt-grid span{display:block!important;color:#64748b!important;font-size:.78rem!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.06em!important}.receipt-grid strong{display:block!important;color:#111827!important;margin-top:4px!important;line-height:1.25!important}
.receipt-detail-table{width:100%!important;border-collapse:separate!important;border-spacing:0!important;overflow:hidden!important;border:1px solid #dbe4f0!important;border-radius:16px!important;background:#fff!important}.receipt-detail-table th,.receipt-detail-table td{padding:13px 14px!important;border-bottom:1px solid #e5e7eb!important;text-align:left!important;color:#111827!important}.receipt-detail-table th{width:18%!important;background:#f1f5f9!important;color:#334155!important;text-transform:uppercase!important;letter-spacing:.06em!important;font-size:.75rem!important}.receipt-detail-table tr:last-child th,.receipt-detail-table tr:last-child td{border-bottom:0!important}
.receipt-notes{margin-top:16px!important;padding:15px 17px!important;border-radius:16px!important;background:#fffbeb!important;border:1px solid #fde68a!important;color:#78350f!important}.receipt-notes h3{margin:0 0 4px!important;color:#78350f!important}.receipt-notes p{margin:0!important}
.receipt-footer-block{margin-top:28px!important}.receipt-financial-confirmation{padding:16px 18px!important;border:1px solid #dbeafe!important;border-radius:16px!important;background:#f8fbff!important}.receipt-confirmation{margin:0!important;color:#111827!important;font-weight:850!important}.receipt-confirmation strong{color:#0f3d91!important}.receipt-fineprint{margin:10px 0 0!important;font-size:.82rem!important;color:#64748b!important;text-align:center!important}

body.has-floating-sidebar-tooltips.sidebar-collapsed .modern-school-sidebar .sidebar-user-pill[data-tooltip]::after,
.sidebar-collapsed .sidebar-user-pill[data-tooltip]::after{
  content:attr(data-tooltip)!important;
  position:absolute!important;
  left:calc(100% + 12px)!important;
  top:50%!important;
  transform:translateY(-50%) translateX(-4px)!important;
  z-index:120!important;
  padding:8px 11px!important;
  border-radius:999px!important;
  background:#0f172a!important;
  color:#fff!important;
  font-size:.78rem!important;
  font-weight:800!important;
  white-space:nowrap!important;
  opacity:0!important;
  pointer-events:none!important;
  box-shadow:0 14px 30px rgba(0,0,0,.25)!important;
  transition:opacity .16s ease,transform .16s ease!important;
}
.sidebar-collapsed .sidebar-user-pill[data-tooltip]:hover::after,
.sidebar-collapsed .sidebar-user-pill[data-tooltip]:focus-visible::after{opacity:1!important;transform:translateY(-50%) translateX(0)!important}
html[data-theme="dark"] .sidebar-collapsed .sidebar-user-pill[data-tooltip]::after{background:#e2e8f0!important;color:#0f172a!important}

@media(max-width:720px){.receipt-branding{grid-template-columns:1fr!important;text-align:center!important}.receipt-school-mark,.receipt-meta-box{justify-self:center!important}.receipt-grid{grid-template-columns:1fr!important}.receipt-detail-table th,.receipt-detail-table td{display:block!important;width:100%!important}.report-signature-grid{grid-template-columns:1fr!important;gap:44px!important}}
@page{size:letter;margin:.55in}
@media print{
  .payment-receipt.receipt-document{box-shadow:none!important;border:0!important;border-radius:0!important;padding:0!important;margin:0!important;max-width:none!important;color:#111827!important;background:#fff!important}
  .receipt-branding,.receipt-grid>div,.receipt-detail-table,.receipt-notes,.receipt-total-band{break-inside:avoid!important;page-break-inside:avoid!important}
  .receipt-total-band{background:#f1f5f9!important;color:#111827!important;border:1px solid #cbd5e1!important;box-shadow:none!important}.receipt-total-band span,.receipt-total-band strong{color:#111827!important}
  .receipt-meta-box{background:#fff!important;color:#111827!important;border:1px solid #cbd5e1!important;box-shadow:none!important}.receipt-meta-box span,.receipt-meta-box small,.receipt-meta-box strong{color:#111827!important}
  .report-signature-grid{break-inside:avoid!important;page-break-inside:avoid!important;margin-top:78px!important}.report-signature-line{min-height:96px!important}.report-signature-name,.report-signature-title,.report-signature-role{color:#111827!important}
}

/* Subject catalogue QA refinement: avoid clipping longer French subject names in compact five-column grids. */
.subject-card-grid .subject-card h3,
.subject-card-grid .subject-card .chip,
.subject-card-grid .subject-card p{max-width:100%!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:break-word!important;word-break:normal!important;hyphens:auto!important;line-height:1.18!important}
.subject-card-grid .subject-card h3{font-size:clamp(.98rem,1.35vw,1.16rem)!important}


/* Payment receipt readability/action refinements */
.receipt-page-hero .receipt-actions{display:flex!important;flex-wrap:wrap!important;gap:10px!important;justify-content:flex-end!important;align-items:center!important}
.receipt-actions .primary,.receipt-actions .ghost{min-height:42px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important;border-radius:999px!important;font-weight:900!important;padding:10px 16px!important}
.payment-receipt.receipt-document *{box-sizing:border-box!important}
.receipt-school-copy .eyebrow,.receipt-section-title{color:#0f3d91!important}
.receipt-school-copy h1,.receipt-grid strong,.receipt-detail-table td{overflow-wrap:anywhere!important}
.receipt-detail-table td{font-weight:750!important;background:#fff!important}
.receipt-detail-table th{font-weight:950!important}

html[data-theme="dark"] .payment-receipt.receipt-document{
  background:#0f172a!important;
  color:#f8fafc!important;
  border-color:#334155!important;
  box-shadow:0 24px 70px rgba(0,0,0,.45)!important;
}
html[data-theme="dark"] .receipt-branding{border-bottom-color:#334155!important}
html[data-theme="dark"] .receipt-school-mark{background:linear-gradient(135deg,#1e293b,#0f172a)!important;border-color:#475569!important}
html[data-theme="dark"] .receipt-logo-fallback{color:#93c5fd!important}
html[data-theme="dark"] .receipt-school-copy h1{color:#ffffff!important}
html[data-theme="dark"] .receipt-school-copy p,
html[data-theme="dark"] .receipt-school-copy small{color:#cbd5e1!important}
html[data-theme="dark"] .receipt-school-copy .eyebrow,
html[data-theme="dark"] .receipt-section-title{color:#93c5fd!important}
html[data-theme="dark"] .receipt-meta-box{background:#020617!important;color:#fff!important;border:1px solid #475569!important;box-shadow:none!important}
html[data-theme="dark"] .receipt-meta-box span,
html[data-theme="dark"] .receipt-meta-box small{color:#dbeafe!important}
html[data-theme="dark"] .receipt-meta-box strong{color:#fff!important}
html[data-theme="dark"] .receipt-grid>div{background:#111c2e!important;border-color:#3f4d63!important}
html[data-theme="dark"] .receipt-grid span{color:#cbd5e1!important}
html[data-theme="dark"] .receipt-grid strong{color:#ffffff!important}
html[data-theme="dark"] .receipt-detail-table{background:#0b1220!important;border-color:#475569!important}
html[data-theme="dark"] .receipt-detail-table th,
html[data-theme="dark"] .receipt-detail-table td{border-bottom-color:#334155!important;color:#f8fafc!important}
html[data-theme="dark"] .receipt-detail-table th{background:#1e293b!important;color:#dbeafe!important}
html[data-theme="dark"] .receipt-detail-table td{background:#0f172a!important;color:#ffffff!important}
html[data-theme="dark"] .receipt-notes{background:#2b2109!important;border-color:#a16207!important;color:#fde68a!important}
html[data-theme="dark"] .receipt-notes h3{color:#fef3c7!important}
html[data-theme="dark"] .receipt-financial-confirmation{background:#0b1220!important;border-color:#475569!important}
html[data-theme="dark"] .receipt-confirmation,
html[data-theme="dark"] .receipt-fineprint{color:#cbd5e1!important}
html[data-theme="dark"] .receipt-confirmation strong{color:#93c5fd!important}
html[data-theme="dark"] .receipt-fineprint{border-top-color:#334155!important}

@media(max-width:860px){.receipt-page-hero{grid-template-columns:1fr!important}.receipt-page-hero .receipt-actions{justify-content:flex-start!important}.receipt-actions .primary,.receipt-actions .ghost,.receipt-actions button{flex:1 1 190px!important}}
@media(max-width:520px){.receipt-actions .primary,.receipt-actions .ghost,.receipt-actions button{width:100%!important;flex-basis:100%!important}.receipt-total-band{flex-direction:column!important;text-align:center!important}.payment-receipt.receipt-document{padding:18px!important;border-radius:18px!important}.receipt-detail-table{font-size:.92rem!important}}
@media print{
  .receipt-actions,.receipt-page-hero{display:none!important}
  html[data-theme="dark"] .payment-receipt.receipt-document,
  .payment-receipt.receipt-document{background:#fff!important;color:#111827!important;border:0!important;box-shadow:none!important}
  .receipt-school-copy h1,.receipt-school-copy p,.receipt-school-copy small,.receipt-grid strong,.receipt-detail-table th,.receipt-detail-table td,.receipt-confirmation,.receipt-fineprint{color:#111827!important}
  .receipt-grid>div,.receipt-detail-table td{background:#fff!important;color:#111827!important}
  .receipt-detail-table th{background:#f1f5f9!important;color:#334155!important}
  .receipt-financial-confirmation{background:#fff!important;border:1px solid #d1d5db!important}
}

/* 2026-05 FT QA polish: prevent demo banner clipping and finance KPI awkward wrapping */
.demo-environment-banner{
  flex-wrap:wrap!important;
  white-space:normal!important;
  overflow:visible!important;
  max-width:min(1320px,calc(100% - 28px))!important;
  text-wrap:balance;
}
.demo-environment-banner .demo-banner-message{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:unset!important;
  min-width:min(260px,100%)!important;
  flex:1 1 520px!important;
}
.dashboard-v3-op-card strong,
.dashboard-v3-wide-metric strong,
.dashboard-v3-kpi strong{
  font-variant-numeric:tabular-nums!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.dashboard-v3-op-card strong{
  font-size:clamp(1.15rem,1.65vw,1.82rem)!important;
  line-height:1.12!important;
}
.dashboard-v3-ops-grid{
  align-items:stretch;
}
@media (min-width:1181px){
  .dashboard-v3-ops-grid{grid-template-columns:repeat(4,minmax(210px,1fr))!important;}
}
@media (max-width:680px){
  .demo-environment-banner .demo-banner-message{flex-basis:100%!important;min-width:0!important;}
  .dashboard-v3-op-card strong{font-size:clamp(1.25rem,7vw,1.8rem)!important;}
}



/* 2026-05 FT: square-card UI, analytics variety, subject catalog, backup card polish */
:root{--radius:6px;--ui-corner:6px;--ui-corner-sm:4px}
.panel,.mini-card,.stats>div,.module-stats>div,.dashboard-hero,.module-hero,.card,.search-box,.table-wrap,table,thead,tbody,tr,th,td,input,select,textarea,button,.primary,.ghost,.danger,.chip,dialog,.notice,.modal,.dropdown-menu,.filters-panel,.entity-table,.dashboard-v3-card,.dashboard-v3-op-card,.backup-summary-card,.analytics-card{border-radius:var(--ui-corner)!important}
.avatar,.avatar.small,.avatar.xl,.user-avatar,.school-logo-img,.receipt-school-logo,.report-school-logo-top-right,.logo,.logo.big{border-radius:50%!important}
button,.primary,.ghost,.danger,input,select,textarea{border-radius:var(--ui-corner-sm)!important}
.analytics-viz-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.analytics-wide{grid-column:span 1}.analytics-chart-card{overflow:hidden}.analytics-kpi-modern>div{position:relative;overflow:hidden}.analytics-kpi-modern .kpi-highlight{background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 14%,var(--panel-solid)),color-mix(in srgb,var(--brand2) 12%,var(--panel-solid)))!important}
.modern-bar-chart{display:grid;gap:12px}.modern-bar-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(120px,2fr) auto;gap:10px;align-items:center}.modern-bar-row span,.modern-bar-row strong{font-weight:800}.modern-track{height:12px;background:color-mix(in srgb,var(--brand) 10%,var(--panel-solid));border:1px solid color-mix(in srgb,var(--brand) 14%,var(--line));overflow:hidden}.modern-track i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--brand2));border-radius:0!important}.analytics-donut-wrap{display:grid;grid-template-columns:180px 1fr;gap:18px;align-items:center}.analytics-donut{width:160px;height:160px;border-radius:50%!important;background:conic-gradient(var(--ok) 0 var(--angle),color-mix(in srgb,var(--danger) 80%,#fff) var(--angle) 360deg);display:grid;place-items:center;box-shadow:inset 0 0 0 18px color-mix(in srgb,var(--panel-solid) 88%,transparent)}.analytics-donut span{display:grid;place-items:center;width:92px;height:92px;border-radius:50%!important;background:var(--panel-solid);font-size:1.4rem;font-weight:950;color:var(--ink);border:1px solid var(--line)}.donut-list.compact{display:grid;gap:8px}.dot.status-present{background:var(--ok)}.dot.status-absent{background:var(--danger)}.dot.status-late{background:var(--accent)}.analytics-area-chart{min-height:230px;display:flex;align-items:end;gap:10px;padding:18px 8px 6px;background:linear-gradient(180deg,color-mix(in srgb,var(--brand2) 7%,transparent),transparent);border:1px solid color-mix(in srgb,var(--brand) 12%,var(--line))}.area-point{height:210px;flex:1;min-width:42px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px}.area-point i{display:block;width:100%;height:var(--h);min-height:4px;background:linear-gradient(180deg,var(--brand2),var(--brand));box-shadow:0 -12px 34px color-mix(in srgb,var(--brand2) 24%,transparent)}.area-point span{font-size:.78rem;font-weight:900}.area-point small{writing-mode:vertical-rl;max-height:70px;overflow:hidden;color:var(--muted);font-weight:700}.analytics-pie-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.pie-kpi{padding:14px;border:1px solid var(--line);background:color-mix(in srgb,var(--brand) 6%,var(--panel-solid));display:grid;gap:4px}.pie-kpi strong{font-size:1.45rem}.pie-kpi span{color:var(--muted);font-weight:750}
.subject-school-strip{display:flex;gap:10px;align-items:stretch;overflow-x:auto;padding:10px;margin:0 0 14px;border:1px solid var(--line);background:color-mix(in srgb,var(--brand) 5%,var(--panel-solid))}.subject-school-strip-title{align-self:center;font-weight:950;color:var(--muted);text-transform:uppercase;font-size:.75rem;letter-spacing:.08em}.subject-school-pill{display:grid;gap:2px;min-width:170px;padding:10px 12px;border:1px solid var(--line);background:var(--panel-solid);color:var(--ink);border-radius:var(--ui-corner-sm)!important}.subject-school-pill.active{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);background:color-mix(in srgb,var(--brand) 10%,var(--panel-solid))}.subject-school-pill small{color:var(--muted);font-weight:700}.subject-filter-card{padding:12px;border:1px solid var(--line);background:var(--panel-solid);margin-bottom:14px}.subject-school-cell{display:grid;gap:2px}.subject-school-cell small{color:var(--muted);font-weight:700}.school-chip{max-width:100%;white-space:normal}
.backup-summary-cards{display:grid!important;grid-template-columns:1fr;gap:12px;margin:0!important}.backup-summary-card{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 7%,var(--panel-solid)),var(--panel-solid));box-shadow:0 12px 28px rgba(15,23,42,.08)}.backup-summary-icon{width:44px;height:44px;display:grid;place-items:center;background:color-mix(in srgb,var(--brand) 12%,var(--panel-solid));border:1px solid color-mix(in srgb,var(--brand) 18%,var(--line));border-radius:var(--ui-corner-sm)!important}.backup-summary-card span:not(.backup-summary-icon){display:block;color:var(--muted);font-weight:850;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.backup-summary-card strong{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
html[data-theme="dark"] .modern-track,html[data-theme="dark"] .subject-school-strip,html[data-theme="dark"] .subject-filter-card,html[data-theme="dark"] .backup-summary-card,html[data-theme="dark"] .pie-kpi{background:color-mix(in srgb,var(--panel-solid),#fff 4%)}
@media(max-width:900px){.analytics-viz-grid{grid-template-columns:1fr}.analytics-donut-wrap{grid-template-columns:1fr;justify-items:center}.modern-bar-row{grid-template-columns:1fr}.modern-track{width:100%}.area-point small{writing-mode:horizontal-tb;max-width:80px;text-align:center}.subject-school-pill{min-width:150px}}
@media print{[data-print-preview-page],.no-print{display:none!important}}

/* 2026-05 FT analytics label readability refinement */
.area-point small{writing-mode:horizontal-tb!important;max-width:120px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transform:rotate(-18deg);transform-origin:center top;margin-top:8px}
@media(max-width:900px){.area-point small{transform:none!important;max-width:140px!important}}

/* 2026-05 FT subject card readability refinement */
.subject-card-grid-modern{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important}.subject-card-grid-modern .subject-card h3{overflow-wrap:normal;word-break:normal}.subject-card-grid-modern .subject-card p{white-space:normal}


/* Requested UI/UX hardening: email-queue-dark-mode-readability, square corners, softer headers */
:root{--radius:4px!important;--radius-md:4px!important;--radius-lg:6px!important;--corner-soft:4px!important}
.topbar h1,.dashboard-hero h2,.panel h2{font-weight:650!important;letter-spacing:-.025em!important}
.dashboard-hero h2{line-height:1.05!important}
.panel h2{line-height:1.18!important}
.panel,.mini-card,.stats>div,.dashboard-hero,.topbar,.filters-panel,.module-table-panel,.settings-card,.payment-form-card,.school-card,.modal,dialog,.danger-dialog,.email-view-dialog,.table-pagination,.custom-select-trigger,.custom-select-panel,input,select,textarea,.primary,.ghost,.danger,button,.chip,.avatar,.logo,.brand-link,.sidebar nav a{border-radius:var(--corner-soft)!important}
.email-queue-dark-mode-readability,.email-queue-panel{color:var(--ink)!important}
.email-queue-table td,.email-queue-table th,.email-queue-table strong,.email-queue-table small,.email-queue-table .muted{color:var(--ink)!important}
.email-body-preview{white-space:pre-wrap;overflow:auto;max-height:52vh;padding:14px;border:1px solid var(--line);border-radius:var(--corner-soft)!important;background:color-mix(in srgb,var(--panel-solid) 92%,var(--brand) 8%);color:var(--ink);font:500 .92rem/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}
html[data-theme="dark"] .email-queue-panel,html[data-theme="dark"] .email-advanced-filters{background:linear-gradient(135deg,rgba(15,29,49,.98),rgba(17,28,46,.96))!important;border-color:#3b4b63!important;color:#e5eefc!important}
html[data-theme="dark"] .email-queue-table{background:#0b1728!important;color:#e5eefc!important;border-color:#334155!important}
html[data-theme="dark"] .email-queue-table th{background:#111f33!important;color:#f8fafc!important;border-color:#334155!important}
html[data-theme="dark"] .email-queue-table td,html[data-theme="dark"] .email-queue-table strong,html[data-theme="dark"] .email-queue-table small,html[data-theme="dark"] .email-queue-table .muted{color:#e5eefc!important;border-color:#2f4058!important}
html[data-theme="dark"] .email-queue-table tr:hover td{background:#13243a!important;color:#fff!important}
html[data-theme="dark"] .email-queue-table th:last-child,html[data-theme="dark"] .email-queue-table td:last-child{background:#111f33!important;box-shadow:-10px 0 20px rgba(0,0,0,.42)!important}
html[data-theme="dark"] .email-body-preview{background:#06101f!important;color:#f8fafc!important;border-color:#3b4b63!important}
html[data-theme="dark"] .email-view-dialog .detail-list dd,html[data-theme="dark"] .email-view-dialog .detail-list dt{color:#e5eefc!important}
.subject-catalog-search-card{display:grid;grid-template-columns:minmax(260px,1.2fr) minmax(240px,.8fr);gap:14px;align-items:end;margin:0 0 16px;padding:16px;border:1px solid color-mix(in srgb,var(--brand) 18%,var(--line));border-radius:var(--corner-soft);background:linear-gradient(135deg,color-mix(in srgb,var(--panel-solid) 96%,var(--brand) 4%),color-mix(in srgb,var(--panel-solid) 92%,var(--brand2) 8%));box-shadow:0 12px 28px rgba(15,23,42,.08)}
.subject-catalog-search-card label{font-weight:800;color:var(--ink)}
.subject-card-grid-modern{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important}
.schools-paginated-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}
.payment-history-strip{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:14px!important}
.payment-history-strip .mini-card{min-width:0;background:linear-gradient(135deg,color-mix(in srgb,var(--panel-solid) 94%,var(--brand) 6%),color-mix(in srgb,var(--panel-solid) 90%,var(--brand2) 10%))!important;border:1px solid color-mix(in srgb,var(--brand) 18%,var(--line))!important;box-shadow:0 12px 30px rgba(15,23,42,.08)!important}
.payment-form-card{border-radius:var(--corner-soft)!important;background:linear-gradient(135deg,color-mix(in srgb,var(--panel-solid) 96%,var(--brand) 4%),color-mix(in srgb,var(--panel-solid) 91%,var(--brand2) 9%))!important;border:1px solid color-mix(in srgb,var(--brand) 20%,var(--line))!important;box-shadow:0 16px 38px rgba(15,23,42,.10)!important}
.payment-form-card .panel-head h2{font-weight:680!important}.payment-form-card input,.payment-form-card textarea,.payment-form-card select{background:color-mix(in srgb,var(--panel-solid) 97%,transparent)!important}
[data-async-pagination].is-loading{opacity:.72;pointer-events:none;position:relative}
[data-async-pagination].is-loading:after{content:"Chargement…";position:absolute;inset:12px 12px auto auto;padding:6px 10px;background:var(--brand);color:#fff;border-radius:var(--corner-soft);font-size:.8rem;font-weight:800}
.teacher-summary-preview{white-space:nowrap}
@media (max-width:1180px){.payment-history-strip{grid-template-columns:repeat(3,minmax(0,1fr))!important}.schools-paginated-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:720px){.subject-catalog-search-card,.payment-history-strip,.schools-paginated-grid{grid-template-columns:1fr!important}.payment-form-card{padding:16px!important}}

/* Email queue scanability after dark-mode QA */
.email-queue-table th:nth-child(1),.email-queue-table td:nth-child(1){min-width:132px!important}
.email-queue-table th:nth-child(2),.email-queue-table td:nth-child(2){min-width:210px!important;overflow-wrap:anywhere!important}
.email-queue-table th:nth-child(6),.email-queue-table td:nth-child(6){min-width:110px!important;white-space:nowrap!important}
.email-queue-table th:nth-child(9),.email-queue-table td:nth-child(9){min-width:210px!important}


/* atera-inspired-saas-design-system
   App-wide Lekòl360 redesign: Atera-inspired SaaS polish while preserving branding/localization. */
:root{
  color-scheme:light;
  --atera-primary-indigo:#4338ca;
  --atera-primary-violet:#5b3fd7;
  --atera-secondary-blue:#1f8fff;
  --atera-accent-cyan:#06b6d4;
  --atera-accent-teal:#14b8a6;
  --atera-success-green:#22c55e;
  --atera-warning-amber:#f59e0b;
  --atera-error-red:#ef5b68;
  --atera-info:#38bdf8;
  --atera-radius-card:8px;
  --atera-radius-panel:10px;
  --atera-radius-control:6px;
  --atera-space-1:4px;
  --atera-space-2:8px;
  --atera-space-3:12px;
  --atera-space-4:16px;
  --atera-space-5:20px;
  --atera-space-6:24px;
  --atera-space-8:32px;
  --surface-canvas:#f5f7fb;
  --surface-canvas-2:#eef3ff;
  --surface-panel:#ffffff;
  --surface-panel-soft:#f9fbff;
  --surface-elevated:#ffffff;
  --surface-canvas-dark:#070b18;
  --surface-panel-dark:#0f172a;
  --surface-elevated-dark:#151f35;
  --text-strong:#0f172a;
  --text-body:#23324a;
  --text-muted:#64748b;
  --border-subtle:#dfe7f3;
  --border-strong:#cbd5e1;
  --atera-shadow-sm:0 1px 2px rgba(15,23,42,.06),0 0 0 1px rgba(15,23,42,.04);
  --atera-shadow-md:0 12px 30px rgba(29,42,80,.10),0 1px 0 rgba(255,255,255,.75) inset;
  --atera-shadow-lg:0 28px 80px rgba(48,57,130,.18);
  --bg:var(--surface-canvas);
  --bg2:var(--surface-canvas-2);
  --panel:rgba(255,255,255,.94);
  --panel-solid:var(--surface-panel);
  --ink:var(--text-strong);
  --muted:var(--text-muted);
  --brand:var(--atera-primary-indigo);
  --brand-strong:var(--atera-primary-violet);
  --brand2:var(--atera-secondary-blue);
  --accent:var(--atera-warning-amber);
  --accent2:var(--atera-accent-cyan);
  --danger:var(--atera-error-red);
  --ok:var(--atera-success-green);
  --line:var(--border-subtle);
  --radius:var(--atera-radius-panel);
  --shadow:var(--atera-shadow-md);
  --soft-shadow:var(--atera-shadow-sm);
  --sidebar:#0b1024;
  --sidebar2:#151044;
  --sideText:#eef4ff;
}
html[data-theme="dark"]{
  color-scheme:dark;
  --surface-canvas:#070b18;
  --surface-canvas-2:#0b1024;
  --surface-panel:#0f172a;
  --surface-panel-soft:#111c32;
  --surface-elevated:#151f35;
  --text-strong:#f8fafc;
  --text-body:#dbe7fb;
  --text-muted:#9fb0ca;
  --border-subtle:rgba(148,163,184,.22);
  --border-strong:rgba(203,213,225,.32);
  --bg:var(--surface-canvas);
  --bg2:var(--surface-canvas-2);
  --panel:rgba(15,23,42,.94);
  --panel-solid:var(--surface-panel);
  --ink:var(--text-strong);
  --muted:var(--text-muted);
  --brand:#8b8cff;
  --brand-strong:#a5b4fc;
  --brand2:#38bdf8;
  --accent:#fbbf24;
  --accent2:#2dd4bf;
  --danger:#fb7185;
  --ok:#4ade80;
  --line:var(--border-subtle);
  --shadow:0 22px 70px rgba(0,0,0,.44),0 0 0 1px rgba(255,255,255,.04) inset;
  --soft-shadow:0 12px 28px rgba(0,0,0,.28);
  --sidebar:#050816;
  --sidebar2:#171146;
  --sideText:#f8fbff;
}
html{overflow-x:hidden;background:var(--bg)}
body{
  overflow-x:hidden;
  font-family:Inter,"SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-feature-settings:"cv01","ss03";
  color:var(--text-body);
  background:
    radial-gradient(circle at 9% 5%,color-mix(in srgb,var(--atera-secondary-blue) 16%,transparent),transparent 28rem),
    radial-gradient(circle at 96% 0%,color-mix(in srgb,var(--atera-primary-indigo) 14%,transparent),transparent 32rem),
    linear-gradient(135deg,var(--bg),var(--bg2));
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
html[data-theme="dark"] body{
  background:
    radial-gradient(circle at 8% 0%,rgba(31,143,255,.18),transparent 30rem),
    radial-gradient(circle at 96% 6%,rgba(91,63,215,.20),transparent 32rem),
    linear-gradient(135deg,var(--surface-canvas-dark),#0c1125 62%,#07111f);
}
h1,h2,h3,h4,.topbar h1,.panel h2,.panel h3,.dashboard-hero h2{font-weight:560;letter-spacing:-.035em;color:var(--ink)}
p,small,.muted,.panel-head p,.dashboard-hero p{color:var(--muted);line-height:1.58}
.main{padding:clamp(18px,2.4vw,34px);background:transparent}.main.public{background:transparent}.dashboard-modern-surface{isolation:isolate}
.sidebar.modern-school-sidebar{
  width:284px;
  padding:18px 14px;
  background:
    radial-gradient(circle at 20% -4%,rgba(31,143,255,.32),transparent 28%),
    radial-gradient(circle at 110% 40%,rgba(6,182,212,.20),transparent 30%),
    linear-gradient(180deg,var(--sidebar),var(--sidebar2));
  border-right:1px solid rgba(255,255,255,.10);
  box-shadow:16px 0 44px rgba(15,23,42,.24);
  backdrop-filter:blur(20px);
}
.sidebar-school-header{border-radius:var(--atera-radius-card)!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 14px 34px rgba(0,0,0,.18);padding:10px!important;margin-bottom:16px!important;color:#fff!important}.school-mark{border-radius:8px!important;background:#fff!important;box-shadow:0 10px 26px rgba(31,143,255,.24)}.school-header-copy strong{font-weight:620;letter-spacing:-.03em}.school-header-copy small{font-weight:430;color:rgba(238,244,255,.72)}
.sidebar nav{gap:5px}.sidebar nav a{position:relative;border-radius:var(--atera-radius-control)!important;padding:10px 12px!important;color:rgba(238,244,255,.78)!important;font-weight:520!important;letter-spacing:-.01em;transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.sidebar nav a:hover{background:rgba(255,255,255,.10)!important;color:#fff!important;transform:translateX(2px)!important}.sidebar nav a[aria-current="page"],.sidebar nav a[data-active-route="true"]{background:linear-gradient(135deg,var(--atera-primary-indigo),var(--atera-secondary-blue))!important;color:#fff!important;box-shadow:0 12px 28px rgba(31,143,255,.28)}.sidebar nav svg{opacity:.92}.sidebar-footer-actions .sidebar-tool{border-radius:var(--atera-radius-control)!important;background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.10)!important;color:rgba(238,244,255,.86)!important}
.topbar,.panel,.mini-card,.stats>div,.action-card,.login-card,.premium-auth-card,.filters-panel,.search-shell,.dashboard-search,.report,.payment-form-card,.latest-payments-panel{border-radius:var(--atera-radius-card)!important;background:linear-gradient(180deg,var(--panel),color-mix(in srgb,var(--panel-solid) 86%,var(--bg)))!important;border:1px solid var(--line)!important;box-shadow:var(--atera-shadow-md)!important;backdrop-filter:blur(16px)}
html[data-theme="dark"] .topbar,html[data-theme="dark"] .panel,html[data-theme="dark"] .mini-card,html[data-theme="dark"] .stats>div,html[data-theme="dark"] .action-card,html[data-theme="dark"] .filters-panel,html[data-theme="dark"] .dashboard-search{background:linear-gradient(180deg,rgba(21,31,53,.94),rgba(15,23,42,.94))!important;border-color:var(--line)!important;box-shadow:var(--shadow)!important}.panel-head{gap:14px;border-bottom:0!important}.panel-head h2{font-size:clamp(1.05rem,1.5vw,1.35rem);font-weight:560}.panel h3,.mini-card h3{font-weight:560}.stats{gap:16px}.stats>div{padding:18px!important}.stats strong,.big-metric{font-weight:590;letter-spacing:-.04em;background:linear-gradient(135deg,var(--atera-primary-indigo),var(--atera-secondary-blue));-webkit-background-clip:text;background-clip:text;color:transparent}.dashboard-hero{border-radius:var(--atera-radius-card)!important;background:linear-gradient(135deg,var(--atera-primary-indigo),var(--atera-secondary-blue) 58%,var(--atera-accent-cyan))!important;box-shadow:0 28px 80px rgba(67,56,202,.28)!important;border:1px solid rgba(255,255,255,.24)!important}.dashboard-hero h1,.dashboard-hero h2,.dashboard-hero h3,.dashboard-hero p,.dashboard-hero span{color:#fff!important}.dashboard-hero .eyebrow{color:rgba(255,255,255,.78)!important}
button,.primary,.secondary,.success,.warning,.danger,.ghost,.icon-button,.theme-toggle,input[type="submit"],button[type="submit"],.button{border-radius:var(--atera-radius-control)!important;font-weight:560!important;letter-spacing:-.01em;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease!important}.primary,button[type="submit"],input[type="submit"]{background:linear-gradient(135deg,var(--atera-primary-indigo),var(--atera-secondary-blue))!important;color:#fff!important;border:1px solid color-mix(in srgb,var(--atera-secondary-blue) 46%,transparent)!important;box-shadow:0 10px 24px rgba(31,143,255,.26)!important}.ghost,.secondary{background:color-mix(in srgb,var(--panel-solid) 82%,var(--atera-secondary-blue) 8%)!important;color:var(--brand)!important;border:1px solid color-mix(in srgb,var(--brand) 20%,var(--line))!important}.success{background:var(--atera-success-green)!important;color:#fff!important}.warning{background:var(--atera-warning-amber)!important;color:#111827!important}.danger{background:linear-gradient(135deg,var(--atera-error-red),#f97386)!important;color:#fff!important}button:hover,.primary:hover,.ghost:hover,.danger:hover,.icon-button:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(31,143,255,.18)!important}
input,select,textarea,.select2-container .select2-selection{border-radius:var(--atera-radius-control)!important;border:1px solid var(--line)!important;background:var(--panel-solid)!important;color:var(--ink)!important;box-shadow:0 1px 0 rgba(255,255,255,.45) inset!important}input:focus,select:focus,textarea:focus{outline:3px solid color-mix(in srgb,var(--atera-secondary-blue) 22%,transparent)!important;border-color:var(--atera-secondary-blue)!important}label{font-weight:520;color:var(--ink);letter-spacing:-.01em}.filters-grid{gap:14px!important}.filters-panel{position:relative;z-index:2}.filters-panel:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(90deg,color-mix(in srgb,var(--atera-secondary-blue) 8%,transparent),transparent 38%)}
.table-wrap{border-radius:var(--atera-radius-card)!important;border:1px solid var(--line);overflow:auto;background:var(--panel-solid);box-shadow:var(--atera-shadow-sm)}.entity-table{border-collapse:separate!important;border-spacing:0!important;background:var(--panel-solid)!important}.entity-table thead th{position:sticky;top:0;z-index:3;background:color-mix(in srgb,var(--panel-solid) 90%,var(--atera-secondary-blue) 6%)!important;color:var(--ink)!important;font-size:.78rem;text-transform:uppercase;letter-spacing:.045em;font-weight:620!important;border-bottom:1px solid var(--line)!important}.entity-table tbody td{border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent)!important;color:var(--text-body)!important}.entity-table tbody tr:nth-child(even){background:color-mix(in srgb,var(--panel-solid) 94%,var(--atera-secondary-blue) 3%)}.entity-table tbody tr:hover{background:color-mix(in srgb,var(--atera-secondary-blue) 8%,var(--panel-solid))!important}.pagination a,.pagination span{border-radius:var(--atera-radius-control)!important;border:1px solid var(--line);background:var(--panel-solid);box-shadow:var(--atera-shadow-sm)}.pagination .active,.pagination [aria-current="page"]{background:linear-gradient(135deg,var(--atera-primary-indigo),var(--atera-secondary-blue))!important;color:#fff!important}
.chip,.badge,.status,.demo-banner-badge{border-radius:999px!important;font-weight:590!important}.chip{background:color-mix(in srgb,var(--atera-secondary-blue) 10%,var(--panel-solid))!important;color:var(--brand)!important;border:1px solid color-mix(in srgb,var(--atera-secondary-blue) 18%,var(--line))}.flash{border-radius:var(--atera-radius-control)!important;box-shadow:var(--atera-shadow-sm)}.flash.success{background:color-mix(in srgb,var(--atera-success-green) 14%,var(--panel-solid));color:color-mix(in srgb,var(--atera-success-green) 72%,var(--ink));}.flash.error,.flash.danger{background:color-mix(in srgb,var(--atera-error-red) 14%,var(--panel-solid));color:color-mix(in srgb,var(--atera-error-red) 78%,var(--ink));}.modal,.dialog,.dropdown-menu{border-radius:var(--atera-radius-card)!important;background:var(--surface-elevated)!important;border:1px solid var(--line)!important;box-shadow:var(--atera-shadow-lg)!important}.site-footer{color:var(--muted)!important}.footer-logo{filter:drop-shadow(0 10px 22px rgba(67,56,202,.12))}
@media (max-width:1180px){.stats,.cards,.dashboard-grid{gap:14px!important}.main{padding:22px}}
@media (max-width:780px){.sidebar.modern-school-sidebar{width:min(310px,88vw)}.main,.sidebar-collapsed .main{margin-left:0!important;padding:16px!important}.topbar,.panel,.mini-card,.stats>div{border-radius:8px!important}.dashboard-hero{border-radius:8px!important}.entity-table{min-width:720px}.table-wrap{overflow-x:auto}.filters-panel{z-index:1}.school-header-copy,.sidebar nav span{font-size:.95rem}}
@media (max-width:520px){.main{padding:12px!important}.panel,.dashboard-search,.filters-panel{padding:16px!important}.stats{grid-template-columns:1fr!important}.primary,.ghost,.danger,button[type="submit"]{width:auto;min-height:42px}.top-actions{gap:8px}.entity-table{font-size:.9rem}}
@media print{body{background:#fff!important;color:#111827!important}.sidebar,.topbar,.site-footer,.theme-toggle,.floating-menu-button{display:none!important}.panel,.report{box-shadow:none!important;border:0!important;border-radius:0!important}}


/* atera-inspired-saas-design-system QA refinements */
.sidebar.modern-school-sidebar{display:flex!important;flex-direction:column!important;overflow:hidden!important}
.sidebar.modern-school-sidebar nav{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;padding-bottom:112px!important;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.28) transparent}
.sidebar-footer-actions.compact-sidebar-tools{flex:0 0 auto!important;margin-top:auto!important;position:sticky!important;bottom:0!important;z-index:5!important;padding-top:10px!important;background:linear-gradient(180deg,transparent,rgba(5,8,22,.96) 34%)!important}
.dashboard-modern-surface h1,.dashboard-modern-surface h2,.dashboard-modern-surface h3,.dashboard-modern-surface .panel-head h2,.dashboard-modern-surface .dashboard-section-title,.dashboard-modern-surface .section-title{text-shadow:none!important;-webkit-text-stroke:0!important;text-rendering:optimizeLegibility!important}
.dashboard-hero h1,.dashboard-hero h2{font-size:clamp(2.15rem,4vw,4.85rem)!important;line-height:.96!important;max-width:11ch!important}.dashboard-hero p{font-weight:420!important;color:rgba(255,255,255,.86)!important}.mini-card p,.stats span,.panel-head p{color:color-mix(in srgb,var(--muted) 86%,var(--ink) 14%)!important}.stats>div,.mini-card{isolation:isolate}.stats>div:after,.mini-card:after{opacity:.55!important}
@media (max-width:780px){.sidebar.modern-school-sidebar nav{padding-bottom:128px!important}.dashboard-hero h1,.dashboard-hero h2{font-size:clamp(2rem,12vw,3.25rem)!important;max-width:100%!important}}


/* atera-inspired-saas-design-system final polish locks */
.sidebar.modern-school-sidebar{position:fixed!important;display:block!important;padding-bottom:108px!important}
.sidebar.modern-school-sidebar nav{display:grid!important;max-height:calc(100vh - 206px)!important;overflow-y:auto!important;padding:0 2px 18px 0!important;margin-bottom:0!important}
.sidebar-footer-actions.compact-sidebar-tools{position:absolute!important;left:14px!important;right:14px!important;bottom:16px!important;margin:0!important;padding:10px 0 0!important;background:linear-gradient(180deg,rgba(5,8,22,0),rgba(5,8,22,.98) 42%)!important;border-radius:10px!important}
.dashboard-modern-surface h1,.dashboard-modern-surface h2,.dashboard-modern-surface h3,.dashboard-modern-surface .panel-head h2,.dashboard-modern-surface .dashboard-section-title,.dashboard-modern-surface .section-title,.dashboard-modern-surface .mini-card h3,.dashboard-modern-surface .panel h3{font-weight:560!important;text-shadow:none!important;-webkit-text-stroke:0!important}.dashboard-modern-surface .stats strong,.dashboard-modern-surface .big-metric{font-weight:590!important}.dashboard-modern-surface .eyebrow{font-weight:620!important}.dashboard-hero h1,.dashboard-hero h2{font-weight:580!important}


/* atera-inspired-saas-design-system dark accessibility polish */
html[data-theme="dark"] .sidebar nav a{color:rgba(248,251,255,.88)!important}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#b9c6dc!important;opacity:1!important}
html[data-theme="dark"] .mini-card p,html[data-theme="dark"] .stats span,html[data-theme="dark"] .panel-head p,html[data-theme="dark"] small{color:#b9c6dc!important}
html[data-theme="dark"] .chip{color:#dff6ff!important;background:rgba(56,189,248,.16)!important;border-color:rgba(56,189,248,.30)!important}


/* atera-inspired-saas-design-system sidebar non-overlap lock */
.sidebar.modern-school-sidebar nav{max-height:calc(100vh - 252px)!important;padding-bottom:10px!important;overscroll-behavior:contain!important}
.sidebar-footer-actions.compact-sidebar-tools{min-height:86px!important}
@media (max-height:700px){.sidebar.modern-school-sidebar nav{max-height:calc(100vh - 238px)!important}.sidebar nav a{padding-top:8px!important;padding-bottom:8px!important}.sidebar-footer-actions.compact-sidebar-tools{min-height:78px!important}}


/* atera-inspired-saas-design-system verified short-viewport sidebar lock */
.sidebar.modern-school-sidebar nav{max-height:calc(100vh - 300px)!important;overflow-y:auto!important;overflow-x:hidden!important;padding-bottom:0!important}
@media (max-height:700px){.sidebar.modern-school-sidebar nav{max-height:calc(100vh - 300px)!important}.sidebar-footer-actions.compact-sidebar-tools{min-height:78px!important}}
@media (min-height:760px){.sidebar.modern-school-sidebar nav{max-height:calc(100vh - 284px)!important}}


/* atera-inspired-saas-design-system footer absolute override - cachebust v2 */
body .sidebar.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{position:absolute!important;left:14px!important;right:14px!important;bottom:18px!important;top:auto!important;margin:0!important;z-index:10!important;min-height:78px!important;max-height:78px!important;overflow:visible!important}
body .sidebar.modern-school-sidebar nav{max-height:calc(100vh - 260px)!important;margin-bottom:100px!important;overflow-y:auto!important;overflow-x:hidden!important;padding-bottom:0!important}
@media (max-height:700px){body .sidebar.modern-school-sidebar nav{max-height:calc(100vh - 278px)!important;margin-bottom:98px!important}}


/* atera-inspired-saas-design-system schools grid overflow fix - cachebust v3 */
body .cards.schools-list-cards.schools-paginated-grid{grid-template-columns:repeat(3,minmax(250px,1fr))!important;gap:clamp(14px,1.6vw,22px)!important;align-items:stretch!important}
body .schools-paginated-grid .school-metrics-row{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;min-width:0!important}
body .schools-paginated-grid .school-metric-link{min-width:0!important;padding:8px 4px!important;overflow:hidden!important}
body .schools-paginated-grid .school-metric-link span{font-size:.68rem!important;line-height:1.05!important;overflow-wrap:anywhere!important;word-break:normal!important}
@media (max-width:1180px){body .cards.schools-list-cards.schools-paginated-grid{grid-template-columns:repeat(2,minmax(260px,1fr))!important}}
@media (max-width:720px){body .cards.schools-list-cards.schools-paginated-grid{grid-template-columns:1fr!important}}


/* atera-inspired-saas-design-system sidebar/content clearance fix - cachebust v4 */
@media (min-width:781px){
  body:not(.sidebar-collapsed) .sidebar.modern-school-sidebar{width:320px!important;min-width:320px!important;max-width:320px!important}
  body:not(.sidebar-collapsed) .main{margin-left:328px!important}
  body.sidebar-collapsed .main{margin-left:92px!important}
}
@media (max-width:780px){
  body:not(.sidebar-open) .main,body.sidebar-collapsed .main,.main{margin-left:0!important}
}


/* atera-inspired-saas-design-system hard sidebar/main clearance - cachebust v5 */
html body.has-floating-sidebar-tooltips:not(.sidebar-collapsed) main.main,
html body:not(.sidebar-collapsed) main.main.dashboard-modern-surface,
html body:not(.sidebar-collapsed) .main.dashboard-modern-surface{margin-left:328px!important}
html body:not(.sidebar-collapsed) aside.sidebar.modern-school-sidebar{width:320px!important;min-width:320px!important;max-width:320px!important}
@media (max-width:780px){html body main.main,html body .main.dashboard-modern-surface{margin-left:0!important}}


/* atera-inspired-saas-design-system sidebar offset variable alignment - cachebust v6 */
:root{--school-sidebar-w:328px!important;--sidebar-expanded-width:328px!important}
html body:not(.sidebar-collapsed){--school-sidebar-w:328px!important;--sidebar-expanded-width:328px!important}
html body:not(.sidebar-collapsed) main.main{margin-left:var(--school-sidebar-w)!important}
html body:not(.sidebar-collapsed) aside.sidebar.modern-school-sidebar{width:320px!important;min-width:320px!important;max-width:320px!important}
@media (max-width:780px){:root{--school-sidebar-w:0px!important;--sidebar-expanded-width:0px!important}html body:not(.sidebar-collapsed) main.main{margin-left:0!important}}


/* atera-inspired-saas-design-system school metric label polish - cachebust v7 */
body .schools-paginated-grid .school-metric-link span{font-size:.62rem!important;letter-spacing:.015em!important;line-height:1.05!important;word-break:keep-all!important;overflow-wrap:normal!important;hyphens:none!important}


/* 20260530 subject dashboard v2: school-first Atera-inspired management */
.subject-dashboard-v2{display:grid;gap:clamp(16px,2vw,24px);min-width:0}
.subject-hero-v2{grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;background:radial-gradient(circle at 88% 8%,rgba(45,212,191,.28),transparent 18rem),radial-gradient(circle at 12% 80%,rgba(99,102,241,.28),transparent 18rem),linear-gradient(135deg,#172554,#4338ca 58%,#0284c7)!important;color:#fff!important;border:0!important;box-shadow:0 24px 70px rgba(30,41,89,.24)!important}
.subject-hero-v2 h2,.subject-hero-v2 p,.subject-hero-v2 .eyebrow{color:#fff!important;text-shadow:none!important}.subject-hero-v2 p{max-width:780px;opacity:.9}.subject-hero-pills,.subject-hero-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.subject-hero-pills span{display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.24);font-weight:760}.subject-hero-actions{justify-content:flex-end}.subject-hero-actions .ghost{background:rgba(255,255,255,.12)!important;color:#fff!important;border-color:rgba(255,255,255,.26)!important}.subject-kpis-v2>div{border-color:color-mix(in srgb,var(--brand2) 18%,var(--line))!important;background:linear-gradient(145deg,color-mix(in srgb,var(--panel-solid) 94%,var(--brand) 6%),color-mix(in srgb,var(--panel-solid) 94%,var(--brand2) 6%))!important;box-shadow:0 16px 38px rgba(15,23,42,.08)!important}
.subject-school-command-center{position:relative;overflow:hidden;border-radius:24px!important;border:1px solid color-mix(in srgb,var(--brand2) 18%,var(--line))!important;background:linear-gradient(145deg,color-mix(in srgb,var(--panel-solid) 98%,#fff),color-mix(in srgb,var(--brand2) 7%,var(--panel-solid)))!important;box-shadow:0 18px 48px rgba(15,23,42,.09)!important}.subject-school-command-center:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,#4f46e5,#2563eb,#14b8a6);border-radius:999px}.subject-school-command-center>.panel-head,.subject-school-command-center>.subject-school-command-grid,.subject-school-command-center>.subject-selected-school-summary{position:relative;z-index:1}.section-kicker{display:inline-flex;width:max-content;max-width:100%;margin-bottom:6px;padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--brand2) 10%,var(--panel-solid));border:1px solid color-mix(in srgb,var(--brand2) 18%,var(--line));color:var(--brand-strong);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.subject-school-command-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:16px 0}.subject-school-card{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto auto;gap:4px 12px;align-items:center;min-width:0;padding:14px;border:1px solid color-mix(in srgb,var(--brand) 14%,var(--line));border-radius:18px;background:var(--panel-solid);color:var(--ink);text-decoration:none;box-shadow:0 10px 26px rgba(15,23,42,.06);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.subject-school-card:hover,.subject-school-card:focus-visible,.subject-school-card.active{transform:translateY(-2px);border-color:color-mix(in srgb,var(--brand2) 42%,var(--line));box-shadow:0 16px 34px rgba(37,99,235,.13);outline:none;background:linear-gradient(145deg,color-mix(in srgb,var(--brand2) 9%,var(--panel-solid)),color-mix(in srgb,var(--accent) 6%,var(--panel-solid)))}.subject-school-card[aria-current="page"]{box-shadow:0 0 0 3px color-mix(in srgb,var(--brand2) 18%,transparent),0 16px 34px rgba(37,99,235,.13)}.subject-school-card-icon{grid-row:1/4;width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#4f46e5,#0ea5e9);color:#fff;font-weight:900;text-transform:uppercase}.subject-school-card strong{min-width:0;color:var(--ink);font-size:1rem;line-height:1.2;overflow-wrap:anywhere}.subject-school-card small,.subject-school-card em{min-width:0;color:var(--muted);font-style:normal;font-weight:650;line-height:1.35}.subject-school-card em{color:var(--brand-strong);font-size:.82rem}.subject-selected-school-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-radius:20px;background:color-mix(in srgb,var(--accent) 7%,var(--panel-solid))}.subject-selected-school-summary h3{margin:0;color:var(--ink);font-size:clamp(1.25rem,2vw,1.7rem);letter-spacing:-.035em}.subject-selected-school-summary p{margin:6px 0 0;color:var(--muted)}.subject-selected-school-summary dl{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:10px;margin:0}.subject-selected-school-summary dl div{padding:12px;border-radius:16px;background:var(--panel-solid);border:1px solid color-mix(in srgb,var(--brand) 12%,var(--line));box-shadow:0 8px 20px rgba(15,23,42,.05)}.subject-selected-school-summary dt{color:var(--muted);font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.subject-selected-school-summary dd{margin:4px 0 0;color:var(--brand-strong);font-size:1.45rem;font-weight:820;line-height:1}.subject-create-panel,.subject-catalog-panel{border-radius:24px!important}.subject-catalog-panel .table-wrap{margin-top:16px}.subject-filter-card{border-radius:18px!important}.subject-card-grid-modern{margin-top:16px!important}
html[data-theme="dark"] .subject-school-command-center{background:linear-gradient(145deg,#0b1220,#101c34)!important;border-color:rgba(96,165,250,.26)!important;box-shadow:0 22px 56px rgba(0,0,0,.28)!important}html[data-theme="dark"] .subject-school-card{background:#0f1b2d;border-color:rgba(148,163,184,.22);box-shadow:0 12px 30px rgba(0,0,0,.22)}html[data-theme="dark"] .subject-school-card:hover,html[data-theme="dark"] .subject-school-card:focus-visible,html[data-theme="dark"] .subject-school-card.active{background:linear-gradient(145deg,rgba(79,70,229,.22),rgba(14,165,233,.13));border-color:rgba(125,211,252,.42)}html[data-theme="dark"] .subject-school-card strong,html[data-theme="dark"] .subject-selected-school-summary h3{color:#f8fbff}html[data-theme="dark"] .subject-school-card small,html[data-theme="dark"] .subject-school-card em,html[data-theme="dark"] .subject-selected-school-summary p{color:#d7e4f3}html[data-theme="dark"] .subject-selected-school-summary{background:rgba(20,184,166,.10);border-color:rgba(45,212,191,.25)}html[data-theme="dark"] .subject-selected-school-summary dl div{background:#0b1626;border-color:rgba(148,163,184,.22)}html[data-theme="dark"] .subject-kpis-v2>div{background:linear-gradient(145deg,#0f1b2d,#101c34)!important;border-color:rgba(96,165,250,.24)!important}
@media(max-width:900px){.subject-hero-v2{grid-template-columns:1fr!important}.subject-hero-actions{justify-content:flex-start}.subject-selected-school-summary{grid-template-columns:1fr}.subject-selected-school-summary dl{grid-template-columns:repeat(3,minmax(0,1fr))}.subject-school-command-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}
@media(max-width:640px){.subject-selected-school-summary dl{grid-template-columns:1fr}.subject-school-card{grid-template-columns:38px minmax(0,1fr);padding:12px}.subject-school-card-icon{width:38px;height:38px}.subject-hero-pills span,.subject-hero-actions a{width:100%;justify-content:center}.subject-school-command-center{padding:16px!important}}


/* 20260530 subject dashboard v2 hero/sidebar clearance QA fix */
.subject-dashboard-v2,.subject-dashboard-v2 *{min-width:0!important;box-sizing:border-box}
.subject-hero-v2{max-width:100%!important;overflow:hidden!important}
.subject-hero-v2 h2{font-size:clamp(2rem,4.2vw,3.35rem)!important;line-height:1.02!important;letter-spacing:-.055em!important;max-width:100%!important;overflow-wrap:normal!important;text-wrap:balance!important}
.subject-hero-actions{min-width:0!important}.subject-hero-actions a{white-space:normal!important;text-align:center}
@media(max-width:1180px){.subject-hero-v2{grid-template-columns:1fr!important}.subject-hero-actions{justify-content:flex-start!important}.subject-hero-actions a{flex:1 1 180px}}


/* Lekol360 Unified Dashboard Title System
   Consistent modern SaaS title scale for all protected dashboards/modules. */
:root{
  --dashboard-title-font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --dashboard-title-size-desktop:clamp(1.62rem,1.72vw,2.06rem);
  --dashboard-title-size-laptop:clamp(1.48rem,1.55vw,1.88rem);
  --dashboard-title-size-mobile:clamp(1.28rem,5.6vw,1.62rem);
  --dashboard-title-weight:640;
  --dashboard-title-letter-spacing:-.028em;
  --dashboard-title-line-height:1.08;
  --dashboard-title-transform:uppercase;
}
.dashboard-title-system,
.dashboard-hero h2,
.dashboard-v3-hero h2,
.module-hero h2,
.entity-hero h2,
.profile-hero h2,
.lekol360-hero h2,
.subject-hero-v2 h2,
.teachers-dashboard-hero h2,
.topbar-title h1,
.focused-topbar h1{
  display:block!important;
  max-width:100%!important;
  min-width:0!important;
  margin:.08rem 0 .38rem!important;
  font-family:var(--dashboard-title-font-family)!important;
  font-size:var(--dashboard-title-size-desktop)!important;
  font-weight:var(--dashboard-title-weight)!important;
  letter-spacing:var(--dashboard-title-letter-spacing)!important;
  line-height:var(--dashboard-title-line-height)!important;
  text-align:left!important;
  text-transform:var(--dashboard-title-transform)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  text-wrap:nowrap!important;
  text-shadow:none!important;
  -webkit-text-stroke:0!important;
}
.dashboard-hero,
.dashboard-v3-hero,
.module-hero,
.entity-hero,
.profile-hero,
.lekol360-hero,
.subject-hero-v2,
.teachers-dashboard-hero{
  min-width:0!important;
  overflow:hidden!important;
}
.dashboard-hero > *,
.dashboard-v3-hero > *,
.module-hero > *,
.entity-hero > *,
.profile-hero > *,
.lekol360-hero > *,
.subject-hero-v2 > *,
.teachers-dashboard-hero > *{
  min-width:0!important;
}
html[data-theme="dark"] .dashboard-title-system,
html[data-theme="dark"] .dashboard-hero h2,
html[data-theme="dark"] .dashboard-v3-hero h2,
html[data-theme="dark"] .module-hero h2,
html[data-theme="dark"] .entity-hero h2,
html[data-theme="dark"] .profile-hero h2,
html[data-theme="dark"] .lekol360-hero h2,
html[data-theme="dark"] .subject-hero-v2 h2,
html[data-theme="dark"] .teachers-dashboard-hero h2,
html[data-theme="dark"] .topbar-title h1,
html[data-theme="dark"] .focused-topbar h1{
  color:inherit!important;
  text-shadow:none!important;
}
@media (max-width:1180px){
  .dashboard-title-system,
  .dashboard-hero h2,
  .dashboard-v3-hero h2,
  .module-hero h2,
  .entity-hero h2,
  .profile-hero h2,
  .lekol360-hero h2,
  .subject-hero-v2 h2,
  .teachers-dashboard-hero h2,
  .topbar-title h1,
  .focused-topbar h1{
    font-size:var(--dashboard-title-size-laptop)!important;
  }
}
@media (max-width:780px){
  .dashboard-title-system,
  .dashboard-hero h2,
  .dashboard-v3-hero h2,
  .module-hero h2,
  .entity-hero h2,
  .profile-hero h2,
  .lekol360-hero h2,
  .subject-hero-v2 h2,
  .teachers-dashboard-hero h2,
  .topbar-title h1,
  .focused-topbar h1{
    font-size:var(--dashboard-title-size-mobile)!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    text-wrap:balance!important;
    line-height:1.12!important;
  }
}


/* Lekol360 Unified Dashboard Title System specificity lock - cachebust v10 */
html body main.dashboard-modern-surface.dashboard-experience .dashboard-hero h2,
html body main.dashboard-modern-surface.dashboard-experience .dashboard-v3-hero h2,
html body main.dashboard-modern-surface.dashboard-experience .module-hero h2,
html body main.dashboard-modern-surface.dashboard-experience .entity-hero h2,
html body main.dashboard-modern-surface.dashboard-experience .profile-hero h2,
html body main.dashboard-modern-surface.dashboard-experience .lekol360-hero h2,
html body main.dashboard-modern-surface.dashboard-experience .subject-hero-v2 h2,
html body main.dashboard-modern-surface.dashboard-experience .teachers-dashboard-hero h2,
html body .topbar-title h1,
html body .focused-topbar h1{
  font-family:var(--dashboard-title-font-family)!important;
  font-size:var(--dashboard-title-size-desktop)!important;
  font-weight:var(--dashboard-title-weight)!important;
  letter-spacing:var(--dashboard-title-letter-spacing)!important;
  line-height:var(--dashboard-title-line-height)!important;
  text-transform:var(--dashboard-title-transform)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  text-wrap:nowrap!important;
  max-width:100%!important;
  text-shadow:none!important;
}
@media (max-width:1180px){
  html body main.dashboard-modern-surface.dashboard-experience .dashboard-hero h2,
  html body main.dashboard-modern-surface.dashboard-experience .dashboard-v3-hero h2,
  html body main.dashboard-modern-surface.dashboard-experience .module-hero h2,
  html body main.dashboard-modern-surface.dashboard-experience .entity-hero h2,
  html body main.dashboard-modern-surface.dashboard-experience .profile-hero h2,
  html body main.dashboard-modern-surface.dashboard-experience .lekol360-hero h2,
  html body main.dashboard-modern-surface.dashboard-experience .subject-hero-v2 h2,
  html body main.dashboard-modern-surface.dashboard-experience .teachers-dashboard-hero h2,
  html body .topbar-title h1,
  html body .focused-topbar h1{font-size:var(--dashboard-title-size-laptop)!important}
}
@media (max-width:780px){
  html body main.dashboard-modern-surface.dashboard-experience .dashboard-hero h2,
  html body main.dashboard-modern-surface.dashboard-experience .dashboard-v3-hero h2,
  html body main.dashboard-modern-surface.dashboard-experience .module-hero h2,
  html body main.dashboard-modern-surface.dashboard-experience .entity-hero h2,
  html body main.dashboard-modern-surface.dashboard-experience .profile-hero h2,
  html body main.dashboard-modern-surface.dashboard-experience .lekol360-hero h2,
  html body main.dashboard-modern-surface.dashboard-experience .subject-hero-v2 h2,
  html body main.dashboard-modern-surface.dashboard-experience .teachers-dashboard-hero h2,
  html body .topbar-title h1,
  html body .focused-topbar h1{
    font-size:var(--dashboard-title-size-mobile)!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    text-wrap:balance!important;
  }
}


/* Teacher resume preview — modern print-ready resume experience */
.teacher-resume-preview-page{
  display:grid;
  gap:1.25rem;
  max-width:1120px;
  margin:0 auto;
}
.resume-preview-toolbar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
  padding:1.15rem;
  border-radius:var(--radius-lg, 18px);
  background:linear-gradient(135deg, rgba(41,52,148,.96), rgba(85,73,245,.92));
  color:#fff;
  box-shadow:0 18px 42px rgba(15,23,42,.18);
}
.resume-preview-toolbar h2{margin:.2rem 0;font-size:clamp(1.7rem,3vw,2.4rem);letter-spacing:-.035em;color:#fff;}
.resume-preview-toolbar p{margin:0;color:rgba(255,255,255,.82);max-width:56rem;}
.resume-preview-actions{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:flex-end;}
.resume-print-shell{
  background:#fff;
  color:#172033;
  border:1px solid rgba(129,140,248,.22);
  border-radius:18px;
  box-shadow:0 24px 70px rgba(15,23,42,.14);
  overflow:hidden;
}
.resume-document-header{
  display:grid;
  grid-template-columns:132px 1fr;
  gap:1.35rem;
  padding:1.6rem;
  background:linear-gradient(135deg,#172554,#3730a3 58%,#0891b2);
  color:#fff;
}
.resume-photo-frame{width:132px;height:132px;border-radius:22px;padding:5px;background:rgba(255,255,255,.22);box-shadow:0 16px 34px rgba(0,0,0,.24);}
.resume-photo-frame img{width:100%;height:100%;object-fit:cover;border-radius:18px;background:#fff;display:block;}
.resume-kicker{display:inline-flex;margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:800;color:#a7f3d0;}
.resume-identity-block h1{margin:0;font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.055em;line-height:.95;color:#fff;}
.resume-role-line{font-size:1.05rem;margin:.65rem 0 1rem;color:rgba(255,255,255,.86);}
.resume-contact-grid{display:flex;gap:.55rem;flex-wrap:wrap;}
.resume-contact-grid span{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);padding:.45rem .65rem;border-radius:999px;font-size:.88rem;color:#f8fafc;}
.resume-document-grid{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.6fr);gap:1rem;padding:1.15rem;background:linear-gradient(180deg,#f8fbff,#eef4ff);}
.resume-sidebar-column,.resume-main-column{display:grid;gap:1rem;align-content:start;}
.resume-section-card{background:rgba(255,255,255,.92);border:1px solid rgba(148,163,184,.22);border-radius:14px;padding:1rem;box-shadow:0 10px 28px rgba(15,23,42,.06);}
.resume-section-card h2{margin:0 0 .75rem;font-size:.88rem;letter-spacing:.1em;text-transform:uppercase;color:#3730a3;font-weight:800;}
.resume-section-card p{margin:0;color:#475569;line-height:1.6;}
.resume-detail-list{display:grid;gap:.65rem;margin:0;}
.resume-detail-list dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:800;}
.resume-detail-list dd{margin:0;color:#172033;font-weight:650;}
.resume-chip-list{display:flex;flex-wrap:wrap;gap:.45rem;}
.resume-chip-list span{padding:.4rem .6rem;border-radius:999px;background:#eef2ff;color:#312e81;font-weight:800;font-size:.8rem;}
.resume-class-list,.resume-timeline{display:grid;gap:.65rem;}
.resume-class-list article,.resume-timeline article{padding:.75rem;border:1px solid rgba(148,163,184,.22);border-radius:12px;background:#f8fafc;display:grid;gap:.18rem;}
.resume-class-list strong,.resume-timeline strong{color:#0f172a;}
.resume-class-list span,.resume-timeline span,.resume-class-list small,.resume-timeline p{color:#64748b;margin:0;}
.resume-metric-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;}
.resume-metric-row div{padding:.8rem;border-radius:12px;background:linear-gradient(135deg,#eef2ff,#ecfeff);text-align:center;}
.resume-metric-row strong{display:block;font-size:1.45rem;color:#1d4ed8;line-height:1;}
.resume-metric-row span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:800;}
html[data-theme="dark"] .teacher-resume-preview-page .resume-print-shell{background:#0f172a;color:#e5eefb;border-color:rgba(125,211,252,.18);box-shadow:0 24px 70px rgba(0,0,0,.42);}
html[data-theme="dark"] .teacher-resume-preview-page .resume-document-grid{background:linear-gradient(180deg,#111827,#0b1220);}
html[data-theme="dark"] .teacher-resume-preview-page .resume-section-card{background:rgba(15,23,42,.92);border-color:rgba(125,211,252,.16);}
html[data-theme="dark"] .teacher-resume-preview-page .resume-section-card h2{color:#67e8f9;}
html[data-theme="dark"] .teacher-resume-preview-page .resume-section-card p,
html[data-theme="dark"] .teacher-resume-preview-page .resume-class-list span,
html[data-theme="dark"] .teacher-resume-preview-page .resume-timeline span,
html[data-theme="dark"] .teacher-resume-preview-page .resume-timeline p,
html[data-theme="dark"] .teacher-resume-preview-page .resume-detail-list dt{color:#b6c7dc;}
html[data-theme="dark"] .teacher-resume-preview-page .resume-detail-list dd,
html[data-theme="dark"] .teacher-resume-preview-page .resume-class-list strong,
html[data-theme="dark"] .teacher-resume-preview-page .resume-timeline strong{color:#f8fafc;}
html[data-theme="dark"] .teacher-resume-preview-page .resume-class-list article,
html[data-theme="dark"] .teacher-resume-preview-page .resume-timeline article{background:#111827;border-color:rgba(148,163,184,.2);}
@media(max-width:860px){
  .resume-preview-toolbar,.resume-document-header,.resume-document-grid{grid-template-columns:1fr;display:grid;}
  .resume-preview-actions{justify-content:flex-start;}
  .resume-metric-row{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media print{
  body{background:#fff!important;}
  .no-print,.sidebar,.app-sidebar,.topbar,.section-footer,aside.complementary{display:none!important;}
  main.dashboard-modern-surface,main{margin:0!important;padding:0!important;width:100%!important;max-width:none!important;background:#fff!important;}
  .teacher-resume-preview-page{max-width:none!important;margin:0!important;display:block!important;}
  .resume-print-shell{box-shadow:none!important;border:0!important;border-radius:0!important;color:#111827!important;background:#fff!important;}
  .resume-document-header{print-color-adjust:exact;-webkit-print-color-adjust:exact;border-radius:0!important;}
  .resume-document-grid{background:#fff!important;padding:.85rem!important;}
  .resume-section-card{box-shadow:none!important;break-inside:avoid;background:#fff!important;color:#111827!important;}
}


/* 2026-05 bulletin preview fallbacks + teacher resume print isolation */
.bulletin-warning-panel{border-color:color-mix(in srgb,var(--warning,#f59e0b) 38%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,#f59e0b 12%,var(--panel-solid)),var(--panel-solid));}
.bulletin-warning-panel h2{color:color-mix(in srgb,#b45309 84%,var(--ink));}
.bulletin-warning-list{margin:.35rem 0 0;padding-left:1.2rem;color:var(--ink);font-weight:750;line-height:1.55;}
html[data-theme="dark"] .bulletin-warning-panel{background:linear-gradient(135deg,rgba(245,158,11,.16),rgba(15,23,42,.92));border-color:rgba(251,191,36,.32);}
html[data-theme="dark"] .bulletin-warning-panel h2{color:#fde68a;}
@media print{
  .teacher-resume-preview-page > :not(.resume-print-shell){display:none!important;}
  body:has(.teacher-resume-preview-page) .sidebar,
  body:has(.teacher-resume-preview-page) .topbar,
  body:has(.teacher-resume-preview-page) .site-footer,
  body:has(.teacher-resume-preview-page) .flash-wrap,
  body:has(.teacher-resume-preview-page) .sidebar-backdrop{display:none!important;}
  body:has(.teacher-resume-preview-page) main.dashboard-modern-surface{margin:0!important;padding:0!important;max-width:none!important;width:100%!important;background:#fff!important;}
  body:has(.teacher-resume-preview-page) .resume-print-shell{display:block!important;box-shadow:none!important;border:0!important;border-radius:0!important;background:#fff!important;color:#111827!important;overflow:visible!important;}
}


/* 2026-05 Sidebar footer bottom alignment hardening: keep quick actions inside the footer rail. */
@media (min-width:781px){
  body.sidebar-collapsed .modern-school-sidebar.sidebar{
    align-items:center!important;
    overflow:visible!important;
  }
  body.sidebar-collapsed .modern-school-sidebar nav{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
    padding-bottom:8px!important;
    margin-bottom:0!important;
    overflow-y:auto!important;
    overflow-x:visible!important;
    scrollbar-width:none!important;
  }
  body.sidebar-collapsed .modern-school-sidebar nav::-webkit-scrollbar{display:none!important;}
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools,
  body.sidebar-collapsed .modern-school-sidebar .compact-sidebar-tools{
    flex:0 0 auto!important;
    box-sizing:border-box!important;
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    max-width:64px!important;
    min-height:72px!important;
    height:auto!important;
    margin:8px auto 0!important;
    padding:6px 2px!important;
    display:grid!important;
    grid-template-columns:repeat(2,28px)!important;
    grid-auto-rows:28px!important;
    gap:4px!important;
    align-content:center!important;
    justify-content:center!important;
    align-items:center!important;
    justify-items:center!important;
    place-items:center!important;
    overflow:visible!important;
    border-radius:18px!important;
    background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.055))!important;
    border:1px solid rgba(255,255,255,.16)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 12px 26px rgba(2,6,23,.14)!important;
  }
  html[data-theme="dark"] body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools,
  html[data-theme="dark"] body.sidebar-collapsed .modern-school-sidebar .compact-sidebar-tools{
    background:linear-gradient(135deg,rgba(255,255,255,.105),rgba(255,255,255,.04))!important;
    border-color:rgba(255,255,255,.13)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 14px 30px rgba(0,0,0,.26)!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > .sidebar-tool,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > .sidebar-tool-form,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > .sidebar-toggle-button{
    box-sizing:border-box!important;
    position:relative!important;
    inset:auto!important;
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    min-height:28px!important;
    max-width:28px!important;
    max-height:28px!important;
    margin:0!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    align-self:center!important;
    justify-self:center!important;
    overflow:visible!important;
    transform:none!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button{
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    min-height:28px!important;
    max-width:28px!important;
    max-height:28px!important;
    padding:0!important;
    margin:0!important;
    border-radius:10px!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools svg,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-user-avatar{
    width:20px!important;
    height:20px!important;
    min-width:20px!important;
    min-height:20px!important;
    max-width:20px!important;
    max-height:20px!important;
    margin:0!important;
    grid-area:1/1!important;
    align-self:center!important;
    justify-self:center!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool:hover,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool:focus-visible,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button:hover,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button:focus-visible{
    transform:translateY(-1px)!important;
  }
}
@media (min-width:781px){
  body:not(.sidebar-collapsed) .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{
    flex:0 0 auto!important;
    margin-top:auto!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:8px!important;
    align-items:center!important;
    justify-items:center!important;
    padding:10px!important;
    overflow:visible!important;
  }
  body:not(.sidebar-collapsed) .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > .sidebar-tool,
  body:not(.sidebar-collapsed) .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > .sidebar-tool-form,
  body:not(.sidebar-collapsed) .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > .sidebar-toggle-button{
    width:100%!important;
    min-width:0!important;
    height:42px!important;
    min-height:42px!important;
    display:grid!important;
    place-items:center!important;
    margin:0!important;
  }
}
@media (max-width:780px){
  .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{
    flex:0 0 auto!important;
    margin-top:10px!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(38px,1fr))!important;
    gap:7px!important;
    align-items:center!important;
    justify-items:center!important;
    padding:9px!important;
    overflow:visible!important;
  }
}


/* 2026-05 Sidebar footer alignment emergency override: two-by-two collapsed action cluster. */
@media (min-width:781px){
  html body.sidebar-collapsed aside.sidebar.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools,
  html body.sidebar-collapsed .modern-school-sidebar.sidebar .sidebar-footer-actions.compact-sidebar-tools{
    box-sizing:border-box!important;
    width:60px!important;
    max-width:60px!important;
    min-width:60px!important;
    min-height:66px!important;
    margin:6px auto 0!important;
    padding:5px 2px!important;
    display:grid!important;
    grid-template-columns:26px 26px!important;
    grid-template-rows:26px 26px!important;
    grid-auto-flow:row!important;
    gap:4px!important;
    align-content:center!important;
    justify-content:center!important;
    align-items:center!important;
    justify-items:center!important;
    overflow:visible!important;
  }
  html body.sidebar-collapsed aside.sidebar.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > .sidebar-tool,
  html body.sidebar-collapsed aside.sidebar.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > .sidebar-tool-form,
  html body.sidebar-collapsed aside.sidebar.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > .sidebar-toggle-button,
  html body.sidebar-collapsed aside.sidebar.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button{
    box-sizing:border-box!important;
    width:26px!important;
    height:26px!important;
    min-width:26px!important;
    min-height:26px!important;
    max-width:26px!important;
    max-height:26px!important;
    margin:0!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    position:relative!important;
    inset:auto!important;
    transform:none!important;
  }
  html body.sidebar-collapsed aside.sidebar.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools svg,
  html body.sidebar-collapsed aside.sidebar.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-user-avatar{
    width:19px!important;
    height:19px!important;
    min-width:19px!important;
    min-height:19px!important;
    max-width:19px!important;
    max-height:19px!important;
    margin:0!important;
  }
}


/* 2026-05 Sidebar footer modern action dock v16: aligned icons + stable labels in all modes. */
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{
  --footer-action-size:42px;
  --footer-action-icon:20px;
  --footer-action-gap:8px;
  --footer-tooltip-bg:rgba(15,23,42,.96);
  --footer-tooltip-fg:#ffffff;
  --footer-tooltip-border:rgba(255,255,255,.14);
  position:relative!important;
  z-index:30!important;
  isolation:isolate!important;
  box-sizing:border-box!important;
  margin-top:auto!important;
  width:100%!important;
  padding:10px!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:var(--footer-action-gap)!important;
  align-items:center!important;
  justify-items:center!important;
  overflow:visible!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.045))!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 14px 34px rgba(2,6,23,.16)!important;
  backdrop-filter:blur(12px)!important;
}
html[data-theme="dark"] .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{
  --footer-tooltip-bg:rgba(248,250,252,.96);
  --footer-tooltip-fg:#0f172a;
  --footer-tooltip-border:rgba(15,23,42,.14);
  background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.035))!important;
  border-color:rgba(255,255,255,.12)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 38px rgba(0,0,0,.28)!important;
}
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > .sidebar-tool,
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > .sidebar-tool-form,
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > .sidebar-toggle-button{
  position:relative!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  height:var(--footer-action-size)!important;
  min-height:var(--footer-action-size)!important;
  max-height:var(--footer-action-size)!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
  transform:none!important;
}
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool,
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button,
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button{
  position:relative!important;
  width:100%!important;
  height:var(--footer-action-size)!important;
  min-height:var(--footer-action-size)!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:14px!important;
  color:#f8fbff!important;
  background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.045))!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:none!important;
  overflow:visible!important;
  cursor:pointer!important;
  transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool:hover,
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool:focus-visible,
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button:hover,
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button:focus-visible,
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button:hover,
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button:focus-visible{
  transform:translateY(-1px)!important;
  background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.08))!important;
  border-color:rgba(255,255,255,.28)!important;
  box-shadow:0 12px 28px rgba(2,6,23,.22)!important;
  outline:none!important;
}
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools svg,
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-user-avatar{
  width:var(--footer-action-icon)!important;
  height:var(--footer-action-icon)!important;
  min-width:var(--footer-action-icon)!important;
  min-height:var(--footer-action-icon)!important;
  max-width:var(--footer-action-icon)!important;
  max-height:var(--footer-action-icon)!important;
  margin:0!important;
  padding:0!important;
  grid-area:1/1!important;
  place-self:center!important;
  color:currentColor!important;
  background:none!important;
  box-shadow:none!important;
  filter:none!important;
  border-radius:0!important;
}
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool span{
  position:static!important;
  width:1px!important;
  height:1px!important;
  margin:-1px!important;
  padding:0!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
  opacity:0!important;
  pointer-events:none!important;
  transform:none!important;
}
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool[data-tooltip]::after,
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button[data-tooltip]::after,
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button[data-tooltip]::after{
  content:attr(data-tooltip)!important;
  position:absolute!important;
  left:50%!important;
  bottom:calc(100% + 10px)!important;
  z-index:999!important;
  width:max-content!important;
  max-width:220px!important;
  padding:8px 10px!important;
  border-radius:999px!important;
  font-size:.78rem!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
  color:var(--footer-tooltip-fg)!important;
  background:var(--footer-tooltip-bg)!important;
  border:1px solid var(--footer-tooltip-border)!important;
  box-shadow:0 14px 34px rgba(2,6,23,.24)!important;
  white-space:nowrap!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translate3d(-50%,4px,0)!important;
  transition:opacity .14s ease,visibility .14s ease,transform .14s ease!important;
  will-change:opacity,transform!important;
}
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool[data-tooltip]:hover::after,
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool[data-tooltip]:focus-visible::after,
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button[data-tooltip]:hover::after,
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button[data-tooltip]:focus-visible::after,
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button[data-tooltip]:hover::after,
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button[data-tooltip]:focus-visible::after{
  opacity:1!important;
  visibility:visible!important;
  transform:translate3d(-50%,0,0)!important;
}
@media (min-width:781px){
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{
    --footer-action-size:28px;
    --footer-action-icon:19px;
    --footer-action-gap:4px;
    width:64px!important;
    min-width:64px!important;
    max-width:64px!important;
    min-height:72px!important;
    margin:6px auto 0!important;
    padding:6px!important;
    grid-template-columns:repeat(2,var(--footer-action-size))!important;
    grid-template-rows:repeat(2,var(--footer-action-size))!important;
    justify-content:center!important;
    align-content:center!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > .sidebar-tool,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > .sidebar-tool-form,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > .sidebar-toggle-button,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button{
    width:var(--footer-action-size)!important;
    min-width:var(--footer-action-size)!important;
    max-width:var(--footer-action-size)!important;
    height:var(--footer-action-size)!important;
    min-height:var(--footer-action-size)!important;
    max-height:var(--footer-action-size)!important;
    justify-self:center!important;
    align-self:center!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool[data-tooltip]::after,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button[data-tooltip]::after,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button[data-tooltip]::after{
    left:calc(100% + 12px)!important;
    top:50%!important;
    bottom:auto!important;
    transform:translate3d(-4px,-50%,0)!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool[data-tooltip]:hover::after,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool[data-tooltip]:focus-visible::after,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button[data-tooltip]:hover::after,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button[data-tooltip]:focus-visible::after,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button[data-tooltip]:hover::after,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button[data-tooltip]:focus-visible::after{
    transform:translate3d(0,-50%,0)!important;
  }
}
@media (max-width:780px){
  .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{
    --footer-action-size:42px;
    --footer-action-icon:20px;
    width:100%!important;
    max-width:none!important;
    min-height:auto!important;
    margin-top:10px!important;
    padding:9px!important;
    grid-template-columns:repeat(4,minmax(42px,1fr))!important;
    gap:7px!important;
  }
}
@media (max-width:560px){
  .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{
    grid-template-columns:repeat(2,minmax(44px,1fr))!important;
  }
}


/* 2026-05 Sidebar footer v16.1: force two-by-two collapsed grid placement. */
@media (min-width:781px){
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > :nth-child(1){grid-column:1!important;grid-row:1!important;}
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > :nth-child(2){grid-column:2!important;grid-row:1!important;}
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > :nth-child(3){grid-column:1!important;grid-row:2!important;}
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > :nth-child(4){grid-column:2!important;grid-row:2!important;}
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > .sidebar-tool,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > .sidebar-tool-form,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > .sidebar-toggle-button{
    place-self:center!important;
    align-self:center!important;
    justify-self:center!important;
  }
}


/* 2026-05 Sidebar footer v17: bottom-center vertical dock + top-right stable action labels. */
.modern-school-sidebar{
  overflow:visible!important;
}
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{
  --footer-action-size:42px;
  --footer-action-icon:20px;
  --footer-action-gap:8px;
  --footer-tooltip-bg:#0f172a;
  --footer-tooltip-fg:#ffffff;
  --footer-tooltip-border:rgba(255,255,255,.18);
  align-self:center!important;
  justify-self:center!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  margin:12px auto 0!important;
  overflow:visible!important;
  contain:none!important;
}
html[data-theme="dark"] .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{
  --footer-tooltip-bg:#f8fafc;
  --footer-tooltip-fg:#0f172a;
  --footer-tooltip-border:rgba(15,23,42,.14);
}
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools,
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > .sidebar-tool,
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > .sidebar-tool-form,
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > .sidebar-toggle-button,
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool,
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button,
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button{
  overflow:visible!important;
}
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool[data-tooltip]::after,
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button[data-tooltip]::after,
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button[data-tooltip]::after{
  content:attr(data-tooltip)!important;
  box-sizing:border-box!important;
  position:absolute!important;
  left:calc(50% + 18px)!important;
  top:4px!important;
  right:auto!important;
  bottom:auto!important;
  z-index:5000!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  inline-size:max-content!important;
  width:max-content!important;
  min-inline-size:max-content!important;
  min-width:max-content!important;
  max-inline-size:min(260px,calc(100vw - 120px))!important;
  max-width:min(260px,calc(100vw - 120px))!important;
  min-block-size:32px!important;
  min-height:32px!important;
  padding:8px 12px!important;
  border-radius:12px!important;
  border:1px solid var(--footer-tooltip-border)!important;
  background:var(--footer-tooltip-bg)!important;
  color:var(--footer-tooltip-fg)!important;
  box-shadow:0 16px 38px rgba(2,6,23,.26),0 0 0 1px rgba(15,23,42,.08)!important;
  font-size:.8rem!important;
  font-weight:800!important;
  line-height:1.15!important;
  letter-spacing:-.005em!important;
  white-space:nowrap!important;
  text-align:center!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translate3d(-4px,-6px,0) scale(.98)!important;
  transform-origin:left top!important;
  transition:opacity .14s ease,visibility .14s ease,transform .14s ease!important;
  will-change:opacity,transform!important;
}
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool[data-tooltip]:hover::after,
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool[data-tooltip]:focus-visible::after,
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button[data-tooltip]:hover::after,
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button[data-tooltip]:focus-visible::after,
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button[data-tooltip]:hover::after,
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button[data-tooltip]:focus-visible::after{
  opacity:1!important;
  visibility:visible!important;
  transform:translate3d(0,-6px,0) scale(1)!important;
}
@media (min-width:781px){
  body:not(.sidebar-collapsed) .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{
    width:100%!important;
    max-width:232px!important;
    min-width:0!important;
    margin:12px auto 0!important;
    padding:10px!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(40px,1fr))!important;
    grid-auto-rows:42px!important;
    gap:8px!important;
    place-items:center!important;
    justify-content:center!important;
    align-content:center!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{
    --footer-action-size:36px;
    --footer-action-icon:19px;
    --footer-action-gap:7px;
    width:52px!important;
    min-width:52px!important;
    max-width:52px!important;
    min-height:calc((var(--footer-action-size) * 4) + (var(--footer-action-gap) * 3) + 16px)!important;
    margin:10px auto 0!important;
    padding:8px!important;
    display:grid!important;
    grid-template-columns:var(--footer-action-size)!important;
    grid-template-rows:repeat(4,var(--footer-action-size))!important;
    grid-auto-flow:row!important;
    gap:var(--footer-action-gap)!important;
    justify-content:center!important;
    align-content:center!important;
    align-items:center!important;
    justify-items:center!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > :nth-child(1),
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > :nth-child(2),
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > :nth-child(3),
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > :nth-child(4){
    grid-column:1!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > :nth-child(1){grid-row:1!important;}
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > :nth-child(2){grid-row:2!important;}
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > :nth-child(3){grid-row:3!important;}
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > :nth-child(4){grid-row:4!important;}
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > .sidebar-tool,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > .sidebar-tool-form,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > .sidebar-toggle-button,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button{
    width:var(--footer-action-size)!important;
    min-width:var(--footer-action-size)!important;
    max-width:var(--footer-action-size)!important;
    height:var(--footer-action-size)!important;
    min-height:var(--footer-action-size)!important;
    max-height:var(--footer-action-size)!important;
    place-self:center!important;
    margin:0!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool[data-tooltip]::after,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button[data-tooltip]::after,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button[data-tooltip]::after{
    left:calc(100% + 10px)!important;
    top:0!important;
    transform:translate3d(-4px,-4px,0) scale(.98)!important;
  }
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool[data-tooltip]:hover::after,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool[data-tooltip]:focus-visible::after,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button[data-tooltip]:hover::after,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button[data-tooltip]:focus-visible::after,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button[data-tooltip]:hover::after,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button[data-tooltip]:focus-visible::after{
    transform:translate3d(0,-4px,0) scale(1)!important;
  }
}
@media (max-width:780px){
  .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{
    width:min(100%,232px)!important;
    max-width:232px!important;
    margin:12px auto 0!important;
    padding:10px!important;
    grid-template-columns:repeat(4,minmax(40px,1fr))!important;
    grid-auto-rows:42px!important;
    gap:8px!important;
  }
}
@media (max-width:560px){
  .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{
    width:min(100%,112px)!important;
    grid-template-columns:repeat(2,42px)!important;
    justify-content:center!important;
  }
}


/* 2026-05 Sidebar footer v17.1: neutralize legacy relative offsets so the dock is mathematically centered. */
html body aside.sidebar.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools,
html body.sidebar-collapsed aside.sidebar.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools,
html body:not(.sidebar-collapsed) aside.sidebar.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  margin-left:auto!important;
  margin-right:auto!important;
  transform:none!important;
}


/* 2026-05 Sidebar footer v17.2: place action labels above each icon, offset to the top-right. */
html body aside.sidebar.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool[data-tooltip]::after,
html body aside.sidebar.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button[data-tooltip]::after,
html body aside.sidebar.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button[data-tooltip]::after,
html body.sidebar-collapsed aside.sidebar.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool[data-tooltip]::after,
html body.sidebar-collapsed aside.sidebar.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button[data-tooltip]::after,
html body.sidebar-collapsed aside.sidebar.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button[data-tooltip]::after{
  left:calc(50% + 10px)!important;
  top:auto!important;
  right:auto!important;
  bottom:calc(100% + 8px)!important;
  transform:translate3d(-4px,6px,0) scale(.98)!important;
  transform-origin:left bottom!important;
  white-space:nowrap!important;
  max-width:min(260px,calc(100vw - 112px))!important;
  z-index:6000!important;
}
html body aside.sidebar.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool[data-tooltip]:hover::after,
html body aside.sidebar.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool[data-tooltip]:focus-visible::after,
html body aside.sidebar.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button[data-tooltip]:hover::after,
html body aside.sidebar.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button[data-tooltip]:focus-visible::after,
html body aside.sidebar.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button[data-tooltip]:hover::after,
html body aside.sidebar.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button[data-tooltip]:focus-visible::after,
html body.sidebar-collapsed aside.sidebar.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool[data-tooltip]:hover::after,
html body.sidebar-collapsed aside.sidebar.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool[data-tooltip]:focus-visible::after,
html body.sidebar-collapsed aside.sidebar.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button[data-tooltip]:hover::after,
html body.sidebar-collapsed aside.sidebar.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button[data-tooltip]:focus-visible::after,
html body.sidebar-collapsed aside.sidebar.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button[data-tooltip]:hover::after,
html body.sidebar-collapsed aside.sidebar.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button[data-tooltip]:focus-visible::after{
  transform:translate3d(0,0,0) scale(1)!important;
}


/* 2026-05 Sidebar footer v18: definitive collapsed vertical bottom rail lock. */
@media (min-width:781px){
  html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar{
    overflow:visible!important;
  }
  html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{
    --footer-action-size:42px;
    --footer-action-icon:21px;
    --footer-action-gap:8px;
    box-sizing:border-box!important;
    position:absolute!important;
    left:50%!important;
    right:auto!important;
    top:auto!important;
    bottom:18px!important;
    transform:translateX(-50%)!important;
    width:58px!important;
    min-width:58px!important;
    max-width:58px!important;
    height:auto!important;
    min-height:calc((var(--footer-action-size) * 4) + (var(--footer-action-gap) * 3) + 16px)!important;
    max-height:none!important;
    margin:0!important;
    padding:8px!important;
    display:grid!important;
    grid-template-columns:var(--footer-action-size)!important;
    grid-template-rows:repeat(4,var(--footer-action-size))!important;
    grid-auto-flow:row!important;
    gap:var(--footer-action-gap)!important;
    align-content:center!important;
    justify-content:center!important;
    align-items:center!important;
    justify-items:center!important;
    place-items:center!important;
    overflow:visible!important;
    contain:none!important;
    z-index:80!important;
    border-radius:18px!important;
  }
  html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar nav{
    max-height:calc(100vh - 390px)!important;
    margin-bottom:226px!important;
    overflow-x:visible!important;
  }
  html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > :nth-child(1){grid-column:1!important;grid-row:1!important;}
  html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > :nth-child(2){grid-column:1!important;grid-row:2!important;}
  html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > :nth-child(3){grid-column:1!important;grid-row:3!important;}
  html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > :nth-child(4){grid-column:1!important;grid-row:4!important;}
  html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > .sidebar-tool,
  html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > .sidebar-tool-form,
  html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > .sidebar-toggle-button,
  html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool,
  html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button,
  html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button{
    box-sizing:border-box!important;
    position:relative!important;
    inset:auto!important;
    width:var(--footer-action-size)!important;
    min-width:var(--footer-action-size)!important;
    max-width:var(--footer-action-size)!important;
    height:var(--footer-action-size)!important;
    min-height:var(--footer-action-size)!important;
    max-height:var(--footer-action-size)!important;
    margin:0!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    align-self:center!important;
    justify-self:center!important;
    overflow:visible!important;
    transform:none!important;
  }
  html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools svg,
  html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-user-avatar{
    width:var(--footer-action-icon)!important;
    height:var(--footer-action-icon)!important;
    min-width:var(--footer-action-icon)!important;
    min-height:var(--footer-action-icon)!important;
    max-width:var(--footer-action-icon)!important;
    max-height:var(--footer-action-icon)!important;
    margin:0!important;
    padding:0!important;
    grid-area:1/1!important;
    place-self:center!important;
  }
}

/* 2026-05 Sidebar footer v18: readable top-right labels for collapsed bottom rail. */
html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool[data-tooltip]::after,
html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button[data-tooltip]::after,
html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button[data-tooltip]::after{
  left:calc(50% + 12px)!important;
  top:auto!important;
  right:auto!important;
  bottom:calc(100% + 8px)!important;
  max-width:min(280px,calc(100vw - 112px))!important;
  overflow:visible!important;
  white-space:nowrap!important;
  transform:translate3d(-4px,6px,0) scale(.98)!important;
  transform-origin:left bottom!important;
  z-index:7000!important;
}
html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool[data-tooltip]:hover::after,
html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool[data-tooltip]:focus-visible::after,
html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button[data-tooltip]:hover::after,
html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button[data-tooltip]:focus-visible::after,
html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button[data-tooltip]:hover::after,
html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button[data-tooltip]:focus-visible::after{
  transform:translate3d(0,0,0) scale(1)!important;
}


/* 2026-05 Sidebar footer v18.2: single-label guard for collapsed bottom actions. */
html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool > span,
html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button > span,
html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button > span,
html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool .sidebar-toggle-label{
  display:none!important;
  position:absolute!important;
  inline-size:1px!important;
  width:1px!important;
  block-size:1px!important;
  height:1px!important;
  margin:-1px!important;
  padding:0!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:none!important;
}
html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool:hover > span,
html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool:focus-visible > span,
html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button:hover > span,
html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button:focus-visible > span,
html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button:hover > span,
html body.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button:focus-visible > span{
  opacity:0!important;
  visibility:hidden!important;
  transform:none!important;
}


/* 2026-05 Sidebar footer v18.2b: footer pseudo-tooltip is the only visible collapsed label. */
html body.has-floating-sidebar-tooltips.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool[data-tooltip]::before,
html body.has-floating-sidebar-tooltips.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button[data-tooltip]::before,
html body.has-floating-sidebar-tooltips.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button[data-tooltip]::before{
  content:none!important;
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
}
html body.has-floating-sidebar-tooltips.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool[data-tooltip]:hover::after,
html body.has-floating-sidebar-tooltips.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool[data-tooltip]:focus-visible::after,
html body.has-floating-sidebar-tooltips.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button[data-tooltip]:hover::after,
html body.has-floating-sidebar-tooltips.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .logout-button[data-tooltip]:focus-visible::after,
html body.has-floating-sidebar-tooltips.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button[data-tooltip]:hover::after,
html body.has-floating-sidebar-tooltips.sidebar-collapsed aside.sidebar.sidebar-nav-only.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button[data-tooltip]:focus-visible::after{
  opacity:1!important;
  visibility:visible!important;
  transform:translate3d(0,0,0) scale(1)!important;
}

/* 2026-05 Lekol360 App-wide Typography System v19
   Standardized SaaS typography hierarchy aligned with the Main Dashboard. */
:root{
  --font-sans:Inter,"SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-display:var(--font-sans);
  --text-size-xs:.75rem;
  --text-size-sm:.875rem;
  --text-size-base:.95rem;
  --text-size-md:1rem;
  --text-size-lg:1.125rem;
  --text-size-xl:1.35rem;
  --text-size-page:clamp(1.62rem,1.72vw,2.06rem);
  --text-size-section:clamp(1.15rem,1.35vw,1.42rem);
  --text-size-card:1rem;
  --text-line-tight:1.12;
  --text-line-heading:1.22;
  --text-line-body:1.58;
  --text-line-label:1.3;
  --text-weight-body:400;
  --text-weight-label:560;
  --text-weight-card:600;
  --text-weight-section:640;
  --text-weight-page:640;
  --text-tracking-body:-.006em;
  --text-tracking-heading:-.028em;
  --text-tracking-label:-.01em;
  --text-tracking-caps:.055em;
}
html,body,.main,.dashboard-modern-surface,.dashboard-experience{
  font-family:var(--font-sans)!important;
  font-size:var(--text-size-base);
  font-weight:var(--text-weight-body);
  line-height:var(--text-line-body);
  letter-spacing:var(--text-tracking-body);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body{color:var(--text-body,var(--ink))!important}
p,li,dd,td,.body-copy,.empty,.flash,.pagination-status,.dashboard-experience td{
  font-size:var(--text-size-base)!important;
  font-weight:var(--text-weight-body)!important;
  line-height:var(--text-line-body)!important;
  letter-spacing:var(--text-tracking-body)!important;
}
small,.muted,.help-text,.hint,.panel-head p,.dashboard-hero p,.module-hero p,.entity-hero p,.lekol360-hero p,.profile-hero p,.dashboard-v3-subtitle,.mini-card p,.action-card p,.stats span,.detail-list dt,.pagination-status{
  font-size:var(--text-size-sm)!important;
  font-weight:450!important;
  line-height:var(--text-line-body)!important;
  letter-spacing:var(--text-tracking-body)!important;
  color:var(--muted)!important;
}
.dashboard-title-system,
.dashboard-hero h1,.dashboard-hero h2,
.dashboard-v3-hero h1,.dashboard-v3-hero h2,.dashboard-v3-title,
.module-hero h1,.module-hero h2,
.entity-hero h1,.entity-hero h2,
.profile-hero h1,.profile-hero h2,
.lekol360-hero h1,.lekol360-hero h2,
.subject-hero-v2 h1,.subject-hero-v2 h2,
.teachers-dashboard-hero h1,.teachers-dashboard-hero h2,
.topbar-title h1,.focused-topbar h1{
  font-family:var(--font-display)!important;
  font-size:var(--text-size-page)!important;
  font-weight:var(--text-weight-page)!important;
  line-height:var(--text-line-tight)!important;
  letter-spacing:var(--text-tracking-heading)!important;
  text-transform:uppercase!important;
  text-shadow:none!important;
  -webkit-text-stroke:0!important;
}
.panel-head h2,.panel>h2,.settings-card h2,.module-table-panel .panel-head h2,.dashboard-section-title,.section-title,.resume-preview-toolbar h2,.report-control-panel .panel-head h2{
  font-family:var(--font-display)!important;
  font-size:var(--text-size-section)!important;
  font-weight:var(--text-weight-section)!important;
  line-height:var(--text-line-heading)!important;
  letter-spacing:var(--text-tracking-heading)!important;
  color:var(--ink)!important;
  text-shadow:none!important;
}
.mini-card h3,.action-card h3,.dashboard-v3-label,.profile-card h2,.stats h3,.school-card-copy h3,.subject-school-card strong,.subject-selected-school-summary h3,.card-title{
  font-family:var(--font-display)!important;
  font-size:var(--text-size-card)!important;
  font-weight:var(--text-weight-card)!important;
  line-height:var(--text-line-heading)!important;
  letter-spacing:var(--text-tracking-heading)!important;
  color:var(--ink)!important;
}
.stats strong,.dashboard-v3-value,.big-metric,.school-metric-link strong,.metric-value{
  font-family:var(--font-display)!important;
  font-weight:640!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
}
label,.grid-form label,.filters-grid label,.stacked-form label,.profile-form label,.page-size-control label,.form-label{
  font-size:var(--text-size-sm)!important;
  font-weight:var(--text-weight-label)!important;
  line-height:var(--text-line-label)!important;
  letter-spacing:var(--text-tracking-label)!important;
  color:var(--ink)!important;
}
input,select,textarea,button,.primary,.ghost,.danger,.theme-toggle,.icon-button,input[type="submit"]{
  font-family:var(--font-sans)!important;
  font-size:var(--text-size-sm)!important;
  line-height:var(--text-line-label)!important;
  letter-spacing:var(--text-tracking-label)!important;
}
button,.primary,.ghost,.danger,.theme-toggle,.icon-button,input[type="submit"]{font-weight:600!important}
.entity-table thead th,.dashboard-experience thead th,.table-wrap thead th{
  font-family:var(--font-sans)!important;
  font-size:var(--text-size-xs)!important;
  font-weight:650!important;
  line-height:var(--text-line-label)!important;
  letter-spacing:var(--text-tracking-caps)!important;
  text-transform:uppercase!important;
}
.entity-table tbody td,.dashboard-experience tbody td{font-size:var(--text-size-sm)!important;line-height:1.5!important}
.eyebrow,.section-kicker,.demo-banner-badge,.chip,.badge,.status,.backup-pill{
  font-family:var(--font-sans)!important;
  font-size:var(--text-size-xs)!important;
  font-weight:650!important;
  line-height:1.2!important;
  letter-spacing:var(--text-tracking-caps)!important;
}
.sidebar nav a,.sidebar-tool,.brand-text strong,.school-header-copy strong{font-family:var(--font-sans)!important}
html[data-theme="dark"] p,html[data-theme="dark"] li,html[data-theme="dark"] td,html[data-theme="dark"] small,html[data-theme="dark"] .panel-head p,html[data-theme="dark"] .mini-card p,html[data-theme="dark"] .stats span{color:var(--muted)!important}
html[data-theme="dark"] .panel-head h2,html[data-theme="dark"] .panel>h2,html[data-theme="dark"] .mini-card h3,html[data-theme="dark"] .action-card h3,html[data-theme="dark"] label{color:var(--ink)!important}
@media (max-width:1180px){:root{--text-size-page:clamp(1.48rem,1.55vw,1.88rem);--text-size-section:clamp(1.08rem,1.4vw,1.3rem)}}
@media (max-width:780px){
  :root{--text-size-base:.94rem;--text-size-page:clamp(1.28rem,5.6vw,1.62rem);--text-size-section:clamp(1.05rem,4.6vw,1.22rem)}
  .dashboard-title-system,.dashboard-hero h1,.dashboard-hero h2,.dashboard-v3-hero h1,.dashboard-v3-hero h2,.dashboard-v3-title,.module-hero h1,.module-hero h2,.entity-hero h1,.entity-hero h2,.profile-hero h1,.profile-hero h2,.lekol360-hero h1,.lekol360-hero h2,.subject-hero-v2 h1,.subject-hero-v2 h2,.teachers-dashboard-hero h1,.teachers-dashboard-hero h2,.topbar-title h1,.focused-topbar h1{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    text-wrap:balance!important;
    line-height:1.14!important;
  }
  .entity-table tbody td,.dashboard-experience tbody td{font-size:.86rem!important}
}
@media (max-width:520px){:root{--text-size-base:.92rem;--text-size-sm:.82rem}.panel-head h2,.panel>h2{line-height:1.25!important}}

/* 2026-05 Lekol360 App-wide Typography System v19.1 specificity lock */
html body .dashboard-modern-surface .panel-head h2,
html body .dashboard-modern-surface .panel>h2,
html body .dashboard-modern-surface .settings-card h2,
html body .dashboard-modern-surface .module-table-panel .panel-head h2,
html body .dashboard-modern-surface .dashboard-section-title,
html body .dashboard-modern-surface .section-title{
  font-size:var(--text-size-section)!important;
  font-weight:var(--text-weight-section)!important;
  line-height:var(--text-line-heading)!important;
  letter-spacing:var(--text-tracking-heading)!important;
}
html body .dashboard-modern-surface .mini-card h3,
html body .dashboard-modern-surface .action-card h3,
html body .dashboard-modern-surface .profile-card h2,
html body .dashboard-modern-surface .stats h3,
html body .dashboard-modern-surface .card-title{
  font-size:var(--text-size-card)!important;
  font-weight:var(--text-weight-card)!important;
  line-height:var(--text-line-heading)!important;
  letter-spacing:var(--text-tracking-heading)!important;
}
html body .dashboard-modern-surface label,
html body .dashboard-modern-surface .grid-form label,
html body .dashboard-modern-surface .filters-grid label,
html body .dashboard-modern-surface .stacked-form label{
  font-size:var(--text-size-sm)!important;
  font-weight:var(--text-weight-label)!important;
  line-height:var(--text-line-label)!important;
}

/* 2026-05 Lekol360 App-wide Typography System v19.2 dashboard section lock */
html body .dashboard-modern-surface .dashboard-v3-section h3,
html body .dashboard-modern-surface .dashboard-v3-insights h3,
html body .dashboard-modern-surface section.dashboard-v3-section h3,
html body .dashboard-modern-surface section.dashboard-v3-insights h3{
  font-size:var(--text-size-section)!important;
  font-weight:var(--text-weight-section)!important;
  line-height:var(--text-line-heading)!important;
  letter-spacing:var(--text-tracking-heading)!important;
  color:var(--ink)!important;
}
html body .dashboard-modern-surface .dashboard-v3-section p,
html body .dashboard-modern-surface .dashboard-v3-insights p{
  font-size:var(--text-size-sm)!important;
  font-weight:450!important;
  line-height:var(--text-line-body)!important;
}

/* 2026-05 Typography QA: desktop content breathing room beside expanded sidebar */
@media (min-width:781px){
  html body:not(.sidebar-collapsed){--school-sidebar-w:352px!important;--sidebar-expanded-width:352px!important}
  html body:not(.sidebar-collapsed) main.main,
  html body:not(.sidebar-collapsed) main.main.dashboard-modern-surface,
  html body:not(.sidebar-collapsed) .main.dashboard-modern-surface{margin-left:352px!important}
  html body:not(.sidebar-collapsed) .demo-environment-banner{margin-left:0!important}
}



/* 2026-05 Lekol360 App-wide Uppercase Heading System v20
   Visual uppercase + unified hierarchy for dashboard, module, card, modal, table, auth, and report titles. */
:root{
  --title-transform:uppercase;
  --title-tracking:.055em;
  --title-tracking-page:.045em;
  --title-weight-page:640;
  --title-weight-section:620;
  --title-weight-card:600;
  --title-line-page:1.08;
  --title-line-section:1.18;
  --title-line-card:1.22;
}
:is(h1,h2,h3,.modal-title,.dialog-title,.card-title,.table-title){
  font-family:var(--font-display,var(--font-sans))!important;
  text-transform:var(--title-transform)!important;
  text-rendering:optimizeLegibility!important;
  -webkit-font-smoothing:antialiased!important;
  text-shadow:none!important;
  -webkit-text-stroke:0!important;
}
.dashboard-title-system,
.dashboard-hero h1,.dashboard-hero h2,
.dashboard-v3-hero h1,.dashboard-v3-hero h2,.dashboard-v3-title,
.module-hero h1,.module-hero h2,
.entity-hero h1,.entity-hero h2,
.profile-hero h1,.profile-hero h2,
.lekol360-hero h1,.lekol360-hero h2,
.subject-hero-v2 h1,.subject-hero-v2 h2,
.teachers-dashboard-hero h1,.teachers-dashboard-hero h2,
.topbar-title h1,.focused-topbar h1{
  font-size:var(--text-size-page)!important;
  font-weight:var(--title-weight-page)!important;
  line-height:var(--title-line-page)!important;
  letter-spacing:var(--title-tracking-page)!important;
  text-transform:var(--title-transform)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  overflow-wrap:normal!important;
  text-wrap:nowrap!important;
}
.panel-head h2,
.panel>h2,
.settings-card h2,
.module-table-panel .panel-head h2,
.dashboard-section-title,
.section-title,
.resume-preview-toolbar h2,
.report-control-panel .panel-head h2,
.modal h2,
dialog h2,
.danger-dialog h2,
.login-card-heading h2,
.auth-card h2,
.login-introduction h2,
.table-wrap caption,
.entity-table caption,
.table-title{
  font-size:var(--text-size-section)!important;
  font-weight:var(--title-weight-section)!important;
  line-height:var(--title-line-section)!important;
  letter-spacing:var(--title-tracking)!important;
  text-transform:var(--title-transform)!important;
  color:var(--ink)!important;
  margin-top:0;
}
.mini-card h3,
.action-card h3,
.dashboard-v3-label,
.profile-card h2,
.stats h3,
.school-card-copy h3,
.subject-school-card strong,
.subject-selected-school-summary h3,
.card-title,
.report h3,
.report-observations-grid h3,
.archive-card h3{
  font-size:var(--text-size-card)!important;
  font-weight:var(--title-weight-card)!important;
  line-height:var(--title-line-card)!important;
  letter-spacing:var(--title-tracking)!important;
  text-transform:var(--title-transform)!important;
  color:var(--ink)!important;
}
.report h1,
.print-report-title{
  font-family:var(--font-display,var(--font-sans))!important;
  font-size:clamp(1.35rem,1.6vw,1.85rem)!important;
  font-weight:var(--title-weight-page)!important;
  line-height:var(--title-line-page)!important;
  letter-spacing:var(--title-tracking-page)!important;
  text-transform:var(--title-transform)!important;
  text-align:center!important;
}
.report h2,
.report-letterhead h2{
  font-family:var(--font-display,var(--font-sans))!important;
  font-size:clamp(1.05rem,1.2vw,1.32rem)!important;
  font-weight:var(--title-weight-section)!important;
  line-height:var(--title-line-section)!important;
  letter-spacing:var(--title-tracking)!important;
  text-transform:var(--title-transform)!important;
}
.entity-table caption,.table-wrap caption{
  caption-side:top;
  text-align:left;
  padding:0 0 12px;
}
.sidebar .brand-text strong,
.school-header-copy strong{
  font-family:var(--font-sans)!important;
  text-transform:var(--title-transform)!important;
  letter-spacing:.035em!important;
}
html body .dashboard-modern-surface :is(h1,h2,h3,.modal-title,.dialog-title,.card-title,.table-title),
html body .dashboard-experience :is(h1,h2,h3,.modal-title,.dialog-title,.card-title,.table-title){
  font-family:var(--font-display,var(--font-sans))!important;
  text-transform:var(--title-transform)!important;
}
html[data-theme="dark"] :is(h1,h2,h3,.modal-title,.dialog-title,.card-title,.table-title){
  color:var(--ink)!important;
  text-shadow:none!important;
}
@media (max-width:780px){
  .dashboard-title-system,.dashboard-hero h1,.dashboard-hero h2,.dashboard-v3-hero h1,.dashboard-v3-hero h2,.dashboard-v3-title,.module-hero h1,.module-hero h2,.entity-hero h1,.entity-hero h2,.profile-hero h1,.profile-hero h2,.lekol360-hero h1,.lekol360-hero h2,.subject-hero-v2 h1,.subject-hero-v2 h2,.teachers-dashboard-hero h1,.teachers-dashboard-hero h2,.topbar-title h1,.focused-topbar h1{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:anywhere!important;
    text-wrap:balance!important;
    letter-spacing:.035em!important;
  }
  .panel-head h2,.panel>h2,.settings-card h2,.modal h2,dialog h2,.login-card-heading h2,.auth-card h2,.table-wrap caption,.entity-table caption{
    text-wrap:balance!important;
    overflow-wrap:anywhere!important;
    letter-spacing:.04em!important;
  }
}
@media print{
  :is(h1,h2,h3,.modal-title,.dialog-title,.card-title,.table-title),.report h1,.report h2,.report h3,.print-report-title{
    font-family:Inter,"SF Pro Display",Arial,sans-serif!important;
    text-transform:uppercase!important;
    color:#111827!important;
    text-shadow:none!important;
  }
}


/* 2026-05 Lekol360 App-wide Uppercase Heading System v20.1 specificity lock */
html body .dashboard-modern-surface :is(.dashboard-title-system,.dashboard-hero h1,.dashboard-hero h2,.dashboard-v3-hero h1,.dashboard-v3-hero h2,.dashboard-v3-title,.module-hero h1,.module-hero h2,.entity-hero h1,.entity-hero h2,.profile-hero h1,.profile-hero h2,.lekol360-hero h1,.lekol360-hero h2,.subject-hero-v2 h1,.subject-hero-v2 h2,.teachers-dashboard-hero h1,.teachers-dashboard-hero h2,.topbar-title h1,.focused-topbar h1),
html body .dashboard-experience :is(.dashboard-title-system,.dashboard-hero h1,.dashboard-hero h2,.dashboard-v3-hero h1,.dashboard-v3-hero h2,.dashboard-v3-title,.module-hero h1,.module-hero h2,.entity-hero h1,.entity-hero h2,.profile-hero h1,.profile-hero h2,.lekol360-hero h1,.lekol360-hero h2,.subject-hero-v2 h1,.subject-hero-v2 h2,.teachers-dashboard-hero h1,.teachers-dashboard-hero h2,.topbar-title h1,.focused-topbar h1){
  font-size:var(--text-size-page)!important;
  font-weight:var(--title-weight-page)!important;
  line-height:var(--title-line-page)!important;
  letter-spacing:var(--title-tracking-page)!important;
  text-transform:var(--title-transform)!important;
}
html body .dashboard-modern-surface :is(.panel-head h2,.panel>h2,.settings-card h2,.module-table-panel .panel-head h2,.dashboard-section-title,.section-title,.resume-preview-toolbar h2,.report-control-panel .panel-head h2,.dashboard-v3-section h3,.dashboard-v3-insights h3),
html body .dashboard-experience :is(.panel-head h2,.panel>h2,.settings-card h2,.module-table-panel .panel-head h2,.dashboard-section-title,.section-title,.resume-preview-toolbar h2,.report-control-panel .panel-head h2,.dashboard-v3-section h3,.dashboard-v3-insights h3){
  font-size:var(--text-size-section)!important;
  font-weight:var(--title-weight-section)!important;
  line-height:var(--title-line-section)!important;
  letter-spacing:var(--title-tracking)!important;
  text-transform:var(--title-transform)!important;
}
html body .dashboard-modern-surface :is(.mini-card h3,.action-card h3,.dashboard-v3-label,.profile-card h2,.stats h3,.school-card-copy h3,.subject-school-card strong,.subject-selected-school-summary h3,.card-title),
html body .dashboard-experience :is(.mini-card h3,.action-card h3,.dashboard-v3-label,.profile-card h2,.stats h3,.school-card-copy h3,.subject-school-card strong,.subject-selected-school-summary h3,.card-title){
  font-size:var(--text-size-card)!important;
  font-weight:var(--title-weight-card)!important;
  line-height:var(--title-line-card)!important;
  letter-spacing:var(--title-tracking)!important;
  text-transform:var(--title-transform)!important;
}


/* 2026-05 Lekol360 App-wide Uppercase Heading System v20.2 hero title lock */
html body main.dashboard-modern-surface.dashboard-experience .dashboard-hero h1,
html body main.dashboard-modern-surface.dashboard-experience .dashboard-hero h2,
html body main.dashboard-modern-surface.dashboard-experience .dashboard-v3-hero h1,
html body main.dashboard-modern-surface.dashboard-experience .dashboard-v3-hero h2,
html body main.dashboard-modern-surface.dashboard-experience .module-hero h1,
html body main.dashboard-modern-surface.dashboard-experience .module-hero h2,
html body main.dashboard-modern-surface.dashboard-experience .entity-hero h1,
html body main.dashboard-modern-surface.dashboard-experience .entity-hero h2,
html body main.dashboard-modern-surface.dashboard-experience .profile-hero h1,
html body main.dashboard-modern-surface.dashboard-experience .profile-hero h2,
html body main.dashboard-modern-surface.dashboard-experience .lekol360-hero h1,
html body main.dashboard-modern-surface.dashboard-experience .lekol360-hero h2{
  font-family:var(--font-display,var(--font-sans))!important;
  font-size:var(--text-size-page)!important;
  font-weight:var(--title-weight-page)!important;
  line-height:var(--title-line-page)!important;
  letter-spacing:var(--title-tracking-page)!important;
  text-transform:var(--title-transform)!important;
  text-shadow:none!important;
  -webkit-text-stroke:0!important;
}


/* 2026-05 Lekol360 App-wide Uppercase Heading System v20.3 generic heading fallback */
html body h1{
  font-family:var(--font-display,var(--font-sans))!important;
  font-size:var(--text-size-page)!important;
  font-weight:var(--title-weight-page)!important;
  line-height:var(--title-line-page)!important;
  letter-spacing:var(--title-tracking-page)!important;
  text-transform:var(--title-transform)!important;
}
html body h2{
  font-family:var(--font-display,var(--font-sans))!important;
  font-size:var(--text-size-section)!important;
  font-weight:var(--title-weight-section)!important;
  line-height:var(--title-line-section)!important;
  letter-spacing:var(--title-tracking)!important;
  text-transform:var(--title-transform)!important;
}
html body h3{
  font-family:var(--font-display,var(--font-sans))!important;
  font-size:var(--text-size-card)!important;
  font-weight:var(--title-weight-card)!important;
  line-height:var(--title-line-card)!important;
  letter-spacing:var(--title-tracking)!important;
  text-transform:var(--title-transform)!important;
}

/* 2026-05 Lekol360 Global Readability and Font Size Control v21
   Comfortable default reading size plus persistent user-selected scaling across UI, reports, previews, tables, menus, forms, dialogs, notifications, and navigation. */
:root{
  --font-size-user-scale:1;
  --text-size-xs:.8rem;
  --text-size-sm:.92rem;
  --text-size-base:1rem;
  --text-size-md:1.05rem;
  --text-size-lg:1.18rem;
  --text-size-xl:1.42rem;
  --text-size-card:1.05rem;
  --text-size-section:clamp(1.18rem,1.36vw,1.48rem);
  --text-size-page:clamp(1.68rem,1.76vw,2.14rem);
}
html[data-font-size-level="small"]{--font-size-user-scale:.9}
html[data-font-size-level="default"]{--font-size-user-scale:1}
html[data-font-size-level="large"]{--font-size-user-scale:1.1}
html[data-font-size-level="xlarge"]{--font-size-user-scale:1.2}
html{font-size:calc(16px * var(--font-size-user-scale))}
body,.main,.dashboard-modern-surface,.dashboard-experience,.public{
  font-size:var(--text-size-base)!important;
}
:is(p,li,dd,td,th,label,input,select,textarea,button,.primary,.ghost,.danger,.sidebar nav a,.sidebar-tool,.flash,.chip,.badge,.status,.tooltip,.pagination-status,.modal,.dialog,dialog,.report,.receipt-document,.report-card-preview){
  max-width:100%;
}
:is(p,li,dd,td,.body-copy,.empty,.flash,.dashboard-experience td,.report p,.receipt-document p){
  font-size:var(--text-size-base)!important;
  line-height:1.62!important;
}
:is(label,.grid-form label,.filters-grid label,.stacked-form label,.profile-form label,.page-size-control label,.form-label,input,select,textarea,button,.primary,.ghost,.danger,.theme-toggle,.icon-button,input[type="submit"]){
  font-size:var(--text-size-sm)!important;
}
:is(.entity-table tbody td,.dashboard-experience tbody td,.table-wrap tbody td){
  font-size:var(--text-size-sm)!important;
  line-height:1.55!important;
  overflow-wrap:anywhere;
}
:is(.entity-table thead th,.dashboard-experience thead th,.table-wrap thead th){
  font-size:var(--text-size-xs)!important;
}
:is(.panel,.module-table-panel,.mini-card,.action-card,.settings-card,.school-card,.subject-school-card,.modal,dialog,.report,.receipt-document){
  overflow-wrap:anywhere;
}
.font-size-control{position:relative;min-width:0;display:block;width:100%!important;align-self:stretch!important;justify-self:stretch!important}
.font-size-tool{width:100%!important;min-width:0!important}
.font-size-control-menu{
  position:absolute;
  left:50%;
  bottom:calc(100% + 10px);
  transform:translateX(-50%);
  z-index:80;
  width:min(220px,calc(100vw - 32px));
  padding:8px;
  display:grid;
  gap:6px;
  border-radius:18px;
  border:1px solid color-mix(in srgb,var(--brand) 22%,var(--line));
  background:color-mix(in srgb,var(--panel-solid) 94%,transparent);
  box-shadow:0 20px 48px #0f172a2b;
  backdrop-filter:blur(18px);
}
.font-size-control-menu[hidden]{display:none!important}
.font-size-control-menu button{
  width:100%;
  justify-content:center;
  padding:9px 10px;
  border-radius:13px;
  border:1px solid color-mix(in srgb,var(--brand) 14%,var(--line));
  background:color-mix(in srgb,var(--brand) 7%,var(--panel-solid));
  color:var(--ink);
  box-shadow:none;
  font-weight:680!important;
}
.font-size-control-menu button:hover,.font-size-control-menu button:focus-visible{background:color-mix(in srgb,var(--brand) 16%,var(--panel-solid));color:var(--brand-strong);outline:2px solid color-mix(in srgb,var(--brand) 38%,transparent);outline-offset:2px}
html[data-theme="dark"] .font-size-control-menu{background:color-mix(in srgb,var(--panel-solid) 92%,#020617 8%);border-color:#ffffff22;box-shadow:0 20px 48px #0008}
html[data-theme="dark"] .font-size-control-menu button{background:color-mix(in srgb,var(--brand) 10%,var(--panel-solid));border-color:#ffffff18;color:var(--ink)}
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{grid-template-columns:repeat(5,minmax(36px,1fr))!important;gap:6px!important;align-items:center!important}
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool{width:100%!important;min-width:0!important;padding-inline:8px!important}
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool svg{width:20px!important;height:20px!important}
body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{grid-template-columns:var(--footer-action-size)!important;grid-template-rows:repeat(5,var(--footer-action-size))!important}
body.sidebar-collapsed .modern-school-sidebar .font-size-control-menu{left:calc(100% + 12px);bottom:0;transform:none;width:190px}
@media (max-width:780px){
  :root{--text-size-base:.98rem;--text-size-sm:.9rem;--text-size-page:clamp(1.34rem,5.8vw,1.72rem);--text-size-section:clamp(1.08rem,4.8vw,1.28rem)}
  .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{grid-template-columns:repeat(5,minmax(40px,1fr))!important}
  .font-size-control-menu{left:auto;right:0;transform:none;bottom:calc(100% + 8px)}
}
@media (max-width:520px){
  :root{--text-size-base:.96rem;--text-size-sm:.88rem}
  .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{grid-template-columns:repeat(3,minmax(40px,1fr))!important}
}
@media print{
  html{font-size:16px!important}
  .font-size-control,.font-size-control-menu{display:none!important}
}

/* 2026-05 Lekol360 expanded sidebar footer one-line icon rail v22
   Expanded sidebar action footer: five equal boxes on one horizontal rail with centered icons. */
:root{
  --footer-expanded-action-size:42px;
  --footer-expanded-action-gap:3px;
}
body:not(.sidebar-collapsed) .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{
  width:100%!important;
  max-width:calc((var(--footer-expanded-action-size) * 5) + (var(--footer-expanded-action-gap) * 4) + 20px)!important;
  margin-inline:auto!important;
  display:grid!important;
  grid-template-columns:repeat(5,var(--footer-expanded-action-size))!important;
  grid-template-rows:var(--footer-expanded-action-size)!important;
  grid-auto-flow:column!important;
  gap:var(--footer-expanded-action-gap)!important;
  justify-content:center!important;
  align-content:center!important;
  place-items:center!important;
  padding:8px!important;
}
body:not(.sidebar-collapsed) .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools > *,
body:not(.sidebar-collapsed) .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool{
  width:var(--footer-expanded-action-size)!important;
  min-width:var(--footer-expanded-action-size)!important;
  max-width:var(--footer-expanded-action-size)!important;
  height:var(--footer-expanded-action-size)!important;
  min-height:var(--footer-expanded-action-size)!important;
  max-height:var(--footer-expanded-action-size)!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  justify-content:center!important;
  align-items:center!important;
  justify-self:center!important;
  align-self:center!important;
  box-sizing:border-box!important;
}
body:not(.sidebar-collapsed) .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool svg{
  display:block!important;
  width:20px!important;
  height:20px!important;
  margin:auto!important;
  flex:0 0 auto!important;
  grid-area:1/1!important;
  align-self:center!important;
  justify-self:center!important;
}
body:not(.sidebar-collapsed) .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool > span,
.sidebar-footer-actions.compact-sidebar-tools .sidebar-tool > span{display:none!important}
body:not(.sidebar-collapsed) .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool-form{line-height:0!important;border:0!important}
body:not(.sidebar-collapsed) .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool-form .sidebar-tool{height:var(--footer-expanded-action-size)!important;min-height:var(--footer-expanded-action-size)!important;max-height:var(--footer-expanded-action-size)!important}
body:not(.sidebar-collapsed) .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .font-size-control{position:relative!important}
.font-size-control .sidebar-tool{display:grid!important;place-items:center!important}
@media (max-width:780px){
  body:not(.sidebar-collapsed) .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{
    grid-template-columns:repeat(5,var(--footer-expanded-action-size))!important;
    grid-template-rows:var(--footer-expanded-action-size)!important;
  }
}


/* Collaboration platform: internal messaging, assignments, notifications */
.notification-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;height:1.35rem;padding:0 .35rem;margin-left:auto;border-radius:999px;background:#ef4444;color:#fff;font-size:.72rem;font-style:normal;font-weight:800;box-shadow:0 8px 18px rgba(239,68,68,.28)}
.collaboration-hero{background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(14,165,233,.08));border:1px solid var(--border,rgba(148,163,184,.25));border-radius:24px;padding:1.5rem;margin-bottom:1.2rem}.collaboration-summary{margin-bottom:1.2rem}.collaboration-layout{align-items:start}.stacked-form{display:grid;gap:1rem}.stacked-form label{display:grid;gap:.4rem;font-weight:700}.stacked-form input,.stacked-form select,.stacked-form textarea{width:100%;border:1px solid var(--border,rgba(148,163,184,.35));border-radius:14px;padding:.8rem;background:var(--surface,#fff);color:var(--text,#0f172a)}.stacked-form select[multiple]{min-height:10rem}.conversation-list{display:grid;gap:.8rem}.conversation-card{display:grid;gap:.25rem;padding:1rem;border-radius:18px;border:1px solid var(--border,rgba(148,163,184,.25));background:var(--surface-soft,rgba(248,250,252,.82));text-decoration:none;color:inherit}.conversation-card:hover{transform:translateY(-1px);box-shadow:0 14px 35px rgba(15,23,42,.10)}.message-thread{display:grid;gap:1rem}.message-bubble{max-width:78%;border-radius:20px;padding:1rem;border:1px solid var(--border,rgba(148,163,184,.25));background:var(--surface-soft,rgba(248,250,252,.9))}.message-bubble header{display:flex;justify-content:space-between;gap:1rem;font-size:.88rem;color:var(--muted,#64748b)}.own-message{margin-left:auto;background:linear-gradient(135deg,rgba(37,99,235,.16),rgba(14,165,233,.12))}.attachment-list{padding-left:1.1rem}.attachment-list a{font-weight:700}.assignment-form .form-grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.inline-review-form{display:flex;gap:.5rem;flex-wrap:wrap}.inline-review-form input{min-width:12rem}.status-pill{display:inline-flex;border-radius:999px;padding:.35rem .7rem;background:rgba(34,197,94,.14);color:#15803d;font-weight:800}.collaboration-dashboard-panel .cards{margin-top:.8rem}@media (max-width:800px){.assignment-form .form-grid.two,.content-grid.two-columns{grid-template-columns:1fr}.message-bubble{max-width:100%}.hero-actions,.teacher-actions{display:grid;width:100%;gap:.5rem}.inline-review-form{display:grid}.inline-review-form input{min-width:0;width:100%}}[data-theme="dark"] .conversation-card,[data-theme="dark"] .message-bubble,[data-theme="dark"] .stacked-form input,[data-theme="dark"] .stacked-form select,[data-theme="dark"] .stacked-form textarea{background:rgba(15,23,42,.72);color:#e5e7eb;border-color:rgba(148,163,184,.22)}[data-theme="dark"] .collaboration-hero{background:linear-gradient(135deg,rgba(37,99,235,.22),rgba(14,165,233,.10));border-color:rgba(148,163,184,.22)}


/* Lekòl360 alphabetical sidebar ordering + bottom-docked action rail.
   Keeps navigation scrollable while the footer action icon container remains
   fixed to the bottom of the sidebar in expanded, collapsed, desktop, tablet,
   and mobile layouts. */
.modern-school-sidebar.sidebar{
  height:100dvh!important;
  max-height:100dvh!important;
  min-height:100dvh!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.modern-school-sidebar .sidebar-school-header{
  flex:0 0 auto!important;
}
.modern-school-sidebar nav{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-x:visible!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  padding-bottom:10px!important;
  scrollbar-gutter:stable!important;
}
.modern-school-sidebar .sidebar-footer-actions,
.modern-school-sidebar .compact-sidebar-tools{
  flex:0 0 auto!important;
  margin-top:auto!important;
  align-self:stretch!important;
  position:sticky!important;
  bottom:0!important;
  z-index:80!important;
  box-sizing:border-box!important;
}
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  align-items:center!important;
  justify-items:stretch!important;
}
.modern-school-sidebar .sidebar-tool-form,
.modern-school-sidebar .font-size-control{
  min-width:0!important;
  width:100%!important;
  margin:0!important;
}
.modern-school-sidebar .sidebar-tool,
.modern-school-sidebar .sidebar-footer-actions .sidebar-toggle-button{
  width:100%!important;
  min-width:0!important;
}
body.sidebar-collapsed .modern-school-sidebar.sidebar{
  overflow:hidden!important;
}
body.sidebar-collapsed .modern-school-sidebar nav{
  overflow-x:visible!important;
  overflow-y:auto!important;
  scrollbar-width:thin!important;
}
body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{
  grid-template-columns:1fr!important;
  gap:8px!important;
  justify-items:center!important;
  align-items:center!important;
  align-self:center!important;
  width:100%!important;
}
body.sidebar-collapsed .modern-school-sidebar .sidebar-tool-form,
body.sidebar-collapsed .modern-school-sidebar .font-size-control,
body.sidebar-collapsed .modern-school-sidebar .sidebar-tool,
body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions .sidebar-toggle-button{
  width:56px!important;
  max-width:56px!important;
}
@media (min-width:781px){
  body.sidebar-collapsed .modern-school-sidebar.sidebar,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions,
  body.sidebar-collapsed .modern-school-sidebar .compact-sidebar-tools{
    overflow:visible!important;
  }
  body.sidebar-collapsed .modern-school-sidebar nav{
    overflow-y:auto!important;
    overflow-x:visible!important;
  }
}
@media (max-width:780px){
  .modern-school-sidebar.sidebar,
  body.sidebar-collapsed .modern-school-sidebar.sidebar{
    height:100dvh!important;
    max-height:100dvh!important;
    min-height:100dvh!important;
    overflow:hidden!important;
  }
  .modern-school-sidebar nav,
  body.sidebar-collapsed .modern-school-sidebar nav{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding-bottom:10px!important;
  }
  .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:7px!important;
    width:auto!important;
    align-self:stretch!important;
    place-items:stretch!important;
    margin-top:auto!important;
    position:sticky!important;
    bottom:0!important;
  }
  .modern-school-sidebar .sidebar-tool-form,
  .modern-school-sidebar .font-size-control,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-tool-form,
  body.sidebar-collapsed .modern-school-sidebar .font-size-control{
    width:100%!important;
    max-width:none!important;
  }
  .modern-school-sidebar .sidebar-tool,
  .modern-school-sidebar .sidebar-footer-actions .sidebar-toggle-button,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-tool,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions .sidebar-toggle-button{
    width:100%!important;
    max-width:none!important;
    min-height:44px!important;
    height:44px!important;
    justify-content:center!important;
    padding:7px!important;
  }
}
@media (max-width:520px){
  .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{
    grid-template-columns:repeat(5,minmax(34px,1fr))!important;
    gap:6px!important;
    padding:8px!important;
  }
  .modern-school-sidebar .sidebar-tool,
  .modern-school-sidebar .sidebar-footer-actions .sidebar-toggle-button,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-tool,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions .sidebar-toggle-button{
    min-height:40px!important;
    height:40px!important;
    border-radius:14px!important;
  }
  .modern-school-sidebar .sidebar-tool svg,
  .modern-school-sidebar nav a svg,
  .modern-school-sidebar .sidebar-footer-actions .sidebar-toggle-button svg{
    width:30px!important;
    height:30px!important;
    padding:6px!important;
  }
}


/* Lekòl360 sidebar bottom dock final QA override v2 */
.modern-school-sidebar.sidebar{
  position:fixed!important;
  display:flex!important;
  flex-direction:column!important;
  height:100dvh!important;
  max-height:100dvh!important;
  min-height:100dvh!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  padding-bottom:112px!important;
}
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{
  position:absolute!important;
  left:12px!important;
  right:12px!important;
  bottom:12px!important;
  width:auto!important;
  margin:0!important;
  box-sizing:border-box!important;
  z-index:90!important;
  overflow:visible!important;
}
.modern-school-sidebar nav{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  margin-bottom:0!important;
  padding-bottom:12px!important;
  scrollbar-gutter:stable!important;
}
body.sidebar-collapsed .modern-school-sidebar.sidebar{
  padding-bottom:286px!important;
}
body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{
  left:15px!important;
  right:15px!important;
  bottom:18px!important;
  grid-template-columns:1fr!important;
  justify-items:center!important;
}
body.sidebar-collapsed .modern-school-sidebar nav{
  max-height:calc(100dvh - 334px)!important;
}
@media (min-width:781px){
  body:not(.sidebar-collapsed) .modern-school-sidebar nav{
    max-height:calc(100dvh - 166px)!important;
  }
}
@media (max-width:780px){
  .modern-school-sidebar.sidebar,
  body.sidebar-collapsed .modern-school-sidebar.sidebar{
    padding-bottom:86px!important;
  }
  .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:6px!important;
    padding:8px!important;
    align-self:stretch!important;
  }
  .modern-school-sidebar nav,
  body.sidebar-collapsed .modern-school-sidebar nav{
    max-height:calc(100dvh - 174px)!important;
    padding-bottom:10px!important;
  }
}
@media (max-width:520px){
  .modern-school-sidebar.sidebar,
  body.sidebar-collapsed .modern-school-sidebar.sidebar{
    padding-bottom:84px!important;
  }
  .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{
    left:10px!important;
    right:10px!important;
    bottom:10px!important;
  }
}


/* Lekòl360 sidebar bottom dock final QA override v3 */
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools,
body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{
  top:auto!important;
  bottom:12px!important;
  left:12px!important;
  right:12px!important;
  width:auto!important;
  max-width:none!important;
}
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool,
.modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button,
body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-tool,
body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools .sidebar-toggle-button{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
@media (max-width:780px){
  .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{
    top:auto!important;
    bottom:12px!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
    max-width:none!important;
  }
}
@media (max-width:520px){
  .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools,
  body.sidebar-collapsed .modern-school-sidebar .sidebar-footer-actions.compact-sidebar-tools{
    top:auto!important;
    bottom:10px!important;
    left:10px!important;
    right:10px!important;
    width:auto!important;
  }
}


/* Communication Académique dashboard modernization */
.communication-dashboard-modern{--communication-gap:clamp(14px,2vw,22px)}
.communication-dashboard-modern.collaboration-hero{display:flex;align-items:center;justify-content:space-between;gap:var(--communication-gap);background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 16%,var(--panel-solid)),color-mix(in srgb,var(--brand3) 10%,var(--panel-solid)))!important;border:1px solid color-mix(in srgb,var(--brand) 18%,var(--line))!important;border-radius:28px!important;padding:clamp(20px,3vw,32px)!important;box-shadow:var(--shadow)!important}.communication-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:var(--communication-gap,18px)!important}.communication-stat-card{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;padding:18px!important}.communication-stat-card .stat-label{font-weight:850;color:var(--muted);line-height:1.2}.communication-stat-card .stat-value{font-size:clamp(1.5rem,3vw,2.4rem);line-height:1;color:var(--brand-strong)}.communication-compose-card,.communication-conversations-card{border-radius:26px!important}.recipient-picker{display:grid;gap:14px;padding:16px;border:1px solid color-mix(in srgb,var(--brand) 14%,var(--line));border-radius:22px;background:color-mix(in srgb,var(--brand) 4%,var(--panel-solid))}.recipient-picker-header h3{margin:0}.recipient-picker-header p{margin:.25rem 0 0;color:var(--muted)}.checkbox-card{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;background:var(--panel-solid);border:1px solid var(--line)}.recipient-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.recipient-grid select,.conversation-filter-bar input,.conversation-filter-bar select,.recipient-picker input[type="search"]{min-height:44px;border-radius:14px}.conversation-filter-bar{display:grid;grid-template-columns:1.4fr repeat(3,minmax(130px,.8fr)) auto;gap:12px;align-items:end;margin-bottom:16px;padding:14px;border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--brand2) 4%,var(--panel-solid))}.conversation-list{max-height:none}.conversation-card{border-radius:18px!important;border:1px solid var(--line)!important;background:var(--panel-solid)!important}.conversation-card strong{font-size:1rem}.conversation-pagination{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:16px}.conversation-pagination .disabled{opacity:.55;pointer-events:none}html[data-theme="dark"] .communication-dashboard-modern.collaboration-hero{background:linear-gradient(135deg,color-mix(in srgb,var(--brand2) 12%,var(--panel-solid)),color-mix(in srgb,var(--brand3) 8%,var(--panel-solid)))!important;border-color:#ffffff1f!important}html[data-theme="dark"] .communication-dashboard-modern .recipient-picker,html[data-theme="dark"] .conversation-filter-bar{background:color-mix(in srgb,var(--brand2) 8%,var(--panel-solid));border-color:#ffffff1a}html[data-theme="dark"] .communication-stat-card .stat-value{color:var(--brand)}@media (max-width:980px){.communication-dashboard-modern.collaboration-hero{align-items:flex-start;flex-direction:column}.communication-stat-grid{grid-template-columns:1fr!important}.recipient-grid,.conversation-filter-bar{grid-template-columns:1fr!important}}@media (max-width:640px){.communication-stat-card{align-items:flex-start!important;flex-direction:column!important}.conversation-pagination{justify-content:stretch}.conversation-pagination .button{flex:1 1 auto}}
/* sidebar-footer-icon-alignment-v2 */
.sidebar-footer-actions.compact-sidebar-tools{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  align-items:center!important;
  justify-items:center!important;
  gap:8px!important;
}
.sidebar-tool-form,.font-size-control.sidebar-tool-shell{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
.font-size-control.sidebar-tool-shell .font-size-tool,.sidebar-footer-actions .sidebar-tool{
  width:100%!important;
  min-width:0!important;
  height:52px!important;
  min-height:52px!important;
  display:inline-grid!important;
  place-items:center!important;
  align-content:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0!important;
}
.font-size-control.sidebar-tool-shell .font-size-tool svg,.sidebar-footer-actions .sidebar-tool svg{
  width:22px!important;
  height:22px!important;
  display:block!important;
  margin:0 auto!important;
}
.font-size-control.sidebar-tool-shell .font-size-control-menu{
  left:50%;
  transform:translateX(-50%);
}
.sidebar-collapsed .sidebar-footer-actions.compact-sidebar-tools{
  grid-template-columns:1fr!important;
  justify-items:center!important;
}
.sidebar-collapsed .font-size-control.sidebar-tool-shell,.sidebar-collapsed .sidebar-tool-form{
  width:56px!important;
  justify-self:center!important;
}
.sidebar-collapsed .font-size-control.sidebar-tool-shell .font-size-tool,.sidebar-collapsed .sidebar-footer-actions .sidebar-tool{
  width:56px!important;
  height:52px!important;
}
@media (max-width:780px){
  .sidebar-footer-actions.compact-sidebar-tools,.sidebar-collapsed .sidebar-footer-actions.compact-sidebar-tools{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
  }
  .font-size-control.sidebar-tool-shell,.sidebar-tool-form{width:100%!important;}
  .font-size-control.sidebar-tool-shell .font-size-tool,.sidebar-footer-actions .sidebar-tool{width:100%!important;height:50px!important;}
}
@media (max-width:560px){
  .sidebar-footer-actions.compact-sidebar-tools,.sidebar-collapsed .sidebar-footer-actions.compact-sidebar-tools{
    grid-template-columns:repeat(5,minmax(44px,1fr))!important;
    gap:6px!important;
  }
}



/* academic-communication-redesign-v2 */
.academic-comm-shell{--academic-blue:#2563eb;--academic-sky:#0ea5e9;--academic-green:#16a34a;--academic-gold:#f59e0b;--academic-ink:var(--text,#0f172a);--academic-muted:var(--muted,#64748b);display:grid;gap:clamp(16px,2vw,26px);container-type:inline-size}.academic-dashboard-hero{position:relative;overflow:hidden;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:clamp(18px,3vw,34px)!important;padding:clamp(22px,4vw,42px)!important;border-radius:32px!important;background:radial-gradient(circle at 12% 12%,color-mix(in srgb,var(--academic-sky) 25%,transparent),transparent 22rem),radial-gradient(circle at 92% 8%,color-mix(in srgb,var(--academic-gold) 18%,transparent),transparent 20rem),linear-gradient(135deg,color-mix(in srgb,var(--academic-blue) 14%,var(--panel-solid)),color-mix(in srgb,var(--academic-green) 8%,var(--panel-solid)))!important;border:1px solid color-mix(in srgb,var(--academic-blue) 22%,var(--line))!important;box-shadow:0 24px 70px color-mix(in srgb,var(--academic-blue) 14%,transparent)!important}.academic-dashboard-hero:before{content:"";position:absolute;inset:auto -8% -42% auto;width:260px;height:260px;border-radius:999px;background:linear-gradient(135deg,color-mix(in srgb,var(--academic-gold) 28%,transparent),color-mix(in srgb,var(--academic-sky) 24%,transparent));filter:blur(2px);opacity:.7}.academic-hero-copy{position:relative;z-index:1;max-width:780px;display:grid;gap:10px}.academic-hero-copy h1{margin:0;font-size:clamp(2rem,4vw,3.4rem);line-height:.98;letter-spacing:-.045em;color:var(--academic-ink)}.academic-hero-copy p:not(.eyebrow){max-width:68ch;color:var(--academic-muted);font-size:clamp(1rem,1.45vw,1.14rem);line-height:1.65}.academic-hero-badges{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:4px}.academic-status-badge{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:color-mix(in srgb,var(--panel-solid) 78%,white);border:1px solid color-mix(in srgb,var(--academic-blue) 16%,var(--line));color:var(--academic-ink);font-weight:850;font-size:.82rem;box-shadow:0 10px 28px rgba(15,23,42,.06)}.academic-action-strip{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.academic-primary-action{background:linear-gradient(135deg,var(--academic-blue),var(--academic-sky))!important;color:#fff!important;border-color:transparent!important;box-shadow:0 16px 36px color-mix(in srgb,var(--academic-blue) 28%,transparent)!important}.academic-nav-tabs{display:flex;align-items:center;gap:10px;overflow-x:auto;padding:8px;border-radius:24px;background:color-mix(in srgb,var(--panel-solid) 86%,var(--academic-blue) 4%);border:1px solid color-mix(in srgb,var(--academic-blue) 12%,var(--line));box-shadow:0 14px 42px rgba(15,23,42,.06);scrollbar-width:thin}.academic-tab{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 16px;border-radius:18px;color:var(--academic-muted)!important;text-decoration:none!important;font-weight:900;white-space:nowrap;border:1px solid transparent;transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease,border-color .18s ease}.academic-tab:hover,.academic-tab:focus-visible{transform:translateY(-1px);background:color-mix(in srgb,var(--academic-sky) 10%,var(--panel-solid));color:var(--academic-ink)!important;outline:none}.academic-tab.is-active{background:linear-gradient(135deg,color-mix(in srgb,var(--academic-blue) 12%,var(--panel-solid)),color-mix(in srgb,var(--academic-green) 8%,var(--panel-solid)));color:var(--academic-ink)!important;border-color:color-mix(in srgb,var(--academic-blue) 22%,var(--line));box-shadow:0 12px 30px color-mix(in srgb,var(--academic-blue) 14%,transparent)}.academic-tab-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:12px;background:color-mix(in srgb,var(--academic-blue) 10%,var(--panel-solid));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--academic-blue) 14%,transparent)}.academic-metric-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(14px,2vw,22px)!important}.academic-metric-card{position:relative;overflow:hidden;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:16px!important;min-height:138px;padding:20px!important;border-radius:28px!important;background:linear-gradient(145deg,color-mix(in srgb,var(--panel-solid) 88%,white),color-mix(in srgb,var(--academic-blue) 6%,var(--panel-solid)))!important;border:1px solid color-mix(in srgb,var(--academic-blue) 15%,var(--line))!important;box-shadow:0 18px 45px rgba(15,23,42,.07)!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.academic-metric-card:after{content:"";position:absolute;inset:auto -42px -46px auto;width:132px;height:132px;border-radius:999px;background:color-mix(in srgb,var(--academic-sky) 14%,transparent)}.academic-metric-card:hover{transform:translateY(-3px);box-shadow:0 26px 58px color-mix(in srgb,var(--academic-blue) 16%,transparent)!important;border-color:color-mix(in srgb,var(--academic-blue) 28%,var(--line))!important}.academic-metric-icon{position:relative;z-index:1;display:grid;place-items:center;width:58px;height:58px;border-radius:22px;background:linear-gradient(135deg,color-mix(in srgb,var(--academic-blue) 16%,var(--panel-solid)),color-mix(in srgb,var(--academic-gold) 12%,var(--panel-solid)));font-size:1.5rem;box-shadow:inset 0 0 0 1px rgba(255,255,255,.28),0 14px 30px rgba(15,23,42,.08)}.academic-metric-copy{position:relative;z-index:1;display:grid;gap:4px;min-width:0}.academic-metric-label{display:block;color:var(--academic-muted);font-weight:950;letter-spacing:.01em;line-height:1.2}.academic-metric-copy small{color:color-mix(in srgb,var(--academic-muted) 86%,var(--academic-blue));font-weight:750}.academic-metric-value{position:relative;z-index:1;font-size:clamp(2rem,4vw,3rem)!important;line-height:.9!important;color:var(--academic-blue)!important;font-weight:1000!important;letter-spacing:-.06em}.academic-content-grid{grid-template-columns:minmax(360px,.92fr) minmax(0,1.08fr)!important;gap:clamp(18px,2.4vw,30px)!important}.academic-panel-card{border-radius:30px!important;border:1px solid color-mix(in srgb,var(--academic-blue) 12%,var(--line))!important;background:linear-gradient(180deg,color-mix(in srgb,var(--panel-solid) 96%,white),color-mix(in srgb,var(--academic-blue) 3%,var(--panel-solid)))!important;box-shadow:0 20px 55px rgba(15,23,42,.07)!important}.academic-section-heading{display:flex!important;align-items:flex-start!important;gap:14px!important;margin-bottom:18px!important}.academic-section-icon{display:grid;place-items:center;flex:0 0 auto;width:46px;height:46px;border-radius:18px;background:color-mix(in srgb,var(--academic-blue) 12%,var(--panel-solid));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--academic-blue) 15%,transparent)}.academic-recipient-picker{border-radius:24px!important}.academic-filter-bar{border-radius:24px!important;background:color-mix(in srgb,var(--academic-sky) 6%,var(--panel-solid))!important}.academic-conversation-list{display:grid;gap:12px}.academic-conversation-card{display:grid!important;gap:6px!important;padding:16px!important;border-radius:20px!important;border:1px solid color-mix(in srgb,var(--academic-blue) 12%,var(--line))!important;background:color-mix(in srgb,var(--panel-solid) 96%,white)!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.academic-conversation-card:hover,.academic-conversation-card:focus-visible{transform:translateY(-2px);box-shadow:0 18px 38px rgba(15,23,42,.1);border-color:color-mix(in srgb,var(--academic-blue) 28%,var(--line));outline:none}.academic-card-kicker{justify-self:start;padding:4px 9px;border-radius:999px;background:color-mix(in srgb,var(--academic-green) 12%,var(--panel-solid));color:color-mix(in srgb,var(--academic-green) 76%,var(--academic-ink));font-size:.74rem;font-weight:950;text-transform:uppercase;letter-spacing:.04em}.academic-table-shell{border-radius:22px;border:1px solid color-mix(in srgb,var(--academic-blue) 10%,var(--line));background:var(--panel-solid);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}.academic-assignment-table thead th{background:color-mix(in srgb,var(--academic-blue) 8%,var(--panel-solid));font-weight:950}.academic-assignment-table tbody tr{transition:background .16s ease}.academic-assignment-table tbody tr:hover{background:color-mix(in srgb,var(--academic-sky) 5%,transparent)}html[data-theme="dark"] .academic-comm-shell{--academic-ink:#f8fafc;--academic-muted:#cbd5e1}html[data-theme="dark"] .academic-dashboard-hero{background:radial-gradient(circle at 12% 12%,rgba(14,165,233,.18),transparent 20rem),radial-gradient(circle at 92% 8%,rgba(245,158,11,.12),transparent 20rem),linear-gradient(135deg,rgba(37,99,235,.14),rgba(15,23,42,.92))!important;border-color:rgba(148,163,184,.22)!important}html[data-theme="dark"] .academic-status-badge,html[data-theme="dark"] .academic-nav-tabs,html[data-theme="dark"] .academic-panel-card,html[data-theme="dark"] .academic-metric-card,html[data-theme="dark"] .academic-conversation-card{background:linear-gradient(180deg,rgba(15,23,42,.94),rgba(30,41,59,.88))!important;border-color:rgba(148,163,184,.2)!important;color:#f8fafc!important}html[data-theme="dark"] .academic-metric-label,html[data-theme="dark"] .academic-metric-copy small,html[data-theme="dark"] .academic-hero-copy p:not(.eyebrow){color:#cbd5e1!important}html[data-theme="dark"] .academic-tab{color:#cbd5e1!important}html[data-theme="dark"] .academic-tab.is-active,html[data-theme="dark"] .academic-tab:hover{background:linear-gradient(135deg,rgba(37,99,235,.24),rgba(14,165,233,.16))!important;color:#fff!important}html[data-theme="dark"] .academic-filter-bar{background:rgba(15,23,42,.78)!important}@media (max-width:980px){.academic-dashboard-hero{align-items:flex-start!important;flex-direction:column!important}.academic-action-strip{justify-content:flex-start}.academic-metric-grid{grid-template-columns:1fr!important}.academic-content-grid{grid-template-columns:1fr!important}.academic-nav-tabs{padding:7px}.academic-tab{flex:1 0 auto}}@media (max-width:640px){.academic-dashboard-hero{padding:20px!important;border-radius:24px!important}.academic-hero-copy h1{font-size:clamp(1.7rem,10vw,2.25rem)}.academic-hero-badges{align-items:stretch;flex-direction:column}.academic-status-badge{justify-content:center}.academic-action-strip{width:100%;display:grid;grid-template-columns:1fr}.academic-action-strip .button{width:100%;justify-content:center}.academic-nav-tabs{display:grid;grid-template-columns:1fr 1fr;overflow:visible}.academic-tab{min-height:54px;padding:0 10px}.academic-metric-card{grid-template-columns:auto 1fr!important;min-height:0}.academic-metric-value{grid-column:1/-1;justify-self:start}.academic-section-heading{align-items:center!important}.conversation-filter-bar.academic-filter-bar{grid-template-columns:1fr!important}.academic-table-shell{border-radius:18px}}


/* academic-communication-targeting-grading-v3 */
.academic-metric-link{color:inherit;text-decoration:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.academic-metric-link:hover,.academic-metric-link:focus-visible{transform:translateY(-2px);box-shadow:0 18px 42px color-mix(in srgb,var(--academic-blue,#2563eb) 18%,transparent);border-color:color-mix(in srgb,var(--academic-blue,#2563eb) 38%,var(--line));outline:none}
html[data-theme="dark"] .academic-metric-link{color:var(--text);background:color-mix(in srgb,var(--panel-solid,#111827) 88%,#020617);border-color:color-mix(in srgb,var(--academic-sky,#0ea5e9) 24%,var(--line))}
.academic-action-strip .button{border-radius:999px;font-weight:800;letter-spacing:-.01em;box-shadow:0 12px 26px color-mix(in srgb,var(--brand,#2563eb) 14%,transparent)}
.communication-compose-card{padding-left:clamp(20px,3vw,34px)!important;padding-right:clamp(20px,3vw,34px)!important}
.communication-compose-form{gap:clamp(14px,2vw,20px)}
.assignment-grading-form{display:grid;gap:8px;min-width:min(100%,420px)}
.assignment-grading-form select,.assignment-grading-form input{min-width:0}
.assignment-grade-grid{display:grid;grid-template-columns:repeat(3,minmax(80px,1fr));gap:8px}
.checkbox-inline{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;color:var(--muted)}
html[data-theme="dark"] .assignment-grading-form input,html[data-theme="dark"] .assignment-grading-form select{background:color-mix(in srgb,var(--panel-solid,#111827) 82%,#020617);color:var(--text);border-color:var(--line)}
@media (max-width:640px){.academic-action-strip{width:100%;align-items:stretch}.academic-action-strip .button{justify-content:center;width:100%}.assignment-grade-grid{grid-template-columns:1fr}.communication-compose-card{padding-left:18px!important;padding-right:18px!important}}

/* academic-module-spacing-v4 */
.communication-dashboard-spacious {
  --academic-module-gap: clamp(1.25rem, 2.4vw, 2.25rem);
  --academic-card-pad-y: clamp(1.25rem, 2.5vw, 2rem);
  --academic-card-pad-x: clamp(1.15rem, 3vw, 2.25rem);
}

.communication-dashboard-spacious .academic-content-grid,
.academic-comm-shell .academic-content-grid {
  gap: var(--academic-module-gap, clamp(1.25rem, 2.4vw, 2.25rem));
  align-items: start;
  margin-block: clamp(1rem, 2vw, 1.75rem) clamp(1.5rem, 3vw, 2.5rem);
}

.academic-content-card-spacious,
.communication-compose-card,
.communication-conversations-card,
.academic-assignment-create-card,
.academic-assignment-list-card {
  padding-block: var(--academic-card-pad-y, clamp(1.25rem, 2.5vw, 2rem)) !important;
  padding-inline: var(--academic-card-pad-x, clamp(1.15rem, 3vw, 2.25rem)) !important;
}

.communication-compose-card {
  margin-block-end: clamp(1.25rem, 2.6vw, 2.25rem);
}

.communication-conversations-card {
  margin-block-start: clamp(1.25rem, 2.6vw, 2.25rem);
}

.communication-conversations-card .academic-section-heading,
.communication-compose-card .academic-section-heading,
.academic-assignment-create-card .academic-section-heading,
.academic-assignment-list-card .academic-section-heading {
  margin-block-end: clamp(1rem, 2vw, 1.6rem);
}

.communication-compose-form,
.academic-assignment-form,
.conversation-filter-bar,
.academic-conversation-list {
  gap: clamp(0.9rem, 1.8vw, 1.35rem);
}

.communication-conversations-card .conversation-filter-bar {
  padding: clamp(0.9rem, 2vw, 1.25rem);
  margin-block-end: clamp(1rem, 2vw, 1.5rem);
}

.communication-conversations-card .conversation-list,
.academic-conversation-list {
  display: grid;
  gap: clamp(0.85rem, 1.8vw, 1.25rem);
}

.communication-conversations-card .conversation-card,
.academic-conversation-card {
  padding: clamp(1rem, 2.1vw, 1.45rem) clamp(1rem, 2.4vw, 1.65rem);
  align-items: flex-start;
  border-radius: 18px;
}

.communication-conversations-card .pagination-controls {
  margin-block-start: clamp(1rem, 2vw, 1.6rem);
  padding-inline: clamp(0.25rem, 1vw, 0.75rem);
}

.academic-assignment-list-card .academic-table-shell {
  margin-block-start: clamp(0.9rem, 1.8vw, 1.4rem);
}

html[data-theme="dark"] .academic-panel-card,
body.dark-mode .academic-panel-card {
  border-color: rgba(148, 163, 184, 0.22);
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.32);
}

html[data-theme="dark"] .communication-conversations-card .conversation-card,
body.dark-mode .communication-conversations-card .conversation-card {
  background: rgba(15, 23, 42, 0.72);
  border-color: rgba(148, 163, 184, 0.2);
}

@media (max-width: 768px) {
  .communication-dashboard-spacious {
    --academic-module-gap: 1rem;
    --academic-card-pad-y: 1rem;
    --academic-card-pad-x: 1rem;
  }

  .communication-dashboard-spacious .academic-content-grid,
  .academic-comm-shell .academic-content-grid {
    grid-template-columns: 1fr;
    margin-block: 1rem 1.5rem;
  }

  .communication-conversations-card .conversation-filter-bar {
    grid-template-columns: 1fr;
  }

  .communication-conversations-card .conversation-card,
  .academic-conversation-card {
    padding: 1rem;
  }
}

/* academic-shared-nav-v5 */
.academic-shared-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(0.65rem, 1.5vw, 1rem);
  margin-block: clamp(1rem, 2vw, 1.5rem);
}

.academic-shared-nav .academic-tab {
  min-height: 44px;
  justify-content: center;
  border-radius: 999px;
  padding-inline: clamp(0.9rem, 2vw, 1.25rem);
}

.teacher-grade-actions-padded {
  padding-block-end: clamp(1rem, 2.5vw, 1.75rem);
  margin-block-end: clamp(0.5rem, 1.5vw, 1rem);
}

.teacher-attendance-module-v1,
.teacher-attendance-module {
  padding: clamp(1.15rem, 2.5vw, 2rem) clamp(1rem, 3vw, 2rem);
}

.teacher-attendance-selector,
.teacher-attendance-sheet {
  margin-block-start: clamp(1rem, 2vw, 1.5rem);
}

.attendance-sheet-wrap {
  margin-block: clamp(1rem, 2vw, 1.5rem);
}

.teacher-attendance-table th,
.teacher-attendance-table td {
  vertical-align: middle;
}

.attendance-status-select {
  min-width: 10rem;
}

.teacher-attendance-actions {
  display: flex;
  justify-content: flex-end;
  padding-block: clamp(0.75rem, 1.8vw, 1.25rem) clamp(0.9rem, 2vw, 1.4rem);
}

html[data-theme="dark"] .academic-shared-nav .academic-tab,
body.dark-mode .academic-shared-nav .academic-tab,
html[data-theme="dark"] .teacher-attendance-module,
body.dark-mode .teacher-attendance-module {
  border-color: rgba(148, 163, 184, 0.22);
}

@media (max-width: 768px) {
  .academic-shared-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .academic-shared-nav .academic-tab {
    width: 100%;
  }

  .teacher-attendance-actions {
    justify-content: stretch;
  }

  .teacher-attendance-actions .primary,
  .teacher-attendance-actions button {
    width: 100%;
  }
}


/* Important banners, drafts, devoir discussions — 20260601 */
.important-banner-stack{display:grid;gap:.75rem;max-width:min(980px,calc(100vw - 2rem));margin:0 auto 1.25rem;padding:0 1rem}.important-banner{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap;text-align:center;border:1px solid rgba(37,99,235,.22);background:linear-gradient(135deg,rgba(239,246,255,.98),rgba(255,255,255,.96));color:#0f172a;border-radius:18px;box-shadow:0 18px 45px rgba(15,23,42,.12);padding:1rem 1.25rem}.important-banner strong{color:#1d4ed8}.important-banner small{color:#64748b}.banner-admin-layout,.banner-list{gap:1rem}.banner-admin-card{border:1px solid rgba(148,163,184,.28);border-radius:18px;padding:1rem;background:rgba(255,255,255,.82);box-shadow:0 12px 30px rgba(15,23,42,.08);display:grid;gap:.85rem}.button-row{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}.button-row.compact{gap:.4rem}.button.danger{background:#dc2626;color:#fff}.status-pill{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.28rem .7rem;background:rgba(37,99,235,.12);color:#1d4ed8;font-weight:700}.conversation-unread strong{font-weight:900}.conversation-unread{border-color:rgba(37,99,235,.45)!important;box-shadow:0 16px 36px rgba(37,99,235,.12)}.conversation-read{opacity:.88}.grade-summary-card{border:1px solid rgba(34,197,94,.25);background:rgba(240,253,244,.88);border-radius:16px;padding:1rem;margin:.75rem 0}.teacher-assignment-actions,.assignment-unassign-form{margin-top:1rem}.threaded-discussion-list{display:grid;gap:.85rem;margin-bottom:1rem}.discussion-message{border-left:4px solid #2563eb;background:rgba(248,250,252,.92);border-radius:14px;padding:.85rem 1rem}.discussion-message header,.discussion-message small{color:#64748b}.quick-contact-form{margin:.75rem 0}.assignment-detail-card{min-height:100%}
html[data-theme="dark"] .important-banner{background:linear-gradient(135deg,rgba(30,41,59,.98),rgba(15,23,42,.96));color:#e5e7eb;border-color:rgba(96,165,250,.35)}html[data-theme="dark"] .important-banner strong{color:#93c5fd}html[data-theme="dark"] .important-banner small{color:#cbd5e1}html[data-theme="dark"] .banner-admin-card,html[data-theme="dark"] .discussion-message{background:rgba(15,23,42,.82);border-color:rgba(148,163,184,.22)}html[data-theme="dark"] .grade-summary-card{background:rgba(20,83,45,.22);border-color:rgba(74,222,128,.25);color:#e5e7eb}
@media (max-width:768px){.important-banner{align-items:flex-start;text-align:left;justify-content:flex-start}.button-row{flex-direction:column;align-items:stretch}.button-row .button,.button-row form,.button-row button{width:100%}.banner-admin-card{padding:.85rem}.assignment-grade-grid{grid-template-columns:1fr!important}}

/* 2026-06 FT: polished Bannières importantes form + dynamic audience UX */
.banner-form-card,
.banner-list-card{
  overflow:hidden;
}
.banner-form-heading,
.banner-list-card .section-heading{
  display:flex;
  align-items:flex-start;
  gap:14px;
}
.banner-heading-icon{
  width:46px;
  height:46px;
  border-radius:16px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 16%,var(--panel-solid)),color-mix(in srgb,var(--brand2) 14%,var(--panel-solid)));
  border:1px solid color-mix(in srgb,var(--brand) 22%,var(--line));
  box-shadow:0 16px 32px rgba(15,23,42,.12);
}
.banner-form-modern{
  padding-block: clamp(22px, 3vw, 34px);
  padding-inline: clamp(20px, 3.2vw, 36px);
  margin-top:18px;
  border:1px solid color-mix(in srgb,var(--brand) 13%,var(--line));
  border-radius:28px;
  background:
    radial-gradient(circle at top left,color-mix(in srgb,var(--brand) 10%,transparent),transparent 34%),
    linear-gradient(180deg,color-mix(in srgb,var(--panel-solid) 98%,#fff),color-mix(in srgb,var(--brand) 4%,var(--panel-solid)));
  box-shadow:0 24px 58px rgba(15,23,42,.10);
}
.banner-form-section{
  display:grid;
  gap:16px;
}
.banner-copy-section{
  margin-bottom:18px;
}
.banner-audience-panel{
  padding:18px;
  border:1px solid color-mix(in srgb,var(--brand2) 16%,var(--line));
  border-radius:24px;
  background:color-mix(in srgb,var(--panel-solid) 88%,transparent);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.36);
}
.banner-panel-title{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:16px;
}
.banner-panel-title strong{
  display:block;
  font-size:1.02rem;
  color:var(--ink);
}
.banner-panel-title small,
.banner-field-card small{
  color:var(--muted);
  line-height:1.45;
}
.banner-audience-grid{
  align-items:start;
}
.banner-field-card{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:16px;
  border:1px solid color-mix(in srgb,var(--brand) 12%,var(--line));
  border-radius:20px;
  background:color-mix(in srgb,var(--panel-solid) 94%,transparent);
  box-shadow:0 12px 26px rgba(15,23,42,.06);
}
.banner-field-card .field-label-text{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-weight:850;
  color:var(--ink);
}
.banner-field-icon,
.banner-action-icon,
.banner-status-icon{
  display:inline-grid;
  place-items:center;
  line-height:1;
  flex:0 0 auto;
}
.banner-field-icon{
  width:28px;
  height:28px;
  border-radius:10px;
  background:color-mix(in srgb,var(--brand) 12%,var(--panel-solid));
  border:1px solid color-mix(in srgb,var(--brand) 18%,var(--line));
}
.banner-field-wide{
  grid-column:1 / -1;
}
.banner-target-picker{
  margin-top:16px;
}
.banner-locked-scope strong{
  color:var(--brand-strong);
}
.banner-audience-help{
  display:flex;
  align-items:center;
  gap:10px;
  margin:12px 0 0;
  padding:12px 14px;
  border-radius:16px;
  border:1px dashed color-mix(in srgb,var(--brand) 24%,var(--line));
  background:color-mix(in srgb,var(--brand) 7%,var(--panel-solid));
  color:var(--ink);
}
.banner-form-modern [hidden],
.banner-audience-panel [hidden]{
  display:none!important;
}
.banner-form-modern input,
.banner-form-modern textarea,
.banner-form-modern select{
  border-radius:14px;
}
.banner-form-modern select[multiple]{
  min-height:178px;
}
.banner-form-modern .button-row,
.banner-action-row{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex-wrap:wrap;
  padding-top:18px;
  margin-top:6px;
  border-top:1px solid color-mix(in srgb,var(--brand) 10%,var(--line));
}
.banner-form-modern .button,
.banner-admin-card .button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.banner-status-pill{
  display:inline-flex!important;
  align-items:center;
  gap:7px;
}
.banner-admin-card{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:18px;
  border:1px solid color-mix(in srgb,var(--brand) 12%,var(--line));
  border-radius:22px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel-solid) 96%,#fff),color-mix(in srgb,var(--brand2) 4%,var(--panel-solid)));
  box-shadow:0 16px 36px rgba(15,23,42,.08);
}
.banner-admin-card + .banner-admin-card{
  margin-top:14px;
}
html[data-theme="dark"] .banner-form-modern,
html[data-theme="dark"] .banner-audience-panel,
html[data-theme="dark"] .banner-field-card,
html[data-theme="dark"] .banner-admin-card{
  background:linear-gradient(180deg,rgba(13,35,56,.96),rgba(8,47,73,.90));
  border-color:rgba(56,189,248,.24);
  box-shadow:0 18px 46px rgba(0,0,0,.30);
  color:#f8fbff;
}
html[data-theme="dark"] .banner-field-card .field-label-text,
html[data-theme="dark"] .banner-panel-title strong,
html[data-theme="dark"] .banner-audience-help{
  color:#f8fbff;
}
html[data-theme="dark"] .banner-field-icon,
html[data-theme="dark"] .banner-heading-icon{
  background:rgba(56,189,248,.14);
  border-color:rgba(125,211,252,.28);
}
html[data-theme="dark"] .banner-audience-help{
  background:rgba(56,189,248,.10);
  border-color:rgba(125,211,252,.24);
}
@media (max-width: 1060px){
  .banner-admin-layout{
    grid-template-columns:1fr!important;
  }
}
@media (max-width: 760px){
  .banner-form-modern{
    padding-block:22px;
    padding-inline:18px;
    border-radius:22px;
  }
  .banner-audience-grid,
  .form-grid.two.banner-audience-grid{
    grid-template-columns:1fr!important;
  }
  .banner-field-card,
  .banner-audience-panel{
    padding:14px;
    border-radius:18px;
  }
  .banner-admin-card{
    flex-direction:column;
  }
  .banner-form-modern .button-row,
  .banner-action-row{
    justify-content:stretch;
  }
  .banner-form-modern .button-row .button,
  .banner-action-row .button{
    width:100%;
  }
}
