:root{
  /* Identidade da Drogaria Atual (a mesma do Gestão de Metas): azul da marca como destaque, laranja e verde
     na faixa do topo e no logotipo, Sora nos títulos, IBM Plex Sans no texto e IBM Plex Mono nos valores.
     Layout: livro-caixa de balcão — faixa de saldos no topo, abas, cartões de lançamento (duas colunas no computador, uma no celular, abas embaixo) */
  --bg:#F3F6FA;
  --surface:#FFFFFF;
  --surface-2:#EEF2F7;
  --ink:#132234;
  --ink-2:#48596D;
  --muted:#627488;
  --line:#D3DCE8;
  --line-strong:#B9C6D6;
  --accent:#004B97;
  --accent-ink:#FFFFFF;
  --accent-soft:#DBE8F6;
  --brand-laranja:#F3912E;
  --brand-verde:#32AA48;
  --logo-azul:#004B97;
  --in:#2A7F42;
  --in-soft:#E0F0E4;
  --out:#B8402F;
  --out-soft:#F7E2DD;
  --warn:#A5720F;
  --warn-soft:#F6ECD6;
  --scrim:rgba(10,30,60,.48);
  --shadow:0 1px 2px rgba(10,30,60,.06),0 10px 30px -12px rgba(10,30,60,.18);
  --shadow-lg:0 12px 40px rgba(10,30,60,.2);
  --f-display:"Sora","IBM Plex Sans",system-ui,sans-serif;
  --f-body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-num:"IBM Plex Mono",ui-monospace,"Cascadia Mono",Consolas,monospace;
  --r:12px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0C1520;--surface:#132030;--surface-2:#192A3D;--ink:#E5EDF6;--ink-2:#A5B5C8;--muted:#8193A8;
    --line:#28394E;--line-strong:#36495F;--accent:#5AA2EE;--accent-ink:#061A2E;--accent-soft:#17304D;--logo-azul:#5AA2EE;
    --in:#57B56E;--in-soft:#1D3324;--out:#E17864;--out-soft:#3A2420;--warn:#D9A53C;--warn-soft:#3A2F16;
    --scrim:rgba(0,0,0,.6);--shadow:0 1px 2px rgba(0,0,0,.3),0 20px 40px -20px rgba(0,0,0,.6);--shadow-lg:0 12px 40px rgba(0,0,0,.5);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0C1520;--surface:#132030;--surface-2:#192A3D;--ink:#E5EDF6;--ink-2:#A5B5C8;--muted:#8193A8;
  --line:#28394E;--line-strong:#36495F;--accent:#5AA2EE;--accent-ink:#061A2E;--accent-soft:#17304D;--logo-azul:#5AA2EE;
  --in:#57B56E;--in-soft:#1D3324;--out:#E17864;--out-soft:#3A2420;--warn:#D9A53C;--warn-soft:#3A2F16;
  --scrim:rgba(0,0,0,.6);--shadow:0 1px 2px rgba(0,0,0,.3),0 20px 40px -20px rgba(0,0,0,.6);--shadow-lg:0 12px 40px rgba(0,0,0,.5);
  color-scheme:dark;
}
*{box-sizing:border-box}
/* o claude.ai garantia isto na página; aqui, sem esta linha, .card/.overlay (display:flex) ignoram o hidden */
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 var(--f-body);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--f-display);margin:0;text-wrap:balance;letter-spacing:-.01em;font-weight:650}
p{margin:0}
button,input,select{font:inherit;color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.amt,.num{font-family:var(--f-num);font-variant-numeric:tabular-nums;white-space:nowrap}
.in{color:var(--in)} .out{color:var(--out)} .neg{color:var(--out)}

/* topo: faixa com as três cores da marca, logotipo da Drogaria Atual e, ao lado, o sistema e a loja */
body::before{content:"";position:fixed;inset:0 0 auto 0;height:4px;z-index:70;
  background:linear-gradient(90deg,var(--brand-laranja) 0 33.33%,var(--brand-verde) 33.33% 66.66%,var(--accent) 66.66% 100%)}
.top{background:var(--surface);border-bottom:1px solid var(--line);padding-top:4px}
.top-in{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:12px}
.brand{display:flex;align-items:center;gap:14px;min-width:0;color:inherit;text-decoration:none}
.logo{display:block;flex:none;line-height:0}
.logo svg{display:block;height:42px;width:auto}
.brand-sep{width:1px;align-self:stretch;margin-block:4px;background:var(--line-strong);flex:none}
.eyebrow{font-size:11.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:600;overflow-wrap:anywhere}
.brand h1{font-size:20px;line-height:1.15}
@media (max-width:560px){
  .logo svg{height:32px}
  .brand{gap:10px}
  .brand h1{font-size:16px}
  .top .who{flex-wrap:nowrap;gap:8px}
  .who .role{display:none}
  .drog{max-width:150px}
  /* com o seletor de lojas (superadmin), fica só o logotipo: a loja já aparece no seletor */
  .top:has(#drogSel:not([hidden])) .brand > :not(.logo){display:none}
}
.who{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;min-width:0}
.uname{font-size:13.5px;font-weight:600;color:var(--ink-2)}
.role{font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);white-space:nowrap}
.role.admin{background:var(--accent-soft);color:var(--accent);border-color:transparent}
.sync{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);white-space:nowrap}
.sync .dot{width:8px;height:8px;border-radius:50%;background:var(--muted);flex:none}
.sync[data-s="ok"] .dot{background:var(--in)}
.sync[data-s="saving"] .dot{background:var(--warn)}
.sync[data-s="err"] .dot{background:var(--out)}
@media (max-width:560px){ #syncTxt,.uname{display:none} }
.banner{margin-top:14px;padding:12px 14px;border-radius:10px;background:var(--warn-soft);color:var(--ink);border:1px solid var(--line-strong);font-size:14px}
.banner b{color:var(--warn)}

/* resumo */
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-block:16px}
.kpi{appearance:none;text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;display:flex;flex-direction:column;gap:6px;min-width:0;transition:border-color .15s}
.kpi:hover{border-color:var(--line-strong)}
.kpi:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.kpi > span{display:block}
.kpi > .k-sub{display:flex}
.k-lab{font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600}
.k-val{font:650 clamp(20px,2.3vw,28px)/1.1 var(--f-display);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.k-sub{font-size:13px;color:var(--ink-2);display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:2px 9px;border-radius:999px;background:var(--surface-2);color:var(--ink-2);white-space:nowrap}
.pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.pill.ok{background:var(--in-soft);color:var(--in)}
.pill.warn{background:var(--warn-soft);color:var(--warn)}
.pill.crit{background:var(--out-soft);color:var(--out)}
.meter{display:block;height:6px;border-radius:3px;background:var(--surface-2);border:1px solid var(--line);overflow:hidden}
.meter > i{display:block;height:100%;background:var(--accent);border-radius:3px}
.meter.over > i{background:var(--out)}
@media (max-width:860px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:400px){.kpi{padding:12px}}

/* abas */
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px}
.tabs button{appearance:none;border:0;background:none;padding:10px 14px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;display:flex;align-items:center;gap:8px}
.tabs button svg{width:18px;height:18px;flex:none}
.tabs button:hover{color:var(--ink)}
.tabs button.on{color:var(--accent);border-bottom-color:var(--accent)}
.tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:8px}
.tabs .sm{display:none}
main{padding-bottom:48px}
@media (max-width:759px){
  .tabs{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--surface);border-top:1px solid var(--line);border-bottom:0;margin:0;gap:2px;
    padding:6px max(8px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px))}
  .tabs button{flex:1;flex-direction:column;gap:3px;font-size:11.5px;padding:6px 2px;border-bottom:0;margin:0;border-radius:9px;min-width:0}
  .tabs button.on{background:var(--accent-soft)}
  .tabs .lg{display:none} .tabs .sm{display:inline}
  main{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}
}

