/* APRFlow · estilos
   Layout: app em tela cheia — cabeçalho, abas, área de trabalho (painel + resumo lateral fixo no PC) e rodapé de navegação */
:root{
  --bg:#eef2f1; --surface:#ffffff; --surface-2:#f5f8f7; --ink:#14201e; --muted:#566562; --line:#d3dcd9;
  --brand:#0d5c53; --brand-ink:#ffffff; --brand-soft:#dcece9;
  --signal:#d98e0b; --ok:#1d8048; --ok-soft:#dcf0e3; --warn:#a96400; --warn-soft:#fbefd6; --bad:#c2382c; --bad-soft:#fbe1de;
  --lv-baixo:#cfe9d6; --lv-moderado:#f4e4a1; --lv-alto:#f6c28c; --lv-critico:#ee9a92;
  --paper:#ffffff; --paper-ink:#1a1a1a; --paper-line:#9aa5a2; --paper-head:#e3e9e7; --paper-muted:#55605d;
  --f-display:'Barlow Semi Condensed','Arial Narrow',system-ui,sans-serif;
  --f-body:'Barlow',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --f-mono:'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;
  --r:8px;
  color-scheme:light;
}
html,body{height:100%}
body{margin:0}
[hidden]{display:none!important}
img{max-width:100%}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
body{background:var(--bg);color:var(--ink);font:15px/1.45 var(--f-body);-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
button,input,select,textarea{font:inherit;color:inherit}
.g{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}

.app{height:100%;display:grid;grid-template-rows:auto auto 1fr auto;min-height:0}

/* Cabeçalho */
.top{background:var(--brand);color:var(--brand-ink)}
.top .in{display:flex;align-items:center;gap:14px;padding-block:10px;flex-wrap:wrap}
.brand{display:flex;align-items:baseline;gap:10px;min-width:0}
.brand b{font:700 22px/1 var(--f-display);letter-spacing:.01em}
.brand span{font:600 15px/1 var(--f-display);letter-spacing:.08em;text-transform:uppercase;opacity:.85}
.top .sp{flex:1}
.docno{font:500 13px/1 var(--f-mono);opacity:.9}
.chip{display:inline-flex;align-items:center;gap:6px;font:600 12px/1 var(--f-display);letter-spacing:.08em;text-transform:uppercase;padding:6px 10px;border-radius:99px;background:var(--surface);color:var(--ink);white-space:nowrap}
.chip::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--muted)}
.chip.liberada::before{background:var(--ok)} .chip.suspensa::before{background:var(--signal)}
.chip.encerrada::before{background:var(--brand)} .chip.vencida::before{background:var(--bad)}
.tbtn{border:1px solid color-mix(in srgb,var(--brand-ink) 40%,transparent);background:transparent;color:var(--brand-ink);border-radius:6px;padding:6px 10px;font:600 13px/1 var(--f-display);letter-spacing:.04em;cursor:pointer}
.tbtn:hover{background:color-mix(in srgb,var(--brand-ink) 12%,transparent)}
.pendbtn{display:none}

/* Abas */
.tabs{background:var(--surface);border-bottom:1px solid var(--line)}
.tabs .in{display:flex;gap:2px;overflow-x:auto;scrollbar-width:thin}
.tab{flex:0 0 auto;display:flex;align-items:center;gap:8px;border:0;background:none;padding:12px 12px 10px;border-bottom:3px solid transparent;cursor:pointer;color:var(--muted);font:600 15px/1 var(--f-display);letter-spacing:.02em;white-space:nowrap}
.tab .n{font:500 11px/1 var(--f-mono);opacity:.7}
.tab:hover{color:var(--ink)}
.tab[aria-selected="true"]{color:var(--brand);border-bottom-color:var(--brand)}
.tab .bd{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--bad);color:#fff;font:600 11px/18px var(--f-body);text-align:center}
.tab .okm{width:16px;height:16px;color:var(--ok)}

/* Área de trabalho */
.work{display:grid;grid-template-columns:minmax(0,1fr) 320px;min-height:0}
.panel{overflow:auto;min-height:0;padding-block:18px 28px}
.side{overflow:auto;min-height:0;background:var(--surface);border-left:1px solid var(--line);padding:16px}
.foot{background:var(--surface);border-top:1px solid var(--line)}
.foot .in{display:flex;align-items:center;gap:10px;padding-block:8px calc(8px + env(safe-area-inset-bottom,0px))}
.foot .step{flex:1;text-align:center;color:var(--muted);font:500 12px/1 var(--f-mono)}

