:root{
  --aee-blue:#0055A8;
  --aee-olive:#ACA109;
  --aee-red:#D40417;
  --aee-yellow:#FEE606;
  --aee-cyan:#10AEF2;
  --aee-orange:#FB8503;
  --aee-ink:#13314f;
  --aee-soft:#f6f9fd;
  --aee-line:#dfe8f2;
  --navy:#0b3767;
  --blue:var(--aee-blue);
  --blue-2:var(--aee-cyan);
  --yellow:var(--aee-yellow);
  --red:var(--aee-red);
  --teal:var(--aee-cyan);
  --green:#2b9f67;
  --ink:var(--aee-ink);
  --line:var(--aee-line);
  --bg:#f5f8fc;
}
body{
  background:
    radial-gradient(circle at 95% 0,rgba(16,174,242,.10),transparent 28%),
    radial-gradient(circle at 5% 100%,rgba(254,230,6,.08),transparent 26%),
    var(--bg);
}
.sidebar{
  background:linear-gradient(180deg,#fff 0%,#fbfdff 58%,#f7fbff 100%);
  border-right:1px solid #dce7f1;
  box-shadow:12px 0 35px rgba(0,85,168,.055);
}
.sidebar-brand{
  height:142px;
  padding:18px 20px;
  background:linear-gradient(180deg,#fff 0%,#f7fbff 100%);
  border-bottom:1px solid #dfe9f3;
}
.sidebar-brand img{width:100%;height:104px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,85,168,.10))}
.nav-group summary{border-radius:12px;color:#3f536a}
.nav-group[open]>summary,.nav-group summary:hover{background:linear-gradient(135deg,rgba(0,85,168,.08),rgba(16,174,242,.08));color:var(--aee-blue)}
.nav-group>div a.active,.nav-group>div a:hover{background:linear-gradient(135deg,rgba(0,85,168,.11),rgba(16,174,242,.12));color:var(--aee-blue);box-shadow:inset 3px 0 0 var(--aee-blue)}
.topbar{background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid #dfe9f3}
.topbar h1{color:#123a63}.eyebrow{color:var(--aee-blue)}
.user-chip>span{background:linear-gradient(135deg,#e8f5ff,#eefcff);border:1px solid #cce9fa;color:var(--aee-blue)}
.welcome-panel{
  background:
    radial-gradient(circle at 92% 12%,rgba(254,230,6,.17),transparent 22%),
    radial-gradient(circle at 83% 90%,rgba(251,133,3,.16),transparent 25%),
    linear-gradient(125deg,#003f7d 0%,#0055A8 46%,#0786d0 72%,#10AEF2 118%);
  box-shadow:0 18px 42px rgba(0,85,168,.22);
}
.welcome-panel .eyebrow{color:#d9f5ff}.welcome-panel img{filter:drop-shadow(0 14px 24px rgba(0,32,73,.28))}
.btn-primary,.login-v2-submit{
  background:linear-gradient(135deg,#00498f 0%,#0055A8 48%,#10AEF2 115%)!important;
  border-color:transparent!important;
  box-shadow:0 10px 24px rgba(0,85,168,.22)!important;
}
.btn-primary:hover,.login-v2-submit:hover{background:linear-gradient(135deg,#003d78,#004d99 55%,#0798d9 120%)!important;transform:translateY(-1px)}
.btn-warning{background:linear-gradient(135deg,#FEE606,#f8c803);border-color:#eacb00;color:#423900;font-weight:700}
.btn-danger{background:linear-gradient(135deg,#D40417,#ef2436);border-color:transparent}
.btn-info{background:linear-gradient(135deg,#10AEF2,#0b8fd1);border-color:transparent;color:#fff}
.panel,.lookup-card,.stat-card{border-color:#dfe8f2;box-shadow:0 10px 28px rgba(28,67,105,.055)}
.stat-card:nth-child(1)>i:first-child{--accent:#0055A8!important}
.stat-card:nth-child(2)>i:first-child{--accent:#10AEF2!important}
.stat-card:nth-child(3)>i:first-child{--accent:#ACA109!important}
.stat-card:nth-child(4)>i:first-child{--accent:#D40417!important}
.panel-head a,.quick a:hover{color:var(--aee-blue)}
.form-control:focus,.form-select:focus{border-color:#10AEF2;box-shadow:0 0 0 .2rem rgba(16,174,242,.15)}
.status{background:#e9f8ef;color:#177548}.status.inactive{background:#f4f5f6;color:#69798b}
.search-submit{background:linear-gradient(135deg,#eaf5ff,#e8fbff);color:var(--aee-blue)}
.school-status-choice input:checked+span{border-color:#10AEF2;background:linear-gradient(135deg,#eef8ff,#f3fdff);box-shadow:0 0 0 3px rgba(16,174,242,.10)}
.school-lookup-modern:after{background:linear-gradient(135deg,rgba(16,174,242,.17),rgba(254,230,6,.16))}

/* LOGIN / RECUPERAÇÃO / PRIMEIRO ACESSO */
.login-v2{
  background:
    radial-gradient(circle at 8% 8%,rgba(16,174,242,.15) 0,transparent 30%),
    radial-gradient(circle at 92% 88%,rgba(254,230,6,.14) 0,transparent 27%),
    linear-gradient(160deg,#f7fbff,#fff 55%,#fffdf2);
}
.login-v2-shell{border:1px solid #dce7f1;box-shadow:0 34px 92px rgba(8,55,98,.15)}
.login-v2-identity{
  background:
    radial-gradient(circle at 12% 92%,rgba(254,230,6,.17),transparent 24%),
    radial-gradient(circle at 92% 10%,rgba(16,174,242,.20),transparent 26%),
    linear-gradient(145deg,#003b75 0%,#0055A8 52%,#087fc4 78%,#10AEF2 124%);
}
.login-v2-brand{width:min(500px,100%);height:205px;padding:14px 18px;background:#fff;border:1px solid rgba(255,255,255,.68);border-radius:22px;box-shadow:0 18px 44px rgba(0,36,78,.28)}
.login-v2-brand img{width:100%;height:100%;object-fit:contain;position:static;transform:none}
.login-v2-copy>span{color:#dff7ff}.login-v2-copy p{color:#e5f4fd}.login-v2-copy h1{color:#fff;text-shadow:0 2px 16px rgba(0,42,86,.18)}
.aee-login-badges span{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.20)}
.login-v2-colors{grid-template-columns:repeat(6,1fr)!important;height:7px}
.login-v2-colors i:nth-child(1){background:#0055A8!important}
.login-v2-colors i:nth-child(2){background:#ACA109!important}
.login-v2-colors i:nth-child(3){background:#D40417!important}
.login-v2-colors i:nth-child(4){background:#FEE606!important}
.login-v2-colors i:nth-child(5){background:#10AEF2!important}
.login-v2-colors i:nth-child(6){background:#FB8503!important}
.login-v2-eyebrow,.login-v2-label a{color:#0055A8!important}
.login-v2-field:focus-within{border-color:#10AEF2;box-shadow:0 0 0 4px rgba(16,174,242,.12)}
.lgpd-login-note{border-color:#dbeaf4;background:linear-gradient(135deg,#f8fbff,#fff)}

/* pequenas faixas de identidade em componentes */
.panel-head .eyebrow,.module-toolbar .eyebrow{color:#0055A8}
.catalog-school{border-top:3px solid rgba(0,85,168,.16)}
.catalog-school:nth-child(6n+2){border-top-color:rgba(172,161,9,.35)}
.catalog-school:nth-child(6n+3){border-top-color:rgba(212,4,23,.22)}
.catalog-school:nth-child(6n+4){border-top-color:rgba(254,230,6,.55)}
.catalog-school:nth-child(6n+5){border-top-color:rgba(16,174,242,.35)}
.catalog-school:nth-child(6n){border-top-color:rgba(251,133,3,.30)}

@media(max-width:820px){
  .sidebar-brand{height:118px}.sidebar-brand img{height:84px}
  .login-v2-brand{height:160px;max-width:390px}
}
@media(max-width:520px){
  .login-v2-identity{min-height:330px;padding:24px}
  .login-v2-brand{height:132px;max-width:100%}
  .welcome-panel{padding:24px 20px}
}


/* ===== Brand refresh fix v2 ===== */
.sidebar{position:fixed;overflow:hidden}
.sidebar::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#0055A8 0%,#ACA109 20%,#D40417 40%,#FEE606 60%,#10AEF2 80%,#FB8503 100%)}
.sidebar-brand{height:124px!important;padding:14px 18px!important;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)!important}
.sidebar-brand img{width:auto!important;max-width:100%!important;height:84px!important;object-fit:contain!important;filter:drop-shadow(0 10px 18px rgba(0,85,168,.10))!important}
.topbar{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,251,255,.96))!important}
.user-chip>span{background:linear-gradient(135deg,rgba(0,85,168,.12),rgba(16,174,242,.14))!important;border:1px solid rgba(0,85,168,.14)!important}
.welcome-panel{position:relative!important;isolation:isolate;gap:28px!important;min-height:220px!important;border:1px solid rgba(0,85,168,.08)!important;background:
radial-gradient(circle at 85% 16%,rgba(254,230,6,.20),transparent 16%),
radial-gradient(circle at 92% 82%,rgba(251,133,3,.20),transparent 18%),
linear-gradient(128deg,#00448a 0%,#0055A8 38%,#0a7ed8 68%,#10AEF2 100%)!important;
box-shadow:0 18px 44px rgba(0,85,168,.20)!important}
.welcome-panel::after{content:"";position:absolute;left:34px;right:34px;bottom:18px;height:6px;border-radius:999px;background:linear-gradient(90deg,#0055A8 0%,#ACA109 20%,#D40417 40%,#FEE606 60%,#10AEF2 80%,#FB8503 100%);opacity:.98;z-index:0}
.welcome-panel > *{position:relative;z-index:1}
.welcome-panel h2{font-size:clamp(2rem,3vw,3rem)!important;line-height:1.06!important;max-width:650px}
.welcome-panel p{font-size:1.02rem!important;color:rgba(255,255,255,.88)!important;max-width:640px;padding-bottom:20px}
.welcome-panel img{display:block!important;width:min(37%,420px)!important;max-width:420px!important;height:auto!important;max-height:150px!important;object-fit:contain!important;filter:drop-shadow(0 16px 26px rgba(0,30,64,.22))!important;transform:none!important;background:transparent!important}
.stat-card{position:relative;overflow:hidden;border:1px solid #dfe8f2!important;box-shadow:0 10px 28px rgba(28,67,105,.055)!important}
.stat-card::before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:linear-gradient(90deg,#0055A8,#10AEF2)}
.stat-card:nth-child(2)::before{background:linear-gradient(90deg,#10AEF2,#0055A8)}
.stat-card:nth-child(3)::before{background:linear-gradient(90deg,#ACA109,#FEE606)}
.stat-card:nth-child(4)::before{background:linear-gradient(90deg,#D40417,#FB8503)}
.btn-primary,.login-v2-submit{background:linear-gradient(135deg,#0055A8 0%,#0b6cc3 45%,#10AEF2 100%)!important}
.btn-primary:hover,.login-v2-submit:hover{background:linear-gradient(135deg,#004485 0%,#0058aa 45%,#0f98db 100%)!important}
.login-v2-brand{background:rgba(255,255,255,.98)!important}
.login-v2-brand img{filter:drop-shadow(0 8px 16px rgba(0,85,168,.08))!important}
.login-v2-colors{grid-template-columns:repeat(6,1fr)!important}
.login-v2-colors i:nth-child(1){background:#0055A8!important}
.login-v2-colors i:nth-child(2){background:#ACA109!important}
.login-v2-colors i:nth-child(3){background:#D40417!important}
.login-v2-colors i:nth-child(4){background:#FEE606!important}
.login-v2-colors i:nth-child(5){background:#10AEF2!important}
.login-v2-colors i:nth-child(6){background:#FB8503!important}
@media(max-width:980px){.welcome-panel{padding:26px 24px!important}.welcome-panel img{width:min(36%,280px)!important;max-height:120px!important}}
@media(max-width:820px){.sidebar-brand{height:104px!important}.sidebar-brand img{height:72px!important}.welcome-panel{display:block!important;min-height:auto!important}.welcome-panel img{margin-top:18px!important;width:min(88%,320px)!important;max-width:320px!important;max-height:none!important}.welcome-panel::after{left:22px;right:22px;bottom:14px}}


/* ===== Logo cleanup v3 ===== */
.welcome-panel img{background:none!important;border:0!important;padding:0!important;box-shadow:none!important}
.login-v2-brand{padding:10px 14px!important}
.login-v2-brand img{width:100%!important;height:100%!important;object-fit:contain!important;background:transparent!important}
.sidebar-brand img{background:transparent!important}


/* ===== Checklist + menu refresh v4 ===== */
.nav-home{display:flex!important;align-items:center!important;gap:11px!important;padding:11px 12px!important;margin:0 0 6px!important;border-radius:11px!important;color:#43566c!important;text-decoration:none!important;font-size:.79rem!important;font-weight:800!important;border:0!important}
.nav-home i{width:22px;color:#0055A8;font-size:1rem}
.nav-home:hover,.nav-home.active{background:linear-gradient(135deg,rgba(0,85,168,.10),rgba(16,174,242,.10))!important;color:#0055A8!important;box-shadow:inset 3px 0 0 #0055A8}

.checklist-page-head{align-items:center!important;padding:4px 0 8px!important;margin-bottom:18px!important}
.checklist-page-head h2{font-family:Manrope,sans-serif!important;font-size:1.9rem!important;line-height:1.1!important;color:#153553!important;margin:4px 0 6px!important}
.checklist-page-head p{font-size:.9rem!important;color:#718197!important}
.checklist-page-head>.btn{min-height:44px!important;padding:10px 16px!important;border-radius:11px!important}

.checklist-selector{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
.checklist-type-card{min-height:0!important;padding:16px 17px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;border-radius:14px!important;border:1px solid #dfe8f2!important;background:#fff!important;box-shadow:0 7px 20px rgba(23,48,77,.05)!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;position:relative!important;overflow:hidden!important}
.checklist-type-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#0055A8,#10AEF2)}
.checklist-type-card.green::before{background:linear-gradient(180deg,#ACA109,#FEE606)}
.checklist-type-card.orange::before{background:linear-gradient(180deg,#FB8503,#FEE606)}
.checklist-type-card.purple::before,.checklist-type-card.custom::before{background:linear-gradient(180deg,#D40417,#FB8503)}
.checklist-type-card:hover{transform:translateY(-2px)!important;border-color:#c9dbea!important;box-shadow:0 13px 30px rgba(0,85,168,.09)!important}
.checklist-card-main{display:flex;align-items:center;gap:13px;min-width:0;flex:1}
.checklist-card-copy{min-width:0;flex:1}
.checklist-axis-icon{flex:0 0 45px!important;width:45px!important;height:45px!important;border-radius:12px!important;font-size:1.05rem!important}
.checklist-type-card small{display:block!important;color:#0055A8!important;font-size:.62rem!important;line-height:1!important;font-weight:900!important;letter-spacing:.11em!important;margin-bottom:6px!important}
.checklist-type-card h3{font-family:Manrope,sans-serif!important;margin:0 0 5px!important;font-size:.92rem!important;line-height:1.25!important;font-weight:800!important;color:#183550!important;white-space:normal!important}
.checklist-type-card p{margin:0!important;font-size:.73rem!important;line-height:1.35!important;color:#718197!important}
.checklist-type-card p strong{color:#40556d!important}
.checklist-card-actions{display:flex!important;align-items:center!important;gap:7px!important;flex:0 0 auto!important;margin:0!important;flex-wrap:nowrap!important}
.checklist-card-actions form{display:block!important;margin:0!important}
.checklist-card-actions .btn{min-height:37px!important;padding:7px 10px!important;border-radius:9px!important;font-size:.73rem!important;font-weight:800!important;white-space:nowrap!important}
.checklist-card-actions .btn-outline-secondary{color:#506176!important;border-color:#d8e0e8!important;background:#fff!important}
.checklist-card-actions .btn-outline-secondary:hover{background:#f4f8fb!important;color:#0055A8!important;border-color:#bfd5e7!important}

@media(max-width:1180px){
 .checklist-selector{grid-template-columns:1fr!important}
}
@media(max-width:720px){
 .checklist-page-head{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;align-items:start!important}
 .checklist-page-head>.btn{width:100%!important}
 .checklist-type-card{align-items:stretch!important;flex-direction:column!important;padding:15px!important}
 .checklist-card-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}
 .checklist-card-actions .btn,.checklist-card-actions form,.checklist-card-actions form button{width:100%!important}
 .checklist-type-card h3{font-size:.88rem!important}
}
@media(max-width:420px){
 .checklist-card-main{align-items:flex-start!important}
 .checklist-axis-icon{width:40px!important;height:40px!important;flex-basis:40px!important}
 .checklist-card-actions{grid-template-columns:1fr!important}
}

/* ===== Professores: turmas minimal ===== */
.teacher-classes-button{display:inline-flex;align-items:center;gap:.5rem;min-height:38px;padding:.48rem .72rem;border:1px solid #dce7f2;border-radius:10px;background:#fff;color:#2f4b69;font-size:.8rem;font-weight:700;white-space:nowrap;box-shadow:0 3px 10px rgba(25,61,99,.04);transition:.18s}
.teacher-classes-button:hover{border-color:#b9d7ef;background:#f7fbff;color:#0055A8;transform:translateY(-1px)}
.teacher-classes-button>i:first-child{color:#0b78c9}.teacher-classes-button>i:last-child{font-size:.7rem;color:#8da0b5}
.teacher-classes-empty{font-size:.8rem;color:#9aa7b6}
.teacher-classes-modal{border:0!important;border-radius:18px!important;overflow:hidden;box-shadow:0 24px 64px rgba(11,34,66,.2)!important}
.teacher-classes-modal .modal-header{padding:1rem 1.15rem;border-bottom:1px solid #edf2f7;background:linear-gradient(180deg,#fff,#fbfdff)}
.teacher-classes-modal .modal-body{padding:1.1rem 1.15rem 1.25rem}
.teacher-classes-modal-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.teacher-classes-modal-list li{position:relative;padding:.72rem .8rem .72rem 2.15rem;border:1px solid #e4ebf3;border-radius:12px;background:#fff;color:#40566f;font-size:.86rem;line-height:1.35}
.teacher-classes-modal-list li::before{content:'\F2C3';font-family:'bootstrap-icons';position:absolute;left:.75rem;top:.72rem;color:#0b78c9}
@media(max-width:767.98px){.teacher-classes-button{width:100%;justify-content:space-between}}


/* ===== Buttons contrast fix ===== */
.btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary:visited,
.btn-gradient,
.btn-gradient:hover,
.login-v2-submit,
.login-v2-submit:hover,
.auth-submit,
.auth-submit:hover,
a.btn-primary,
button.btn-primary{
  color:#fff !important;
}

.btn-primary i,
.btn-primary svg,
.btn-primary span,
.btn-primary:hover i,
.btn-primary:hover svg,
.btn-primary:hover span,
.login-v2-submit i,
.login-v2-submit span,
.auth-submit i,
.auth-submit span,
.btn-gradient i,
.btn-gradient span{
  color:inherit !important;
  fill:currentColor !important;
  stroke:currentColor !important;
}

.module-toolbar .btn-primary,
.panel-head .btn-primary,
.lookup-card .btn-primary,
.actions .btn-primary{
  color:#fff !important;
  text-shadow:0 1px 0 rgba(0,0,0,.08);
}

.module-toolbar .btn-primary i,
.panel-head .btn-primary i,
.lookup-card .btn-primary i,
.actions .btn-primary i{
  color:#fff !important;
}

.btn-primary:disabled,
.btn-primary.disabled{
  color:#fff !important;
  opacity:.7;
}