/* cartões e controles */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;min-width:0;display:flex;flex-direction:column;gap:12px;container-type:inline-size}
.card.alert{border-color:var(--out)}
.card-h{display:flex;align-items:center;justify-content:space-between;gap:8px 12px;flex-wrap:wrap}
.card h2{font-size:17px}
.card-h .amt{font-size:15px;font-weight:600}
.hint{font-size:13px;color:var(--muted)}
.fld{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--ink-2);min-width:0}
.f{border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);padding:10px 12px;font-size:16px;width:100%;min-width:0;font-weight:400;color:var(--ink)}
.f:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.money{display:flex;align-items:center;gap:6px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);padding:0 12px;min-width:0}
.money:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.money span{color:var(--muted);font-size:14px;font-weight:500}
.money input{border:0;outline:0;background:transparent;width:100%;min-width:0;padding:10px 0;font:500 16px var(--f-num);font-variant-numeric:tabular-nums;color:var(--ink)}
.money.big input{font-size:28px;padding:12px 0}
.money.big span{font-size:18px}
input:disabled,select:disabled{opacity:.6;cursor:not-allowed}
.btn{appearance:none;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:10px;padding:10px 14px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;font-size:14.5px}
.btn:hover{background:var(--surface-2)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.primary:hover{filter:brightness(1.07)}
.btn.danger{color:var(--out)}
.btn.sm{padding:6px 12px;font-size:13px}
.btn.armed{background:var(--out-soft);border-color:var(--out);color:var(--out)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn svg{width:16px;height:16px}
.btn:focus-visible,.iconbtn:focus-visible,.rowbtn:focus-visible,.rowmain:focus-visible,.x:focus-visible,.seg button:focus-visible,.linkbtn:focus-visible,.okbtn:focus-visible,.paid:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.iconbtn{appearance:none;width:42px;height:42px;border-radius:10px;border:1px solid var(--line-strong);background:var(--surface);display:grid;place-items:center;cursor:pointer;flex:none}
.iconbtn:hover{background:var(--surface-2)}
.iconbtn svg{width:18px;height:18px}
.seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:10px;overflow:hidden;background:var(--surface);max-width:100%;flex-wrap:wrap}
.seg button{appearance:none;border:0;background:none;padding:8px 12px;font-weight:600;font-size:14px;color:var(--ink-2);cursor:pointer;border-left:1px solid var(--line)}
.seg button:first-child{border-left:0}
.seg button.on{background:var(--accent);color:var(--accent-ink)}
.linkbtn{appearance:none;border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left}
.linkbtn:hover{color:var(--accent);text-decoration:underline}
body.ro [data-w-hide]{display:none!important}
body:not(.admin) [data-admin]{display:none!important}

/* listas */
.rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.rows > li{border-top:1px solid var(--line)}
.rows > li:first-child{border-top:0}
.row,.rowbtn{display:flex;align-items:center;gap:12px;padding:10px 0;width:100%}
.rowbtn{appearance:none;border:0;background:none;text-align:left;cursor:pointer;border-radius:8px;padding-inline:8px;margin-inline:-8px;width:calc(100% + 16px)}
.rowbtn:hover{background:var(--surface-2)}
.r-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.r-title{font-weight:600;overflow-wrap:anywhere}
.r-sub{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.r-sub em{font-style:normal;color:var(--warn);font-weight:600}
.r-sub em.late{color:var(--out)}
.x{appearance:none;border:1px solid transparent;background:none;width:34px;height:34px;border-radius:8px;display:grid;place-items:center;color:var(--muted);cursor:pointer;flex:none;font-size:12px;font-weight:700}
.x:hover{background:var(--out-soft);color:var(--out)}
.x.armed{width:auto;padding:0 10px;background:var(--out-soft);color:var(--out);border-color:var(--out)}
.x svg{width:16px;height:16px}
.empty{font-size:14px;color:var(--muted);padding:12px 14px;border:1px dashed var(--line-strong);border-radius:10px;background:var(--surface-2);list-style:none}
.brow{display:flex;align-items:center;gap:8px}
.rowmain{appearance:none;border:0;background:none;text-align:left;cursor:pointer;display:flex;align-items:center;gap:12px;flex:1;min-width:0;padding:10px 8px;margin-left:-8px;border-radius:8px;color:inherit}
.rowmain:hover{background:var(--surface-2)}
.okbtn,.paid{appearance:none;flex:none;display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 12px;font-weight:600;font-size:13px;cursor:pointer;white-space:nowrap}
.okbtn{border:1px solid var(--accent);color:var(--accent);background:var(--surface)}
.okbtn:hover{background:var(--accent-soft)}
.paid{border:1px solid transparent;background:var(--in-soft);color:var(--in)}
.paid:disabled{cursor:default}
.okbtn svg,.paid svg{width:15px;height:15px}
@container (max-width:420px){ .okbtn .t,.paid .t{display:none} .okbtn,.paid{padding:7px 9px} }

/* caixa do dia */
.daybar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.daybar .f{width:auto;flex:0 1 180px}
.dayhead{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:14px 0 16px}
.dayhead h2{font-size:clamp(22px,3vw,30px)}
.daygrid{display:flex;flex-direction:column;gap:14px}
.daygrid .col{display:contents}
.area-ent{order:1}.area-bol{order:2}.area-desp{order:3}.area-comp{order:4}.area-fech{order:5}.area-intro{order:0}
@media (min-width:900px){
  .daygrid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:16px;align-items:start}
  .daygrid .col{display:flex;flex-direction:column;gap:16px}
}
.intro{background:var(--accent-soft);border-color:transparent}
.intro ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.addrow{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1.2fr) minmax(0,1fr) auto;gap:8px;padding-top:12px;border-top:1px solid var(--line)}
@container (max-width:540px){
  .addrow{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .addrow .f-desc,.addrow .btn{grid-column:1/-1}
}
.ledger{margin:0;display:flex;flex-direction:column}
.ledger > div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-top:1px dashed var(--line-strong)}
.ledger > div:first-child{border-top:0}
.ledger dt{color:var(--ink-2)}
.ledger dd{margin:0;font-family:var(--f-num);font-variant-numeric:tabular-nums;white-space:nowrap}
.ledger .tot{border-top:2px solid var(--ink);margin-top:2px;padding-top:10px}
.ledger .tot dt{font-weight:700;color:var(--ink)}
.ledger .tot dd{font-weight:600;font-size:19px}
.ledger .extra{border-top:1px solid var(--line-strong);margin-top:8px;padding-top:10px}
.prevtag{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--warn);background:var(--warn-soft);border-radius:999px;padding:1px 8px;margin-left:6px}
.confbox{display:flex;flex-direction:column;gap:6px;padding-top:12px;border-top:1px solid var(--line)}
.diff{font-size:13px}
.budget{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:10px;background:var(--surface-2);font-size:13px;color:var(--ink-2)}
.budget-top{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.bol-sum{display:flex;gap:6px 14px;flex-wrap:wrap;font-size:13px;color:var(--ink-2)}

/* a pagar */
.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.toolbar .f{width:auto;flex:1 1 220px;max-width:340px}
.total-line{font:650 24px/1.1 var(--f-display);font-variant-numeric:tabular-nums}
.total-line span{display:block;font:400 14px var(--f-body);color:var(--muted);margin-top:4px}
.split{display:grid;gap:16px}
@media (min-width:900px){.split{grid-template-columns:minmax(0,4fr) minmax(0,7fr);align-items:start}.split.even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.stack{display:flex;flex-direction:column;gap:16px;min-width:0}
.bar-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:10px 0;border-top:1px solid var(--line)}
.bar-row:first-child{border-top:0}
.bar{grid-column:1/-1;height:6px;border-radius:3px;background:var(--surface-2)}
.bar i{display:block;height:100%;border-radius:3px;background:var(--accent)}
.week{display:flex;flex-direction:column}
.week + .week{margin-top:18px}
.week-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600;padding-bottom:6px;border-bottom:2px solid var(--ink)}
.week-h.late{color:var(--out);border-bottom-color:var(--out)}
.dayblock{padding-top:10px}
.day-h{display:flex;justify-content:space-between;gap:8px;font-weight:700;padding-bottom:2px}
.day-h .amt{font-weight:600}
.hol{font-size:12px;color:var(--warn);font-weight:600;margin-left:6px}

