[hidden]{display:none!important}
:root{
  --cyan:#2FA8BF;--cyan-d:#1F8296;--cyan-l:#E8F6F9;--coral:#E85F5F;--coral-l:#FDECEC;
  --yellow:#F2B705;--mustard:#C98A00;--yellow-l:#FFF6E0;--ink:#24343B;--muted:#62737A;
  --line:#DCE6E9;--bg:#F6F8F8;--card:#FFFFFF;--ok:#2E8B57;--ok-l:#E7F4EC;
  --r:10px;--shadow:0 1px 2px rgba(20,40,50,.06),0 4px 14px rgba(20,40,50,.05);
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{font-family:'Nunito Sans',system-ui,sans-serif;color:var(--ink);background:var(--bg);font-size:14px}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--cyan-d)}
.app{display:grid;grid-template-rows:auto 1fr;height:100vh}
header.top{display:flex;align-items:center;gap:14px;padding:10px 20px;background:var(--card);border-bottom:1px solid var(--line);flex-wrap:wrap}
header.top h1{font-size:16px;margin:0;font-weight:800}
header.top .sub{color:var(--muted);font-size:12px}
header.top .sp{flex:1}
.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--card);padding:7px 12px;border-radius:8px;cursor:pointer;font-weight:600;font-size:13px;white-space:nowrap;text-decoration:none;color:var(--ink)}
.btn:hover{border-color:var(--cyan);color:var(--cyan-d)}
.btn.pri{background:var(--cyan);border-color:var(--cyan);color:#fff}
.btn.pri:hover{background:var(--cyan-d);color:#fff}
.btn.coral{background:var(--coral);border-color:var(--coral);color:#fff}
.btn.coral:hover{filter:brightness(.95);color:#fff}
.btn.ghost{border-color:transparent;background:transparent}
.btn.danger{color:var(--coral)}.btn.danger:hover{border-color:var(--coral)}
.btn.mini{padding:4px 9px;font-size:12px}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.btn svg{width:15px;height:15px;flex-shrink:0}
main.split{display:grid;grid-template-columns:340px 1fr;min-height:0}
main.page{overflow:auto;padding:20px;min-height:0}
aside{border-right:1px solid var(--line);background:var(--card);display:flex;flex-direction:column;min-height:0}
.tools{padding:12px 14px;border-bottom:1px solid var(--line);display:grid;gap:8px}
.tools input,.tools select{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:10px 14px;border-bottom:1px solid var(--line)}
.kpi{background:var(--bg);border-radius:8px;padding:7px 9px}
.kpi b{display:block;font-size:15px;font-variant-numeric:tabular-nums}
.kpi span{font-size:11px;color:var(--muted)}
.list{overflow:auto;flex:1}
.item{padding:10px 14px;border-bottom:1px solid var(--line);cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;text-decoration:none;color:inherit}
.item:hover{background:var(--cyan-l)}
.item.sel{background:var(--cyan-l);box-shadow:inset 3px 0 0 var(--cyan)}
.item .nm{font-weight:700;font-size:13px;overflow-wrap:anywhere}
.item .kid{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.item .val{text-align:right;font-size:11.5px;color:var(--muted)}
.tag{display:inline-block;font-size:10.5px;font-weight:700;padding:1px 7px;border-radius:99px;margin:3px 4px 0 0;white-space:nowrap}
.tag.w{background:var(--yellow-l);color:#8a6100}
.tag.r{background:var(--coral-l);color:#b73b3b}
.tag.b{background:var(--cyan-l);color:var(--cyan-d)}
.tag.ok{background:var(--ok-l);color:var(--ok)}
.tag.g{background:#EEF2F3;color:var(--muted)}
.work{overflow:auto;padding:20px;min-width:0}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);min-width:0}
.panel h2{font-size:14px;margin:0;padding:12px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px}
.panel h2 .sp{flex:1}
.panel .bd{padding:14px 16px;display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
label.f{display:block;font-size:12px;color:var(--muted);font-weight:600;min-width:0}
label.f input,label.f select,label.f textarea{display:block;margin-top:4px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-weight:400;width:100%;min-width:0}
label.f textarea{resize:vertical;min-height:64px}
label.f input:focus,label.f select:focus,label.f textarea:focus,.tools input:focus,.tools select:focus,table.docs select:focus,table.docs input:focus{outline:2px solid var(--cyan);outline-offset:-1px;border-color:var(--cyan)}
label.f .req{color:var(--coral)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.span2{grid-column:span 2}.span3{grid-column:span 3}.full{grid-column:1/-1}
.chk{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink)}
.chk input{accent-color:var(--cyan);width:15px;height:15px}
.alert{font-size:12.5px;border-radius:8px;padding:8px 11px}
.alert.w{background:var(--yellow-l);color:#7a5600}
.alert.r{background:var(--coral-l);color:#a33}
.alert.ok{background:var(--ok-l);color:var(--ok)}
.alert.b{background:var(--cyan-l);color:var(--cyan-d)}
.empty{padding:60px 20px;text-align:center;color:var(--muted)}
.muted{color:var(--muted)}
.num{font-variant-numeric:tabular-nums}
/* ficha */
.fhead{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.fhead .av{width:46px;height:46px;border-radius:50%;background:var(--cyan-l);color:var(--cyan-d);display:grid;place-items:center;font-weight:800;font-size:16px;flex-shrink:0}
.fhead h2{padding:0;border:0;display:block;margin:0;font-size:17px;font-weight:800;overflow-wrap:anywhere}
.fhead .meta{font-size:12.5px;color:var(--muted);margin-top:2px}
.fhead .sp{flex:1}
.ftabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:16px;overflow-x:auto}
.ftabs button{border:0;background:none;padding:9px 13px;font-weight:700;font-size:13px;color:var(--muted);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1px;white-space:nowrap}
.ftabs button:hover{color:var(--cyan-d)}
.ftabs button.on{color:var(--cyan-d);border-bottom-color:var(--cyan)}
.ftabs button .c{display:inline-block;min-width:18px;font-size:10.5px;padding:0 5px;border-radius:99px;background:var(--coral-l);color:#b73b3b;margin-left:4px}
.savebar{display:flex;align-items:center;gap:10px;justify-content:flex-end;padding-top:4px}
.savebar .st{font-size:12px;color:var(--muted);margin-right:auto}
.savebar .st.dirty{color:var(--mustard);font-weight:700}
.card{border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:grid;gap:6px;background:#fff;min-width:0}
.card .hd{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.card .hd b{font-size:14px;overflow-wrap:anywhere}
.card .hd .sp{flex:1}
.card .ln{font-size:12.5px;color:var(--muted);overflow-wrap:anywhere}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.inline-form{border:1px dashed var(--cyan);background:var(--cyan-l);border-radius:10px;padding:12px 14px;display:grid;gap:10px}
.inline-form .acts{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
table.t{width:100%;border-collapse:collapse;font-size:12.5px;font-variant-numeric:tabular-nums}
table.t th{background:var(--cyan);color:#fff;text-align:left;padding:7px 9px;font-weight:700;white-space:nowrap}
table.t td{padding:7px 9px;border-bottom:1px solid var(--line);vertical-align:middle}
table.t tbody tr:nth-child(even) td{background:#F7FBFC}
table.t td.n,table.t th.n{text-align:right}
table.docs select,table.docs input{padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:#fff;width:100%;min-width:0}
.tbl-wrap{overflow-x:auto;border-radius:8px}
.allergy{display:flex;gap:10px;align-items:center;background:var(--coral);color:#fff;border-radius:10px;padding:10px 14px;margin-bottom:14px;font-weight:700;font-size:13px}
.allergy svg{width:20px;height:20px;flex-shrink:0}
/* painel */
.dash{display:grid;gap:16px;max-width:1360px;margin:0 auto}
.dkpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.dkpi{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;box-shadow:var(--shadow);text-decoration:none;color:inherit;display:block}
a.dkpi:hover{border-color:var(--cyan)}
.dkpi b{display:block;font-size:22px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.15}
.dkpi span{font-size:12px;color:var(--muted)}
.dkpi.w b{color:var(--mustard)}.dkpi.r b{color:var(--coral)}.dkpi.ok b{color:var(--ok)}.dkpi.c b{color:var(--cyan-d)}
.dgrid{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;align-items:start}
.bar{height:8px;background:var(--line);border-radius:4px;overflow:hidden;min-width:60px}
.bar i{display:block;height:100%;background:var(--cyan)}
.bar.full i{background:var(--coral)}
.bar.ok i{background:var(--ok)}
.pend{display:grid;grid-template-columns:1fr auto;gap:8px;padding:9px 0;border-bottom:1px solid var(--line);align-items:center;text-decoration:none;color:inherit}
.pend:last-child{border-bottom:0}
.pend b{font-size:13px}
.pend:hover b{color:var(--cyan-d)}
.feed{display:grid;gap:0}
.feed div{padding:8px 0;border-bottom:1px solid var(--line);font-size:12.5px}
.feed div:last-child{border-bottom:0}
.feed span{color:var(--muted);font-size:11.5px;display:block}
.mod-card{background:linear-gradient(0deg,#fff,#fff);border:1px solid var(--line);border-left:4px solid var(--coral);}
.mstat{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.mstat div{background:var(--bg);border-radius:8px;padding:8px 10px}
.mstat b{display:block;font-size:16px;font-variant-numeric:tabular-nums}
.mstat span{font-size:11px;color:var(--muted)}
.pb{height:8px;background:var(--line);border-radius:4px;overflow:hidden}.pb i{display:block;height:100%;background:var(--ok)}
/* turmas */
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;max-width:1360px;margin:0 auto}
.tcard .bd{gap:10px}
.tcard .occ{display:flex;align-items:baseline;gap:6px}
.tcard .occ b{font-size:22px;font-weight:800}
.tcard .kids{display:flex;flex-wrap:wrap;gap:4px;max-height:150px;overflow:auto}
.tcard .kids a{font-size:11.5px;text-decoration:none;background:var(--bg);border:1px solid var(--line);border-radius:99px;padding:2px 8px;color:var(--ink)}
.tcard .kids a:hover{border-color:var(--cyan);color:var(--cyan-d)}
.tcard .kids a.ok{background:var(--ok-l);border-color:#BFE0CB}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.seg button{border:0;background:none;padding:7px 14px;font-weight:700;font-size:13px;cursor:pointer;color:var(--muted)}
.seg button.on{background:var(--cyan);color:#fff}
.pagehead{display:flex;align-items:center;gap:12px;flex-wrap:wrap;max-width:1360px;margin:0 auto 16px}
.pagehead h1{font-size:17px;margin:0;font-weight:800}
.pagehead .sp{flex:1}
.toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:9px 16px;border-radius:8px;font-size:13px;opacity:0;transition:opacity .2s;pointer-events:none;z-index:50;max-width:90vw}
.toast.on{opacity:1}
.toast.err{background:#b73b3b}
.skel{background:linear-gradient(90deg,#EEF2F3 25%,#F6F8F8 50%,#EEF2F3 75%);background-size:200% 100%;animation:sk 1.2s infinite;border-radius:8px}
@keyframes sk{to{background-position:-200% 0}}
@media (max-width:1200px){.dkpis{grid-template-columns:repeat(3,1fr)}.dgrid{grid-template-columns:1fr}}
@media (max-width:1100px){
  html,body,.app{height:auto}.app{display:block}
  main.split{grid-template-columns:minmax(0,1fr)}
  #view{grid-template-columns:minmax(0,1fr)}
  aside{max-height:46vh;border-right:0;border-bottom:1px solid var(--line)}
}
@media (max-width:700px){
  .work,main.page{padding:12px}
  .grid2,.grid3,.grid4{grid-template-columns:1fr}.span2,.span3{grid-column:auto}
  .dkpis{grid-template-columns:1fr 1fr}
  .mstat{grid-template-columns:1fr 1fr}
  header.top{padding:10px 12px}
}
#login{position:fixed;inset:0;background:linear-gradient(160deg,#E8F6F9 0%,#F6F8F8 55%,#FFF6E0 100%);display:grid;place-items:center;z-index:60;padding:16px;overflow:auto}
.login-card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 40px rgba(20,40,50,.10);padding:28px;width:min(400px,100%);display:grid;gap:14px}
.login-card img{height:74px;width:auto;justify-self:center}
.login-card h1{margin:0;font-size:19px;font-weight:800;text-align:center}
.login-card p{margin:-8px 0 0;text-align:center;font-size:12.5px}
body.ro .savebar button,body.ro .inline-form,body.ro #btnDel,body.ro [data-unlink],body.ro [data-fin],body.ro [data-del],body.ro .btn.pri{display:none!important}
body.ro label.f input,body.ro label.f select,body.ro label.f textarea,body.ro table.docs select,body.ro table.docs input,body.ro .tcard input{pointer-events:none;background:var(--bg)}
table.t select{padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:12.5px}table.t select:disabled{background:var(--bg);color:var(--muted)}
body.ro .savebar,body.ro .chk input{display:none!important}
/* Fase 1: perfil sem edição de cadastro, mas com edição de responsáveis (Financeiro) */
body.ro .rw .savebar{display:flex!important}
body.ro .rw .savebar button,body.ro .rw .btn.pri{display:inline-flex!important}
body.ro .rw label.f input,body.ro .rw label.f select,body.ro .rw label.f textarea{pointer-events:auto;background:#fff}
/* selo neutro da situação financeira */
.tag.selo-ok{background:var(--ok-l);color:var(--ok)}
.tag.selo-ag{background:#EEF2F3;color:#4b5a5f}
.rs-tbl td select,.rs-tbl td input{width:100%;min-width:0;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:12.5px}
.rs-tbl td select:disabled,.rs-tbl td input:disabled{background:var(--bg);color:var(--muted)}
.perm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
.perm-grid .card{align-content:start}.perm-grid .card b{font-size:13px}
.perm-grid .card ul{margin:2px 0 0;padding-left:16px;font-size:12px;color:var(--muted);display:grid;gap:2px}
.rs-tbl td:first-child{min-width:170px}

/* ---------- Fase 2: processo de matrícula ---------- */
dialog.dlg{border:0;border-radius:12px;padding:0;width:min(460px,calc(100vw - 32px));box-shadow:0 18px 50px rgba(20,40,50,.25);color:var(--ink)}
dialog.dlg::backdrop{background:rgba(20,40,50,.38)}
dialog.dlg form{display:grid;gap:12px;padding:18px 20px}
dialog.dlg h3{margin:0;font-size:16px}
dialog.dlg p{margin:0;font-size:13px}
dialog.dlg label.f input,dialog.dlg label.f select,dialog.dlg label.f textarea{width:100%}
.dlg-bt{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}
ol.passos{list-style:none;margin:0;padding:0;display:flex;gap:4px;counter-reset:p;overflow-x:auto}
ol.passos li{flex:1;min-width:74px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;font-size:11px;color:var(--muted);position:relative;padding-top:2px}
ol.passos li::before{content:'';position:absolute;top:13px;left:-50%;width:100%;height:2px;background:var(--line);z-index:0}
ol.passos li:first-child::before{display:none}
ol.passos li i{font-style:normal;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid var(--line);font-weight:800;font-size:11px;position:relative;z-index:1}
ol.passos li.ok i{background:var(--ok);border-color:var(--ok);color:#fff}
ol.passos li.ok::before,ol.passos li.at::before{background:var(--ok)}
ol.passos li.at i{border-color:var(--coral);color:var(--coral);box-shadow:0 0 0 3px var(--coral-l)}
ol.passos li.at span{color:var(--ink);font-weight:800}
ol.passos.fora{opacity:.55}
.card.proc{border-left:4px solid var(--cyan);gap:10px}
ul.chk-list{list-style:none;margin:0;padding:0;display:grid;gap:0}
ul.chk-list li{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:13px}
ul.chk-list li:first-child{border-top:0}
ul.chk-list li>div{flex:1;min-width:0}
ul.chk-list li b{display:block;font-size:13px}
ul.chk-list li span{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
ul.chk-list li i{font-style:normal;flex:none;width:20px;height:20px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-size:11px;font-weight:900;color:#fff}
ul.chk-list li.ok i{background:var(--ok);border-color:var(--ok)}
.proc-bt{display:flex;gap:8px;flex-wrap:wrap}
.proc-bt:empty{display:none}
.ef-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px;align-items:start}
.ef-box{border-left:4px solid var(--line)}
.ef-box.ok{border-left-color:var(--ok)}
.ef-i{font-style:normal;width:20px;height:20px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-size:11px;font-weight:900;color:#fff;flex:none}
.ef-box.ok .ef-i{background:var(--ok);border-color:var(--ok)}
.ef-cond{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:end}
.ef-cond label.f input,.ef-cond label.f select{width:100%}
.ef-final{border:2px dashed var(--line);background:var(--bg)}
.ef-final.pronto{border:2px solid var(--ok);background:var(--ok-l)}
.ef-final.ok{border:2px solid var(--ok);background:#fff}
.ckd{display:flex;gap:3px}
.ckd span{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;font-size:11px;font-weight:800;background:#EEF2F3;color:var(--muted)}
.ckd span.ok{background:var(--ok-l);color:var(--ok)}
.apv{padding:8px 0;border-top:1px solid var(--line);font-size:12.5px;display:grid;gap:2px}
.apv:first-child{border-top:0;padding-top:0}
.apv-card{border-left:4px solid var(--mustard)}
.apv-dec{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.apv-dec input{flex:1;min-width:200px;padding:7px 10px;border:1px solid var(--line);border-radius:8px}
.tag.coral-t{background:var(--coral);color:#fff}
.feed .novo{border-left:3px solid var(--coral);padding-left:8px}
.mstat a{background:var(--bg);border-radius:8px;padding:8px 10px;text-decoration:none;color:inherit;display:block}
.mstat a:hover{background:var(--cyan-l)}
.mstat a b{display:block;font-size:16px;font-variant-numeric:tabular-nums}
.mstat a span{font-size:11px;color:var(--muted)}
@media (max-width:900px){.ef-grid{grid-template-columns:1fr}}
@media (max-width:560px){.ef-cond{grid-template-columns:1fr}ol.passos li span{display:none}ol.passos li.at span{display:block}.mstat{grid-template-columns:repeat(2,1fr)!important}}
body.ro .rw label.f input,body.ro .rw label.f select,body.ro .rw label.f textarea{pointer-events:auto;background:#fff}
body.ro .rw label.f input:disabled{background:var(--bg)}
body.ro .rw .chk input{display:inline-block!important}
.ef-box .tag,.card.proc .tag{white-space:normal}
@media (max-width:900px){.ef-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){ol.passos{overflow:visible}ol.passos li{min-width:0}ol.passos li.at span{position:absolute;top:30px;white-space:nowrap;font-size:11px}ol.passos{padding-bottom:18px}ol.passos li:first-child.at span{left:0}ol.passos li:last-child.at span{right:0}}
/* Portal da Família — telas da escola */
.pt-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto}
.pt-tabs a{padding:9px 14px;font-weight:700;font-size:13px;color:var(--muted);text-decoration:none;border-bottom:3px solid transparent;white-space:nowrap;display:inline-flex;align-items:center}
.pt-tabs a.on{color:var(--cyan-d);border-bottom-color:var(--cyan)}
.pt-kpis{grid-template-columns:repeat(8,1fr)}
.pt-kpis button.dkpi{font:inherit;text-align:left;cursor:pointer}
.pt-kpis button.dkpi:hover{border-color:var(--cyan)}
.pt-filtros{display:flex;gap:6px;flex-wrap:wrap}
.chip{border:1px solid var(--line);background:#fff;border-radius:99px;padding:4px 11px;font:inherit;font-size:12px;font-weight:700;color:var(--muted);cursor:pointer}
.chip.on{background:var(--cyan);border-color:var(--cyan);color:#fff}
.panel h2 input[type=search]{border:1px solid var(--line);border-radius:8px;padding:6px 10px;font:inherit;font-size:13px;font-weight:400;width:min(280px,50vw)}
.pt-tab td{vertical-align:top}
.pt-dots{display:inline-flex;gap:4px}.pt-dots i{width:16px;height:6px;border-radius:3px;background:var(--line)}.pt-dots i.ok{background:var(--ok)}
.pt-resp{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-bottom:4px}.pt-resp .tag{margin:0}
.pt-resp>span:first-child{margin-right:2px}
.small{font-size:12px}
.pt-conf-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.pt-item{border:1px solid var(--line);border-radius:10px;padding:12px;display:grid;gap:10px}
.pt-ih{display:flex;gap:10px;align-items:flex-start;justify-content:space-between}
.pt-ac{display:flex;gap:6px;flex-wrap:wrap}
.pt-diff tr.mud td{background:var(--yellow-l)!important}
.pt-diff2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pt-ul{margin:4px 0 0;padding-left:18px;display:grid;gap:4px;font-size:13px}
.pt-prev:empty{display:none}.pt-prev{display:grid;gap:8px}
.pt-prev img{max-width:100%;max-height:520px;object-fit:contain;border-radius:8px;border:1px solid var(--line);background:var(--bg)}
.pt-prev iframe{width:100%;height:520px;border:1px solid var(--line);border-radius:8px}
.pt-dlg{width:min(560px,calc(100vw - 32px))!important}
.pt-conv{display:flex;gap:16px;align-items:center;margin-top:10px}
.pt-conv img{border:1px solid var(--line);border-radius:8px;flex:none}
.pt-cands{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px 14px;max-height:340px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:10px}
.pt-obs{border:1px solid var(--line);border-radius:6px;padding:5px 8px;font:inherit;font-size:12.5px;width:100%;min-width:180px}
.pt-res{display:flex;gap:18px;flex-wrap:wrap;font-size:13px}.pt-res b{font-size:17px}
.pt-sum{cursor:pointer;font-weight:700;font-size:13px;color:var(--cyan-d);margin-bottom:8px}
.pt-pre{white-space:pre-wrap;font:inherit;font-size:12.5px;margin:0;background:var(--bg);padding:10px;border-radius:8px;max-height:260px;overflow:auto}
.pt-det{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.pt-steps{display:flex;gap:8px;flex-wrap:wrap}.pt-steps div{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--muted);background:var(--bg);border-radius:99px;padding:4px 10px}
.pt-steps i{width:9px;height:9px;border-radius:50%;background:var(--line)}.pt-steps .ok{color:var(--ok);background:var(--ok-l)}.pt-steps .ok i{background:var(--ok)}
.pt-msg{border-top:1px solid var(--line);padding-top:8px}.pt-msg:first-child{border-top:0;padding-top:0}
@media (max-width:1200px){.pt-kpis{grid-template-columns:repeat(4,1fr)}}
@media (max-width:900px){.pt-conf-grid,.pt-det{grid-template-columns:1fr}}
@media (max-width:560px){.pt-kpis{grid-template-columns:repeat(2,1fr)}.pt-conv{flex-direction:column;align-items:stretch}.pt-conv img{align-self:center}.pt-diff2{grid-template-columns:1fr}.pt-ih{flex-direction:column}.panel h2 input[type=search]{width:100%}.panel h2:has(input[type=search]){flex-wrap:wrap}}

/* Fase 5: condições e contrato pelo portal */
.pt-lista{display:grid;gap:0}
.pt-item{display:flex;gap:14px;justify-content:space-between;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line)}
.pt-item:first-child{padding-top:0}
.pt-item>div:first-child{min-width:0;flex:1}
.pt-acoes{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;flex:none}
.pt-barra{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pt-barra input[type=number]{padding:6px 8px;border:1px solid var(--line);border-radius:8px;font:inherit}
td.nw,.nw{white-space:nowrap}
@media (max-width:640px){.pt-item{flex-direction:column}.pt-acoes{justify-content:flex-start}}

/* Fase 6: pagamentos PIX */
.panel .bd.pg-cfg{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.pg-cfg>div{display:grid;gap:3px;align-content:start}
.pg-sw{display:inline-flex;align-items:center;gap:8px;cursor:pointer;margin:2px 0}
.pg-sw input{position:absolute;opacity:0;pointer-events:none}
.pg-sw span{width:40px;height:22px;border-radius:11px;background:#cfd8dc;position:relative;transition:background .15s;flex:none}
.pg-sw span::after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.pg-sw input:checked+span{background:var(--ok,#2e8b57)}
.pg-sw input:checked+span::after{transform:translateX(18px)}
.pg-sw input:focus-visible+span{outline:3px solid rgba(47,168,191,.45)}
.pg-sw.ro{cursor:default;opacity:.8}
.panel .bd.pg-conc{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.pg-conc h3{font-size:13.5px;margin:0 0 8px;display:flex;align-items:center;gap:6px}
.pg-lst{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:220px;overflow:auto}
.pg-lst li{display:grid;gap:1px}
.pg-ac{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.pg-ev{display:grid;gap:10px;max-height:50vh;overflow:auto;text-align:left}

/* ---------- Fase 7: matrícula nova, lista de espera e relatórios ---------- */
.nv-vagas{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.nv-vaga{border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;background:var(--card)}
.nv-vaga span{font-size:12px;color:var(--muted)}
.nv-vaga.ok{border-color:#BFE3CC;background:var(--ok-l)}.nv-vaga.ok span{color:var(--ok)}
.nv-vaga.cheia{background:var(--yellow-l);border-color:#F3DDA0}.nv-vaga.cheia span{color:#8A6100}
.nv-dlg{width:min(640px,calc(100vw - 24px))}
.nv-sec{font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--cyan-d);margin:14px 0 6px}
.nv-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}
.nv-grid .nv-2{grid-column:1/-1}
.nv-grid .f .h{display:block;font-size:12px;color:var(--ok);font-weight:600;min-height:0}
.nv-erro{background:var(--coral-l);color:#A33;border-radius:8px;padding:8px 10px;font-weight:600;margin:10px 0 0}
.nv-link{width:100%;font-family:ui-monospace,monospace;font-size:12px;padding:9px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}
.nv-auto{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.nv-h3{font-size:13px;margin:14px 0 6px}
.nv-enc{margin-top:10px}.nv-enc summary{cursor:pointer;color:var(--muted)}
.rl-abas{display:flex;gap:6px;flex-wrap:wrap}
.rl-abas .chip{text-decoration:none}
.rl-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.rl-funil{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.rl-funil li{display:grid;grid-template-columns:minmax(150px,190px) 1fr 40px 44px;align-items:center;gap:10px;font-size:13px}
.rl-funil b{text-align:right}.rl-p{text-align:right}
.rl-bar{display:inline-block;height:12px;background:var(--cyan-l);border-radius:6px;overflow:hidden;width:100%;vertical-align:middle}
.rl-bar i{display:block;height:100%;background:var(--cyan);border-radius:6px}
.rl-bar.sm{width:80px;height:8px}
.rl-funil li.neg .rl-bar{background:var(--coral-l)}.rl-funil li.neg .rl-bar i{background:var(--coral)}
.rl-kpis{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.rl-kpis .dkpi small{display:block;font-size:11px;margin-top:2px}
.rl-tot td{border-top:2px solid var(--line)}
.rl-det>summary{cursor:pointer;padding:14px 16px;list-style:revert}
@media (max-width:820px){.rl-2{grid-template-columns:1fr}.nv-grid{grid-template-columns:1fr}.rl-funil li{grid-template-columns:1fr 34px 40px}.rl-funil li .rl-bar{grid-column:1/-1;grid-row:2}}
.nv-ac{text-align:right}.nv-ac .btn+.btn{margin-left:4px}
#rlCorpo{display:flex;flex-direction:column;gap:16px}#rlCorpo>.dkpis{margin:0}
.rl-kpis{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.rl-kpis .dkpi b{font-size:21px;white-space:nowrap}

/* ---------- Fase 8: financeiro do ano letivo ---------- */
.dir{text-align:right}
td.dir,th.dir{white-space:nowrap}
.neg{color:var(--coral)}
.fn-li{grid-template-columns:minmax(120px,150px) 1fr minmax(96px,auto)!important}
.fn-li b{white-space:nowrap}
.fn-off td{color:var(--muted)}
.fn-off td b{font-weight:600}
.fn-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
dialog.dlg.fn-dlg{width:min(560px,calc(100vw - 24px))}
dialog.dlg.fn-dlg.larga{width:min(820px,calc(100vw - 24px))}
dialog.fn-dlg>div{display:grid;gap:12px;padding:18px 20px}
dialog.fn-dlg .bl,dialog.fn-dlg .rc{margin:0;max-width:none}
.fn-dlg .chk{margin:6px 0;align-items:flex-start;line-height:1.35}
.fn-dlg .chk input{margin-top:2px;flex:none}
.fn-acoes{display:flex;flex-direction:column;gap:6px;margin:6px 0 4px}
.fn-acoes .btn{justify-content:flex-start;text-align:left}
.fn-perigo{color:var(--coral)!important}
.fn-sel{max-height:230px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:6px 10px;margin-bottom:8px}
.fn-carne{max-width:820px;margin:0 auto}
@media (max-width:820px){.fn-li{grid-template-columns:1fr auto!important}.fn-li .rl-bar{grid-column:1/-1;grid-row:2}}
@media (max-width:560px){.fn-2{grid-template-columns:1fr}}
body.ro .btn.pri.fnp{display:inline-flex!important}
.fn-ano{display:flex;justify-content:flex-end}
.fn-ano label{display:flex;gap:8px;align-items:center;font-size:13px;font-weight:700;color:var(--muted)}
@media (max-width:560px){main.rw .panel>h2{flex-wrap:wrap;row-gap:8px}main.rw .panel>h2 .btn{margin-left:0}}

/* ---------- Fase 8.2: notas fiscais ---------- */
.fn-filtros{display:flex;gap:6px;flex-wrap:wrap}
.btn.mini.on{background:var(--cyan-l);border-color:var(--cyan);color:var(--cyan-d);font-weight:700}
.nf-barra{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.nf-barra input[type=month]{width:auto}.nf-barra input[type=search]{flex:1 1 220px;max-width:320px}
.nf-barra .sp{flex:1}
dialog.fn-dlg .nf{margin:0;max-width:none}
.nf-res{border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.nf-g2{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}
.nf-g2 small{display:block;color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.3px}
.nf-g2 b{display:block}.nf-dsc{margin:10px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.nf-ev{margin-top:12px}.nf-ev summary{cursor:pointer;color:var(--cyan-d);font-weight:700;font-size:13px}
.nf-ev ul{margin:8px 0 0;padding-left:18px;max-height:200px;overflow:auto;font-size:13px}.nf-ev li{margin:4px 0}
.nf-cfg .nf-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.nf-cfg .nf-cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 12px}
.nf-fs{border:1px solid var(--line);border-radius:10px;padding:8px 12px 10px;margin:12px 0 0;min-width:0}
.nf-fs legend{font-weight:800;font-size:13px;padding:0 6px;color:var(--ink)}
.nf-tipos{display:flex;flex-wrap:wrap;gap:0 16px}
.nf-tipos .chk{margin:4px 0}
@media (max-width:560px){.nf-g2,.nf-cfg .nf-cols,.nf-cfg .nf-cols3{grid-template-columns:1fr}.nf-barra input[type=search]{max-width:none}}

/* ---------- Fase 9: diário infantil ---------- */
.dg-fila{margin:0}
.dg-datas{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.dg-datas input[type=date]{width:auto}.dg-datas .sp{flex:1}
.dg-nums{display:flex;gap:6px 14px;flex-wrap:wrap;align-items:center;font-size:13px;color:var(--muted)}
.dg-nums b{color:var(--ink)}
.dg-turmas{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.dg-turma{display:grid;gap:8px;background:var(--card,#fff);border:1px solid var(--line);border-radius:14px;padding:14px 16px;color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s}
.dg-turma:hover{border-color:var(--cyan);box-shadow:0 2px 10px rgba(0,0,0,.05)}
.dg-t1{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.dg-t1 b{font-size:16px}
.dg-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.dg-cri{display:grid;gap:8px;align-content:start;background:var(--card,#fff);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:12px;padding:12px 14px}
.dg-cri.on{border-left-color:var(--green,#2e9e6b)}.dg-cri.off{border-left-color:var(--coral,#e5604f);background:#fcfafa}
.dg-c1{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.dg-c1>div{display:grid;gap:1px;min-width:0}.dg-c1 b{overflow-wrap:anywhere}
.dg-alerta{background:#fdecea;color:#9b2d20;border-radius:8px;padding:6px 9px;font-size:12.5px;line-height:1.35}
.dg-pres{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.dg-pres .btn{justify-content:center;padding:8px 6px;font-size:13px}
.dg-horas{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.dg-res{font-size:13px;line-height:1.45;color:var(--ink)}
.dg-obs{margin-top:4px;color:var(--cyan-d);font-style:normal}
.dg-dev{background:#fff4e0;color:#8a5a00;border-radius:8px;padding:6px 9px;font-size:12.5px}
.btn.blk{width:100%;justify-content:center}
.dg-rot h3{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.dg-fs{border:1px solid var(--line);border-radius:10px;padding:8px 10px 10px;margin:10px 0 0;min-width:0}
.dg-fs legend{font-weight:800;font-size:13px;padding:0 6px}
.dg-chips{display:flex;flex-wrap:wrap;gap:6px}
.dg-chips .btn{padding:7px 11px;font-size:13px}
.dg-ref{display:grid;grid-template-columns:140px 1fr;gap:8px;align-items:center;padding:4px 0;border-bottom:1px dashed var(--line)}
.dg-ref:last-child{border-bottom:0}.dg-ref>span{font-size:13px;font-weight:600}
.dg-sono{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0}
.dg-sono label{display:grid;gap:3px;font-size:12px;color:var(--muted)}
.dg-cont{display:flex;align-items:center;gap:14px}.dg-cont b{font-size:20px;min-width:26px;text-align:center}
.dg-cont .btn{width:42px;justify-content:center;font-size:18px}
.dg-sel{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:0 12px;max-height:220px;overflow:auto}
.dg-rev{display:grid;gap:10px}
.dg-rv{display:grid;gap:6px;border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.dg-rv .dg-c1{justify-content:flex-start}.dg-rv .dg-c1>div{flex:1}
.dg-acoes{display:flex;gap:6px;flex-wrap:wrap}
.dg-hist{margin:0;padding-left:18px;max-height:260px;overflow:auto;font-size:13px}.dg-hist li{margin:5px 0}
.dg-2col{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dg-eq{display:grid;gap:8px}
.dg-eqp{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.dg-eqp>span{display:grid}.dg-eqp select{width:auto}
@media (max-width:760px){.dg-2col{grid-template-columns:1fr}}
@media (max-width:560px){.dg-ref{grid-template-columns:1fr;gap:4px}.dg-lista,.dg-turmas{grid-template-columns:1fr}}

/* ---------- Fase 10: comunicação ---------- */
.cm-kpis{grid-template-columns:repeat(6,1fr)}.cm-kpis4{grid-template-columns:repeat(4,1fr)}
.cm-prog{display:flex;align-items:center;gap:8px;min-width:130px}.cm-prog .bar{flex:1}.cm-prog span{font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted)}
tr.clk,li.clk{cursor:pointer}tr.clk:hover td{background:#f4fbfc}
.cm-prox{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cm-prox li{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:10px}
.cm-prox li .tag{grid-row:span 3;align-self:start}.cm-prox li>span{grid-column:2}
.cm-h3{font-size:13px;margin:14px 0 6px}.cm-chips{display:flex;flex-wrap:wrap;gap:6px}.cm-chips a{text-decoration:none}
.cm-ed .panel{margin-bottom:14px}
.cm-alc,.cm-chks{display:flex;flex-wrap:wrap;gap:4px 18px;margin-bottom:8px}
.cm-busca input{margin-bottom:6px;max-width:360px}
.cm-lista{max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:6px 10px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:0 14px}
.cm-anx{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}.cm-anx li{display:flex;gap:10px;align-items:center}
.lnk{background:none;border:0;padding:0;color:var(--cyan-d);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline;text-align:left}
.cm-texto{white-space:pre-wrap;line-height:1.5;font-size:14px}
.cm-tabs{display:flex;gap:6px;margin-bottom:10px}
.cm-res{display:grid;gap:8px}.cm-res>div{display:grid;grid-template-columns:minmax(120px,1fr) 2fr 40px;gap:10px;align-items:center}.cm-res b{text-align:right}
.ag-mes{font-size:16px;min-width:150px;text-align:center}
.ag-grid{grid-template-columns:1.6fr 1fr}
.ag-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.ag-h{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;text-align:center;padding:2px 0}
.ag-c{min-height:84px;border:1px solid var(--line);border-radius:8px;padding:4px;display:flex;flex-direction:column;gap:3px;min-width:0;background:#fff}
.ag-c.vz{border:0;background:none}.ag-c.fds{background:#fafbfb}.ag-c.hj{border-color:var(--cyan);box-shadow:inset 0 0 0 1px var(--cyan)}
.ag-n{font-size:12px;font-weight:700;color:var(--muted)}
.ag-e{border:0;border-radius:5px;padding:2px 5px;font-size:11px;font-weight:600;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;background:#eef1f2;color:var(--ink)}
.ag-e.r{background:#fdecea;color:#9b2d20}.ag-e.b{background:#e6f4f8;color:#14687a}.ag-e.ok{background:#e8f6ee;color:#1f7a4c}.ag-e.w{background:#fff4e0;color:#8a5a00}
.rc-lista{display:grid;gap:8px}
.rc-item{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--line);border-left:4px solid var(--line);border-radius:10px;text-decoration:none;color:inherit}
.rc-item.novo{border-left-color:var(--coral,#e5604f)}.rc-item:hover{border-color:var(--cyan)}
.rc-conv{max-width:820px}
.rc-msgs{display:grid;gap:12px}
.rc-m{display:grid;gap:3px;max-width:78%}.rc-m.escola{justify-self:end;text-align:right}
.rc-b{white-space:pre-wrap;padding:10px 12px;border-radius:12px;background:#f1f4f5;text-align:left;line-height:1.45}
.rc-m.escola .rc-b{background:#e6f4f8}
.rc-resp{display:grid;gap:8px;margin-top:14px}.rc-resp .btn{justify-self:end}
@media (max-width:1100px){.cm-kpis{grid-template-columns:repeat(3,1fr)}.ag-grid{grid-template-columns:1fr}}
@media (max-width:640px){.cm-kpis,.cm-kpis4{grid-template-columns:repeat(2,1fr)}.ag-c{min-height:54px}.ag-e{font-size:0;height:6px;padding:0}.rc-m{max-width:92%}.cm-res>div{grid-template-columns:1fr 1fr 32px}}
.cm-ed .nf-cols{display:grid;grid-template-columns:1fr 2fr;gap:0 14px}
.cm-ed .nf-cols[data-so]{grid-template-columns:220px 1fr}
@media (max-width:640px){.cm-ed .nf-cols,.cm-ed .nf-cols[data-so]{grid-template-columns:1fr}}
.cm-so[hidden],.cm-alv[hidden]{display:none!important}

/* ---------- Fase 11: saúde, cuidados e segurança ---------- */
.cu-alerta{background:var(--coral-l);color:#a33;border-radius:8px;padding:8px 11px;font-size:13px;margin:6px 0;border-left:4px solid var(--coral)}
.cu-alerta.mini{font-size:12px;padding:4px 8px;margin:4px 0}
.cu-alerta.g{font-size:14.5px;padding:12px 14px;margin:0 0 14px}
.cu-kpis{grid-template-columns:repeat(6,1fr)}
.cu-doses,.cu-lista,.cu-bloq,.cu-ct{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cu-doses li{display:grid;grid-template-columns:52px 1fr auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:10px}
.cu-doses .hr{font-variant-numeric:tabular-nums;font-size:15px}
.cu-lista li{display:flex;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:10px}
.cu-lista li.clk:hover{border-color:var(--cyan)}
ol.cu-ct{list-style:decimal;padding-left:20px}.cu-ct li{padding:4px 0}.cu-ct a{color:var(--cyan-d);font-weight:600}
.cu-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.cu-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:4px;min-width:0}
.cu-card.bloq{border-color:var(--coral);box-shadow:0 0 0 2px var(--coral-l)}
.cu-ch{display:flex;align-items:center;gap:8px;justify-content:space-between}.cu-ch b{font-size:15px}
.cu-mov{color:var(--ink)}.cu-mov div{font-variant-numeric:tabular-nums}
.cu-sel{display:flex;flex-wrap:wrap;gap:4px}
.cu-bt{display:flex;gap:6px;margin-top:auto;padding-top:6px}.cu-bt .btn{flex:1;justify-content:center}
.cu-foto{position:relative;width:44px;height:44px;border-radius:50%;background:var(--cyan-l);color:var(--cyan-d);display:flex;align-items:center;justify-content:center;font-weight:800;flex:none;overflow:hidden}
.cu-foto.g{width:76px;height:76px;border-radius:14px;font-size:20px}
.cu-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cu-dlg{width:min(720px,96vw)}
.cu-pess{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;margin:8px 0 12px}
.cu-pess.g{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.cu-p{display:flex;gap:10px;align-items:center;border:1.5px solid var(--line);border-radius:12px;padding:8px 10px;cursor:pointer;background:#fff}
.cu-p input{accent-color:var(--cyan);width:18px;height:18px;flex:none}
.cu-p div:last-child{display:grid;gap:1px;min-width:0}
.cu-p:has(input:checked){border-color:var(--cyan);background:var(--cyan-l)}
.cu-conf{display:grid;gap:6px;background:#f6fafb;border-radius:10px;padding:10px 12px;margin-bottom:8px}
.cu-conf label.chk{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;font-weight:600}
.cu-conf label.chk input{display:inline-block!important;width:18px;height:18px;margin-top:1px;accent-color:var(--cyan)}
.cu-h4{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:16px 0 8px}
.cu-bloq li{display:flex;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--coral-l);background:#fff8f7;border-radius:10px}
.cu-fora{display:flex;gap:10px;align-items:center;margin-top:14px;padding-top:12px;border-top:1px dashed var(--line);flex-wrap:wrap}
.cu-hora{display:grid;grid-template-columns:70px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.cu-hora:last-child{border-bottom:0}
.cu-hh b{font-size:18px;font-variant-numeric:tabular-nums}
.cu-hl{display:grid;gap:8px}
.cu-dose{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.cu-dose.atr{border-color:var(--coral);background:#fff8f7}.cu-dose.agr{border-color:var(--mustard);background:#fffbef}
.cu-dl{display:grid;grid-template-columns:150px 1fr;gap:6px 12px;margin:10px 0;font-size:13.5px}
.cu-dl dt{color:var(--muted);font-weight:600}.cu-dl dd{margin:0}
.cu-pre{white-space:pre-wrap}
.cu-trunc{max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cu-pg{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.cu-pc{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.cu-pc.bloq{border-color:var(--coral-l);background:#fff8f7}
.cu-pbt{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.cu-ctl{display:grid;grid-template-columns:1.4fr 1fr 1.1fr 1.1fr 1.2fr auto;gap:6px;margin-bottom:6px}
.cu-al{position:fixed;right:16px;bottom:16px;z-index:60;width:min(360px,calc(100vw - 32px));background:#fff;border:2px solid var(--mustard);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.15);padding:10px 12px;display:grid;gap:6px}
.cu-al-h{display:flex;align-items:center;justify-content:space-between}
.cu-al-x{border:0;background:none;font-size:20px;line-height:1;cursor:pointer;color:var(--muted)}
.cu-al-i{display:block;font-size:13px;color:var(--ink);text-decoration:none;padding:6px 8px;border-radius:8px;background:#fffbef}
.cu-al-i.r{background:var(--coral-l);color:#a33}
@media (max-width:1100px){.cu-kpis{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.cu-kpis{grid-template-columns:repeat(2,1fr)}.cu-dl{grid-template-columns:1fr}.cu-dl dt{margin-top:4px}.cu-ctl{grid-template-columns:1fr 1fr}.cu-ctl [data-rm]{grid-column:2;justify-self:end}.cu-hora{grid-template-columns:1fr}.cu-pess.g,.cu-pg{grid-template-columns:1fr}.cu-trunc{max-width:160px}}
.cu-em{font-style:normal;font-weight:700}
.nf-barra select,.nf-barra input[type=search],.nf-barra input[type=date],.panel h2 select,.panel h2 input[type=date]{border:1px solid var(--line);border-radius:8px;padding:7px 10px;font:inherit;font-size:13.5px;font-weight:400;background:#fff;color:var(--ink)}
.panel h2 select,.panel h2 input[type=date]{padding:5px 8px;font-size:13px}
@media (max-width:640px){.cu-dose>div:first-child{flex:1 1 100%}.cu-dose .btn{flex:1;justify-content:center}.cu-al{right:8px;bottom:8px;width:calc(100vw - 16px)}.cu-dlg .cu-pess.g{grid-template-columns:1fr}}

/* ---------- Fase 12: momentos e portfólio ---------- */
.chip-chk{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line);border-radius:99px;padding:4px 10px;font-size:12.5px;font-weight:600;cursor:pointer;background:#fff}
.chip-chk input{display:inline-block!important;width:15px;height:15px;margin:0;accent-color:var(--cyan)}
.chip-chk:has(input:checked){border-color:var(--cyan);background:var(--cyan-l);color:var(--cyan-d)}
.mo-sel{padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:12.5px;margin-left:6px;max-width:220px}
.mo-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.mo-alb{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;color:inherit;text-decoration:none;box-shadow:var(--shadow);min-width:0}
.mo-alb:hover{border-color:var(--cyan)}
.mo-capa{position:relative;aspect-ratio:4/3;background:var(--cyan-l);display:flex;align-items:center;justify-content:center;color:var(--cyan-d)}
.mo-capa img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mo-capa>span svg{width:40px;height:40px;opacity:.6}
.mo-capa .tag{position:absolute;top:8px;left:8px;box-shadow:0 1px 4px rgba(0,0,0,.15)}
.mo-ai{padding:10px 12px;display:grid;gap:3px;min-width:0}.mo-ai b{font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mo-cont svg{width:12px;height:12px;color:var(--coral);vertical-align:-1px}
.mo-topo{display:grid;grid-template-columns:3fr 2fr;gap:12px}
.mo-kv{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px dashed var(--line);font-size:13px}.mo-kv span{color:var(--muted)}
.mo-p{margin:0;white-space:pre-wrap;font-size:13.5px;line-height:1.5}
.mo-midias{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.mo-m{display:grid;gap:6px;align-content:start;border:1px solid var(--line);border-radius:12px;padding:8px;background:#fff;min-width:0}
.mo-m.bloq{border-color:var(--coral);box-shadow:0 0 0 2px var(--coral-l)}
.mo-th{position:relative;display:block;width:100%;aspect-ratio:1;border:0;padding:0;border-radius:8px;overflow:hidden;background:var(--cyan-l);color:var(--cyan-d);cursor:zoom-in}
.mo-th img{width:100%;height:100%;object-fit:cover;display:block}.mo-th>span svg{width:36px;height:36px}
.mo-play,.mo-rc{position:absolute;bottom:6px;display:inline-flex;align-items:center;gap:3px;background:rgba(20,40,50,.72);color:#fff;font-style:normal;font-size:11px;font-weight:700;border-radius:99px;padding:2px 7px}
.mo-play{left:6px}.mo-rc{right:6px}.mo-play svg,.mo-rc svg{width:12px;height:12px}
.mo-leg{width:100%;padding:5px 8px;border:1px solid var(--line);border-radius:7px;font-size:12.5px}
.mo-leg:focus{outline:2px solid var(--cyan);outline-offset:-1px}
.mo-tags{display:flex;flex-wrap:wrap;gap:3px;min-height:20px}
.mo-mb{display:flex;gap:4px}.mo-mb .btn{flex:1;justify-content:center}.mo-mb svg{width:13px;height:13px}
.mo-prog{display:grid;gap:5px;margin-bottom:12px;font-size:13px}.mo-prog div{height:6px;background:var(--line);border-radius:99px;overflow:hidden}.mo-prog i{display:block;height:100%;background:var(--cyan);transition:width .3s}
.mo-marca{display:flex;gap:12px;align-items:center}.mo-marca img{width:84px;height:84px;object-fit:cover;border-radius:10px;flex:none}
.cu-p.mo-bl{opacity:.75;cursor:not-allowed;background:#fafafa}.cu-p.mo-bl svg{width:12px;height:12px;vertical-align:-1px}
.mo-pub{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mo-pub .cu-p div{display:grid;gap:2px}
.mo-pub input{accent-color:var(--cyan);width:18px;height:18px;flex:none}
dialog.mo-dlg{width:min(680px,calc(100vw - 24px))}
dialog.mo-lb{border:0;padding:0;background:#111;color:#fff;width:min(1100px,96vw);max-height:94vh;border-radius:12px;overflow:hidden}
dialog.mo-lb::backdrop{background:rgba(10,15,20,.85)}
.mo-lbi{display:flex;align-items:center;justify-content:center;background:#000;height:min(78vh,760px)}
.mo-lbi img,.mo-lbi video{max-width:100%;max-height:100%;object-fit:contain}
.mo-lbt{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;font-size:13px;flex-wrap:wrap}
.mo-lbt .btn{background:#222;color:#fff;border-color:#444}
.mo-kpis{grid-template-columns:repeat(4,1fr);margin-bottom:12px}
.mo-per{display:flex;gap:6px;margin-bottom:12px}
.mo-port{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
.mo-tl{list-style:none;margin:0;padding:0;display:grid;gap:0}
.mo-tl li{display:grid;grid-template-columns:78px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.mo-tl li:last-child{border-bottom:0}
.mo-tld{font-size:12px;font-weight:700;color:var(--cyan-d);font-variant-numeric:tabular-nums;padding-top:2px}
.mo-tlc{display:grid;gap:6px;min-width:0}
.mo-rf{display:flex;gap:6px;flex-wrap:wrap}.mo-rf img{width:72px;height:72px;object-fit:cover;border-radius:8px}
.mo-av{display:grid;gap:10px}.mo-av textarea[readonly]{background:var(--bg)}
.mo-esc{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:6px;max-height:240px;overflow:auto}
.mo-esc label{position:relative;cursor:pointer;border-radius:8px;overflow:hidden;border:2px solid transparent;aspect-ratio:1}
.mo-esc label:has(input:checked){border-color:var(--cyan)}
.mo-esc input{position:absolute;top:5px;left:5px;width:17px;height:17px;accent-color:var(--cyan);display:block!important;margin:0}
.mo-esc img{width:100%;height:100%;object-fit:cover;display:block}
.mo-esc i{position:absolute;bottom:0;left:0;right:0;background:rgba(20,40,50,.7);color:#fff;font-size:10px;font-style:normal;text-align:center;padding:1px}
@media (max-width:900px){.mo-topo,.mo-port{grid-template-columns:1fr}.mo-pub{grid-template-columns:1fr}.mo-kpis{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.mo-midias{grid-template-columns:repeat(2,1fr)}.mo-grade{grid-template-columns:1fr 1fr}.mo-tl li{grid-template-columns:1fr;gap:4px}.mo-sel{margin:4px 0 0;max-width:100%}}
.mo-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.mo-scroll .tbl{min-width:560px}

/* ---------- Fase 13: secretaria complementar e painéis ---------- */
.se-tab{display:grid;gap:14px}
.se-card .hd{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.se-bts{display:flex;gap:6px;flex-wrap:wrap}
.se-saida{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px}
.se-saida span{display:block;font-size:11.5px;color:var(--muted)}
.se-saida b{font-size:13.5px;overflow-wrap:anywhere}
.se-det{margin-top:8px;font-size:12.5px}.se-det summary{cursor:pointer;color:var(--cyan-d);font-weight:700}
.se-t td,.se-t th{vertical-align:top}
.se-t .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.se-t code{font-size:12px;letter-spacing:.04em;white-space:nowrap}
.se-acts{white-space:nowrap;text-align:right}.se-acts .btn+.btn{margin-left:4px}
.se-dlg .grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.se-dlg .span2{grid-column:span 2}
.se-dash{display:grid;gap:14px}
.se-filtros{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.se-filtros .f{min-width:170px;flex:0 1 220px}
.se-aplicados{margin-top:-6px}
.se-kpis{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.se-panel h2{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.se-bar{position:relative;min-width:110px;height:20px;background:#EEF4F6;border-radius:5px;overflow:hidden}
.se-bar i{position:absolute;inset:0 auto 0 0;background:#BFE5EE}
.se-bar span{position:relative;display:block;padding:0 6px;line-height:20px;font-size:12px;font-weight:700}
.se-nota{max-width:900px}
.doc-val input{width:100%}.doc-val .small{margin-top:3px;line-height:1.35}
@media (max-width:760px){
  .se-saida{grid-template-columns:1fr 1fr}
  .se-dlg .grid2{grid-template-columns:1fr}.se-dlg .span2{grid-column:auto}
  .se-filtros .f{flex:1 1 100%;min-width:0}
}
.se-t .nw,.se-t .nw b{white-space:nowrap}
.se-t td.se-acts{white-space:normal;width:1%}.se-t td.se-acts .btn{display:block;width:100%;margin:0 0 4px}.se-t td.se-acts .btn+.btn{margin-left:0}
.se-hist td:nth-child(2){min-width:170px}
.se-t{font-size:13px}.se-t th,.se-t td{padding-left:8px;padding-right:8px}
.se-panel .empty{padding:18px 10px;min-height:0}
.se-kpis .dkpi.brl b{font-size:18px;white-space:nowrap}
@media (max-width:760px){
  .se-cards thead{display:none}
  .se-cards,.se-cards tbody,.se-cards tr,.se-cards td{display:block;width:100%}
  .se-cards tr{border:1px solid var(--line);border-radius:10px;margin:0 0 10px;padding:8px 10px;background:#fff}
  .se-cards td{border:0;padding:3px 0;display:grid;grid-template-columns:96px 1fr;gap:8px;min-width:0!important}
  .se-cards td[data-l]::before{content:attr(data-l);font-size:11.5px;color:var(--muted);font-weight:700}
  .se-cards td.se-acts{display:flex;gap:6px;width:100%;padding-top:6px}.se-cards td.se-acts .btn{width:auto;margin:0}
  .se-cards td.se-acts:empty{display:none}
}
@media (max-width:760px){.se-cards td[data-l]>*{grid-column:2;justify-self:start}.se-cards tr:nth-child(even) td{background:transparent}}

/* ===== Fase 14: CRM de matrículas e estoque ===== */
.crm .se-filtros .chk,.est .se-filtros .chk{align-self:end;padding-bottom:8px;font-size:13px}
.crm .seg{align-self:end}
.crm-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:10px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity}
.crm-col{background:#EEF3F4;border-radius:10px;padding:8px;min-height:120px;scroll-snap-align:start;display:flex;flex-direction:column;gap:8px}
.crm-col h3{margin:0;display:flex;align-items:center;gap:6px;font-size:13px;padding:2px 4px}.crm-col h3 .tag{margin:0;font-size:11.5px}.crm-col h3 .sp{flex:1}
.crm-cards{display:grid;gap:8px}
.crm-card{display:grid;gap:3px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:9px 10px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);font-size:13px}
.crm-card:hover{border-color:var(--cyan)}.crm-card:focus-visible{outline:2px solid var(--cyan);outline-offset:1px}
.crm-card.late{border-left:3px solid var(--yellow)}
.crm-card b{font-size:13.5px}.crm-card>span{color:var(--muted)}.crm-card small{font-size:11.5px}
.crm-meta{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.crm-meta .tag{margin:0}.crm-meta small{color:var(--muted)}
.crm-vazio{padding:6px 4px}
.crm-steps{list-style:none;margin:0;padding:0;display:flex;gap:4px;overflow-x:auto}
.crm-steps li{flex:1 1 0;min-width:108px}
.crm-steps li>*{display:block;width:100%;text-align:center;font:inherit;font-size:12px;font-weight:700;padding:8px 6px;border-radius:8px;background:#EEF2F3;color:var(--muted);border:1px solid transparent;white-space:nowrap}
.crm-steps li.past>*{background:var(--cyan-l);color:var(--cyan-d)}
.crm-steps li.now>*{background:var(--cyan-d);color:#fff}
.crm-steps li button{cursor:pointer}.crm-steps li button:hover{border-color:var(--cyan)}
.crm-acoes{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.crm-acoes .sp{flex:1}
.crm-cols{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:14px;align-items:start}
.crm-main,.crm-side{display:grid;gap:14px;min-width:0}
.crm-tl{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.crm-tl li{border-left:3px solid var(--line);padding:2px 0 2px 10px}
.crm-tl li div{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;font-size:12.5px}.crm-tl li p{margin:2px 0 0;font-size:13.5px;white-space:pre-wrap}
.crm-tl li.t-etapa{border-color:var(--cyan)}.crm-tl li.t-visita{border-color:var(--ok)}.crm-tl li.t-prop{border-color:var(--yellow)}
.crm-vis,.crm-vlist{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.crm-vis li{display:grid;gap:6px;font-size:13px}.crm-vbt{display:flex;flex-wrap:wrap;gap:6px}
.crm-vrow{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:10px;align-items:start;font-size:13.5px}
.crm-vrow .h{font-weight:800;color:var(--cyan-d);font-size:15px}
.crm-prop{gap:6px}.crm-prop>div{display:grid;gap:2px}.crm-prop b{font-size:20px;color:var(--cyan-d)}
.crm-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0;font-size:13px}.crm-dl dt{color:var(--muted)}.crm-dl dd{margin:0;min-width:0;overflow-wrap:anywhere}
.crm-dl select{padding:4px 8px;border:1px solid var(--line);border-radius:7px;background:#fff;font:inherit;max-width:100%}
.crm-nav{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.crm-nav .sp{flex:1}
dialog.crm-dlg{width:min(640px,calc(100vw - 24px))}
dialog.dlg form{max-height:calc(100vh - 40px);overflow:auto}
.crm-slots{display:grid;gap:10px;max-height:300px;overflow:auto;padding-right:4px}
.crm-dia b{display:block;font-size:12.5px;text-transform:capitalize;margin-bottom:4px}.crm-dia>div{display:flex;flex-wrap:wrap;gap:6px}
.crm-slot{position:relative}.crm-slot input{position:absolute;opacity:0;inset:0;cursor:pointer}
.crm-slot span{display:inline-block;border:1px solid var(--line);border-radius:99px;padding:5px 12px;font-weight:700;font-size:13px;background:#fff}
.crm-slot input:checked+span{background:var(--cyan-d);border-color:var(--cyan-d);color:#fff}.crm-slot input:focus-visible+span{outline:2px solid var(--cyan)}
.crm-slot.cheio span{color:#aab6ba;text-decoration:line-through;background:#F3F6F7}
.crm-encaixe summary{cursor:pointer;font-size:13px;color:var(--cyan-d);font-weight:700}.crm-encaixe .grid2{margin-top:8px}
.crm-dsem{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;text-transform:capitalize}
.alert.r{background:var(--coral-l);color:#8c2f2f;border-radius:8px;padding:10px 12px;font-size:13px}
.alert.ok{background:var(--ok-l);color:#1f6a40;border-radius:8px;padding:10px 12px;font-size:13px}
.alert.b{background:var(--cyan-l);color:var(--cyan-d);border-radius:8px;padding:10px 12px;font-size:13px}
.alert .btn.mini{margin-left:6px}
/* estoque */
.est-rows{display:grid;gap:8px}
.est-row{display:grid;grid-template-columns:minmax(0,2.2fr) 80px 40px minmax(0,1fr) 140px 34px;gap:6px;align-items:center}
.est-hd{display:grid;grid-template-columns:minmax(0,2.2fr) 80px 40px minmax(0,1fr) 140px 34px;gap:6px;padding:0 2px}
.est-row select,.est-row input{padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;font:inherit;font-size:13px;min-width:0;width:100%}
.est-row .un{font-size:12px}
.est-sol{grid-template-columns:minmax(0,2.2fr) 80px 40px minmax(0,1fr) minmax(0,1.4fr) 34px}
.est-cmp{grid-template-columns:minmax(0,1fr) 130px;font-size:13px}
.est-rcb{grid-template-columns:minmax(0,1.6fr) 80px 110px 140px;font-size:13px}.est-rcb small{display:block}
dialog.est-dlg{width:min(760px,calc(100vw - 24px))}
tr.est-estornado td{color:var(--muted)}tr.est-estornado td b{font-weight:400}
.est-t td b{font-size:14px}
a.dkpi[href]:hover{border-color:var(--cyan)}
@media (max-width:900px){.crm-cols{grid-template-columns:minmax(0,1fr)}}
@media (max-width:760px){
  .crm-board{grid-auto-columns:82%}
  .crm-steps li{min-width:96px}
  .crm-vrow{grid-template-columns:48px minmax(0,1fr)}.crm-vrow .crm-vbt{grid-column:2}
  .est-row,.est-sol{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px;row-gap:6px;padding-bottom:8px;border-bottom:1px dashed var(--line)}
  .est-row select{grid-column:1/-1}.est-row .un{display:none}
  .est-row input[name=validade],.est-row input[name=obs]{grid-column:1/3}
  .est-row [data-rm]{grid-column:3;justify-self:end}
  .est-hd{display:none}
  .est-rcb{grid-template-columns:minmax(0,1fr) 72px}.est-rcb>span{grid-column:1/-1}
  .est-cmp{grid-template-columns:minmax(0,1fr) 110px}
}
@media (max-width:760px){
  table.se-cards td{display:block;position:relative;padding:4px 0 4px 104px;text-align:left!important;border:0!important;min-height:22px;overflow-wrap:anywhere}
  table.se-cards td:not([data-l]){padding-left:0}
  table.se-cards td[data-l]::before{position:absolute;left:0;top:5px;width:96px}
  table.se-cards td.se-acts{display:flex;padding-left:0}
  table.se-cards td[data-l]>*{justify-self:auto}
}
#estMais,#sMais{width:auto;justify-self:start;align-self:start}

/* ===== Fase 15: contas e tesouraria ===== */
.cnt .neg,.cnt-dlg .neg{color:var(--coral)}.cnt .pos{color:var(--ok)}
.cnt-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.cnt-2>div{display:grid;gap:14px;min-width:0}
.cnt-aviso .bd{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;font-size:13.5px}
.cnt-aviso{border-left:3px solid var(--cyan)}.cnt-aviso.r{border-left-color:var(--coral);background:var(--coral-l)}
.cnt-saldos{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:2px}
.cnt-saldos li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}
.cnt-saldos li:last-child{border-bottom:0}.cnt-saldos b{font-variant-numeric:tabular-nums}
.cnt-dist{display:grid;gap:6px}.cnt-dist>div{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.cnt-tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);overflow-x:auto;margin-bottom:2px;scrollbar-width:thin}
.cnt-tabs a{padding:9px 13px;font-weight:700;font-size:13px;color:var(--muted);text-decoration:none;border-bottom:3px solid transparent;margin-bottom:-1px;white-space:nowrap}
.cnt-tabs a:hover{color:var(--cyan-d)}.cnt-tabs a.on{color:var(--cyan-d);border-bottom-color:var(--cyan)}
.cnt-xtopo .cnt-tabs{flex:1;align-self:end}
.cnt-t td.chk,.cnt-t th.chk{width:34px}
.cnt-lote{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end;padding:10px 14px;border-top:1px solid var(--line)}
.cnt-form .cnt-novoforn{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:10px}
.cnt-form .cnt-novoforn[hidden],.cnt-pago[hidden]{display:none}
.cnt-dl{display:grid;gap:0;margin:0}.cnt-dl>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.cnt-dl>div:last-child{border-bottom:0}.cnt-dl dt{color:var(--muted)}.cnt-dl dd{margin:0;overflow-wrap:anywhere}
.cnt-cod{font-size:12px;background:#EEF3F4;border-radius:5px;padding:2px 5px;word-break:break-all}
.cnt-atual td{background:var(--cyan-l)}
.cnt-trunc{max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.est-row.cnt-parc,.est-hd.cnt-parc{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 34px}
dialog.cnt-dlg .est-rows{margin:10px 0 6px}
.cnt-mesnav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cnt-mesnav input{width:auto;max-width:180px}
.cnt-cat td{font-size:13.5px}.cnt-cat .cnt-grp td{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:#F5F8F9;padding-top:9px}
.cnt-tot td{font-weight:700;border-top:2px solid var(--line)}
.cnt-barras{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;align-items:end;height:170px}
.cnt-bar{display:grid;grid-template-rows:1fr auto auto;height:100%;text-align:center;gap:2px;min-width:0}
.cnt-bar small{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cnt-bar-par{display:flex;align-items:flex-end;justify-content:center;gap:4px;height:100%}
.cnt-bar-par span{width:min(22px,40%);border-radius:4px 4px 0 0;min-height:2px}
.cnt-bar-par .e,.cnt-leg.e{background:var(--cyan)}.cnt-bar-par .s,.cnt-leg.s{background:var(--coral)}
.cnt-leg{display:inline-block;width:10px;height:10px;border-radius:2px;vertical-align:middle;margin-left:6px}
.cnt-sel{width:auto;max-width:220px;font-size:13px;padding:5px 8px}
.cnt-xtopo{align-items:end}
.cnt-conf .bd{font-size:13.5px;display:block}.cnt-conf.ok{border-left:3px solid var(--ok)}.cnt-conf.r{border-left:3px solid var(--coral)}
.cnt-xlist{display:grid;gap:10px}
.cnt-x{overflow:hidden}
.cnt-xhd{display:grid;grid-template-columns:92px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 14px;font-size:14px}
.cnt-xhd .tag{margin:0}.cnt-xd{color:var(--muted);font-variant-numeric:tabular-nums}.cnt-xdesc{overflow-wrap:anywhere}
.cnt-xhd b{font-variant-numeric:tabular-nums;white-space:nowrap}
.cnt-xbd{padding:0 14px 12px;display:grid;gap:8px}
.cnt-sugs{display:grid;gap:6px}
.cnt-sug{display:flex;gap:8px;align-items:flex-start;padding:7px 9px;border:1px solid var(--line);border-radius:8px;font-size:13px;cursor:pointer}
.cnt-sug:hover{border-color:var(--cyan)}.cnt-sug.ex{border-color:var(--ok);background:var(--ok-l)}
.cnt-sug input{width:auto;margin-top:2px;flex:none}
.cnt-xbt{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.cnt-xbt .sp{flex:1}
.cnt-vinc{margin:0;padding-left:18px;font-size:13px}
.cnt-plista{max-height:320px;overflow:auto;margin:8px 0}
.cnt-busca input{min-width:240px}
.cnt-cfg fieldset{border:0;padding:0;margin:0;min-width:0}
.cnt-h3{font-size:14px;margin:16px 0 2px}
@media (max-width:900px){.cnt-2{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){
  .cnt-xhd{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}
  .cnt-xhd .cnt-xd{grid-column:1}.cnt-xhd .tag{grid-column:2;grid-row:1;justify-self:end}
  .cnt-xhd .cnt-xdesc{grid-column:1/-1}.cnt-xhd b{grid-column:1/-1}
  .cnt-dl>div{grid-template-columns:minmax(0,1fr);gap:2px}
  .cnt-form .cnt-novoforn{grid-template-columns:minmax(0,1fr)}
  .cnt-barras{gap:4px;height:150px}
  .cnt-busca,.cnt-busca input{min-width:0;width:100%}
  .est-row.cnt-parc{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 34px;border-bottom:0;padding-bottom:0}
  .cnt-trunc{max-width:none;white-space:normal}
}
.cnt-confp{margin:0;line-height:1.5}
#nMaisP{width:auto;justify-self:start;align-self:start}
.cnt-busca input{border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:inherit;font-size:13.5px;background:#fff;color:var(--ink)}.cnt-busca input:focus{outline:2px solid var(--cyan);outline-offset:0;border-color:var(--cyan)}
.cnt-confp strong{white-space:nowrap}

/* ===== Fase 16: chat com as famílias e mural das turmas ===== */
.ch{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:14px;height:calc(100vh - 170px);min-height:460px}
.ch>.panel{display:flex;flex-direction:column;min-height:0;overflow:hidden;margin:0}
.ch-busca{padding:10px;border-bottom:1px solid var(--line);display:grid;gap:8px}
.ch-busca input{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font:inherit}
.ch-filtros{display:flex;gap:6px;flex-wrap:wrap}
.ch-filtros a{padding:4px 10px;border-radius:999px;border:1px solid var(--line);text-decoration:none;color:var(--muted);font-size:12px;font-weight:600}
.ch-filtros a.on{background:var(--cyan-l);border-color:var(--cyan);color:var(--cyan-d)}
.ch-lista{overflow-y:auto;flex:1}
.ch-i{display:grid;grid-template-columns:38px 1fr;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.ch-i:hover{background:var(--bg)}.ch-i.on{background:var(--cyan-l)}
.ch-i.pend .ch-l1 b{color:var(--cyan-d)}
.ch-av{width:38px;height:38px;border-radius:50%;background:var(--yellow-l);color:var(--mustard);display:grid;place-items:center;font-weight:800;text-transform:uppercase}
.ch-tx{min-width:0;display:grid;gap:1px}
.ch-l1{display:flex;gap:6px;justify-content:space-between;align-items:baseline}
.ch-l1 b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ch-q{color:var(--muted);font-size:11px;flex-shrink:0}
.ch-l2{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ch-l3{display:flex;gap:6px;align-items:center;font-size:12.5px;color:var(--ink)}
.ch-l3 span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.ch-bdg{font-style:normal;background:var(--coral);color:#fff;border-radius:999px;font-size:11px;font-weight:800;min-width:19px;height:19px;padding:0 5px;display:grid;place-items:center}
.ch-vazio{padding:22px 16px;color:var(--muted);text-align:center;font-size:13px}
.ch-nada{margin:auto;max-width:360px;text-align:center;padding:24px;color:var(--ink)}
.ch-hd{display:flex;gap:10px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line)}
.ch-hd .ch-tx{flex:1}.ch-hd .ch-tx span{color:var(--muted);font-size:12px}
.ch-volta{display:none}
.ch-aviso{background:var(--yellow-l);color:#6b4b00;padding:8px 14px;font-size:12.5px;border-bottom:1px solid var(--line)}
.ch-msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px;background:var(--bg)}
.ch-dia{text-align:center;margin:6px 0}.ch-dia span{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:2px 10px;font-size:11px;color:var(--muted)}
.ch-m{max-width:76%;display:grid;gap:2px}
.ch-m.eu{align-self:flex-end;justify-items:end}.ch-m.ele{align-self:flex-start}
.ch-b{white-space:pre-wrap;overflow-wrap:anywhere;padding:8px 12px;border-radius:14px;line-height:1.45;background:var(--card);border:1px solid var(--line)}
.ch-m.eu .ch-b{background:var(--cyan);border-color:var(--cyan);color:#fff;border-bottom-right-radius:4px}
.ch-m.ele .ch-b{border-bottom-left-radius:4px}
.ch-meta{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:3px}
.ch-st{display:inline-flex;color:var(--muted)}.ch-st.lida{color:var(--cyan-d)}
.ch-f{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line);align-items:flex-end;background:var(--card)}
.ch-f textarea{flex:1;resize:none;border:1px solid var(--line);border-radius:10px;padding:9px 12px;font:inherit;max-height:160px;min-height:40px}
.ch-f textarea:focus{outline:2px solid var(--cyan-l);border-color:var(--cyan)}
.ch-env{height:40px;width:44px;justify-content:center;padding:0}
.ch-dica{margin:0;padding:0 14px 8px;font-size:11px;color:var(--muted);background:var(--card)}
.ch-contatos{display:grid;gap:4px;max-height:240px;overflow-y:auto;margin:4px 0 10px;border:1px solid var(--line);border-radius:8px;padding:4px}
.ch-ct{display:grid;text-align:left;gap:1px;border:0;background:none;padding:7px 9px;border-radius:6px;cursor:pointer;font:inherit;color:inherit}
.ch-ct span{font-size:12px;color:var(--muted)}
.ch-ct:hover:not([disabled]){background:var(--bg)}.ch-ct.on{background:var(--cyan-l);outline:1px solid var(--cyan)}
.ch-ct[disabled]{opacity:.55;cursor:not-allowed}
.ch-dlg{width:min(560px,94vw)}
.mu-filtros{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;margin-bottom:12px}
.mu-lista{display:grid;gap:12px}
.mu-c h3{margin:6px 0 4px;font-size:16px}
.mu-c.rem{opacity:.7}
.mu-hd{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.mu-tx{white-space:pre-wrap;margin:0 0 10px;line-height:1.5}
.mu-rod{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.mu-prog{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted);flex:1;min-width:200px}
.mu-prog .bar{flex:1;max-width:220px;height:7px;background:var(--line);border-radius:99px;overflow:hidden}
.mu-prog .bar i{display:block;height:100%;background:var(--ok)}
.mu-ts{border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin:0 0 10px;display:flex;gap:14px;flex-wrap:wrap}
.mu-ts legend{font-size:12px;font-weight:700;padding:0 4px}
.mu-lt{max-height:50vh;overflow-y:auto}
@media (max-width:820px){
  .ch{grid-template-columns:1fr;height:calc(100dvh - 215px);min-height:400px}
  .ch-dica{display:none}
  .ch.aberta .ch-lado{display:none}.ch:not(.aberta) .ch-conv{display:none}
  .ch-volta{display:inline-flex}.ch-m{max-width:88%}
}
.ch-hor{display:flex;gap:8px;align-items:flex-start;padding:8px 12px;font-size:12px;line-height:1.4;border-bottom:1px solid var(--line)}
.ch-hor:empty{display:none}
.ch-hor i{width:8px;height:8px;border-radius:50%;flex:none;margin-top:4px;background:var(--muted)}
.ch-hor.ok{background:var(--ok-l);color:#1F6340}.ch-hor.ok i{background:var(--ok)}
.ch-hor.fora{background:var(--yellow-l);color:#6b4b00}.ch-hor.fora i{background:var(--mustard)}
.ch-hf .ch-hor{border:0;border-radius:8px;margin:6px 0}
.ch-hf .chk{display:flex;gap:8px;align-items:flex-start;margin:6px 0}
.ch-m.auto .ch-b{background:var(--card);color:var(--muted);border:1px dashed var(--line);font-size:13px}
.ch-hf .btn.lk{border:0;padding:0;background:none;color:var(--cyan-d);text-decoration:underline;font-weight:600;font-size:12px}
/* diário: horários de sono e banho */
.dg-sono{grid-template-columns:auto 1fr 1fr;align-items:end}
.dg-sono:not(:has(.dg-n)){grid-template-columns:1fr 1fr}
.dg-sono label,.dg-horas label{display:grid;gap:3px;font-size:12px;color:var(--muted)}
.dg-n{font-size:12px;font-weight:700;color:var(--muted);padding-bottom:10px}
.dg-horas{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:4px 0}
.dg-hw{display:flex;gap:6px;align-items:center}
.dg-h{width:100%;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:16px;font-variant-numeric:tabular-nums;color:var(--ink);background:var(--card)}
.dg-h:focus{outline:2px solid var(--cyan-l);border-color:var(--cyan)}
.dg-h.err{border-color:var(--coral);background:var(--coral-l)}
.dg-agora{flex:none}
.dg-msg{margin:4px 0 0;font-size:12px;min-height:16px;color:var(--muted)}
.dg-msg.ok{color:var(--ok)}.dg-msg.err{color:var(--coral)}

/* ícones do diário */
.di-ic{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;flex:none;vertical-align:middle}
.di-ic svg{width:17px;height:17px}
.di-ic.t-c{background:var(--cyan-l);color:var(--cyan-d)}
.di-ic.t-y{background:var(--yellow-l);color:#9A6A00}
.di-ic.t-r{background:var(--coral-l);color:#C94848}
.di-ic.t-g{background:var(--ok-l);color:var(--ok)}
.di-ic.t-n{background:var(--bg);color:var(--muted);border:1px solid var(--line)}
.di-hu{display:inline-flex;width:16px;height:16px;margin-right:5px;vertical-align:-3px;color:#9A6A00}
.di-hu svg{width:16px;height:16px}
.dg-fs legend{display:inline-flex;align-items:center;gap:7px}
.di-lb{display:inline-flex;align-items:center;gap:7px}
.di-lb .di-ic{width:22px;height:22px;border-radius:7px}.di-lb .di-ic svg{width:14px;height:14px}
.dg-chips .btn.on .di-hu{color:inherit}
/* ícones no resumo da rotina (cartões e revisão) */
.di-lista{display:grid;gap:5px}
.di-it{display:flex;align-items:flex-start;gap:7px;font-size:13px;line-height:1.4}
.di-it>span:last-child{min-width:0;padding-top:1px}
.di-ic.sm{width:20px;height:20px;border-radius:6px}.di-ic.sm svg{width:13px;height:13px}
.di-it .di-hu{width:14px;height:14px;margin-right:4px;vertical-align:-2px}.di-it .di-hu svg{width:14px;height:14px}
.dg-res .dg-obs{margin-top:6px}
.dg-rv .di-it.muted{color:var(--muted)}
.dg-pubv{display:grid;gap:6px;margin:10px 0}
/* ícones nos cartões das turmas (tela inicial do diário) */
.dg-t1.di-tt{justify-content:flex-start;align-items:center;gap:10px}
.di-tt>div{display:grid;gap:1px;min-width:0}
.di-ic.lg{width:38px;height:38px;border-radius:11px}.di-ic.lg svg{width:22px;height:22px}
.di-nums>span{display:inline-flex;align-items:center;gap:6px}
.di-prog{height:6px;border-radius:99px;background:var(--line);overflow:hidden}
.di-prog i{display:block;height:100%;background:var(--cyan);border-radius:99px}
.dg-vivo{display:flex;gap:8px;align-items:flex-start;padding:9px 12px;border-radius:10px;background:var(--ok-l);color:#1F6340;font-size:13px;line-height:1.45}
.dg-vivo b{color:#1F6340}
.dg-vivo-t{color:var(--ok)!important}
/* mensagens do diário */
.fm{display:grid;gap:14px;max-width:980px}
.fm-intro p{margin:0;line-height:1.5}.fm-intro code{background:var(--cyan-l);color:var(--cyan-d);border-radius:5px;padding:1px 5px;font-size:12.5px}
.fm-obs{color:var(--muted);font-size:13px}
.fm-ex{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;font-weight:700;color:var(--muted)}
.fm-ex .seg button[aria-checked=true]{background:var(--cyan);color:#fff}
.fm-cnt{font-size:12px;font-weight:700;color:var(--cyan-d)}
.fm-lista{gap:0!important;padding:0!important}
.fm-row{display:grid;gap:8px;padding:14px 16px;border-top:1px solid var(--line)}
.fm-row:first-child{border-top:0}
.fm-row.pers{background:linear-gradient(90deg,var(--cyan-l) 0,var(--cyan-l) 3px,transparent 3px)}
.fm-row.erro{background:linear-gradient(90deg,var(--coral) 0,var(--coral) 3px,transparent 3px)}
.fm-hd{display:flex;align-items:center;gap:8px;min-width:0}.fm-hd .sp{flex:1}
.fm-tag{display:none;margin:0}.fm-row.pers .fm-tag{display:inline-block}
.fm-rest{font-size:12.5px;visibility:hidden}.fm-row.pers .fm-rest{visibility:visible}
.fm-row input[type=text],.fm-row .f input[type=text]{font-weight:400!important;color:var(--ink)!important;width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 11px;font:inherit;font-size:14px;background:#fff;min-width:0}
.fm-row input[type=text]:focus{outline:2px solid var(--cyan);outline-offset:-1px;border-color:var(--cyan)}
.fm-gen summary{cursor:pointer;font-size:12.5px;font-weight:700;color:var(--muted);width:max-content;max-width:100%}
.fm-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
.fm-vars{display:flex;flex-wrap:wrap;gap:6px}
.fm-var{border:1px dashed #A9C7CE;background:#fff;color:var(--cyan-d);border-radius:999px;padding:3px 9px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.fm-var:hover{background:var(--cyan-l);border-style:solid}
.fm-prev{font-size:13.5px;background:var(--bg);border-radius:10px;padding:9px 12px;line-height:1.45}
.fm-quem{font-weight:800;margin-right:4px}.fm-quem::after{content:':'}
.fm-err{color:#B23A3A;font-weight:700}
@media (max-width:640px){.fm-cols{grid-template-columns:1fr}.fm-row{padding:12px}}

/* ---------- Cancelamento e distrato ---------- */
.alert.g{background:#F1F4F5;color:var(--muted)}
.rc-filtros{display:flex;gap:6px;margin-bottom:12px}
.rc-filtros .chip{text-decoration:none}
.rc-filtros .chip.on{background:var(--cyan-d);border-color:var(--cyan-d);color:#fff}
.rc-det{display:grid;gap:14px;align-content:start}
.rc-det .card .hd,.rc-ass .hd{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.rc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:14px;align-items:start}
.rc-passos{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;margin:4px 0 10px;padding:0;counter-reset:p}
.rc-passos li{counter-increment:p;font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:6px}
.rc-passos li::before{content:counter(p);width:20px;height:20px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;font-size:11px;font-weight:800}
.rc-passos li.ok{color:var(--ink);font-weight:700}
.rc-passos li.ok::before{content:'✓';background:var(--ok);border-color:var(--ok);color:#fff}
.rc-bts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.rc-resumo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin-bottom:6px}
.rc-resumo>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.rc-resumo>div.w{grid-column:1/-1}
.rc-resumo span{font-size:11.5px;color:var(--muted)}
.rc-resumo b{font-size:13.5px;overflow-wrap:anywhere}
.rc-ass{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}
.rc-calc td,.rc-calc th{font-size:12.5px}
.rc-linhas{display:grid;gap:6px;margin-top:10px}
.rc-linhas>div{display:flex;justify-content:space-between;gap:12px;font-size:13px;border-bottom:1px dashed var(--line);padding-bottom:5px}
.rc-linhas>div b{white-space:nowrap}
.rc-linhas .tot{border-bottom:0;background:var(--cyan-l);border-radius:8px;padding:8px 10px;font-size:14px}
.rc-form{display:grid;gap:10px;max-width:560px}
.rc-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rc-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.rc-orig,.rc-ano{border:1px solid var(--line);border-radius:10px;padding:8px 12px;display:grid;gap:6px}
.rc-orig legend,.rc-ano legend{font-size:12px;font-weight:800;color:var(--muted);padding:0 4px}
.rc-r{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
.rc-r input{margin-top:3px}
.rc-r span{display:flex;flex-direction:column;gap:2px}
.rc-r small{color:var(--muted);font-size:12px}
@media (max-width:900px){.rc-grid{grid-template-columns:1fr}}
@media (max-width:560px){.rc-2,.rc-3,.rc-resumo{grid-template-columns:1fr}.rc-linhas>div{flex-direction:column;gap:2px}.rc-linhas>div b{white-space:normal}}
.fn-g2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
@media (max-width:560px){.fn-g2{grid-template-columns:1fr}}
.txt-r{color:var(--danger,#b4483b)}
