:root{
  --bg:#EEF1F4;--surface:#FFFFFF;--surface-2:#F7F9FB;--ink:#15272E;--muted:#5F727C;--faint:#8B9AA2;
  --line:#E4E9ED;--line-2:#EDF1F4;--ok:#10B981;--warn:#F59E0B;--alert:#EF4444;--info:#3B82F6;
  --ok-bg:#E6F7F0;--warn-bg:#FEF3E2;--alert-bg:#FDECEC;--info-bg:#E8F1FE;
  --radius:16px;--radius-sm:10px;--shadow-sm:0 1px 2px rgba(21,39,46,.06);
  --shadow:0 1px 2px rgba(21,39,46,.05),0 8px 24px -12px rgba(21,39,46,.18);
  --accent:#6D28D9;--accent-ink:#4C1D95;--accent-bg:#F0EBFB;
  --font-display:"Bricolage Grotesque","Inter",system-ui,sans-serif;--font-body:"Inter",system-ui,"Segoe UI",Roboto,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;max-width:100%;overflow-x:clip}
body{font-family:var(--font-body);background:var(--bg);color:var(--ink);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--font-display);margin:0;letter-spacing:-.01em;font-weight:600}
button,input,select,textarea{font-family:inherit;font-size:13px}
button{cursor:pointer}
:focus-visible{outline:2.5px solid var(--accent);outline-offset:2px;border-radius:6px}
[hidden]{display:none!important}

.topbar{position:sticky;top:0;z-index:40;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;padding:11px 22px}
.brand{display:flex;align-items:center;gap:11px;flex-shrink:0;color:inherit;text-decoration:none;cursor:pointer}
.logomark{width:38px;height:38px;border-radius:12px;background:linear-gradient(140deg,#12B886,#0E7C66);display:grid;place-items:center;color:#fff;box-shadow:0 6px 16px -6px rgba(14,124,102,.6)}
.brand .name{font-family:var(--font-display);font-weight:700;font-size:17px;line-height:1}
.brand .sub{font-size:11.5px;color:var(--faint);margin-top:3px}
.school{padding:7px 13px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);font-size:12.5px;color:var(--muted);font-weight:500}
.school b{color:var(--ink);font-weight:600}
.top-user{display:flex;align-items:center;gap:9px}
.who{font-weight:700;font-size:13px;text-align:left;line-height:1.25}
.who small{display:block;font-weight:500;color:var(--muted);font-size:11.5px}
.top-exit{display:inline-flex;align-items:center;gap:6px}
.hamb{display:none;width:40px;height:40px;border-radius:11px;border:1px solid var(--line);background:var(--surface);font-size:18px}
.spacer{flex:1}
.shell{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:calc(100vh - 64px)}
.sidebar{background:var(--surface);border-right:1px solid var(--line);padding:18px 14px;position:sticky;top:64px;height:calc(100vh - 64px);overflow:auto;align-self:start}
.user-chip{display:flex;align-items:center;gap:11px;padding:11px;border-radius:14px;background:var(--accent-bg);margin-bottom:12px}
.avatar{width:40px;height:40px;border-radius:11px;flex-shrink:0;display:grid;place-items:center;background:var(--accent);color:#fff;font-weight:700;font-size:15px;font-family:var(--font-display)}
.avatar.sm{width:32px;height:32px;font-size:12px;border-radius:9px}
.user-chip .u-name{font-weight:600;font-size:13.5px;line-height:1.2}
.user-chip .u-role{font-size:11.5px;color:var(--accent-ink);font-weight:600;margin-top:2px}
.nav-head{font-size:10.5px;letter-spacing:.06em;color:var(--faint);font-weight:700;padding:14px 10px 5px}
.nav-item{display:flex;align-items:center;gap:11px;padding:10px 11px;border-radius:11px;color:var(--muted);font-weight:500;font-size:13.5px;text-decoration:none;position:relative;transition:.13s}
.nav-item svg{flex-shrink:0}
.nav-item:hover{background:var(--surface-2);color:var(--ink)}
.nav-item.active{background:var(--accent-bg);color:var(--accent-ink);font-weight:600}
.nav-item.active::before{content:"";position:absolute;left:-14px;top:9px;bottom:9px;width:3.5px;border-radius:0 4px 4px 0;background:var(--accent)}
.sb-overlay{display:none}
.content{padding:24px 26px;min-width:0}
.page-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.page-head h1{font-size:25px;font-weight:700}
.page-head .sub{color:var(--muted);font-size:13.5px;width:100%;margin-top:-6px}

.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:9px 14px;font-weight:600}
.btn:hover{background:var(--surface-2)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 6px 16px -6px var(--accent)}
.btn.primary:hover{background:var(--accent-ink)}
.btn.danger{color:var(--alert);border-color:#F5C2C2}
.btn.sm{padding:5px 10px;font-size:12px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm);margin-bottom:16px}
.card h3{font-size:16px;margin-bottom:10px}
.grid{display:grid;gap:14px}
.g-4{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm)}
.kpi b{display:block;font-family:var(--font-display);font-size:30px;line-height:1.1}
.kpi span{color:var(--muted);font-size:12.5px}
.kpi.warn{border-color:#F6DFB0;background:var(--warn-bg)}
.pill{display:inline-flex;font-size:11.5px;font-weight:600;padding:2px 9px;border-radius:999px;background:var(--surface-2);color:var(--muted)}
.pill.ok{background:var(--ok-bg);color:#047857}.pill.warn{background:var(--warn-bg);color:#B45309}
.pill.alert{background:var(--alert-bg);color:#B91C1C}.pill.info{background:var(--info-bg);color:#1D4ED8}.pill.accent{background:var(--accent-bg);color:var(--accent-ink)}

.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px;align-items:center}
input,select,textarea{border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:var(--surface);color:var(--ink);min-width:0}
textarea{width:100%;resize:vertical}
.tbl-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse}
th{font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--faint);text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:10px;border-bottom:1px solid var(--line-2);vertical-align:middle}
tr.click{cursor:pointer}tr.click:hover td{background:var(--surface-2)}
.empty{color:var(--muted);padding:22px;text-align:center}
.right{text-align:right;white-space:nowrap}
.muted{color:var(--muted)}.small{font-size:12px}

.modal-bg{position:fixed;inset:0;background:rgba(21,39,46,.45);display:flex;align-items:flex-start;justify-content:center;padding:4vh 14px;overflow:auto;z-index:50}
.modal{background:var(--surface);border-radius:20px;padding:22px 24px;box-shadow:var(--shadow);width:100%;max-width:640px}
.modal h2{font-size:20px;margin-bottom:14px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fld{display:block}.fld.full{grid-column:1/-1}
.fld>span{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:4px}
.fld>small.muted{display:block;font-size:12px;line-height:1.4;margin-top:4px;font-weight:400}
.fld input,.fld select{width:100%}
.actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}
.err{background:var(--alert-bg);color:#B91C1C;border-radius:10px;padding:9px 12px;margin-top:12px;font-size:13px}
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:11px 18px;border-radius:12px;z-index:80;box-shadow:var(--shadow)}
.toast.bad{background:#B91C1C}
.list-row{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line-2)}
.list-row .grow{flex:1;min-width:0}
.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.checks label{display:flex;gap:8px;align-items:center}
details pre{background:var(--surface-2);border-radius:8px;padding:8px;font-size:11.5px;overflow:auto;max-width:520px;margin:6px 0 0}

.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:30px;width:100%;max-width:400px}
.auth-card h1{font-size:26px;color:var(--accent-ink);margin-bottom:4px}
.auth-card .fld{margin-top:14px}

@media(max-width:860px){
  .shell{grid-template-columns:1fr}
  .sidebar{position:fixed;left:0;top:0;bottom:0;height:auto;width:252px;z-index:60;transform:translateX(-100%);transition:transform .22s;box-shadow:0 12px 40px rgba(0,0,0,.22)}
  .shell.open .sidebar{transform:none}
  .shell.open ~ .sb-overlay{display:block;position:fixed;inset:0;background:rgba(21,39,46,.4);z-index:55}
  .hamb{display:inline-grid;place-items:center}
  .who,.brand .sub,.school{display:none}
  .topbar{padding:10px 12px;gap:10px}
  .content{padding:14px}
  .form-grid{grid-template-columns:1fr}
}