/* previsão */
.callouts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
@media (max-width:860px){.callouts{grid-template-columns:repeat(2,minmax(0,1fr))}}
.co{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;display:flex;flex-direction:column;gap:4px;min-width:0}
.co b{font:650 19px/1.15 var(--f-display);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.chart{position:relative;width:100%;min-height:210px}
.chart svg{display:block;max-width:100%;height:auto;overflow:visible;touch-action:pan-y}
.chart .grid{stroke:var(--line);stroke-width:1}
.chart .zero{stroke:var(--ink-2);stroke-width:1.2}
.chart .ylab,.chart .xlab,.chart .minlab{fill:var(--muted);font:11px var(--f-body)}
.chart .minlab{fill:var(--warn);font-weight:600}
.chart .negzone{fill:var(--out-soft);opacity:.6}
.chart .minline{stroke:var(--warn);stroke-dasharray:5 4;stroke-width:1.3}
.chart .area{fill:var(--accent);opacity:.13}
.chart .area-neg{fill:var(--out);opacity:.18}
.chart .ln{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.chart .ln-neg{fill:none;stroke:var(--out);stroke-width:2;stroke-linejoin:round}
.chart .tick{stroke:var(--line-strong)}
.chart .cross{stroke:var(--ink-2);stroke-width:1;stroke-dasharray:3 3}
.chart .hdot,.chart .mk{fill:var(--surface);stroke:var(--accent);stroke-width:2}
.chart .hdot.isneg,.chart .mk.isneg{stroke:var(--out)}
.chart .mklab{font:600 11.5px var(--f-body);fill:var(--ink)}
.chart .hit{fill:transparent;cursor:crosshair}
.tip{position:absolute;pointer-events:none;background:var(--ink);color:var(--bg);padding:8px 10px;border-radius:8px;font-size:12.5px;line-height:1.4;white-space:nowrap;transform:translate(-50%,calc(-100% - 12px));box-shadow:var(--shadow);z-index:2}
.tip.below{transform:translate(-50%,16px)}
.tip .amt{font-size:12.5px}
.tablewrap{overflow-x:auto;margin-inline:-16px;padding-inline:16px}
table{width:100%;border-collapse:collapse;font-size:14px;min-width:560px}
th{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:right;font-weight:600;padding:8px;border-bottom:2px solid var(--ink);white-space:nowrap}
td{padding:8px;border-bottom:1px solid var(--line);text-align:right;font-family:var(--f-num);font-variant-numeric:tabular-nums;white-space:nowrap}
th:first-child,td:first-child{text-align:left;padding-left:0}
td:first-child{font-family:var(--f-body);font-weight:600}
td.pv{color:var(--muted);font-style:italic}
tbody tr{cursor:pointer}
tbody tr:hover td{background:var(--surface-2)}
tbody tr:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
tr.low td.sal{color:var(--warn);font-weight:600}
tr.neg td.sal{color:var(--out);font-weight:600}
tr.today td{background:var(--accent-soft)}
td .wk{color:var(--muted);font-weight:400}

/* relatórios e admin */
.checks{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;min-width:0}
.checks legend{font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:8px;padding:0}
.checks label{display:flex;align-items:center;gap:10px;font-size:14.5px;cursor:pointer}
.checks input{width:18px;height:18px;accent-color:var(--accent);flex:none}
.acc{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--ink-2)}
.acc b{color:var(--ink)}
.fgroup + .fgroup{margin-top:14px}
.fgroup h3{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-family:var(--f-body);font-weight:600;padding-bottom:4px;border-bottom:1px solid var(--line-strong)}
.prazo{font:600 13px var(--f-num);background:var(--accent-soft);color:var(--accent);padding:3px 9px;border-radius:999px;white-space:nowrap}
.cfg{display:grid;gap:14px}
.cfg-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}