/* Componentes */
h2{font:700 22px/1.15 var(--f-display);margin:0 0 4px;text-wrap:balance}
h3{font:700 16px/1.2 var(--f-display);letter-spacing:.04em;text-transform:uppercase;margin:0 0 10px;color:var(--muted)}
.hint{color:var(--muted);margin:0 0 16px;max-width:70ch}
.cols{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));align-items:start}
.cols.w2{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.cols.w3{grid-template-columns:repeat(3,minmax(0,1fr))}
.box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;min-width:0}
.stack{display:grid;gap:14px}
.form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}
.c3{grid-column:span 3}.c4{grid-column:span 4}.c8{grid-column:span 8}.c6{grid-column:span 6}.c12{grid-column:span 12}
.fld{display:grid;gap:5px;min-width:0}
.fld>span{font:600 12px/1.2 var(--f-display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rq{color:var(--bad)}
.err{font-style:normal;font-size:13px;color:var(--bad)}
input.invalid{border-color:var(--bad)}
input[type=text],input[type=password],input[type=email],input[type=date],input[type=datetime-local],input[type=tel],select,textarea{width:100%;min-width:0;background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:10px 11px;outline:none}
textarea{resize:vertical;line-height:1.4}
input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 22%,transparent)}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
fieldset{border:0;margin:0;padding:0;min-width:0}
fieldset:disabled{opacity:.72}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:9px 14px;font:600 14px/1 var(--f-display);letter-spacing:.04em;cursor:pointer;white-space:nowrap}
.btn:hover{border-color:var(--brand)}
.btn.pri{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}
.btn.big{padding:14px 20px;font-size:17px}
.btn.warn{background:var(--signal);border-color:var(--signal);color:#1d1503}
.btn.ghost{border-color:transparent;background:none;color:var(--muted)}
.btn:disabled{opacity:.45;cursor:not-allowed}

.ck{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:6px;cursor:pointer;min-width:0}
.ck:hover{background:var(--surface-2)}
.ck input{width:20px;height:20px;margin:0;flex:0 0 auto;accent-color:var(--brand)}
.ck span{min-width:0}
.ck.sug{background:color-mix(in srgb,var(--signal) 10%,transparent)}
.tag{display:inline-block;font:600 10px/1 var(--f-display);letter-spacing:.08em;text-transform:uppercase;padding:3px 6px;border-radius:4px;background:var(--warn-soft);color:var(--warn);margin-left:6px;vertical-align:2px}
.list{display:grid;gap:2px}

.banner{display:flex;gap:10px;align-items:center;padding:10px 14px;border-radius:var(--r);margin-bottom:16px;background:var(--brand-soft);flex-wrap:wrap}
.banner.warn{background:var(--warn-soft)} .banner.bad{background:var(--bad-soft)} .banner.ok{background:var(--ok-soft)}

/* Atividades críticas */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.tile{position:relative;display:grid;justify-items:center;align-content:start;gap:8px;text-align:center;padding:14px 10px 12px;border:1.5px solid var(--line);border-radius:var(--r);background:var(--surface);cursor:pointer;min-height:150px}
.tile:hover{border-color:var(--brand)}
.tile .no{position:absolute;top:8px;left:10px;font:500 12px/1 var(--f-mono);color:var(--muted)}
.tile svg{width:46px;height:46px;color:var(--brand)}
.tile .nm{font:600 14px/1.2 var(--f-display)}
.tile[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
.tile[aria-pressed="true"] svg,.tile[aria-pressed="true"] .no{color:var(--brand-ink)}
.tile[aria-pressed="true"]::after{content:"✓";position:absolute;top:6px;right:10px;font-weight:700}
.cond{border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;background:var(--surface);display:grid;gap:8px;border-left:4px solid var(--brand)}
.cond.impeditiva{border-left-color:var(--bad)} .cond.permissao{border-left-color:var(--signal)}
.cond .hd{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font:700 15px/1.2 var(--f-display)}
.cond p{margin:0;color:var(--muted)}
.cond ul{margin:0;padding-left:18px}
.kind{font:600 10px/1 var(--f-display);letter-spacing:.08em;text-transform:uppercase;padding:4px 7px;border-radius:4px;background:var(--brand-soft);color:var(--brand)}
.kind.impeditiva{background:var(--bad-soft);color:var(--bad)} .kind.permissao{background:var(--warn-soft);color:var(--warn)}
.imgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:10px}
.imp{display:grid;gap:6px;align-content:start;padding:12px 14px;border:1px solid var(--line);border-left:4px solid var(--bad);border-radius:var(--r);background:var(--surface)}
.imp.off{border-left-color:var(--line);opacity:.6}
.imp .hd{display:flex;gap:8px;align-items:flex-start;justify-content:space-between;font:700 15px/1.25 var(--f-display)}
.imp p{margin:0;color:var(--muted);font-size:14px}
.impv{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}
.impv.presente{border-color:var(--bad);background:var(--bad-soft)}
.impv.ausente{border-color:var(--ok)}
.impv .t{flex:1 1 220px;min-width:0;font-size:14.5px;line-height:1.3}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden;flex:0 0 auto}
.seg label{cursor:pointer}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:block;padding:9px 14px;font:600 14px/1 var(--f-display);letter-spacing:.03em;background:var(--surface)}
.seg label+label span{border-left:1px solid var(--line)}
.seg input:checked+span{background:var(--ok);color:#fff}
.seg label.p input:checked+span{background:var(--bad);color:#fff}
.seg input:focus-visible+span{outline:2px solid var(--brand);outline-offset:-2px}
.empty{color:var(--muted);border:1px dashed var(--line);border-radius:var(--r);padding:18px;text-align:center}

/* Riscos */
.rlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:6px 14px}
.rk{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;align-items:center;padding:8px 10px;border-radius:6px;border:1px solid transparent}
.rk.on{background:var(--surface);border-color:var(--line)}
.rk .ck{padding:0;grid-column:1 / -1}
.rk .ck:hover{background:none}
.rk .ev{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr auto;gap:6px;align-items:center;padding-left:30px}
.rk select{padding:6px 8px;font-size:13px}
.lv{display:inline-flex;align-items:center;justify-content:center;min-width:76px;padding:5px 8px;border-radius:5px;font:600 12px/1 var(--f-display);letter-spacing:.04em;text-transform:uppercase;background:var(--surface-2);color:var(--ink)}
.lv-baixo{background:var(--lv-baixo)} .lv-moderado{background:var(--lv-moderado)} .lv-alto{background:var(--lv-alto)} .lv-critico{background:var(--lv-critico)}
.mx{display:grid;grid-template-columns:28px repeat(4,minmax(0,1fr));gap:4px;font-variant-numeric:tabular-nums}
.mx .c{aspect-ratio:1.25;max-width:100%;border-radius:5px;display:grid;place-items:center;position:relative;font:500 12px/1 var(--f-mono);color:var(--ink)}
.mx .c .q{position:absolute;inset:auto 4px 4px auto;min-width:20px;height:20px;border-radius:10px;background:var(--ink);color:var(--surface);font:600 11px/20px var(--f-body);text-align:center}
.mx .ax{display:grid;place-items:center;font:600 12px/1 var(--f-display);color:var(--muted)}
.mx .axl{writing-mode:vertical-rl;transform:rotate(180deg)}
.scale{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;font-size:13px;margin-top:10px}
.scale b{font:500 12px/1.6 var(--f-mono)}
.rx{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.2fr) minmax(0,1.2fr) auto;gap:8px 10px;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2)}
.rx .mfull{grid-column:1 / -2}
@media (max-width:700px){ .rx{grid-template-columns:1fr 1fr} .rx>.fld:first-child,.rx .mfull{grid-column:1 / -1} }
.legend{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}