.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.menu-grid .card{margin-bottom:0}
.menu-meal{padding:7px 0;border-bottom:1px solid var(--line-2)}
.menu-meal:last-child{border-bottom:none}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:16px 0;overflow-x:auto}
.tab{padding:10px 15px;border:none;background:none;font-weight:600;font-size:13px;color:var(--muted);border-bottom:2.5px solid transparent;white-space:nowrap}
.tab.active{color:var(--accent-ink);border-bottom-color:var(--accent)}

/* marcadores (restrição alimentar, saúde) */
.pills{display:inline-flex;flex-wrap:wrap;gap:5px}
.chips{display:flex;flex-wrap:wrap;gap:7px}
.chip{position:relative;cursor:pointer}
.chip input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.chip span{display:inline-block;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:12.5px;font-weight:600;color:var(--muted);user-select:none}
.chip input:checked+span{background:var(--accent-bg);border-color:var(--accent);color:var(--accent-ink)}
.chip input:focus-visible+span{outline:2.5px solid var(--accent);outline-offset:2px}

/* cardápio por data */
.month-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0 12px}
.month-nav b{font-family:var(--font-display);font-size:18px;min-width:150px;text-align:center}
.menu-cal{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.menu-cal .card{margin-bottom:0}
.cal-h{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);font-weight:700;padding:0 4px}
.day.today{border:1.5px solid var(--accent)}
.day h3{font-size:14px}

/* celular: tabelas viram cartões, um dado embaixo do outro, sem rolagem lateral */
@media(max-width:860px){
  .tbl-wrap{overflow-x:visible}
  table.stack,table.stack tbody,table.stack tr,table.stack td{display:block;width:100%}
  table.stack thead{display:none}
  table.stack tfoot{display:block}
  table.stack tr{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:4px 12px;margin-bottom:10px}
  table.stack td{text-align:left;padding:8px 0;border-bottom:1px solid var(--line-2);overflow-wrap:anywhere;white-space:normal}
  table.stack td:last-child{border-bottom:none}
  table.stack td::before{content:attr(data-label);display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--faint);font-weight:700;margin-bottom:2px}
  table.stack td[data-label=""]::before{display:none}
  table.stack td.right,.ms-tbl.stack td.r{text-align:left;white-space:normal}
  table.stack tr.click:hover td{background:none}
  .menu-cal{grid-template-columns:1fr}
  .cal-h,.cal-blank{display:none}
  .month-nav b{min-width:0;flex:1 1 100%;order:-1;text-align:left}
}

/* ---- rodada 2 ---- */
.modal.wide{max-width:860px}
.sec{font-size:15px;margin:20px 0 10px;padding-top:14px;border-top:1px solid var(--line-2)}
.modal h2+form>.sec:first-child,.modal h2+.kvs+.sec{border-top:none;padding-top:0}
.row-card{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:10px;background:var(--surface-2)}
.row-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.row-foot{display:flex;align-items:center;gap:8px;margin-top:8px}
.fld.chk{display:flex;align-items:center;gap:8px;align-self:end;padding-bottom:9px}
.fld.chk>span{display:inline;margin:0}
.fld.chk input{width:auto}
.kvs{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px 16px;margin:8px 0}
.kv span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--faint);font-weight:700}
.kv b{font-weight:500;overflow-wrap:anywhere}
.badge{display:inline-block;min-width:20px;padding:0 6px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);font-size:11px;font-weight:700;color:var(--muted);text-align:center}
.tab.active .badge{background:var(--accent-bg);border-color:var(--accent);color:var(--accent-ink)}

/* lançamentos em lista */
.tag-list{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 8px;min-height:28px;align-items:center}
.tag{display:inline-flex;align-items:center;gap:4px;background:var(--accent-bg);color:var(--accent-ink);border:1px solid var(--accent);border-radius:999px;padding:3px 4px 3px 11px;font-size:12.5px;font-weight:600}
.tag-x{border:none;background:none;color:var(--accent-ink);font-size:16px;line-height:1;width:22px;height:22px;border-radius:50%;padding:0}
.tag-x:hover{background:rgba(109,40,217,.15)}
.tag-suggest{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px}
.chip-btn{border:1px dashed var(--line);background:var(--surface);color:var(--muted);border-radius:999px;padding:4px 11px;font-size:12px;font-weight:600}
.chip-btn:hover{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-bg)}
.tag-add{display:flex;gap:8px}
.tag-add input{flex:1}