/* janelas */
.overlay{position:fixed;inset:0;z-index:50;background:var(--scrim);display:flex;align-items:center;justify-content:center;padding:16px}
.sheet{background:var(--surface);border-radius:16px;width:min(560px,100%);max-height:calc(100% - 32px);overflow:auto;padding:20px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-lg)}
.sheet-h{display:flex;justify-content:space-between;align-items:center;gap:12px}
.sheet-h h2{font-size:20px}
.sheet form{display:flex;flex-direction:column;gap:14px}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sheet-f{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding-top:4px}
.sheet-f .sp{flex:1}
.pinfo{background:var(--surface-2);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:3px;font-size:14px}
.parc-h{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600;margin-bottom:6px}
.parc{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.parc li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding:9px 12px;border-top:1px solid var(--line);font-size:14px;align-items:baseline}
.parc li:first-child{border-top:0}
.parc .pn{font:600 12px var(--f-num);color:var(--muted)}
.parc em{font-style:normal;color:var(--warn);font-weight:600}
.parc .ok{color:var(--in);font-weight:600}
.err{color:var(--out);font-size:14px;font-weight:600}
@media (max-width:599px){
  .overlay{align-items:flex-end;padding:0}
  .sheet{border-radius:18px 18px 0 0;width:100%;max-height:94%;
    padding:18px max(16px,env(safe-area-inset-right,0px)) calc(18px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
}
@media (max-width:420px){.two,.cfg-row{grid-template-columns:minmax(0,1fr)}}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:10px;font-size:14px;font-weight:500;z-index:60;box-shadow:var(--shadow-lg);max-width:calc(100% - 32px);text-align:center}
.toast.err{background:var(--out-soft);color:var(--out);border:1px solid var(--out)}
@media (max-width:759px){.toast{bottom:calc(88px + env(safe-area-inset-bottom,0px))}}
@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}

/* sistema próprio: seletor de drogaria, link de convite, telas de entrada */
.drog{width:auto;max-width:240px;padding:6px 10px;font-size:14px;font-weight:600}
@media (max-width:560px){.drog{max-width:150px}}
.linkrow{display:flex;gap:8px;margin-top:6px}
.linkrow .f{font:13px var(--f-num);padding:8px 10px}
.entrar{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px 16px}
.entrar .card{width:min(420px,100%);padding:28px 24px 24px;gap:16px;box-shadow:var(--shadow)}
.entrar .marca-login{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding-bottom:4px}
.entrar .marca-login .logo svg{height:64px;margin-bottom:10px}
.entrar .marca-login h1{font-size:20px}
.entrar form{display:flex;flex-direction:column;gap:14px}
.entrar .btn.primary{width:100%;padding:12px}
.entrar .aviso{padding:10px 12px;border-radius:10px;background:var(--warn-soft);font-size:14px}
