:root{--navy:#22335F;--verde:#4C9838;--bg:#F4F6F9;--ink:#1C2540;--ink2:#5A6478;--line:#DCE1EA;
--ok:#3D7C2D;--okbg:#E7F3E2;--no:#B3341F;--nobg:#FBE9E4;--bx:#B7860B;--bxbg:#FBF1D6;--tr:#6D4BB0;--trbg:#EEE8FA;--info:#2A4D8F;--infobg:#EAEFFA}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--ink);min-height:100dvh}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,select,textarea{font:inherit;color:var(--ink)}
.logo{height:38px;width:auto;display:block;margin:0 auto 2px}
.logoSm{height:24px;width:auto;display:block}
.hbrand{display:flex;flex-direction:column;gap:2px}
.divisor{display:flex;align-items:center;gap:10px;margin:18px 0 10px;color:var(--ink2);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.divisor::before,.divisor::after{content:"";flex:1;height:1px;background:var(--line)}
.sub{font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2);margin-top:2px}
.sub.sm{font-size:.56rem}
.campo{width:100%;padding:12px;border:1.5px solid var(--line);border-radius:11px;background:#fff;margin-top:6px}
textarea.campo{min-height:70px;resize:vertical}
.linha{display:flex;gap:9px;margin-top:12px}
.btn{flex:1;padding:13px;border-radius:11px;font-weight:800;text-align:center}
.btn.pri{background:var(--navy);color:#fff}.btn.sec{background:#fff;border:1.5px solid var(--line)}
.btn.sm{flex:none;padding:8px 12px;font-size:.8rem}
.link{color:var(--info);font-weight:700;font-size:.85rem;margin-top:12px}
.erro{color:var(--no);font-weight:700;font-size:.85rem;min-height:1.1em;margin:6px 0}
.aviso{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;color:var(--ink2);margin-top:12px}
.hint{font-size:.8rem;color:var(--ink2);line-height:1.5}
.cinza{color:var(--ink2)}

/* login */
.login{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:20px;background:var(--bg);z-index:50}
.login.on{display:flex}
.loginbox{width:100%;max-width:380px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px 22px;text-align:center}
.loginbox .campo{text-align:left}
.loginbox .hint{text-align:left;margin-bottom:4px}

/* app shell */
.app{display:none}.app.on{display:block}
header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.hrow{display:flex;justify-content:space-between;align-items:center;gap:10px;max-width:920px;margin:0 auto;padding:10px 14px;flex-wrap:wrap}
.hright{display:flex;align-items:center;gap:8px}
.unidadeSel{padding:8px;border:1.5px solid var(--line);border-radius:9px;background:#fff;max-width:44vw}
.user{font-size:.72rem;color:var(--ink2);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
main{max-width:920px;margin:0 auto;padding:14px 14px 90px}
nav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);display:flex;z-index:20}
nav button{flex:1;padding:9px 2px;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:.66rem;font-weight:700;color:var(--ink2)}
nav button svg{width:22px;height:22px}
nav button.on{color:var(--navy)}nav button.on svg{stroke:var(--verde)}

/* inventário */
.busca input{width:100%;padding:12px;border:1.5px solid var(--line);border-radius:11px;background:#fff}
.chips{display:flex;gap:6px;overflow-x:auto;padding:8px 0}
.chip{white-space:nowrap;padding:7px 12px;border-radius:99px;border:1.5px solid var(--line);background:#fff;font-size:.8rem;font-weight:700;color:var(--ink2)}
.chip.on{background:var(--navy);border-color:var(--navy);color:#fff}
.cont{font-size:.78rem;color:var(--ink2);margin:4px 2px 8px}
.item{width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px;margin-bottom:8px;display:flex;gap:11px;align-items:center}
.plaq{background:var(--navy);color:#fff;border-radius:6px;padding:6px 9px;font-weight:700;font-family:ui-monospace,monospace;font-size:.82rem;flex-shrink:0}
.plaq.big{font-size:1.2rem;padding:10px 16px}
.meta{min-width:0}.meta b{font-size:.9rem;display:block;line-height:1.25}
.tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}
.mini{font-size:.64rem;font-weight:800;text-transform:uppercase;padding:2px 7px;border-radius:5px;background:#ECEFF3;color:var(--ink2)}
.mini.e{background:var(--infobg);color:var(--info)}.mini.ok{background:var(--okbg);color:var(--ok)}
.mini.no{background:var(--nobg);color:var(--no)}.mini.bx{background:var(--bxbg);color:var(--bx)}
.mini.tr{background:var(--trbg);color:var(--tr)}.mini.f{background:var(--infobg);color:var(--info)}

/* ficha */
.sheet{position:fixed;inset:0;background:rgba(18,26,50,.55);display:none;align-items:flex-end;justify-content:center;z-index:40}
.sheet.on{display:flex}
.sheetin{background:var(--bg);width:100%;max-width:640px;max-height:94dvh;overflow-y:auto;border-radius:16px 16px 0 0;padding:16px}
.sheethead{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.x{background:#fff;border:1px solid var(--line);border-radius:9px;padding:8px 12px;font-weight:800;color:var(--ink2)}
.fdesc{font-weight:700;margin-bottom:6px}
.lbl{font-size:.72rem;font-weight:800;text-transform:uppercase;color:var(--ink2);margin:14px 2px 6px}
.dois{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.stb,.acb{padding:14px 8px;border-radius:11px;font-weight:800;border:2px solid var(--line);background:#fff;color:var(--ink2)}
.stb.posse.on{background:var(--verde);border-color:var(--verde);color:#fff}
.stb.nloc.on{background:var(--no);border-color:var(--no);color:#fff}
.acb.bx.on{background:#E7B008;border-color:#E7B008;color:#3D2E00}
.acb.tr.on{background:var(--tr);border-color:var(--tr);color:#fff}
.prev{font-size:.8rem;color:var(--ink2);margin-top:6px}

/* relatórios */
h2{font-size:1.05rem;color:var(--navy);margin:4px 2px 12px}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:14px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px}
.kpi b{font-size:1.6rem;color:var(--navy);display:block}.kpi.ok b{color:var(--ok)}.kpi.no b{color:var(--no)}
.kpi span{font-size:.64rem;font-weight:800;text-transform:uppercase;color:var(--ink2)}
.tabwrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px}
table{width:100%;border-collapse:collapse;background:#fff;font-size:.84rem}
th,td{padding:9px 10px;text-align:left;border-bottom:1px solid var(--line)}
th{background:#F7F8FB;font-size:.64rem;text-transform:uppercase;color:var(--ink2)}
td.n{text-align:right;font-weight:700}td.ok{color:var(--ok)}td.no{color:var(--no)}

/* blocos admin */
.bloco{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:12px}
.bloco h3{color:var(--navy);font-size:.95rem;margin-bottom:8px}
.row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}
.row:last-child{border:none}
.row select{padding:7px;border:1.5px solid var(--line);border-radius:8px;background:#fff}

/* ===== v2: seletores, menu, fotos, scanner, log ===== */
.hsel{display:flex;gap:8px;align-items:center;max-width:920px;margin:0 auto;padding:0 14px 10px;flex-wrap:wrap}
.sel{padding:9px;border:1.5px solid var(--line);border-radius:10px;background:#fff;font-size:.85rem;flex:1;min-width:120px;max-width:280px}
#orgSel{display:none}
.btn.verde{background:var(--verde);color:#fff}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.item{position:relative;overflow:hidden}
.item::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:transparent}
.item.st-p::before{background:var(--verde)}.item.st-n::before{background:var(--no)}.item.st-f::before{background:var(--info)}
.chip.cbx.on{background:#E7B008;border-color:#E7B008;color:#3D2E00}
.chip.ctr.on{background:var(--tr);border-color:var(--tr);color:#fff}
.kpi.kf b{color:var(--info)}.kpi.kbx b{color:var(--bx)}.kpi.ktr b{color:var(--tr)}
.fdet{font-size:.82rem;color:var(--ink2);margin-bottom:8px;line-height:1.45}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:6px}
.fcell{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.fcell b{display:block;font-size:.62rem;text-transform:uppercase;color:var(--ink2);letter-spacing:.06em}
.fcell span{font-size:.85rem;font-weight:600}
.fotowrap{display:flex;gap:9px;flex-wrap:wrap}
.fotobtn{padding:11px 14px;border:1.5px solid var(--line);border-radius:11px;background:#fff;font-weight:700;font-size:.86rem}
.fotos{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;font-size:.82rem;color:var(--ink2)}
.fotoit{position:relative}
.fotoit img{width:110px;height:110px;object-fit:cover;border-radius:10px;border:1px solid var(--line);display:block}
.fotoit .rm{position:absolute;top:5px;right:5px;background:rgba(18,26,50,.75);color:#fff;border-radius:7px;padding:3px 8px;font-weight:800;font-size:.75rem}
.cam{position:relative;background:#0C1223;border-radius:14px;overflow:hidden;aspect-ratio:3/4;max-height:54dvh;display:flex;align-items:center;justify-content:center}
.cam video{width:100%;height:100%;object-fit:cover}
.camoff{color:#93A0C0;font-size:.85rem;text-align:center;padding:20px}
.mira{position:absolute;left:8%;right:8%;top:38%;height:24%;border:2.5px solid var(--verde);border-radius:10px;box-shadow:0 0 0 999px rgba(0,0,0,.34);pointer-events:none}
.ocrstat{font-size:.8rem;font-weight:700;color:var(--ink2);text-align:center;margin-top:8px;min-height:1.2em}
.menubtn{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px 14px;margin-bottom:10px;text-align:left}
.menubtn b{font-size:.95rem}.menubtn small{display:block;font-weight:600;font-size:.74rem;color:var(--ink2);margin-top:2px}
.menubtn .seta{color:var(--ink2);font-size:1.3rem}
.voltar{display:inline-block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 14px;font-weight:800;color:var(--navy);margin-bottom:12px}
.papel{font-size:.64rem;font-weight:800;text-transform:uppercase;padding:3px 8px;border-radius:5px;background:var(--infobg);color:var(--info)}
.papel.adm{background:#FBF3D9;color:#8A6D00}
.tenant{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#F7F8FB;border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.tnome{font-size:1rem;color:var(--navy)}
.check{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px 12px;margin-bottom:7px;font-size:.9rem}
.check input{width:18px;height:18px}
.logitem{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:7px;font-size:.84rem}
.logtop{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.logtop b{flex:1;min-width:110px}
.acao{font-size:.64rem;font-weight:800;text-transform:uppercase;padding:2px 7px;border-radius:5px;background:#ECEFF3;color:var(--ink2)}
.logdata{font-size:.7rem;color:var(--ink2);font-weight:600}
.logdet{color:var(--ink2);margin-top:3px;line-height:1.4;word-break:break-word}
.toast{position:fixed;bottom:82px;left:50%;transform:translateX(-50%);background:#17244A;color:#fff;padding:12px 18px;border-radius:10px;font-size:.86rem;font-weight:700;z-index:60;display:none;max-width:90vw;text-align:center}
main{padding-bottom:96px}

/* v3: filtros, abas, more, risco */
.filtros{display:grid;grid-template-columns:1fr;gap:7px;margin:8px 0}
@media(min-width:560px){.filtros{grid-template-columns:repeat(3,1fr)}}
.abas{display:flex;gap:6px;margin:12px 0 8px;overflow-x:auto}
.aba{padding:9px 14px;border-radius:99px;border:1.5px solid var(--line);background:#fff;font-weight:700;font-size:.82rem;color:var(--ink2);white-space:nowrap}
.aba.on{background:var(--navy);border-color:var(--navy);color:#fff}
.more{width:100%;padding:13px;border:1.5px dashed var(--line);border-radius:12px;color:var(--ink2);font-weight:700;background:#fff;margin-top:4px}
.bloco.risco{border-color:#F0C7BC;background:#FFFCFB}
.row{flex-wrap:wrap}

/* v4: rede, progresso, usuário no header */
.hright{align-items:flex-start}
.usuarioBox{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.user{font-size:.74rem;font-weight:700;color:var(--ink);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.userMail{font-size:.68rem;color:var(--ink2);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rede{display:inline-flex;align-items:center;gap:6px;font-size:.68rem;font-weight:800;padding:6px 10px;border-radius:99px;background:#ECEFF3;color:var(--ink2);white-space:nowrap}
.rede .dot{width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}
.rede.online{background:var(--okbg);color:var(--ok)}
.rede.salvando{background:#FBF1D6;color:#8A6D00}
.rede.salvando .dot{animation:pulsa 1s infinite}
.rede.offline{background:var(--nobg);color:var(--no)}
@keyframes pulsa{50%{opacity:.3}}
@media (prefers-reduced-motion:reduce){.rede.salvando .dot{animation:none}}
.progresso{max-width:920px;margin:0 auto;padding:0 14px 10px}
.pbar{height:6px;background:#E7EAF1;border-radius:99px;overflow:hidden}
.pfill{height:100%;width:0;background:linear-gradient(90deg,var(--navy),var(--verde));transition:width .4s}
.ptxt{display:flex;justify-content:space-between;font-size:.68rem;color:var(--ink2);font-weight:600;margin-top:4px}
.item.pend-envio{border-style:dashed}
.mini.env{background:#FBF1D6;color:#8A6D00}

/* v5: "Online" ao lado do Sair */
.hright{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.topline{display:flex;align-items:center;gap:8px}

/* ============ v6: cabeçalho reorganizado ============ */
header{padding-top:2px}
.hrow{
  display:flex; flex-wrap:nowrap;            /* nunca empilhar (era o bug) */
  align-items:flex-start; justify-content:space-between;
  gap:12px; max-width:920px; margin:0 auto; padding:10px 14px 8px;
}
.hbrand{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1 auto}
.logoSm{height:26px;width:auto;display:block}
.sub.sm{font-size:.55rem;letter-spacing:.1em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}
.hright{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex:0 0 auto}
.topline{display:flex;align-items:center;gap:6px}
.usercol{display:flex;flex-direction:column;align-items:flex-end;line-height:1.25}
.user{font-size:.72rem;font-weight:700;color:var(--ink);max-width:46vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.userMail{font-size:.63rem;color:var(--ink2);max-width:46vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rede{padding:5px 9px;font-size:.63rem;gap:5px}
.rede .dot{width:7px;height:7px}
.btn.sm{padding:6px 11px;font-size:.74rem;border-radius:9px}
.hsel{display:flex;gap:8px;align-items:center;max-width:920px;margin:0 auto;padding:0 14px 8px}
.sel{flex:1 1 0;min-width:0;max-width:none}
.progresso{padding:0 14px 9px}

@media (max-width:400px){
  .logoSm{height:22px}
  .sub.sm{font-size:.5rem;letter-spacing:.06em}
  .user,.userMail{max-width:42vw}
  .userMail{font-size:.6rem}
  .btn.sm{padding:6px 9px;font-size:.7rem}
}

/* ============ v7: header definitivo ============
   Linha 1: [logo + subtítulo]  ......  [Instalar] [Online] [Sair]
   Linha 2 (direita, sob o Sair): nome / e-mail                     */
.hrow{
  display:flex; flex-wrap:nowrap; align-items:flex-start;
  justify-content:space-between; gap:8px;
  max-width:920px; margin:0 auto; padding:9px 12px 6px;
}
.hbrand{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto;overflow:hidden}
.logoSm{height:21px;width:auto;max-width:100%;display:block}
.sub.sm{font-size:.46rem;letter-spacing:.07em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}
.hright{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:0 0 auto}
.topline{display:flex;align-items:center;gap:5px;flex-wrap:nowrap}
.usercol{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}
.user{font-size:.7rem;font-weight:700;color:var(--ink);max-width:52vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.userMail{font-size:.6rem;color:var(--ink2);max-width:52vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rede{padding:4px 8px;font-size:.6rem;gap:4px;white-space:nowrap}
.rede .dot{width:6px;height:6px}
.topline .btn.sm{padding:5px 9px;font-size:.68rem;border-radius:8px;white-space:nowrap;flex:0 0 auto}
@media (max-width:380px){
  .logoSm{height:19px}
  .sub.sm{font-size:.42rem}
  .rede{padding:4px 7px;font-size:.56rem}
  .topline .btn.sm{padding:5px 7px;font-size:.64rem}
}

/* ============ v8: header como o mockup ============
   Linha 1: [logo + subtítulo] ................ [Instalar][Online][Sair]
   Linha 2: [seletor de unidade] .............. [nome / e-mail]          */
.hrow{
  display:flex; flex-wrap:nowrap; align-items:center; justify-content:space-between;
  gap:10px; max-width:920px; margin:0 auto; padding:12px 14px 6px;
}
.hbrand{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1 auto;overflow:hidden}
.logoSm{height:24px;width:auto;max-width:100%;display:block}
.sub.sm{font-size:.5rem;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}
.topline{display:flex;align-items:center;gap:8px;flex:0 0 auto;flex-wrap:nowrap}
.rede{padding:7px 12px;font-size:.7rem;gap:6px;white-space:nowrap;border-radius:99px}
.rede .dot{width:8px;height:8px}
.topline .btn.sm{padding:7px 13px;font-size:.78rem;border-radius:10px;white-space:nowrap;flex:0 0 auto}

.hsel{
  display:flex; align-items:center; gap:10px;
  max-width:920px; margin:0 auto; padding:6px 14px 10px;
}
.hsel .sel{flex:0 1 auto;min-width:0;max-width:58%}
.usercol{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;line-height:1.25;min-width:0}
.user{font-size:.86rem;font-weight:700;color:var(--ink);max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.userMail{font-size:.7rem;color:var(--ink2);max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.progresso{padding:0 14px 10px}

@media (max-width:380px){
  .logoSm{height:21px}
  .sub.sm{font-size:.44rem}
  .rede{padding:6px 9px;font-size:.62rem}
  .topline .btn.sm{padding:6px 10px;font-size:.7rem}
  .user{font-size:.78rem}
  .userMail{font-size:.62rem}
}

/* ============ v9: fotos — miniaturas, visualizador, galeria ============ */
.fotosBarra{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 4px;font-size:.78rem}
.fotoit{position:relative}
.fotoit img{width:110px;height:110px;object-fit:cover;border-radius:10px;border:1px solid var(--line);display:block;cursor:zoom-in;background:#EEF0F4}
.fotoit .rm,.fotoit .fbx{position:absolute;top:5px;background:rgba(18,26,50,.78);color:#fff;border-radius:7px;padding:3px 8px;font-weight:800;font-size:.78rem;line-height:1}
.fotoit .rm{right:5px}
.fotoit .fbx{left:5px;font-size:.9rem;padding:2px 7px}

/* Visualizador em tela cheia (dentro do sheet) */
.visor{display:flex;flex-direction:column;min-height:70dvh}
.visorTop{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.visorInfo{font-size:.8rem;color:var(--ink2);font-weight:700}
.visorBtns{display:flex;gap:8px;align-items:center}
.visorImg{flex:1;display:flex;align-items:center;justify-content:center;background:#0C1223;border-radius:12px;min-height:52dvh;overflow:hidden}
.visorImg img{max-width:100%;max-height:70dvh;object-fit:contain;display:block}
.visorNav{display:flex;justify-content:space-between;margin-top:8px}
.visorSeta{background:#fff;border:1px solid var(--line);border-radius:10px;width:46px;height:40px;font-size:1.4rem;font-weight:800;color:var(--navy)}

/* Galeria */
.galBem{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.galBemInfo{display:flex;align-items:center;gap:9px;min-width:0}
.galBemTxt{min-width:0}.galBemTxt b{display:block;font-size:.86rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:52vw}
.galBemTxt .cinza{font-size:.72rem}
.galGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px}
.galCel img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:9px;border:1px solid var(--line);cursor:zoom-in;background:#EEF0F4;display:block}

/* v10: excluir patrimônio na ficha (admin) */
.fexcluir{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}
.fexcluir .btn{width:100%}
.fexcluir .hint{margin-top:8px}

/* ============ v11: corrige logo esticado no desktop ============
   O logo tem proporção larga (5.4:1). Fixar pela ALTURA e travar a largura
   automática — o max-width:100% herdado esticava a imagem no desktop. */
.hbrand{flex:0 1 auto !important;overflow:visible}
.logoSm{height:26px !important;width:auto !important;max-width:none !important;flex:0 0 auto}
@media (max-width:520px){ .logoSm{height:22px !important} }
@media (max-width:380px){ .logoSm{height:20px !important} }

/* ============ v12: modal (ficha) — corta no desktop ============
   Era um "bottom sheet" colado no rodapé, desenho de celular. No desktop
   a base ficava cortada. Agora: celular = sheet de baixo; desktop = janela
   centralizada, com respiro e rolagem interna. */

/* Celular: sheet de baixo, com folga para a barra de navegação */
.sheetin{
  max-height:90dvh;
  padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px));
  padding-bottom:22px;
}

/* Desktop / tablet: janela centralizada */
@media (min-width:720px){
  .sheet{align-items:center;padding:24px}
  .sheetin{
    max-height:86vh;
    border-radius:16px;
    padding:20px 22px 24px;
    box-shadow:0 18px 48px rgba(18,26,50,.28);
  }
  /* a última linha de botões nunca encosta na borda */
  .sheetin > .linha:last-child,
  .sheetin > .fexcluir:last-child{margin-bottom:4px}
}

/* Visualizador de foto: ocupar bem a janela no desktop */
@media (min-width:720px){
  .visor{min-height:auto}
  .visorImg{min-height:46vh}
  .visorImg img{max-height:60vh}
}