/* cardápio por semana */
.menu-cal{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.meal-h{display:flex;align-items:center;gap:8px;justify-content:space-between;margin-bottom:2px}
.items{margin:2px 0 0;padding-left:18px;font-size:12.5px;color:var(--muted)}
.today-meals{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 24px}

/* calendário em grade */
.cal{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.cal-dow,.cal-cells{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.cal-dow div{padding:8px;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);font-weight:700;text-align:center;border-bottom:1px solid var(--line);background:var(--surface-2)}
.cal-cell{display:flex;flex-direction:column;align-items:stretch;gap:3px;min-height:104px;padding:6px;border:none;border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2);background:var(--surface);text-align:left;font:inherit;color:inherit;cursor:pointer;min-width:0}
.cal-cell:nth-child(7n){border-right:none}
.cal-cell.blank{background:var(--surface-2);cursor:default}
.cal-cell.wkend:not(.blank){background:#FBFCFD}
.cal-cell:not(.blank):hover{background:var(--surface-2)}
.cal-cell.sel{outline:2px solid var(--accent);outline-offset:-2px}
.cal-n{font-weight:700;font-size:12.5px;width:24px;height:24px;display:grid;place-items:center;border-radius:50%}
.cal-cell.today .cal-n{background:var(--accent);color:#fff}
.cal-ev{display:block;font-size:11px;font-weight:600;border-radius:5px;padding:1px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-ev.accent,.pill.accent{background:var(--accent-bg);color:var(--accent-ink)}
.cal-ev.info{background:var(--info-bg);color:#1D4ED8}
.cal-ev.warn{background:var(--warn-bg);color:#B45309}
.cal-ev.ok{background:var(--ok-bg);color:#047857}
.cal-more{font-size:11px;color:var(--muted);font-weight:600;padding-left:4px}
.cal-dots{display:none;gap:3px;flex-wrap:wrap}
.cal-dots i,.cal-legend i{display:inline-block;width:8px;height:8px;border-radius:50%}
i.accent{background:var(--accent)}i.info{background:var(--info)}i.warn{background:var(--warn)}i.ok{background:var(--ok)}
.cal-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}
.cal-legend span{display:inline-flex;align-items:center;gap:6px}

@media(max-width:860px){
  .menu-cal{grid-template-columns:1fr}
  .cal-cell{min-height:52px;padding:4px;align-items:center}
  .cal-ev,.cal-more{display:none}
  .cal-dots{display:flex;justify-content:center}
  .tag-add{flex-wrap:wrap}
  .tabs{gap:2px}
  .modal.wide{max-width:100%}
}

.menu-cal{margin-bottom:16px}

/* rodada 3 */
.checks.scroll{max-height:46vh;overflow:auto;padding:4px 2px}
.prewrap{white-space:pre-wrap;margin:6px 0}
.small.over{color:var(--danger,#b3261e);font-weight:700}
#cal-day{scroll-margin-top:72px}
.modal .tabs{margin:10px 0 14px}

/* cardápio no desenho do protótipo */
.strip{display:flex;align-items:center;gap:12px;padding:13px 16px;border-radius:14px;margin-bottom:16px}
.strip svg{width:20px;height:20px;flex-shrink:0}
.strip .s-txt{flex:1;font-size:13px;font-weight:500}
.strip.info{background:var(--info-bg);color:#1D4ED8}.strip.warn{background:var(--warn-bg);color:#B45309}.strip.accent{background:var(--accent-bg);color:var(--accent-ink)}
.sec-title{font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--faint);margin:26px 0 12px}
.mini-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mini-form .fld{margin-bottom:0}
.chips-wrap{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cd-meal{margin-bottom:14px}.cd-meal:last-child{margin-bottom:0}
.cd-label{font-size:12.5px;color:var(--muted);font-weight:600;margin-bottom:6px}
.cd-chip{display:inline-flex;align-items:center;gap:4px;border:1.5px solid var(--accent);background:var(--accent-bg);color:var(--accent-ink);border-radius:9px;padding:4px 6px 4px 10px;font-size:12.5px;font-weight:600;overflow-wrap:anywhere}
.cd-x{border:none;background:none;color:inherit;font-weight:800;opacity:.65;cursor:pointer;padding:0 4px;font-size:16px;line-height:1}
.cd-x:hover{opacity:1;color:#DC2626}
.cd-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.cd-head h3{margin:0;font-size:15.5px}
.cd-accent{border:1.5px solid var(--accent)}
.cd-hero{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cd-tile{padding:14px;border-radius:12px;background:var(--surface-2);display:flex;gap:10px;align-items:flex-start;min-width:0}
.cd-tile.compact{padding:10px}
.cd-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none;background:var(--warn-bg);color:var(--warn)}
.cd-items{font-size:12.5px;color:var(--muted);margin-top:2px;overflow-wrap:anywhere}
.cd-daygrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:12px}.cd-daygrid .card{margin-bottom:0}
.cd-stack{display:grid;gap:8px}
.cd-weekgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:14px;align-items:start}
.cd-mrow{padding:10px 0;border-bottom:1px solid var(--line-2)}.cd-mrow:last-child{border-bottom:none}
.cd-mday{font-weight:700;font-size:13px;margin-bottom:6px}
.cd-mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.cd-picker{display:flex;align-items:center;gap:12px;margin-bottom:14px}.cd-picker .lbl{flex:1;text-align:center;font-weight:700}
@media(max-width:860px){.cd-hero,.cd-mini{grid-template-columns:1fr}.cd-picker{flex-wrap:wrap}.cd-picker .lbl{order:-1;flex-basis:100%;text-align:left}.mini-form{grid-template-columns:1fr}}
@media(max-width:860px){.cd-mini .cd-ic{display:none}.cd-mini .cd-tile{padding:8px 10px;gap:0}.cd-mini{gap:6px}}

/* cardápio: proporções do protótipo */
.btn.tiny{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;font-size:11.5px;border-radius:9px}
.btn.tiny svg{width:12px;height:12px}
.cd-chip{font-size:11.5px;padding:4px 4px 4px 9px;border-radius:9px;gap:2px}
.cd-x{font-size:13px;padding:0 4px}
.cd-meal{margin-bottom:10px}
.cd-label{font-size:12.5px;font-weight:500;color:var(--ink);margin-bottom:6px}
.cd-date{font-weight:500;color:var(--faint);font-size:13px;margin-left:4px}
.month-mini{display:flex;align-items:center;gap:8px}.month-mini b{min-width:130px;text-align:center;font-size:14px}
@media(max-width:860px){.month-mini{flex:1 1 100%;order:3}.month-mini b{flex:1}}

/* dia sem aula e importar mês */
.cal-ev.alert{background:var(--alert-bg);color:#B91C1C}
i.alert{background:var(--alert)}
.cal-cell.closed:not(.blank){background:#FFF6F6}
.strip{flex-wrap:wrap}.strip-actions{display:flex;gap:8px;flex-wrap:wrap}
.cd-closed{grid-column:1/-1;background:var(--alert-bg)}.cd-closed .cd-ic{background:#fff;color:#B91C1C}
.cd-headtools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.rad{display:flex;gap:8px;align-items:center;font-size:13.5px;cursor:pointer}.rad input{width:auto}
.imp-weeks{margin:10px 0}.imp-all{padding:6px 0}
.imp-row{display:grid;grid-template-columns:1fr auto minmax(150px,230px);gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line-2)}
.imp-row select{padding:8px 10px}
.imp-group{display:grid;gap:8px;margin:12px 0}
@media(max-width:860px){.imp-row{grid-template-columns:1fr}.imp-arrow{display:none}.cd-headtools{flex:1 1 100%}}

/* ---- Rodada 6: alinhamento com o protótipo ---- */
.av{width:38px;height:38px;border-radius:11px;flex-shrink:0;display:grid;place-items:center;color:#fff;font-weight:700;font-size:13px;font-family:var(--font-display)}
.av.c0{background:#6D28D9}.av.c1{background:#0E7C66}.av.c2{background:#0369A1}.av.c3{background:#EA580C}.av.c4{background:#E11D6B}.av.c5{background:#CA8A04}.av.c6{background:#0891B2}.av.c7{background:#7C3AED}
.r-ic{width:38px;height:38px;border-radius:11px;flex-shrink:0;display:grid;place-items:center}
.r-ic.tone-accent{background:var(--accent-bg);color:var(--accent-ink)}.r-ic.tone-info{background:var(--info-bg);color:#1D4ED8}.r-ic.tone-warn{background:var(--warn-bg);color:#B45309}.r-ic.tone-ok{background:var(--ok-bg);color:#047857}.r-ic.tone-alert{background:var(--alert-bg);color:#B91C1C}
.rw{display:flex;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid var(--line-2);min-width:0}
.rw:last-child{border-bottom:none}
.rw.click{cursor:pointer;border-radius:10px}.rw.click:hover{background:var(--surface-2)}
.rw.off{opacity:.72}
.rw-main{flex:1;min-width:0}.rw-t{font-weight:600;font-size:13.5px;overflow-wrap:anywhere}.rw-s{color:var(--muted);font-size:12px;overflow-wrap:anywhere;margin-top:1px}
.rw-side{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.rw-hit{flex:1;min-width:0;display:flex;align-items:center;gap:12px;cursor:pointer}
.card-h{display:flex;align-items:center;gap:10px;margin-bottom:8px}.card-h h3{margin:0}.spacer{flex:1}
.empty-note{color:var(--muted);font-size:13px;padding:14px 4px}
.grid-k{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.kpi2{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm);min-width:0}
.kpi2 .ki{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;margin-bottom:12px}
.ki.accent{background:var(--accent-bg);color:var(--accent-ink)}.ki.info{background:var(--info-bg);color:#1D4ED8}.ki.warn{background:var(--warn-bg);color:#B45309}.ki.ok{background:var(--ok-bg);color:#047857}
.kpi2 b{display:block;font-family:var(--font-display);font-size:28px;line-height:1.1}.kpi2 .kl{color:var(--muted);font-size:12.5px}
.chip-up{display:block;width:max-content;margin-top:10px;font-size:11.5px;font-weight:600;padding:2px 9px;border-radius:999px;background:var(--ok-bg);color:#047857}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.two.uneven{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.bar-row{display:grid;grid-template-columns:120px minmax(0,1fr) 44px;gap:10px;align-items:center;padding:6px 0;font-size:12.5px}
.bl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bt{height:9px;border-radius:99px;background:var(--line-2);overflow:hidden}.bt i{display:block;height:100%;border-radius:99px}
.bv{text-align:right;font-weight:600}
.donut-wrap{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.donut{width:150px;height:150px;border-radius:50%;display:grid;place-items:center}
.donut-hole{width:104px;height:104px;border-radius:50%;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center}
.donut-hole b{font-family:var(--font-display);font-size:26px;line-height:1}.donut-hole span{font-size:11px;color:var(--muted)}
.donut-leg{display:grid;gap:8px;font-size:13px;min-width:140px}.donut-leg div{display:flex;align-items:center;gap:8px}.donut-leg i{width:10px;height:10px;border-radius:3px}.donut-leg b{margin-left:auto;padding-left:14px}
.acc{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:10px;box-shadow:var(--shadow-sm);overflow:hidden}
.acc-h{width:100%;display:flex;align-items:center;gap:6px;padding:14px 16px;border:none;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
.acc-h .acc-c{margin-left:auto;transition:transform .15s;color:var(--muted);display:inline-flex}
.acc.open .acc-c{transform:rotate(180deg)}
.acc-b{display:none;padding:0 16px 8px;border-top:1px solid var(--line-2)}.acc.open .acc-b{display:block}
.t-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.t-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm);min-width:0}.t-card.off{opacity:.72}
.t-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.t-top h3{font-size:14.5px;margin:0}
.t-top .btn{display:inline-flex;align-items:center;gap:5px}
.t-num{font-family:var(--font-display);font-size:24px;font-weight:700}.t-sub{color:var(--muted);font-size:12px;margin:2px 0 10px}
.t-bar{height:7px;border-radius:99px;background:var(--line-2);overflow:hidden;margin-bottom:6px}.t-bar i{display:block;height:100%;border-radius:99px}
.scroll-list{max-height:48vh;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:2px 12px;margin:10px 0}
.warn-ic{color:var(--alert);display:inline-flex;vertical-align:-2px}
.form-sec{grid-column:1/-1;margin:10px 0 0;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);font-family:var(--font-body);font-weight:700}
.form-grid>.form-sec:first-child{margin-top:0}
.cep-btn{margin-top:6px}
.cargo-sel{min-width:170px;max-width:230px}
.lv{min-width:64px;border:1px solid transparent;border-radius:999px;padding:4px 12px;font-weight:700;font-size:12px;cursor:pointer;font-family:inherit}
.lv.sm{min-width:0;padding:2px 9px;cursor:default}
.lv.none{background:var(--surface-2);color:var(--faint);border-color:var(--line)}.lv.view{background:var(--warn-bg);color:#B45309}.lv.edit{background:var(--ok-bg);color:#047857}
.lv:disabled{cursor:default;opacity:.55}
table.perm th,table.perm td{text-align:center}table.perm th:first-child,table.perm td:first-child{text-align:left}
.perm-leg{display:flex;gap:10px 18px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin:2px 4px 16px}
.cal-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:16px;align-items:start}
.cal-layout .card{margin-bottom:16px}
.cal.mini .cal-cell{min-height:54px;align-items:center;padding:4px}
.cal.mini .cal-ev,.cal.mini .cal-more{display:none}
.cal.mini .cal-dots{display:flex;justify-content:center}
.cal-dots i.accent{background:var(--accent)}.cal-dots i.info{background:var(--info)}.cal-dots i.warn{background:var(--warn)}.cal-dots i.ok{background:var(--ok)}.cal-dots i.alert{background:var(--alert)}
@media(max-width:1100px){.grid-k{grid-template-columns:repeat(2,minmax(0,1fr))}.two.uneven{grid-template-columns:1fr}}
@media(max-width:860px){
  .two{grid-template-columns:1fr}
  .cal-layout{grid-template-columns:1fr}.cal-left{order:2}.cal-right{order:1}
  .bar-row{grid-template-columns:90px minmax(0,1fr) 40px}
  .rw.staff{flex-wrap:wrap}.rw.staff .rw-side{width:100%;justify-content:flex-start;padding-left:50px}
  .cargo-sel{flex:1 1 100%;max-width:none}
  table.perm.stack tr{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}
  table.perm.stack td{border:none;padding:4px 0;text-align:left}
  table.perm.stack td:first-child{grid-column:1/-1;font-weight:700}
  table.perm.stack td:first-child::before{display:none}
  .t-grid{grid-template-columns:1fr}
}
.t-top .btn{padding:6px 10px;font-size:12.5px}
input[type=date]{min-width:0}
.card-h input[type=date]{padding:6px 9px}

.toolbar.filtros{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.fl{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted,#667)}.fl.grow{flex:1 1 200px}.fl select,.fl input{min-width:130px}input.ro{background:#f1f3f5;color:#667;cursor:not-allowed}.cd-headtools{margin-left:auto}
.card.unread{border-left:4px solid var(--accent,#6d28d9)}.pill-btn{border:0;cursor:pointer;font:inherit}.nav-badge{margin-left:auto}

/* rodada 8 */
.kpi2.kgo,.kpi.kgo{cursor:pointer;transition:transform .12s,box-shadow .12s,border-color .12s}
.kpi2.kgo:hover,.kpi.kgo:hover{transform:translateY(-2px);border-color:var(--accent,#6d28d9);box-shadow:var(--shadow)}
.kpi2.kgo.on{border-color:var(--accent,#6d28d9)}
.filtro-ativo{display:flex;gap:8px;align-items:center;margin:0 0 10px}
.att-existing{margin-bottom:10px}
.bottombar{display:none}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:8px}
.tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;aspect-ratio:1/1;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm);color:var(--accent-ink,#4c1d95);font-weight:700;font-size:13px;text-align:center;padding:8px;text-decoration:none}
.tile span{color:var(--ink)}
.tile .nav-badge,.bb-item .nav-badge{position:absolute;top:8px;right:10px;font-style:normal;margin:0}
@media(min-width:861px){.tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}
@media(max-width:860px){
  .hamb{display:inline-grid!important;place-items:center;color:var(--accent-ink,#4c1d95);text-decoration:none}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tile{aspect-ratio:auto;padding:22px 12px;border-radius:14px}
  .sidebar,.sb-overlay{display:none!important}
  body{padding-bottom:calc(66px + env(safe-area-inset-bottom))}
  .bottombar{display:flex;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;position:fixed;left:0;right:0;bottom:0;z-index:42;background:var(--surface);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -6px 20px -12px rgba(0,0,0,.25)}
  .bottombar::-webkit-scrollbar{display:none}
  .bb-item{flex:0 0 84px;position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;font-weight:600;color:var(--muted);text-decoration:none;padding:4px 2px;border-radius:10px;min-width:0}
  .bb-item span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .bb-item.active{color:var(--accent-ink,#4c1d95);background:var(--accent-bg,#f1ebff)}
  .bb-item .nav-badge{top:0;right:18%}
  .tabs{flex-wrap:wrap;overflow-x:visible}
  .page-head > .btn.primary{position:fixed;right:14px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:45;box-shadow:0 10px 24px -8px rgba(76,29,149,.55);padding:13px 20px;border-radius:999px}
  .toast{bottom:calc(140px + env(safe-area-inset-bottom))}
}

/* logo */
.brand-logo{height:38px;width:auto;flex-shrink:0;display:block}
.login-logo{display:block;width:180px;max-width:70%;height:auto;margin:0 auto 14px}
.auth-card{text-align:center}.auth-card form,.auth-card .fld{text-align:left}
.menu-brand{display:none;text-align:center;margin:2px 0 10px}.menu-brand img{width:150px;height:auto}
@media(max-width:860px){.menu-brand{display:block}}
.seg-inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.seg-in-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.seg-in-name{min-width:160px}.seg-in-color{width:42px;height:36px;padding:2px}
.seg-inline .err{color:var(--danger,#b3261e);font-size:13px}
.acc-modes{display:flex;flex-direction:column;gap:8px;margin:10px 0}.chk{display:flex;gap:8px;align-items:center;font-weight:500}.acc-box{margin-top:12px}.acc-login{font-size:16px;color:var(--accent-ink,#4c1d95)}.chk-fld .chk{margin-top:6px}
.acc-box small{display:block;margin-top:2px}.chk input{width:auto;flex:none}.chk-fld .chk{justify-content:flex-start}.chk-fld{display:block}

/* ===== Módulo pedagógico ===== */
.modal.wide{max-width:760px}
.datebar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px}.datebar input[type=date]{padding:8px 10px;border:1.5px solid var(--line);border-radius:10px;background:var(--surface)}
.att-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin-top:6px}
.att-cell{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;border-radius:16px;border:2px solid var(--ok);background:var(--ok-bg);text-align:center;user-select:none;cursor:pointer;transition:.12s}
.att-cell.falta{border-color:var(--alert);background:var(--alert-bg)}.att-cell.atraso{border-color:var(--warn);background:var(--warn-bg)}.att-cell.ro{cursor:default;opacity:.9}
.att-cell .ac-name{font-weight:600;font-size:13px;line-height:1.2}.att-cell .ac-tag{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.stud-strip{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px;margin-bottom:6px}
.stud-chip{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:64px;padding:8px 6px;border:1.5px solid var(--line);border-radius:14px;background:var(--surface);font-size:12px;font-weight:600;color:var(--muted)}
.stud-chip.active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-ink)}
.grade-scroll{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:16px}
.grade-table{border-collapse:collapse;width:100%;min-width:760px}.grade-table th,.grade-table td{padding:9px 10px;border-bottom:1px solid var(--line-2);text-align:center;vertical-align:middle}
.grade-table th{font-size:11.5px;color:var(--muted);font-weight:700;background:var(--surface-2);position:sticky;top:0}
.grade-table .stud{text-align:left;min-width:190px;position:sticky;left:0;background:var(--surface);z-index:1}.grade-table th.stud{background:var(--surface-2)}
.stud-cell{display:flex;align-items:center;gap:9px}.stud-cell .pill{margin-left:4px}
.chip-tg{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border:1.5px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-weight:600;font-size:12.5px}
.chip-tg.on{background:var(--accent-bg);border-color:var(--accent);color:var(--accent-ink)}.chip-tg:disabled{opacity:.7;cursor:default}
.alim-pill{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);font-weight:600;font-size:12.5px;color:var(--muted)}
.alim-pill.total{background:var(--ok-bg);border-color:var(--ok);color:#047857}.alim-pill.parcial{background:var(--warn-bg);border-color:var(--warn);color:#B45309}.alim-pill.recusou{background:var(--alert-bg);border-color:var(--alert);color:#B91C1C}
.note-btn{width:34px;height:34px;border-radius:10px;border:1.5px solid var(--line);background:var(--surface);color:var(--faint);display:inline-grid;place-items:center}.note-btn.filled{background:var(--accent-bg);border-color:var(--accent);color:var(--accent-ink)}
.col-inv{border:none;background:none;color:var(--accent);font-weight:700;cursor:pointer}
.nota-cell{min-width:44px;padding:6px 10px;border-radius:10px;border:1.5px solid var(--line);font-weight:700;background:var(--surface-2);color:var(--faint)}
.nota-cell.v1{background:var(--warn-bg);color:#B45309;border-color:var(--warn)}.nota-cell.v2{background:var(--info-bg);color:#1D4ED8;border-color:var(--info)}.nota-cell.v3{background:var(--ok-bg);color:#047857;border-color:var(--ok)}
.aval-topic{min-width:120px;max-width:170px;white-space:normal}.boletim-check{margin-left:5px}.boletim-check input{width:auto}
.prog{height:8px;background:var(--line-2);border-radius:99px;overflow:hidden;margin-top:6px}.prog span{display:block;height:100%;border-radius:99px}
.dev-row{padding:10px 0;border-bottom:1px solid var(--line-2);display:grid;grid-template-columns:1fr;gap:8px}
.dev-row select,.dev-row input{padding:8px 10px;border:1.5px solid var(--line);border-radius:10px;width:100%}
.dev-list{max-height:60vh;overflow:auto}
.sch-row input{padding:8px 10px;border:1.5px solid var(--line);border-radius:10px}.sch-row .sch-n{flex:1;min-width:0}.sch-row .sch-t{width:110px}
.area{width:100%;min-height:120px;padding:12px;border:1.5px solid var(--line);border-radius:12px;font-family:inherit;font-size:13.5px;resize:vertical}
.ptd-row.sel{background:var(--surface-2)}.ptd-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.conv-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--accent);vertical-align:middle}
.chat-box{max-height:46vh;overflow:auto;display:flex;flex-direction:column;gap:8px;padding:10px;background:var(--surface-2);border-radius:14px;margin-bottom:10px}
.chat-line{display:flex}.chat-line.me{justify-content:flex-end}.chat-bubble{max-width:82%;padding:9px 12px;border-radius:14px;background:var(--surface);border:1px solid var(--line);font-size:13.5px;white-space:pre-wrap;word-break:break-word}
.chat-line.me .chat-bubble{background:var(--accent-bg);border-color:var(--accent)}.chat-de{font-size:11px;font-weight:700;color:var(--muted);margin-bottom:2px}.chat-t{font-size:10.5px;color:var(--faint);margin-top:4px;text-align:right}
.chat-send{display:flex;gap:8px}.chat-send input{flex:1;padding:10px 12px;border:1.5px solid var(--line);border-radius:12px}
@media(max-width:860px){
  .grade-scroll{border:none;background:none;overflow:visible}.grade-table{min-width:0;display:block}.grade-table thead{display:none}.grade-table tbody{display:block}
  .grade-table tr{display:flex;flex-wrap:wrap;gap:8px;padding:12px;margin-bottom:12px;background:var(--surface);border:1px solid var(--line);border-radius:16px}
  .grade-table td{display:flex;flex-direction:column;align-items:flex-start;gap:4px;border:none;padding:0;flex:1 1 44%;text-align:left}.grade-table td.stud{flex:1 1 100%;position:static}
  .grade-table td[data-label]::before{content:attr(data-label);font-size:10.5px;font-weight:700;color:var(--faint);text-transform:uppercase}
  .ptd-actions{justify-content:flex-start}.att-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}
  .sch-row .sch-t{width:96px}.rw{flex-wrap:wrap}.rw .ptd-actions{flex:1 1 100%}
}

.flag-tools{display:none;margin:0 0 10px;align-items:center}
@media(max-width:860px){.flag-tools{display:flex}}

.skill-pick{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.skill-pick .chip-tg{text-align:left;white-space:normal;line-height:1.25;border-radius:12px}
.dev-line{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--line-2);cursor:pointer}.dev-line:last-child{border-bottom:none}
.dl-main{flex:1;min-width:0}.dl-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.dl-name{font-weight:600;font-size:14px;line-height:1.25;overflow-wrap:anywhere}
.show-tools{display:none}.show-row{padding:8px 0;border-bottom:1px solid var(--line-2);align-items:flex-start}.show-row span{line-height:1.3}
.ptd-days .tab.closed{opacity:.75}
@media(max-width:860px){.show-tools{display:block}}

.g-2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.auth-choice{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:22px;text-align:left;cursor:pointer;border:1px solid var(--line,#e5e7eb);font:inherit;color:inherit}
.auth-choice b{font-size:17px}
.tabs-mini{display:flex;gap:6px;margin-bottom:12px}
.week-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 12px;flex-wrap:wrap}.week-nav b{font-size:14px}
.g-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.pill{white-space:nowrap}
@media(max-width:860px){
  .toolbar.filtros{display:grid;grid-template-columns:1fr 1fr;gap:10px}.toolbar.filtros .fl.grow{grid-column:1/-1}.toolbar.filtros .fl select,.toolbar.filtros .fl input{width:100%;min-width:0}
  .cv-row{flex-wrap:wrap}.cv-row .rw-main{flex:1 1 0;min-width:60%}.cv-row .rw-side{flex:1 1 100%;justify-content:space-between;padding-left:52px}
}
.t-top{margin-bottom:8px}.t-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.t-actions .btn{display:inline-flex;align-items:center;gap:5px;flex:1 1 0;justify-content:center}
.att-card{display:flex;align-items:center;gap:14px;padding:10px 12px;margin:0 0 10px;background:var(--surface-2,#f6f4fb);border-radius:12px}.att-pct{font-size:24px;font-weight:800;min-width:74px;text-align:center}.att-pct.ok{color:#15803d}.att-pct.warn{color:#b45309}.att-pct.alert{color:#b91c1c}
.chat-read{font-size:10.5px;color:var(--faint);margin-top:3px;text-align:right}.chat-read.ok{color:#15803d;font-weight:600}
@media(max-width:860px){.rw.staff{padding:14px 4px}.rw.staff .rw-side{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;padding-left:0}.rw.staff .rw-side select{grid-column:1/-1;width:100%}.rw.staff .rw-side .btn{width:100%}}
@media(display-mode:fullscreen),(display-mode:standalone){.topbar{padding-top:env(safe-area-inset-top)}.bottombar{padding-bottom:env(safe-area-inset-bottom)}}
.cv-choose{display:grid;gap:10px;margin:10px 0}
.top-fs{display:none;padding:7px 9px}@media(max-width:860px){.top-fs{display:inline-flex;align-items:center}}@media(display-mode:fullscreen),(display-mode:standalone){.top-fs{display:none!important}}

.top-bio,.top-bell{padding:7px 9px;display:inline-flex;align-items:center}.top-bell.on{color:var(--ok,#15803d)}
.sch-row .sch-e{width:110px}.sch-row .sch-sep{color:var(--muted,#6b7280)}
@media(max-width:560px){.sch-row{flex-wrap:wrap;gap:6px}.sch-row .sch-t,.sch-row .sch-e{flex:1 1 0;min-width:0;width:auto;padding:8px 6px}.sch-row .sch-n{order:9;flex:1 1 100%}}
.kt{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0}.kt .kpi2{flex:1 1 130px}
.risk{border-left:4px solid #b91c1c;background:#fef2f2}

.prof-list{display:grid;gap:10px;margin:14px 0}.prof-card{display:flex;align-items:center;gap:12px;padding:14px;border:1.5px solid var(--line);border-radius:14px;background:#fff;text-align:left;cursor:pointer;font:inherit}.prof-card.cur{border-color:var(--accent,#6d28d9)}.prof-card .prof-t{display:flex;flex-direction:column;flex:1}.prof-card small{color:var(--muted,#6b7280)}.prof-ic{display:inline-flex;color:var(--accent,#6d28d9)}
.top-unit,.top-prof{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;position:relative}.top-prof .badge{position:absolute;top:-6px;right:-6px}@media(max-width:560px){.top-prof-t{display:none}}

.ph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-top:10px}
.ph-th{position:relative;display:flex;flex-direction:column;gap:4px;padding:0;border:0;background:none;text-align:left;cursor:pointer}
.ph-th img,.ph-open img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;background:var(--surface-2,#eee);display:block}
.ph-open{border:0;padding:0;background:none;cursor:pointer}
.att-th{width:84px;height:84px;object-fit:cover;border-radius:8px;background:var(--surface-2,#eee);display:block;margin-bottom:6px}
.ph-cap{font-size:11.5px;color:var(--muted);overflow-wrap:anywhere}
@media(max-width:560px){.ph-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.saida-ok{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:14px;background:#e8f7ee;border:2px solid #16a34a;color:#14532d;margin-bottom:10px}
.saida-ok svg{flex:none;stroke:#16a34a}
.saida-t{font-family:var(--font-display);font-size:22px;font-weight:700;line-height:1.2;overflow-wrap:anywhere}
.saida-s{font-size:13.5px;margin-top:2px}
@media(max-width:560px){.saida-t{font-size:19px}}

.ptd-rd{margin:0 0 12px}.ptd-rd-t{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface-2,#f6f6f8);border-radius:10px;padding:10px 12px;margin-top:4px}
.ptd-fbk{margin-top:6px;border-left:4px solid var(--accent,#6d28d9)}
.strip.ok{background:var(--ok-bg);color:#047857}

.aud-box{display:grid;gap:10px;padding:10px;border:1px solid var(--line,#e2e8f0);border-radius:10px;background:var(--bg-soft,rgba(0,0,0,.02))}
.aud-g>b{display:block;margin-bottom:4px}
.aud-box .checks{display:flex;flex-wrap:wrap;gap:6px 14px}
.aud-box .checks.scroll{max-height:180px;overflow:auto;flex-direction:column;flex-wrap:nowrap}
.aud-all{display:flex;gap:6px;align-items:center;font-weight:600;margin:6px 0 4px}
.aud-box input[type=checkbox]{width:auto;flex:none;margin:0}
.aud-box .checks label,.aud-all{display:flex;gap:8px;align-items:center;text-align:left}
@media(max-width:420px){.top-exit{font-size:0;gap:0;padding:7px 9px}}
.ptd-sub{margin-top:8px;padding-left:10px;border-left:3px solid var(--line,#e2e8f0)}
.ptd-view{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:4px 0 10px}

.td-food{min-width:260px;text-align:left!important}
.alim-box{display:flex;flex-direction:column;gap:6px}
.alim-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.alim-meal{font-size:10.5px;font-weight:700;color:var(--faint);text-transform:uppercase;letter-spacing:.04em;min-width:58px}
.alim-box .alim-pill{padding:5px 10px;font-size:12px}
@media(max-width:860px){.grade-table td.td-food{flex:1 1 100%}}

/* Contraturno eventual: calendário na ficha do aluno e marca na chamada */
.xd-box{margin:6px 0 4px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2)}
.xd-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.xd-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:10px}
.xd-cal i{font-style:normal;font-size:11px;font-weight:700;color:var(--faint);text-align:center;text-transform:uppercase}
.xd-day{min-height:40px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font:600 13px var(--font-body);color:var(--ink);cursor:pointer}
.xd-day:disabled{opacity:.35;cursor:not-allowed;background:transparent}
.xd-day.on{background:var(--accent);border-color:var(--accent);color:#fff}
.xd-def{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-bottom:8px}
.xd-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:6px 0;border-top:1px solid var(--line-2)}
.xd-t-l{display:flex;gap:6px;align-items:center;font-size:12.5px;color:var(--muted)}
.att-cell .ac-extra{font-size:11px;font-weight:700;color:var(--info);margin-top:2px}

.xd-opt{grid-column:1/-1}
.xd-chk{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer}
.xd-chk:has(input:checked){border-color:var(--accent);background:var(--accent-bg)}
.xd-chk input{width:20px;height:20px;margin-top:1px;flex:none;accent-color:var(--accent)}
.xd-chk b{display:block;font-size:14px;color:var(--ink)}
.xd-chk small{display:block;margin-top:2px;font-size:12.5px;line-height:1.4;color:var(--muted)}
.xd-opt .xd-box{margin-top:10px}

.rep-part{margin:14px 0 2px;padding-top:10px;border-top:1px dashed var(--line);font-size:13px;color:var(--accent-ink)}
.rep-part:first-of-type{border-top:0;padding-top:0}
.part-tabs{margin-bottom:8px}

/* Diário: seletor de relatório, bloco da turma e cartões de aluno */
.part-sel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;background:var(--surface);border-radius:16px;padding:6px;margin-bottom:12px;box-shadow:var(--shadow-sm,0 1px 2px rgba(21,39,46,.08))}
.ps{border:0;border-radius:12px;background:transparent;color:var(--ink);padding:10px 12px;text-align:left;display:flex;flex-direction:column;gap:5px;cursor:pointer;font:inherit;min-height:44px}
.ps b{font-size:14px}.ps span{font-size:12px;color:var(--muted)}
.ps-bar{display:block;height:4px;border-radius:2px;background:var(--line)}.ps-bar i{display:block;height:4px;border-radius:2px;background:var(--ok,#16A34A)}
.ps.active{background:var(--accent);color:#fff}.ps.active span{color:rgba(255,255,255,.92)}.ps.active .ps-bar{background:rgba(255,255,255,.35)}.ps.active .ps-bar i{background:#fff}
.dc-sec{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:14px 0 6px}
.dt .dc-sec:first-of-type{margin-top:4px}
.dt-more{margin-top:12px}.dt-more summary{cursor:pointer;color:var(--muted);font-size:13px;padding:8px 0}
.dc-list-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin:18px 2px 8px}
.dc-list-h .lbl{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.dc{background:var(--surface);border-radius:16px;margin-bottom:10px;box-shadow:var(--shadow-sm,0 1px 2px rgba(21,39,46,.08));overflow:hidden}
.dc.open{outline:2px solid var(--accent)}
.dc-head{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;border:0;background:transparent;text-align:left;font:inherit;color:inherit;cursor:pointer;min-height:56px}
.dc.off .dc-head{cursor:default;opacity:.8}
.dc-who{flex:1;min-width:0}.dc-nm{font-weight:700;font-size:15px}
.dc-sub{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);margin-top:2px}
.dc-chev{transition:transform .15s;display:flex}.dc.open .dc-chev{transform:rotate(180deg)}
.dc-body{padding:0 14px 14px;display:flex;flex-direction:column;gap:6px}
.dc-meal{margin-top:6px}.dc-mt{font-weight:600;font-size:14px;margin-bottom:6px}.dc-mi{font-weight:400;color:var(--muted);font-size:12.5px}
.dc-tri{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.dc-t{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border:1.5px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-family:inherit;font-weight:600;font-size:12.5px;line-height:normal;cursor:pointer}
.dc-t.on{font-weight:600}.dc-t.on.total{background:var(--ok-bg);border-color:var(--ok);color:#047857}.dc-t.on.parcial{background:var(--warn-bg);border-color:var(--warn);color:#B45309}.dc-t.on.recusou{background:var(--alert-bg);border-color:var(--alert);color:#B91C1C}
.dc-t:disabled{opacity:.7;cursor:default}
.dc-more{border:0;background:none;color:var(--accent-ink);font:inherit;font-size:12.5px;font-weight:600;padding:8px 0 2px;cursor:pointer;text-align:left}
.dc-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.dc-acts .btn{flex:1 1 140px;justify-content:center}
.send-bar{position:sticky;bottom:0;z-index:20;padding:10px 0;background:linear-gradient(to top,var(--bg) 70%,transparent)}
.send-bar .btn{width:100%;min-height:52px;justify-content:center;font-size:15px}
.rv-list{display:flex;flex-direction:column;margin:10px 0}.rv-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
@media(max-width:860px){.send-bar{bottom:calc(64px + env(safe-area-inset-bottom))}}

.fam-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px;align-items:start;margin-bottom:14px}.fam-cols>.card{margin:0}.fam-cols-sm{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}@media(max-width:700px){.fam-cols,.fam-cols-sm{grid-template-columns:1fr}}
.cd-col{display:flex;flex-direction:column;gap:2px;min-width:0}.cd-col>.cd-tile{flex:1}
.dcfg .chk-row{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--line)}.dcfg .chk-row input{margin-top:3px}
.sl-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:8px}.sl-row label{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--muted)}.sl-in{font:inherit;padding:6px 8px;border:1.5px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text,inherit)}

/* desktop: cartões de aluno em colunas; o conteúdo define quantas cabem */
.dc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:12px;align-items:start}.dc-grid>.dc{margin-bottom:0}
.dc-acts .btn{flex:1 1 120px}
@media(max-width:700px){.dc-grid{grid-template-columns:1fr}}

.rd-p{margin-bottom:10px}.rd-h{margin-bottom:6px}.pill .x{border:0;background:none;cursor:pointer;font-size:15px;line-height:1;margin-left:4px;color:inherit}.rd-p .actions{flex-wrap:wrap;gap:8px;margin-top:8px}
.ms-s{margin-bottom:12px}.ms-off{opacity:.65}.pill.ok{background:#e7f6ec;color:#166534}.pill.off{background:#f1f1f4;color:#6b7280}.ms-s input,.ms-s select{max-width:220px}
.ms-feats{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px 14px;margin:10px 0}.ms-f{font-size:14px;display:flex;gap:8px;align-items:center}
.ms-f input{flex:none;width:16px;height:16px}
.ms-row{border-top:1px solid var(--line,#e5e7eb);padding:10px 0}.ms-row:first-child{border-top:0}.ms-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ms-gs{flex:1;min-width:120px}.ms-det{margin:8px 0 2px;padding:10px;background:#f6f7f9;border-radius:10px}.ms-kids{margin-top:6px;padding-left:14px;border-left:3px solid #ddd6fe}.pill.plan{cursor:pointer;border:0;background:#ede9fe;color:#5b21b6;font-weight:600}.btn.sm{padding:4px 10px;font-size:13px}
.ms-lines{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:4px 16px;margin:6px 0}.ms-exp{color:#b91c1c;font-weight:600}.ms-head .spacer{flex:1}

.ms-prices{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px 12px;margin:8px 0}
.ms-prices .fld span{font-size:.78rem}

.pp-h{display:flex;align-items:flex-start;gap:10px}.pp-n{flex:1;min-width:0}.pp-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.pp-open{margin-top:12px;border-top:1px solid var(--line,#e5e7eb);padding-top:10px}
.pp-tabs{display:flex;gap:4px;margin-bottom:12px;border-bottom:1px solid var(--line,#e5e7eb)}
.pp-tabs button{border:0;background:none;font:inherit;font-weight:600;padding:8px 14px;cursor:pointer;color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-1px}
.pp-tabs button.on{color:var(--accent-ink,#4c1d95);border-bottom-color:var(--accent,#6d28d9)}
.pp-btns{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.pp-sec{margin-top:14px;padding-top:10px;border-top:1px dashed var(--line,#e5e7eb)}
.pp-list{display:grid;gap:8px;margin-bottom:6px}.pp-li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--line,#e5e7eb);border-radius:10px}
.ct-form{margin-top:10px;padding:10px;border:1px solid var(--line,#e5e7eb);border-radius:10px}

.pl-rows{display:grid;gap:2px;margin:8px 0}.pl-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 8px;border-radius:8px;font-size:13.5px}
.pl-row:nth-child(odd){background:var(--surface-2)}.pl-fixed{font-weight:500}
.pl-p{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;color:var(--muted)}.pl-p input{width:92px;text-align:right;padding:5px 8px}
.pl-sum{margin:6px 0}
@media(max-width:600px){.pl-row{flex-direction:column;align-items:flex-start}.pl-p{align-self:flex-end}}

.pp-click{cursor:pointer;border-radius:10px}.pp-click:hover{background:color-mix(in srgb,var(--accent,#2f6f5e) 7%,transparent)}.pp-click:focus-visible{outline:2px solid var(--accent,#2f6f5e);outline-offset:2px}

/* recursos em breve */
.pill.soon{background:var(--accent-bg);color:var(--accent-ink);font-size:10.5px;padding:1px 8px;margin-left:auto}.tile .pill.soon{position:absolute;top:8px;right:8px;margin:0}
.soon-card{max-width:720px}.soon-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}.soon-h h3{margin:0}.soon-list{margin:10px 0 14px;padding-left:20px;display:grid;gap:6px}
.bday-in{border-left:4px solid var(--ok)}.bday-in .card-h{margin:0}.pill.ok{background:var(--ok-bg);color:#047857}

.voz-btn{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:6px 12px;font-size:12.5px;border-radius:999px;border:1px solid var(--line,#d6dbe3);background:var(--card,#fff);color:inherit;cursor:pointer;min-height:36px}
.voz-btn:hover{background:rgba(0,0,0,.04)}
.voz-btn.rec{background:#DC2626;border-color:#DC2626;color:#fff;animation:vozPulse 1.2s infinite}
@keyframes vozPulse{0%,100%{box-shadow:0 0 0 0 rgba(220,38,38,.45)}50%{box-shadow:0 0 0 6px rgba(220,38,38,0)}}

.ms-manage{padding:14px}.ms-sec{padding:10px 0;border-top:1px solid var(--line,#e5e7eb)}.ms-sec:first-child{border-top:0;padding-top:0}.ms-sec h4{margin:0 0 8px;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#6b7280)}
.ms-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:10px 12px;align-items:end;margin-top:10px}.ms-grid.one{grid-template-columns:minmax(0,420px);margin-top:0}.ms-grid .fld{margin:0}.ms-grid select{width:100%}.ms-gbtn{display:flex;gap:8px;flex-wrap:wrap}
.ms-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line,#e5e7eb);margin-top:12px;padding-top:12px}.ms-foot .spacer{flex:1}
@media(max-width:700px){.ms-grid{grid-template-columns:1fr}.ms-gbtn .btn{flex:1}.ms-foot .btn{flex:1 1 auto}.ms-foot .spacer{display:none}}

.demo-box{margin-top:14px;padding:12px 14px;border:1px dashed var(--primary,#6d28d9);border-radius:12px;background:rgba(109,40,217,.06);display:flex;flex-direction:column;gap:6px;align-items:flex-start}.demo-box code{background:rgba(0,0,0,.07);padding:1px 6px;border-radius:6px;font-weight:700}

.demo-bar{background:#fef3c7;color:#78350f;border-bottom:1px solid #fcd34d;padding:6px 16px;font-size:13px;text-align:center}@media (prefers-color-scheme:dark){.demo-bar{background:#4a3a0a;color:#fde68a;border-color:#92700c}}
/* Celular: o nome não é espremido pelas etiquetas; quando falta espaço, as etiquetas descem para a linha de baixo */
@media(max-width:860px){.rw>.rw-main{flex:1 1 150px}.rw:not(.staff)>.rw-side{flex:0 1 auto;margin-left:auto}}

.brand-prev{display:flex;gap:18px;align-items:flex-end;flex-wrap:wrap;margin:8px 0 12px}.brand-prev>div{display:flex;flex-direction:column;gap:4px}.brand-prev img{height:56px;width:56px;object-fit:contain;border:1px solid var(--line);border-radius:10px;padding:4px;background:var(--surface)}.brand-prev img.wide{width:auto;max-width:150px}.brand-prev img.fav{height:32px;width:32px;padding:2px}

/* Identidade ISA: palavra em Bricolage 800, letras juntas, tinta roxa */
.brand .name{font-family:"Nunito",var(--font-display);font-weight:900;letter-spacing:-.03em;font-size:30px;color:#4C1D95}.auth-card .tagline{margin-top:2px}

.brand-color{margin:10px 0}.bc-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.bc-row input[type=color]{width:44px;height:36px;padding:2px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.bc-sw{width:28px;height:28px;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--line);cursor:pointer;padding:0}
.cal-dots i.alert,.cal-legend i.alert{border-radius:2px;transform:rotate(45deg)}

/* Papel timbrado (A4) */
.lh-wrap{display:flex;justify-content:center;padding:16px 0}
.lh{--lh:#6D28D9;background:#fff;color:#1b1b1f;border:1px solid #dcd7ea;box-shadow:0 6px 24px rgba(0,0,0,.12);aspect-ratio:210/297;width:100%;max-width:520px;padding:7% 8% 5%;display:flex;flex-direction:column;font-size:11px;line-height:1.55;box-sizing:border-box}
.lh-head{display:flex;align-items:center;gap:14px;padding-bottom:12px;border-bottom:3px solid var(--lh)}
.lh-head img{height:42px;width:auto;max-width:35%;object-fit:contain}
.lh-head b{display:block;font-size:1.35em;color:var(--lh)}
.lh-head span{display:block;color:#555;font-size:.9em}
.lh-body{flex:1;padding:8% 2% 0}
.lh-body h4{margin:0 0 1.4em;text-align:center;letter-spacing:.12em;text-transform:uppercase;font-size:1.15em}
.lh-body p{margin:0 0 1em;text-align:justify}
.lh-date{margin-top:2em!important;text-align:right!important}
.lh-sign{margin-top:4em;text-align:center}
.lh-sign i{display:block;width:55%;margin:0 auto 4px;border-top:1px solid #333}
.lh-foot{display:flex;flex-direction:column;gap:2px;padding-top:8px;border-top:1px solid var(--lh);color:#555;font-size:.85em;text-align:center}

.ms-ph{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ms-ph h3{margin:0}.ms-ph + [data-plb]:not([hidden]){margin-top:12px}
.chev{color:var(--muted,#5f6b73);font-size:14px;margin-left:4px}.ms-ph.pp-click,.rd-h.pp-click,.ms-head.pp-click{padding:6px 8px;margin:-6px -8px}.rd-h.pp-click{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.rd-h.pp-click .spacer{flex:1}

.ms-val{grid-column:1/-1;margin-top:4px;line-height:1.5}.ms-rsum{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;padding:8px 10px;margin-bottom:6px;background:var(--bg-soft,#f6f4fb);border-radius:10px}.ms-rsum .btn{margin-left:auto}.ms-attn .pp-li{margin-top:8px}.ms-attn .pill{min-width:22px;text-align:center}
.ms-tbl{width:100%;border-collapse:collapse;font-size:.85rem;margin:4px 0 8px}.ms-tbl th,.ms-tbl td{padding:6px 8px;border-bottom:1px solid var(--line,#e4e9ed);text-align:left}.ms-tbl .r{text-align:right;white-space:nowrap}.ms-tbl tfoot td{border-top:2px solid var(--line,#e4e9ed);border-bottom:0}.ms-sum{overflow-x:auto}
.rd-ch .rd-bar{display:grid;grid-template-columns:minmax(90px,150px) 1fr 56px;gap:10px;align-items:center;margin-top:10px;font-size:.88rem}.rd-bl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rd-bt{background:var(--accent-bg,#f0ebfb);border-radius:999px;height:14px;overflow:hidden;display:block}.rd-bf{display:block;height:100%;background:var(--accent,#6d28d9);border-radius:999px;min-width:2px}.rd-bv{text-align:right}
.kpi2 .muted.small{display:block;margin-top:2px}
@media(max-width:700px){.rd-tbl thead{display:none}.rd-tbl,.rd-tbl tbody,.rd-tbl tr,.rd-tbl td{display:block;width:100%}.rd-tbl tr{border:1px solid var(--line,#e4e9ed);border-radius:12px;padding:8px 12px;margin-bottom:10px}.rd-tbl td{display:flex;justify-content:space-between;gap:12px;border:0;padding:4px 0;text-align:right!important;white-space:normal!important}.rd-tbl td::before{content:attr(data-l);color:var(--muted);font-size:.78rem;text-align:left;flex:none}.rd-tbl td:first-child{display:block;text-align:left!important;font-size:.95rem}.rd-tbl td:first-child::before{content:none}}
@keyframes rdf{0%{box-shadow:0 0 0 3px var(--accent,#6d28d9)}100%{box-shadow:0 0 0 0 transparent}}.rd-flash{animation:rdf 1.2s ease-out}
.ret-ph{width:44px;height:44px;border-radius:50%;object-fit:cover;border:1px solid var(--line)}.chk-grid{display:flex;flex-wrap:wrap;gap:8px 14px;margin:6px 0}.chk-i{display:inline-flex;align-items:center;gap:6px;font-size:14px}.chk-i input{width:auto}.h-add{margin-top:4px}

.fld-inline{display:flex!important;flex-direction:row!important;align-items:center;gap:8px}.fld-inline input{width:auto;margin:0}.fld-inline span{margin:0}

.sub-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:2px 0 12px}
.sub-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:12px 14px;border:1.5px solid var(--line,#e2e8f0);border-radius:12px;background:#fff;cursor:pointer;font:inherit;color:inherit}
.sub-card .sc-t{font-size:.8rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}
.sub-card .sc-y{font-size:1.25rem;font-weight:700}.sub-card .sc-y small{font-size:.75rem;font-weight:500;color:#64748b}
.sub-card:hover{border-color:#a78bfa}.sub-card.active{border-color:#6D28D9;background:#f5f3ff;box-shadow:0 0 0 3px rgba(109,40,217,.12)}.sub-card.active .sc-t{color:#6D28D9}
@media(max-width:520px){.sub-card{padding:10px}.sub-card .sc-y small{display:block}}