/* Equipe */
.wgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:14px}
.wk{display:grid;gap:10px}
.wk .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.trs{display:flex;flex-wrap:wrap;gap:6px}
.tr{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--line);border-radius:99px;cursor:pointer;font:600 13px/1 var(--f-display)}
.tr input{margin:0;width:16px;height:16px;accent-color:var(--brand)}
.tr.need{border-color:var(--bad);color:var(--bad)}
.tr.has{border-color:var(--ok);background:var(--ok-soft);color:var(--ink)}
.sig{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:48px}
.sig img{height:46px;max-width:180px;background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:2px}
.sig .when{font:500 11px/1.3 var(--f-mono);color:var(--muted)}
.addcard{display:grid;place-items:center;min-height:180px;border:1.5px dashed var(--line);border-radius:var(--r);background:none;cursor:pointer;color:var(--muted);font:600 16px/1 var(--f-display)}
.addcard:hover{border-color:var(--brand);color:var(--brand)}

/* Emergência */
.tel{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:8px;align-items:center}
.addr{display:grid;gap:8px;min-width:0}
.addr-h{font:700 13px/1.2 var(--f-display);letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.ag2{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px 10px}
.a-cep{grid-column:span 2}.a-st{grid-column:span 4}.a-log{grid-column:span 4}.a-num{grid-column:span 2}
.a-comp{grid-column:span 2}.a-bai{grid-column:span 4}.a-cid{grid-column:span 4}.a-uf{grid-column:span 2}
.cepst{align-self:end;font-size:13px;line-height:1.3;color:var(--muted);padding-bottom:10px}
@media (max-width:420px){ .a-cep,.a-num,.a-comp,.a-uf{grid-column:span 3} .a-st,.a-log,.a-bai,.a-cid{grid-column:span 6} .a-st{order:-1;padding:0} }
.hgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));gap:14px;margin-top:18px}
.hosp{display:grid;gap:10px;align-content:start}
.hosp .row3{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.map{position:relative;aspect-ratio:16/9;max-width:100%;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--brand-soft)}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map svg{position:absolute;inset:0;width:100%;height:100%}
.map .msg{position:absolute;left:10px;right:10px;bottom:10px;background:var(--surface);border-radius:6px;padding:8px 10px;font-size:13px;line-height:1.35;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.rinfo{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.rinfo .pill{display:inline-flex;gap:6px;align-items:baseline;padding:6px 10px;border-radius:6px;background:var(--surface-2);border:1px solid var(--line);font:600 14px/1 var(--f-display)}
.rinfo .pill small{font:500 11px/1 var(--f-body);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
a.btn{text-decoration:none;color:inherit}

/* Lateral */
.side h3{margin-top:18px} .side h3:first-child{margin-top:0}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:14px}
.kv dt{color:var(--muted)} .kv dd{margin:0;font-variant-numeric:tabular-nums;min-width:0;overflow-wrap:anywhere}
.mini{display:flex;flex-wrap:wrap;gap:6px}
.mini span{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:5px;background:var(--brand-soft);font:600 12px/1 var(--f-display)}
.mini svg{width:16px;height:16px;color:var(--brand)}
.pl{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.pl button{display:flex;gap:8px;width:100%;text-align:left;border:0;background:none;padding:6px 8px;border-radius:5px;cursor:pointer;font-size:13.5px;line-height:1.3}
.pl button:hover{background:var(--surface-2)}
.pl i{flex:0 0 8px;height:8px;border-radius:50%;margin-top:5px;background:var(--bad)}
.pl.w i{background:var(--signal)}
.pl small{color:var(--muted);font:500 11px/1.3 var(--f-mono);margin-left:auto;padding-left:6px;white-space:nowrap}
.gate{margin-top:6px;padding:12px;border-radius:var(--r);font:600 15px/1.3 var(--f-display)}
.gate.no{background:var(--bad-soft);color:var(--bad)} .gate.yes{background:var(--ok-soft);color:var(--ok)}

/* Barra de liberação */
.action{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 16px;border-radius:var(--r);margin-bottom:18px;background:var(--surface);border:1px solid var(--line)}
.action .t{flex:1;min-width:220px}
.action .t b{display:block;font:700 18px/1.2 var(--f-display)}
.action .t span{color:var(--muted);font-size:14px}

/* Documento */
.docwrap{overflow-x:auto}
.sheet{background:var(--paper);color:var(--paper-ink);width:min(100%,980px);min-width:720px;margin:0 auto;padding:28px;border:1px solid var(--line);box-shadow:0 2px 12px rgba(0,0,0,.08);font-size:12.5px;line-height:1.35}
.sheet table{width:100%;border-collapse:collapse;margin-bottom:10px}
.sheet th,.sheet td{border:1px solid var(--paper-line);padding:5px 7px;vertical-align:top;text-align:left}
.sheet th{background:var(--paper-head);font:700 11.5px/1.2 var(--f-display);letter-spacing:.04em;text-transform:uppercase}
.sheet .sh{background:var(--paper-head);text-align:center;font:700 12.5px/1.2 var(--f-display);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--paper-line);padding:6px;margin-top:10px}
.sheet .tt{display:grid;grid-template-columns:150px 1fr 150px;align-items:center;border:1px solid var(--paper-line);margin-bottom:10px}
.sheet .tt>div{padding:8px 10px}
.sheet .tt h1{margin:0;text-align:center;font:700 18px/1.15 var(--f-display);letter-spacing:.02em}
.sheet .tt .r{text-align:right;font:500 11px/1.5 var(--f-mono);border-left:1px solid var(--paper-line)}
.sheet .tt .l{border-right:1px solid var(--paper-line);font:700 16px/1 var(--f-display);color:#0d5c53}
.sheet .ag{display:grid;grid-template-columns:repeat(5,1fr);border-left:1px solid var(--paper-line);border-top:1px solid var(--paper-line)}
.sheet .ag div{border-right:1px solid var(--paper-line);border-bottom:1px solid var(--paper-line);padding:6px;display:flex;gap:6px;align-items:flex-start}
.sheet .bx{flex:0 0 14px;height:14px;border:1.3px solid var(--paper-ink);display:grid;place-items:center;font:700 11px/1 var(--f-body)}
.sheet .cl{columns:3;column-gap:16px;border:1px solid var(--paper-line);border-top:0;padding:6px 8px}
.sheet .cl div{break-inside:avoid;padding:1px 0}
.sheet .simg{height:34px;max-width:140px}
.sheet .note{font-size:11.5px;color:var(--paper-muted)}
.sheet .pr{border:1px solid var(--paper-line);border-top:0;padding:6px 8px}
.sheet .pr p{margin:2px 0}
.sheet .decl p{text-align:justify;hyphens:auto;margin:4px 0}
.sheet .ctr{text-align:center;vertical-align:middle}
.sheet .ok{color:#1d8048;font-weight:700}

/* Assinatura */
.modal{position:fixed;inset:0;z-index:50;background:rgba(10,18,17,.55);display:grid;place-items:center;padding:16px}
.modal .card{background:var(--surface);border-radius:12px;width:min(100%,560px);padding:18px;display:grid;gap:12px}
.modal canvas{width:100%;height:220px;background:var(--paper);border:1px solid var(--line);border-radius:8px;touch-action:none;cursor:crosshair}
.modal .acts{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}

@media (max-width:1180px){
  .work{grid-template-columns:minmax(0,1fr)}
  .side{display:none;position:fixed;left:0;right:0;bottom:0;max-height:78%;z-index:40;border-left:0;border-top:1px solid var(--line);border-radius:14px 14px 0 0;box-shadow:0 -10px 30px rgba(0,0,0,.25);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))}
  .side.open{display:block}
  .pendbtn{display:inline-flex}
  .cols.w3{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
}
@media (max-width:820px){
  .cols.w2{grid-template-columns:minmax(0,1fr)}
  .form-grid .c3,.form-grid .c4,.form-grid .c6,.form-grid .c8{grid-column:span 12}
  .form-grid .c3{grid-column:span 6}
  .brand span{display:none}
  .tab{padding:11px 10px 9px;font-size:14px}
  .tab .lbl{max-width:12ch;overflow:hidden;text-overflow:ellipsis}
}
@media (max-width:480px){
  .form-grid .c3{grid-column:span 12}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tile{min-height:130px}
  .rk .ev{grid-template-columns:1fr 1fr;padding-left:0}
  .rk .ev .lv{grid-column:1 / -1}
  .docno{display:none}
  .wk .row{grid-template-columns:1fr}
  .tel{grid-template-columns:1fr 1fr auto}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------- Componentes do sistema ---------- */
.top a.tlink{color:var(--brand-ink);text-decoration:none;font:600 14px/1 var(--f-display);letter-spacing:.04em;padding:7px 10px;border-radius:6px}
.top a.tlink:hover,.top a.tlink.on{background:color-mix(in srgb,var(--brand-ink) 14%,transparent)}
.who{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15;font-size:13px}
.who b{font:600 14px/1.2 var(--f-display)}
.who span{opacity:.8}
.savest{font:500 12px/1 var(--f-mono);color:var(--muted);white-space:nowrap}
.savest.err{color:var(--bad)}
.docbar{background:var(--surface);border-bottom:1px solid var(--line)}
.docbar .in{display:flex;align-items:center;gap:10px;padding-block:8px;flex-wrap:wrap}
.docbar .docno{color:var(--ink);opacity:1}
.docbar .chip{border:1px solid var(--line)}
.docbar .sp{flex:1}

/* Página simples (login, verificação, administração) */
.page{min-height:100%;display:flex;flex-direction:column}
.page main{flex:1;padding-block:28px 40px}
.wrap{max-width:1180px;margin:0 auto;width:100%}
.narrow{max-width:420px;margin:0 auto;width:100%}
.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px}
.login-h{font:700 30px/1.1 var(--f-display);margin:0 0 4px;color:var(--brand)}
.msg{padding:10px 12px;border-radius:6px;font-size:14px;line-height:1.35}
.msg.bad{background:var(--bad-soft);color:var(--bad)}
.msg.ok{background:var(--ok-soft);color:var(--ok)}
.msg.info{background:var(--brand-soft);color:var(--ink)}
.foot-note{color:var(--muted);font-size:13px;text-align:center;padding:16px}

/* Lista de documentos */
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.toolbar .grow{flex:1 1 240px;min-width:0}
.filters{display:flex;gap:6px;flex-wrap:wrap}
.filters button{border:1px solid var(--line);background:var(--surface);border-radius:99px;padding:7px 12px;font:600 13px/1 var(--f-display);cursor:pointer;color:var(--muted)}
.filters button[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
.tbl-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
table.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{text-align:left;font:600 12px/1.2 var(--f-display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line);background:var(--surface-2);white-space:nowrap}
.tbl td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl tr:last-child td{border-bottom:0}
.tbl tbody tr{cursor:pointer}
.tbl tbody tr:hover{background:var(--surface-2)}
.tbl .num{font:500 13px/1.3 var(--f-mono);white-space:nowrap}
.tbl .muted{color:var(--muted);font-size:13px}
.tbl .clip{max-width:380px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.st{display:inline-flex;align-items:center;gap:6px;font:600 12px/1 var(--f-display);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.st::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--muted)}
.st.liberada::before{background:var(--ok)} .st.suspensa::before{background:var(--signal)}
.st.encerrada::before{background:var(--brand)} .st.vencida::before,.st.cancelada::before{background:var(--bad)}
.chip.cancelada::before{background:var(--bad)}
@media (max-width:760px){
  .tbl thead{display:none}
  .tbl tr{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:12px;border-bottom:1px solid var(--line)}
  .tbl td{border:0;padding:0}
  .tbl td.c-serv{grid-column:1 / -1}
  .tbl td.c-local,.tbl td.c-cli,.tbl td.c-dt{grid-column:1 / -1}
  .tbl .clip{max-width:none}
}

/* Administração */
.adm{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px;align-items:start}
@media (max-width:900px){ .adm{grid-template-columns:minmax(0,1fr)} }
.pill-perfil{display:inline-block;padding:3px 8px;border-radius:5px;background:var(--brand-soft);font:600 12px/1.2 var(--f-display)}

/* Toast e diálogo */
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:60;background:var(--ink);color:var(--surface);padding:12px 16px;border-radius:8px;max-width:min(92vw,560px);font-size:14px;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.toast.bad{background:var(--bad);color:#fff}
.dlg ul{margin:6px 0 0;padding-left:18px}

/* Verificação pública */
.verif-st{font:700 34px/1.1 var(--f-display);text-transform:uppercase;letter-spacing:.04em;margin:6px 0 2px}
.verif-st.liberada{color:var(--ok)} .verif-st.suspensa{color:var(--warn)} .verif-st.encerrada{color:var(--brand)}
.verif-st.vencida,.verif-st.cancelada{color:var(--bad)} .verif-st.rascunho{color:var(--muted)}

/* QR do documento */
.sheet .qr{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.sheet .qr img,.sheet .qr canvas{width:78px;height:78px}

/* Impressão: só o documento */
@media print{
  body{background:#fff}
  .top,.docbar,.tabs,.side,.foot,.banner,.no-print{display:none!important}
  .app,.work,.panel{display:block!important;height:auto!important;overflow:visible!important;padding:0!important}
  .sheet{border:0;box-shadow:none;min-width:0;width:100%;padding:0}
  .docwrap{overflow:visible}
  .sheet tr,.sheet .pr p,.sheet .ag div{break-inside:avoid}
}

/* Estrutura das páginas internas */
.shell{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}
.scroll{overflow:auto;min-height:0}
#vEdit.app{height:auto;min-height:0;grid-template-columns:minmax(0,1fr)}
@media (max-width:640px){ .who{display:none} .top nav .tlink{padding:7px 6px} }
