:root{
  --blue:#123b76; --blue2:#1e63d8; --gold:#f7b500; --bg:#f5f7fb; --card:#fff;
  --text:#172033; --muted:#687386; --line:#e4e9f1; --danger:#c93535; --ok:#16844a;
  --shadow:0 14px 35px rgba(17,45,89,.09);
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text)}
button,input,select,textarea{font:inherit}.hidden{display:none!important}.muted{color:var(--muted)}
.shell{min-height:100vh;display:grid;grid-template-columns:245px minmax(0,1fr)}
.sidebar{background:linear-gradient(180deg,var(--blue),#082a57);color:#fff;padding:18px 14px;position:sticky;top:0;height:100vh;overflow:auto}
.brand{display:flex;align-items:center;gap:11px;padding:8px 8px 20px}.brand-logo{width:44px;height:44px;border-radius:15px;background:var(--gold);color:var(--blue);font-weight:900;display:grid;place-items:center;box-shadow:0 8px 20px rgba(0,0,0,.15)}
.brand strong{display:block;font-size:17px}.brand small{opacity:.75}.nav{display:grid;gap:5px}.nav button{border:0;background:transparent;color:#dce8ff;text-align:left;border-radius:12px;padding:11px 12px;cursor:pointer;font-weight:650}.nav button:hover,.nav button.active{background:#ffffff1a;color:#fff}.nav .secure::after{content:" • Gestão";font-size:10px;color:#ffde7b}
.side-foot{margin-top:24px;border-top:1px solid #ffffff1d;padding:15px 8px;font-size:12px;color:#b7c7e5}
.main{min-width:0}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:10}.topbar h1{font-size:21px;margin:0;color:var(--blue)}.top-actions{display:flex;gap:8px;align-items:center}
.btn{border:0;border-radius:11px;padding:10px 14px;cursor:pointer;font-weight:700}.btn-primary{background:var(--blue2);color:#fff}.btn-gold{background:var(--gold);color:#17345f}.btn-soft{background:#edf3ff;color:var(--blue)}.btn-danger{background:#ffe9e9;color:var(--danger)}.btn:disabled{opacity:.55;cursor:not-allowed}
.content{padding:22px;max-width:1500px;margin:0 auto}.notice{border:1px solid #ffe29a;background:#fff9e6;color:#6b5200;border-radius:12px;padding:11px 14px;margin-bottom:14px}.notice.ok{border-color:#bee8cf;background:#effbf4;color:#0e6d3a}.notice.error{border-color:#ffc9c9;background:#fff1f1;color:#992a2a}
.grid{display:grid;gap:14px}.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:17px;padding:17px;box-shadow:var(--shadow)}.metric .label{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.metric .value{font-size:29px;font-weight:900;color:var(--blue);margin-top:7px}.metric .hint{font-size:12px;color:var(--muted);margin-top:4px}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 12px}.section-head h2{margin:0;font-size:20px;color:var(--blue)}.toolbar{display:flex;gap:8px;flex-wrap:wrap}.search{min-width:260px;border:1px solid var(--line);border-radius:11px;padding:10px 12px;background:#fff}
.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;min-width:850px}th,td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}th{position:sticky;top:0;background:#f0f5fd;color:#284365;font-size:11px;text-transform:uppercase;letter-spacing:.04em}tbody tr:hover{background:#fafcff}.pill{display:inline-block;padding:4px 8px;border-radius:999px;background:#eef3fb;font-size:11px;font-weight:800}.pill.ok{background:#e7f8ee;color:#116c3b}.pill.warn{background:#fff2cc;color:#795d00}.money{font-variant-numeric:tabular-nums;font-weight:750}
.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.field{display:grid;gap:5px}.field label{font-size:11px;font-weight:800;color:#4f5f73;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;border:1px solid #dce3ed;border-radius:10px;padding:10px 11px;background:#fff;color:var(--text)}.field textarea{min-height:78px;resize:vertical}.span-2{grid-column:span 2}.span-3{grid-column:span 3}
.modal-backdrop{position:fixed;inset:0;background:#0b2346cc;display:grid;place-items:center;padding:18px;z-index:40000}.modal{width:min(850px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:18px;box-shadow:0 30px 80px #001b3d55}.modal-head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modal-head h3{margin:0;color:var(--blue)}.modal-body{padding:18px}.modal-foot{padding:14px 18px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:9px}.icon-btn{border:0;background:#eef3fb;border-radius:9px;padding:7px 10px;cursor:pointer}
.login-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.login-card{border:1px solid var(--line);border-radius:15px;padding:16px}.login-card h4{margin:0 0 5px;color:var(--blue)}
.empty{padding:30px;text-align:center;color:var(--muted)}.status-dot{width:8px;height:8px;border-radius:999px;display:inline-block;background:#9aa4b2;margin-right:6px}.status-dot.online{background:#20a45b}.status-dot.offline{background:#e14848}
@media(max-width:1050px){.cards{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}.span-3{grid-column:span 2}}
@media(max-width:760px){.shell{display:block}.sidebar{height:auto;position:static;padding:10px}.brand{padding-bottom:10px}.nav{grid-template-columns:repeat(4,1fr);overflow:auto}.nav button{white-space:nowrap;text-align:center;font-size:12px;padding:9px}.side-foot{display:none}.topbar{height:auto;min-height:64px;padding:10px 12px}.topbar h1{font-size:18px}.content{padding:12px}.cards{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.span-2,.span-3{grid-column:span 1}.login-grid{grid-template-columns:1fr}.search{min-width:0;width:100%}.section-head{align-items:flex-start;flex-direction:column}.toolbar{width:100%}.toolbar .btn{flex:1}.top-actions .btn-soft{display:none}}

/* Plataforma unificada: atendimento, autorizações e panfletos */
.nav-badge{float:right;min-width:20px;height:20px;border-radius:999px;background:#ef4444;color:#fff;display:inline-grid;place-items:center;font-size:10px;padding:0 6px}.nav-badge.hidden{display:none}
.section-head.compact{margin-top:0}.crm-hero,.approval-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;border-radius:20px;background:linear-gradient(135deg,#123b76,#1e63d8);color:#fff;box-shadow:var(--shadow);margin-bottom:16px}.crm-hero span,.approval-hero span{font-size:11px;font-weight:900;letter-spacing:.12em;color:#ffdf75}.crm-hero h2,.approval-hero h2{margin:5px 0 6px;font-size:25px}.crm-hero p,.approval-hero p{margin:0;opacity:.86}.crm-hero-kpi{min-width:130px;text-align:center;background:#ffffff16;border:1px solid #ffffff24;border-radius:16px;padding:14px}.crm-hero-kpi small{display:block}.crm-hero-kpi strong{display:block;font-size:32px;margin-top:4px}
.stage-card{margin-top:16px}.stage-flow{display:flex;gap:7px;overflow:auto;padding-bottom:4px}.stage-flow button{min-width:92px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:9px 8px;color:var(--muted);font-size:11px;font-weight:800;cursor:pointer}.stage-flow button i{width:22px;height:22px;border-radius:999px;background:#edf3ff;color:var(--blue);display:grid;place-items:center;margin:0 auto 5px;font-style:normal}.stage-flow button.active{border-color:#1e63d8;background:#eef5ff;color:#123b76}.stage-flow button.active i{background:#1e63d8;color:#fff}.stage-flow button.loss.active{background:#fff1f1;border-color:#ef9b9b;color:#9b2626}.progress-line{height:7px;background:#edf1f6;border-radius:999px;margin-top:13px;overflow:hidden}.progress-line i{height:100%;display:block;background:linear-gradient(90deg,#1e63d8,#f7b500);border-radius:999px;transition:.2s}
.catalog-groups{display:grid;gap:15px}.catalog-group{background:#fff;border:1px solid var(--line);border-radius:17px;padding:14px;box-shadow:var(--shadow)}.catalog-group h3{margin:0 0 10px;color:var(--blue);font-size:15px}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:9px}.catalog-item{display:flex;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:13px;padding:11px;background:#fafcff}.catalog-item.selected{border-color:#6ca3ee;background:#f0f6ff}.catalog-item label{display:flex;gap:9px;min-width:0;cursor:pointer}.catalog-item label input{margin-top:3px}.catalog-item label div{display:grid;gap:3px}.catalog-item small,.catalog-item span{color:var(--muted);font-size:11px}.catalog-price{text-align:right;min-width:110px;display:grid;align-content:start;gap:4px}.discount-link{border:0;background:transparent;color:#1e63d8;font-size:11px;font-weight:800;cursor:pointer;padding:2px 0}.crm-actions{position:sticky;bottom:10px;z-index:7;margin:18px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 14px;box-shadow:0 18px 40px #0e2d5c24}.crm-actions span{display:block;font-size:11px}.crm-actions strong{font-size:21px;color:var(--blue)}
.approval-list{display:grid;gap:12px}.approval-card{background:#fff;border:1px solid var(--line);border-left:5px solid #f7b500;border-radius:16px;padding:15px;box-shadow:var(--shadow)}.approval-top{display:flex;justify-content:space-between;gap:12px}.approval-top span{display:block;font-size:12px;color:var(--muted);margin-top:3px}.approval-product{display:grid;gap:3px;margin:12px 0}.approval-product span,.approval-product small{color:var(--muted)}.approval-values{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:8px}.approval-values div{background:#f6f8fc;border-radius:11px;padding:9px}.approval-values small{display:block;color:var(--muted);font-size:10px}.approval-values b{display:block;margin-top:3px}.approval-values .approved{background:#eaf9f0;color:#12673c}.approval-note{background:#fff9e8;border-radius:10px;padding:9px;font-size:12px}.approval-note.direction{background:#edf5ff}.approval-actions{display:flex;gap:8px;margin-top:10px}
.flyer{background:#fff;border:1px solid #dbe3ee;border-radius:22px;padding:24px;box-shadow:var(--shadow);max-width:920px;margin:0 auto}.flyer-head{display:flex;align-items:center;gap:18px;border-bottom:3px solid #f7b500;padding-bottom:15px}.flyer-head img{width:110px;max-height:90px;object-fit:contain;background:#fff;border-radius:12px}.flyer-head span{font-size:11px;font-weight:900;letter-spacing:.14em;color:#1e63d8}.flyer-head h2{margin:4px 0;color:#123b76;font-size:25px}.flyer-head p{margin:0;color:var(--muted)}.flyer-series{display:inline-block;margin:16px 0 4px;background:#123b76;color:#fff;border-radius:999px;padding:7px 12px;font-weight:900}.flyer section{margin-top:17px}.flyer section h3{color:#123b76;border-bottom:1px solid #e3e8f0;padding-bottom:6px}.flyer-items{display:grid;gap:7px}.flyer-items>div{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;background:#f7f9fd;border-radius:11px;padding:9px 11px}.flyer-items small{display:block;color:var(--muted);margin-top:2px}.flyer-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}.flyer footer{display:flex;justify-content:space-between;margin-top:22px;padding-top:12px;border-top:1px solid #e3e8f0;color:#123b76}.flyer-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:14px 0 4px}
@media(max-width:760px){.crm-hero,.approval-hero{align-items:flex-start;flex-direction:column}.crm-hero-kpi{width:100%}.approval-values{grid-template-columns:1fr 1fr}.catalog-grid{grid-template-columns:1fr}.catalog-item{flex-direction:column}.catalog-price{text-align:left}.flyer{padding:15px}.flyer-head{align-items:flex-start;flex-direction:column}.flyer-cols{grid-template-columns:1fr}.crm-actions{bottom:6px}.nav-badge{float:none;margin-left:5px}}

.brand-logo.official{width:128px;height:54px;padding:5px 8px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(0,0,0,.15);overflow:hidden}.brand-logo.official img{display:block;width:100%;height:100%;object-fit:contain}.brand{gap:10px}.brand>div:last-child{min-width:0}

@media(max-width:760px){.brand-logo.official{width:108px;height:48px}}

/* Panfleto A4 vertical compacto */
.flyer-a4{max-width:820px}
.flyer-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;align-items:start}
.flyer-category{margin-top:8px!important;break-inside:avoid}
.flyer-category h3,.flyer-info h3{font-size:14px;margin:0 0 5px!important;padding-bottom:4px!important}
.flyer-items{gap:4px!important}
.flyer-item{padding:6px 8px!important;border-radius:8px!important;break-inside:avoid}
.flyer-item b{font-size:11px;line-height:1.15}
.flyer-item small{font-size:9px!important;line-height:1.18}
.flyer-item strong{font-size:11px;white-space:nowrap}
.flyer-info{margin-top:8px!important;padding:8px 10px;background:#f7f9fd;border-radius:10px;break-inside:avoid}
.flyer-info p{margin:0;font-size:10px;line-height:1.25}
.flyer-cols{gap:8px!important;margin-top:8px}
.flyer-cols section{margin-top:0!important;padding:7px 9px;background:#f7f9fd;border-radius:10px;break-inside:avoid}
.flyer-cols h3{font-size:12px;margin:0 0 4px!important;padding:0!important;border:0!important}
.flyer-cols p{font-size:9.5px;line-height:1.2;margin:0}
.flyer-note{margin-top:8px;padding:7px 9px;border-radius:8px;background:#fff9e8;font-size:9.5px;line-height:1.2}
.flyer footer{margin-top:8px!important;padding-top:7px!important;font-size:9.5px}
.flyer-head{gap:12px!important;padding-bottom:8px!important}
.flyer-head img{width:82px!important;max-height:52px!important}
.flyer-head h2{font-size:20px!important;margin:2px 0!important}
.flyer-head p{font-size:10px!important;line-height:1.2}
.flyer-head span{font-size:9px!important}
.flyer-series{margin:8px 0 2px!important;padding:4px 9px!important;font-size:11px}
.flyer-loading{display:grid;gap:5px;min-height:120px;align-content:center;text-align:center}
.extra-row{display:grid;grid-template-columns:1.15fr 1.4fr .7fr auto;gap:8px;align-items:end;padding:9px;border:1px solid var(--line);border-radius:12px;margin-top:8px;background:#f8faff}
.extra-row .field{margin:0}
.icon-btn.danger{color:#a11;background:#fff1f1;border-color:#ffd1d1;height:40px}
@media(max-width:760px){.flyer-content-grid{grid-template-columns:1fr}.extra-row{grid-template-columns:1fr}.icon-btn.danger{width:100%}}
@media print{
  @page{size:A4 portrait;margin:5mm}
  html,body{background:#fff!important;margin:0!important;padding:0!important}
  .flyer-a4{width:200mm!important;max-width:200mm!important;padding:5.5mm!important;margin:0 auto!important;box-shadow:none!important;border:0!important;border-radius:0!important;box-sizing:border-box!important;font-size:9.5px!important}
  .flyer-content-grid{grid-template-columns:1fr 1fr!important;gap:7px 9px!important}
  .flyer-category{margin-top:4px!important}
  .flyer-item{padding:4px 6px!important}
  .flyer-item b,.flyer-item strong{font-size:9.5px!important}
  .flyer-item small{font-size:8px!important}
  .flyer-head img{width:72px!important;max-height:44px!important}
  .flyer-head h2{font-size:17px!important}
  .flyer-head p{font-size:8.5px!important}
  .flyer-cols p,.flyer-note,.flyer-info p{font-size:8.2px!important}
  .flyer-actions{display:none!important}
}

.flyer-a4.dense{padding:18px}.flyer-a4.dense .flyer-content-grid{gap:7px 9px}.flyer-a4.dense .flyer-item{padding:5px 7px}.flyer-a4.dense .flyer-item b,.flyer-a4.dense .flyer-item strong{font-size:10px}.flyer-a4.dense .flyer-item small{font-size:8.5px}.flyer-a4.dense .flyer-head h2{font-size:18px!important}
.flyer-a4.ultra-dense{padding:14px}.flyer-a4.ultra-dense .flyer-content-grid{gap:5px 7px}.flyer-a4.ultra-dense .flyer-item{padding:4px 6px}.flyer-a4.ultra-dense .flyer-item b,.flyer-a4.ultra-dense .flyer-item strong{font-size:9px}.flyer-a4.ultra-dense .flyer-item small{font-size:7.5px}.flyer-a4.ultra-dense .flyer-head{padding-bottom:5px!important}.flyer-a4.ultra-dense .flyer-head h2{font-size:16px!important}.flyer-a4.ultra-dense .flyer-cols p,.flyer-a4.ultra-dense .flyer-note,.flyer-a4.ultra-dense .flyer-info p{font-size:7.7px!important}

.draft-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff8df;border:1px solid #f1d36a;border-radius:14px;padding:12px 14px;margin-bottom:14px;box-shadow:var(--shadow)}
.draft-bar>div:first-child{display:grid;gap:3px}.draft-bar span{font-size:12px;color:#6b5a20}.draft-bar>div:last-child{display:flex;gap:8px;flex-wrap:wrap}
.autosave-status{font-size:11px;white-space:nowrap}.btn-sm{padding:7px 10px!important;font-size:11px!important;border-radius:9px!important}
@media(max-width:760px){.draft-bar{align-items:flex-start;flex-direction:column}.draft-bar>div:last-child{width:100%}.draft-bar .btn{flex:1}}

/* Planos de mensalidade no Atendimento */
.finance-plan-card{background:linear-gradient(180deg,#f8fbff,#fff);border:1px solid #cfe0f7;border-radius:17px;padding:14px;margin-bottom:14px;box-shadow:var(--shadow)}
.finance-plan-card h3{margin:0;color:var(--blue);font-size:17px}.finance-plan-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:10px;margin-top:10px}
.plan-total-badge{background:#123b76;color:#fff;padding:7px 11px;border-radius:999px;font-weight:900}
.plan-results{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:8px;margin-top:12px}
.plan-results>div{background:#f1f5fb;border-radius:11px;padding:9px}.plan-results small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;font-weight:800}.plan-results b{display:block;color:#123b76;margin-top:3px;font-size:13px}
.plan-results .total{background:#eaf2ff}.plan-results .economy{background:#eaf9f0}.plan-note{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;padding-top:9px;border-top:1px dashed #ccd8e8;font-size:12px}.plan-note span{color:var(--muted)}.hidden{display:none!important}

/* Dashboard comparativo 2026 x 2027 */
.dashboard-chart-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.chart-card{min-height:260px}.chart-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px}.chart-title h3{margin:0;color:var(--blue);font-size:16px}.chart-title span{font-size:10px;color:var(--muted);text-align:right}
.compare-row{display:grid;grid-template-columns:minmax(110px,.8fr) 1.6fr;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid #edf1f6}.compare-label{display:grid;gap:2px;min-width:0}.compare-label b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compare-label span{font-size:9px;color:var(--muted)}
.compare-bars{display:grid;gap:4px}.bar-line{display:grid;grid-template-columns:34px 1fr auto;gap:5px;align-items:center;font-size:9px}.bar-line em{font-style:normal;color:var(--muted)}.bar-line i{display:block;height:8px;min-width:2px;border-radius:999px;background:#96b9ea}.bar-line.y2 i{background:#f2bd2c}.bar-line strong{font-size:9px;white-space:nowrap}
.pct-row{display:grid;grid-template-columns:minmax(100px,1fr) 1.4fr 52px;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #edf1f6}.pct-row>div:first-child{display:grid}.pct-row b{font-size:11px}.pct-row small{font-size:9px;color:var(--muted)}.pct-track{height:9px;background:#edf1f6;border-radius:999px;overflow:hidden}.pct-track i{display:block;height:100%;background:linear-gradient(90deg,#1e63d8,#f7b500);border-radius:999px}.pct-row>strong{text-align:right;font-size:11px}
.variation{font-weight:900;padding:4px 7px;border-radius:999px;background:#eef3fb}.variation.up{background:#fff3d5;color:#7e5b00}.variation.down{background:#eaf9f0;color:#12673c}

/* Produtos/serviços adicionais na Matrícula */
.service-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;padding:10px;background:#f7f9fd;border:1px solid var(--line);border-radius:12px;max-height:310px;overflow:auto}
.service-option{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:8px;padding:9px;background:#fff;border:1px solid var(--line);border-radius:10px;cursor:pointer}.service-option input{margin-top:3px}.service-option span{display:grid;gap:2px}.service-option b{font-size:12px;color:#123b76}.service-option small{font-size:10px;color:var(--muted);line-height:1.25}.service-option strong{font-size:11px;white-space:nowrap}
.service-total{display:flex;justify-content:flex-end;gap:10px;align-items:center;margin-top:7px;font-size:11px}.service-total span{color:var(--muted)}.service-total b{font-size:14px;color:#123b76}

@media(max-width:1100px){.dashboard-chart-grid{grid-template-columns:1fr 1fr}.plan-results{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.dashboard-chart-grid{grid-template-columns:1fr}.finance-plan-grid{grid-template-columns:1fr}.plan-results{grid-template-columns:1fr 1fr}.compare-row{grid-template-columns:1fr}.service-picker{grid-template-columns:1fr}}

.sync-pending{display:inline-block;margin-top:4px;padding:3px 7px;border-radius:999px;background:#fff1d6;color:#8a5b00;font-size:9px;font-weight:800;border:1px solid #f3cf7a}

/* Modo Produção x Teste/Simulação */
.btn-test{background:#fff0c7!important;color:#805b00!important;border:1px solid #edc766!important}
.btn-production{background:#eaf8ef!important;color:#11633a!important;border:1px solid #a7dfbd!important}
.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mode-card{border:1px solid var(--line);border-radius:18px;padding:18px;text-align:left;background:#fff;display:grid;gap:8px;cursor:pointer;box-shadow:var(--shadow)}
.mode-card:hover{transform:translateY(-1px)}
.mode-card.production{border-color:#acdcbf}.mode-card.test{border-color:#ecd17b;background:#fffaf0}
.mode-icon{font-size:24px}.mode-card strong{font-size:18px;color:#123b76}.mode-card small{font-size:12px;color:var(--muted);line-height:1.4}
.test-cleanup{margin-top:16px;padding:14px;border:1px dashed #dfb44d;background:#fff8e3;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.test-cleanup>div{display:grid;gap:3px}.test-cleanup span{font-size:11px;color:#6f6240}
.mode-banner{padding:9px 12px;border-radius:12px;margin-bottom:12px;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:10px}
.mode-banner.test{background:#fff7dd;border:1px solid #efd07b;color:#7b5b00}.mode-banner.production{background:#edf8f1;border:1px solid #b8e3c7;color:#17673d}
@media(max-width:760px){.mode-grid{grid-template-columns:1fr}.test-cleanup{align-items:flex-start;flex-direction:column}.top-actions{flex-wrap:wrap}}

/* Confirmações móveis */
.toast-root{position:fixed;top:82px;left:50%;transform:translateX(-50%);z-index:99999;width:min(92vw,520px);pointer-events:none;display:grid;gap:8px}
.app-toast{opacity:0;transform:translateY(-12px) scale(.98);transition:.22s ease;background:#ffffff;border:1px solid #dbe6df;box-shadow:0 14px 40px rgba(15,60,39,.18);border-radius:16px;padding:14px 16px;display:flex;align-items:center;gap:10px;color:#124c2d}
.app-toast.show{opacity:1;transform:translateY(0) scale(1)}
.app-toast.ok{background:#eaf9ef;border-color:#9fddb5;color:#136637}
.app-toast.error{background:#fff0f0;border-color:#f2b0b0;color:#8c1d1d}
.toast-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#1f9d55;color:#fff;font-size:17px;font-weight:900;flex:0 0 auto}
.app-toast.error .toast-icon{background:#c93434}
.pdf-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
@media(max-width:760px){
  .toast-root{top:74px}
  .app-toast{padding:13px 14px;border-radius:14px}
  .pdf-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .pdf-actions .btn{width:100%}
}

.director-push-card{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #cfe1f8;background:linear-gradient(135deg,#f8fbff,#eef5ff)}
.director-push-card>div{display:grid;gap:4px}.director-push-card b{color:#123b76;font-size:15px}.director-push-card span{color:#687386;font-size:11px;line-height:1.4}
@media(max-width:760px){.director-push-card{align-items:flex-start;flex-direction:column}.director-push-card .btn{width:100%}}

/* Interfaces separadas: Secretaria x Gestão */
.page-heading-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.interface-badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.02em;border:1px solid #d8e1ee;background:#f5f7fb;color:#506178}
.interface-badge.staff{background:#eaf3ff;border-color:#bcd3f2;color:#174b8f}
.interface-badge.admin{background:#fff3cf;border-color:#e8c766;color:#765500}
.interface-badge.public{background:#f5f7fb;color:#687386}
body.interface-staff .sidebar{background:linear-gradient(180deg,#174b8f 0%,#123b76 100%)}
body.interface-admin .sidebar{background:linear-gradient(180deg,#0f315f 0%,#0b274d 100%)}
body.interface-admin .nav button.active{box-shadow:inset 3px 0 0 #f7b500}
body.interface-staff .nav button.active{box-shadow:inset 3px 0 0 #79b5ff}
.role-shortcuts{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.role-shortcuts .card{text-align:left}
.access-choice{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px}
@media(max-width:760px){
  .interface-badge{font-size:8px}
  .access-choice{align-items:flex-start;flex-direction:column}
  .access-choice .btn{width:100%}
}

/* Resposta visual instantânea ao navegar */
.fast-loading{min-height:180px;display:flex;align-items:center;justify-content:center;gap:10px;color:#66758a;font-size:12px}
.fast-loading span{width:18px;height:18px;border:2px solid #d9e4f1;border-top-color:#1d66d2;border-radius:50%;animation:gfspin .65s linear infinite}
@keyframes gfspin{to{transform:rotate(360deg)}}
.nav button,.btn,select,input[type="checkbox"],.catalog-item{touch-action:manipulation}

/* Renderização progressiva de listas longas */
@supports (content-visibility:auto){
  .catalog-group,.approval-card{content-visibility:auto;contain-intrinsic-size:240px}
}

/* Central de Integrações */
.integration-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px;border-radius:18px;background:linear-gradient(135deg,#123b76,#1e63d8);color:#fff;margin-bottom:16px;box-shadow:var(--shadow)}
.integration-hero span{font-size:9px;font-weight:900;letter-spacing:.12em;opacity:.78}.integration-hero h2{margin:4px 0 5px;font-size:22px}.integration-hero p{margin:0;max-width:720px;font-size:12px;opacity:.9}
.integration-badges{display:flex;gap:7px;flex-wrap:wrap}.integration-badges b{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);padding:7px 10px;border-radius:999px;font-size:10px}
.integration-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.integration-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;flex-wrap:wrap}
.integration-api-card{margin-bottom:16px}.api-example{background:#0f213d;color:#dbeafe;border-radius:12px;padding:12px;margin-bottom:12px;overflow:auto}.api-example code{font-size:10px;line-height:1.45;white-space:pre-wrap}
.integration-row-actions{display:flex;gap:6px;flex-wrap:wrap}.api-key-box{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;background:#f4f7fb;border:1px solid var(--line);border-radius:12px;padding:12px}.api-key-box code{overflow-wrap:anywhere;font-size:11px}
.integration-summary{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.integration-summary span{background:#f3f6fa;border:1px solid var(--line);padding:7px 10px;border-radius:10px;font-size:10px}.integration-summary b{color:#123b76}
.preview-table{max-height:420px;overflow:auto}.preview-table table{font-size:10px}.preview-table th{position:sticky;top:0;background:#f7f9fc;z-index:1}
@media(max-width:900px){.integration-grid{grid-template-columns:1fr}.integration-hero{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.api-key-box{grid-template-columns:1fr}.integration-actions{display:grid;grid-template-columns:1fr}.integration-actions .btn{width:100%}}

/* Troca rápida de interface */
.btn-switch{background:#eef4ff;border:1px solid #b9ccee;color:#123b76;font-weight:900}
body.interface-staff .btn-switch{background:#fff3cf;border-color:#e5c25d;color:#725300}
body.interface-admin .btn-switch{background:#eaf3ff;border-color:#b9d3f3;color:#174b8f}
.switch-login-card{display:flex;align-items:center;gap:12px;padding:13px;border-radius:14px;margin-bottom:14px;border:1px solid var(--line);background:#f7f9fc}
.switch-login-card.admin{background:#fff8e5;border-color:#ead28b}
.switch-login-card.staff{background:#eef6ff;border-color:#bdd7f5}
.switch-login-card b{display:block;color:#123b76;font-size:15px}.switch-login-card p{margin:3px 0 0;font-size:11px;line-height:1.4}
.switch-login-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#fff;font-size:20px;box-shadow:0 5px 16px rgba(22,55,95,.08)}
@media(max-width:760px){
  .top-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end}
  .btn-switch{order:-1;white-space:nowrap}
  .top-actions .btn{min-height:40px;padding:8px 10px;font-size:10px}
}

.approval-hero-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
@media(max-width:760px){.approval-hero-actions{width:100%;display:grid;grid-template-columns:1fr}.approval-hero-actions .btn{width:100%}}

/* Entrada obrigatória: Produção x Teste/Simulação */
body.mode-gated{overflow:hidden}
body.mode-gated .shell{pointer-events:none;user-select:none;filter:saturate(.85)}
.mode-gate{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:22px;background:#061933}
.mode-gate-bg{position:absolute;inset:0;background:
  radial-gradient(circle at 15% 15%,rgba(30,99,216,.42),transparent 34%),
  radial-gradient(circle at 85% 80%,rgba(247,181,0,.16),transparent 30%),
  linear-gradient(135deg,#082a57,#061933 62%,#0b2244)}
.mode-gate-card{position:relative;width:min(1040px,96vw);max-height:94vh;overflow:auto;background:#fff;border-radius:28px;padding:28px;box-shadow:0 35px 100px rgba(0,0,0,.42);border:1px solid rgba(255,255,255,.25)}
.mode-gate-brand{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.mode-gate-brand img{width:150px;height:64px;object-fit:contain;background:#fff;border-radius:14px}
.mode-gate-brand>div{text-align:right}.mode-gate-brand span{display:block;font-size:10px;letter-spacing:.16em;color:#718096;font-weight:900}.mode-gate-brand b{display:block;margin-top:4px;color:var(--blue);font-size:15px}
.mode-gate-copy{text-align:center;max-width:760px;margin:26px auto 22px}.mode-gate-kicker{display:inline-block;background:#eef4ff;color:#1e63d8;border:1px solid #cfddf6;border-radius:999px;padding:6px 10px;font-size:9px;letter-spacing:.14em;font-weight:900}.mode-gate-copy h1{margin:12px 0 8px;color:#123b76;font-size:clamp(25px,4vw,42px);line-height:1.08}.mode-gate-copy p{margin:0;color:#66758a;font-size:13px;line-height:1.55}
.mode-gate-options{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.mode-gate-option{border:2px solid #dbe5f1;border-radius:20px;background:#fff;padding:20px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;text-align:left;cursor:pointer;min-height:132px;transition:.18s ease}
.mode-gate-option:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(20,60,110,.12)}
.mode-gate-option.production{border-color:#a9d9ba;background:linear-gradient(135deg,#f4fff8,#fff)}
.mode-gate-option.test{border-color:#efd47b;background:linear-gradient(135deg,#fff9e7,#fff)}
.mode-gate-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;font-size:26px;font-weight:900;background:#e9f8ef;color:#178349}
.mode-gate-option.test .mode-gate-icon{background:#fff2c8;color:#8a6300}
.mode-gate-option strong{display:block;color:#123b76;font-size:20px}.mode-gate-option small{display:block;margin-top:5px;color:#687386;font-size:11px;line-height:1.45}.mode-gate-option i{font-style:normal;font-size:10px;font-weight:900;border-radius:999px;padding:7px 10px;background:#edf3ff;color:#1e63d8}
.mode-gate-notification{margin-top:16px;border:1px solid #dce5ef;border-radius:16px;padding:13px 15px;background:#f8fafc;display:flex;align-items:center;justify-content:space-between;gap:12px}
.mode-gate-notification>div{display:flex;align-items:center;gap:10px}.mode-gate-notification b{display:block;color:#17345f;font-size:12px}.mode-gate-notification small{display:block;color:#687386;font-size:10px;margin-top:2px}.notify-dot{width:11px;height:11px;border-radius:50%;background:#d39d00;box-shadow:0 0 0 4px rgba(211,157,0,.12)}.notify-dot.ok{background:#1f9d55;box-shadow:0 0 0 4px rgba(31,157,85,.12)}.notify-dot.off{background:#cf3d3d;box-shadow:0 0 0 4px rgba(207,61,61,.12)}
.mode-gate-device{font-size:9px;font-weight:900;padding:5px 8px;border-radius:999px;background:#eaf1fb;color:#31527d}
.mode-gate-clean{margin-top:14px;padding:13px 15px;border:1px dashed #e3bb4f;border-radius:16px;background:#fff9e9;display:flex;align-items:center;justify-content:space-between;gap:12px}.mode-gate-clean b{display:block;color:#765500;font-size:12px}.mode-gate-clean small{display:block;color:#7b6b38;font-size:10px;margin-top:2px}
.mode-gate-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:10px;color:#7a8797}.link-btn{border:0;background:transparent;color:#1e63d8;font-weight:800;cursor:pointer;padding:6px 0}
@media(max-width:760px){
  .mode-gate{padding:0;align-items:stretch}.mode-gate-card{width:100vw;max-height:none;min-height:100vh;border-radius:0;padding:18px 14px 24px}
  .mode-gate-brand{padding-bottom:12px}.mode-gate-brand img{width:116px;height:48px}.mode-gate-brand>div{text-align:right}.mode-gate-brand b{font-size:12px}
  .mode-gate-copy{margin:18px auto 16px}.mode-gate-copy h1{font-size:28px}.mode-gate-copy p{font-size:12px}
  .mode-gate-options{grid-template-columns:1fr;gap:10px}.mode-gate-option{min-height:112px;padding:15px;grid-template-columns:auto 1fr}.mode-gate-option i{display:none}.mode-gate-icon{width:46px;height:46px;font-size:23px}
  .mode-gate-notification{align-items:flex-start}.mode-gate-device{display:none}.mode-gate-clean{align-items:flex-start;flex-direction:column}.mode-gate-clean .btn{width:100%}.mode-gate-foot{align-items:flex-start}
}

/* Identidade profissional 2026 */
.app-splash{position:fixed;inset:0;z-index:30000;display:grid;place-items:center;overflow:hidden;background:#061b3d;transition:opacity .48s ease,visibility .48s ease}
.app-splash.done{opacity:0;visibility:hidden;pointer-events:none}
.app-splash-bg{position:absolute;inset:0;background:
radial-gradient(circle at 50% 32%,rgba(53,169,255,.38),transparent 27%),
radial-gradient(circle at 12% 12%,rgba(30,99,216,.65),transparent 32%),
radial-gradient(circle at 92% 86%,rgba(247,181,0,.14),transparent 24%),
linear-gradient(160deg,#0d55be 0%,#082e71 38%,#041a3d 72%,#03132d 100%)}
.app-splash-bg:before,.app-splash-bg:after{content:"";position:absolute;border:1px solid rgba(101,190,255,.32);border-radius:50%;width:58vw;height:58vw}
.app-splash-bg:before{left:-32vw;top:-25vw}.app-splash-bg:after{right:-34vw;bottom:-30vw;border-color:rgba(247,181,0,.22)}
.app-splash-content{position:relative;width:min(720px,88vw);text-align:center;color:#fff;animation:splashEnter .55s ease both}
.app-splash-logo{display:block;width:min(520px,82vw);max-height:240px;object-fit:contain;margin:0 auto 28px;filter:drop-shadow(0 15px 35px rgba(0,0,0,.22))}
.app-splash h1{font-size:clamp(34px,7vw,64px);line-height:1;margin:0;font-weight:800;letter-spacing:-.035em}.app-splash h1 span{color:#f7c844}
.app-splash p{margin:18px 0 34px;color:#dceaff;font-size:clamp(14px,2.5vw,20px);letter-spacing:.07em}.app-splash p b{color:#f7c844;padding:0 .35em}
.app-splash-loader{display:flex;justify-content:center;gap:9px;margin-bottom:14px}.app-splash-loader i{width:9px;height:9px;border-radius:50%;background:#6dbbff;animation:splashPulse 1.1s infinite ease-in-out}.app-splash-loader i:nth-child(2){animation-delay:.16s;background:#f7c844}.app-splash-loader i:nth-child(3){animation-delay:.32s}
.app-splash small{display:block;text-transform:uppercase;letter-spacing:.24em;color:#91b5e6;font-size:10px}
@keyframes splashEnter{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@keyframes splashPulse{0%,80%,100%{opacity:.35;transform:scale(.8)}40%{opacity:1;transform:scale(1.15)}}

.dashboard-brand-hero{position:relative;margin:0 0 20px;border-radius:22px;overflow:hidden;min-height:300px;background:radial-gradient(circle at 82% 18%,rgba(72,154,255,.30),transparent 28%),radial-gradient(circle at 12% 92%,rgba(247,181,0,.13),transparent 30%),linear-gradient(100deg,#214f86 0%,#123d79 38%,#082c69 72%,#061f4d 100%);border:1px solid rgba(23,82,157,.24);box-shadow:0 18px 45px rgba(9,39,84,.16)}
.dashboard-brand-visual{min-height:300px;display:flex;align-items:center;justify-content:flex-start;gap:34px;padding:34px 42px 66px;color:#fff;text-align:left}
.dashboard-hero-logo{display:block;flex:0 0 auto;width:190px;height:190px;object-fit:contain;border-radius:28px;background:#fff;padding:10px;box-shadow:0 20px 44px rgba(0,0,0,.22)}
.dashboard-hero-copy{display:flex;flex:1;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left}
.dashboard-hero-copy small{display:block;margin:0 0 9px;font-size:12px;letter-spacing:.18em;color:#a8ccff;font-weight:900}
.dashboard-hero-copy strong{display:block;width:100%;font-size:clamp(58px,7vw,96px);line-height:.92;letter-spacing:-.055em;font-weight:900;white-space:nowrap;color:#fff}
.dashboard-hero-copy p{margin:16px 0 0;color:#e7f1ff;font-size:clamp(15px,1.7vw,21px);line-height:1.25;font-weight:500;white-space:normal}
.dashboard-brand-caption{position:absolute;left:20px;bottom:14px;display:flex;align-items:center;gap:8px}
.dashboard-brand-caption span{display:inline-flex;align-items:center;min-height:30px;padding:7px 11px;border-radius:999px;background:rgba(4,27,66,.78);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(10px);color:#fff;font-size:10px;font-weight:850;letter-spacing:.025em;box-shadow:0 6px 18px rgba(0,0,0,.16)}
.brand-logo.official{background:#fff!important;border:1px solid rgba(255,255,255,.38);box-shadow:0 10px 26px rgba(0,0,0,.18)!important}
.brand-logo.official img{padding:2px;filter:none}
@media(max-width:760px){
  .app-splash-content{width:92vw}.app-splash-logo{width:86vw;margin-bottom:24px}.app-splash p{margin:14px 0 30px}
  .dashboard-brand-hero{border-radius:16px;margin-bottom:14px;min-height:230px}.dashboard-brand-visual{min-height:230px;padding:22px 18px 56px;gap:14px;align-items:center;justify-content:flex-start}.dashboard-hero-logo{width:112px;height:112px;border-radius:20px;padding:7px}.dashboard-hero-copy{align-items:flex-start;text-align:left}.dashboard-hero-copy small{font-size:8px;margin-bottom:5px}.dashboard-hero-copy strong{font-size:clamp(34px,9vw,46px);line-height:.94;white-space:normal}.dashboard-hero-copy p{font-size:10px;line-height:1.35;margin-top:9px}.dashboard-brand-caption{left:10px;bottom:10px}.dashboard-brand-caption span{font-size:9px;min-height:26px;padding:6px 9px}
}


/* Tela principal fixa + descanso de tela */
body.home-active{overflow:hidden}
body.home-active .shell{filter:blur(2px) saturate(.8);pointer-events:none;user-select:none}
.app-splash.home-screen{z-index:30000;display:grid;opacity:1;visibility:visible;pointer-events:auto}
.app-splash.home-screen.done{opacity:0;visibility:hidden;pointer-events:none}
.home-screen .app-splash-content{width:min(760px,92vw);padding:28px 0}
.home-screen .app-splash-logo{width:min(440px,72vw);max-height:310px;margin-bottom:24px;border-radius:0}
.home-screen .app-splash h1{font-size:clamp(38px,7vw,68px)}
.home-screen .app-splash p{margin:16px 0 24px}
.home-role-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:min(650px,100%);margin:0 auto 20px}
.home-role-btn{min-height:86px;border:1px solid rgba(255,255,255,.24);border-radius:20px;padding:13px 14px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;text-align:left;color:#fff;background:rgba(255,255,255,.09);backdrop-filter:blur(12px);box-shadow:0 12px 30px rgba(0,0,0,.12);cursor:pointer;transition:.18s ease}
.home-role-btn:hover{transform:translateY(-2px);background:rgba(255,255,255,.14)}
.home-role-btn.admin{border-color:rgba(247,200,68,.4)}
.home-role-btn.staff{border-color:rgba(109,187,255,.42)}
.home-role-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:rgba(255,255,255,.14);font-size:24px}
.home-role-btn strong{display:block;font-size:17px}
.home-role-btn small{display:block;margin-top:4px;color:#cfe1fb;font-size:10px;letter-spacing:.01em;text-transform:none}
.home-role-btn i{font-style:normal;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;padding:7px 9px;border-radius:999px;background:rgba(255,255,255,.12)}
.home-role-btn.admin i{color:#ffd968}.home-role-btn.staff i{color:#9fd2ff}
.home-status{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:4px}
.home-status-dot{width:8px;height:8px;border-radius:50%;background:#52b6ff;box-shadow:18px 0 0 #d5aa38,36px 0 0 #2e69aa;margin-right:36px}
.home-status small{font-size:9px!important;letter-spacing:.25em!important;color:#9bbbe6!important}
.home-install{margin:18px auto 0;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;border-radius:999px;padding:9px 14px;font-size:10px;font-weight:800;cursor:pointer}
.home-install.hidden{display:none}
@media(max-width:760px){
  .home-screen .app-splash-content{width:90vw;padding:18px 0 24px}
  .home-screen .app-splash-logo{width:min(78vw,430px);max-height:44vh;margin-bottom:22px}
  .home-screen .app-splash h1{font-size:42px}
  .home-screen .app-splash p{font-size:15px;margin:14px 0 22px}
  .home-role-picker{grid-template-columns:1fr;gap:9px;width:100%}
  .home-role-btn{min-height:74px;padding:10px 12px;border-radius:17px}
  .home-role-icon{width:42px;height:42px;font-size:21px}
  .home-role-btn strong{font-size:15px}
  .home-role-btn small{font-size:9px}
  .home-status{margin-top:14px}
}


/* Central de acessos da escola */
.school-access-hero{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  margin-bottom:18px;padding:26px 28px;border-radius:22px;
  background:linear-gradient(120deg,#0e4f9e 0%,#0b3475 58%,#082557 100%);
  color:#fff;box-shadow:0 16px 38px rgba(9,39,84,.14)
}
.school-access-hero span{font-size:10px;letter-spacing:.17em;font-weight:900;color:#a9d2ff}
.school-access-hero h2{margin:5px 0 7px;font-size:32px;letter-spacing:-.03em}
.school-access-hero p{margin:0;max-width:660px;color:#dbeaff;font-size:14px;line-height:1.5}
.school-access-count{min-width:92px;height:92px;border-radius:22px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);display:grid;place-items:center;font-size:34px;font-weight:900;line-height:1}
.school-access-count small{display:block;margin-top:-20px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#cfe2ff}
.school-access-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.school-access-card{
  position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;
  min-height:118px;padding:18px;border-radius:20px;background:#fff;border:1px solid #dce5f1;
  text-decoration:none;color:#123b76;box-shadow:0 10px 28px rgba(19,48,88,.08);transition:.18s ease
}
.school-access-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(19,48,88,.13);border-color:#bcd0e8}
.school-access-card.featured{border-color:#9fc7f5;background:linear-gradient(145deg,#ffffff 0%,#f4f9ff 100%)}
.school-access-icon{width:64px;height:64px;border-radius:17px;background:#f5f9ff;border:1px solid #dce8f6;display:grid;place-items:center;overflow:hidden;flex:0 0 auto}
.school-access-icon img{width:52px;height:52px;object-fit:contain}
.school-access-icon b{width:100%;height:100%;place-items:center;font-size:24px;color:#1764b6}
.school-access-copy{min-width:0;display:flex;flex-direction:column;gap:4px}
.school-access-copy strong{font-size:16px;line-height:1.2}
.school-access-copy span{font-size:12px;line-height:1.4;color:#66778d}
.school-access-copy small{margin-top:3px;font-size:9px;color:#8d9aac}
.school-access-card>i{font-style:normal;font-size:22px;color:#7b94b3}
.school-access-note{margin-top:14px;padding:16px 18px;border-radius:16px;background:#f4f7fb;border:1px dashed #c9d6e6;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.school-access-note b{color:#123b76}.school-access-note span{color:#6d7b8f;font-size:12px}
@media(max-width:900px){.school-access-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){
  .school-access-hero{padding:20px;align-items:flex-start}.school-access-count{width:72px;height:72px;min-width:72px;font-size:28px}
  .school-access-hero h2{font-size:27px}.school-access-hero p{font-size:12px}
  .school-access-grid{grid-template-columns:1fr}.school-access-card{min-height:102px;padding:14px}
  .school-access-icon{width:56px;height:56px}.school-access-icon img{width:46px;height:46px}
}


/* Botão limpar teste */
#clearTestBtn{border:1px solid #efb8bd;background:#fff1f2;color:#b4232d;font-weight:850;box-shadow:none}
#clearTestBtn:hover{background:#ffe5e7;border-color:#df8f97}
#clearTestBtn.hidden{display:none!important}
@media(max-width:760px){
  #clearTestBtn{min-height:42px;padding:9px 12px;font-size:11px}
}


/* Caixa seguro */
.btn.is-saving{cursor:wait;opacity:.82}
.btn.is-saving::before{content:"";display:inline-block;width:12px;height:12px;margin-right:8px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-2px;animation:gfSpin .7s linear infinite}
@keyframes gfSpin{to{transform:rotate(360deg)}}
.action-col{text-align:center;white-space:nowrap;width:66px}
.trash-btn{width:36px;height:36px;border:1px solid #efc1c5;border-radius:10px;background:#fff4f5;color:#b4232d;display:inline-grid;place-items:center;cursor:pointer;font-size:16px;transition:.16s ease}
.trash-btn:hover{background:#ffe7e9;border-color:#df969e;transform:translateY(-1px)}
.trash-btn:disabled{opacity:.55;cursor:wait;transform:none}


/* Central de relatórios institucionais */
.btn-report{background:#eef5ff;border:1px solid #b8d0ee;color:#12487f;font-weight:850}
.btn-report:hover{background:#e3efff;border-color:#91b5df}
.report-intro{display:flex;flex-direction:column;gap:5px;margin-bottom:18px;padding:14px 16px;border-radius:14px;background:#f4f8fd;border:1px solid #dce7f4}
.report-intro b{color:#0b3c74;font-size:15px}.report-intro span{color:#66778c;font-size:12px;line-height:1.45}
.report-hub-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:26px 28px;margin-bottom:18px;border-radius:22px;background:linear-gradient(120deg,#0d4c99,#0a3474 62%,#082552);color:#fff;box-shadow:0 16px 36px rgba(8,42,92,.14)}
.report-hub-hero span{font-size:10px;letter-spacing:.18em;font-weight:900;color:#a9d2ff}
.report-hub-hero h2{margin:5px 0 7px;font-size:31px;letter-spacing:-.03em}
.report-hub-hero p{margin:0;max-width:720px;color:#dceaff;font-size:13px;line-height:1.5}
.report-hub-hero>b{min-width:92px;height:82px;border-radius:18px;display:grid;place-items:center;text-align:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);font-size:20px;line-height:1.05}
.report-hub-hero>b small{font-size:10px;color:#cfe1fb}
.report-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.report-hub-card{appearance:none;border:1px solid #dbe5f1;background:#fff;border-radius:18px;padding:18px;min-height:142px;text-align:left;display:flex;flex-direction:column;gap:7px;cursor:pointer;box-shadow:0 10px 26px rgba(15,45,86,.07);transition:.17s ease;color:#173f70}
.report-hub-card:hover{transform:translateY(-2px);border-color:#a8c5e6;box-shadow:0 15px 30px rgba(15,45,86,.11)}
.report-hub-card i{font-style:normal;font-size:26px}.report-hub-card strong{font-size:16px}.report-hub-card span{font-size:12px;line-height:1.45;color:#69798e}
.report-download-btn{min-width:150px}
@media(max-width:900px){.report-hub-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){
 .report-hub-hero{padding:20px;align-items:flex-start}.report-hub-hero h2{font-size:25px}.report-hub-hero>b{min-width:68px;width:68px;height:68px;font-size:15px}
 .report-hub-grid{grid-template-columns:1fr}.report-hub-card{min-height:112px}.btn-report{width:100%}
}
