/* Inquilino Protegido — mesmo visual da página de validação: planta baixa e laudo técnico, tijolo como acento, cantos retos. */
:root{
  --bg:#F2F3F5;--surface:#FFFFFF;--ink:#1A202B;--muted:#566070;--line:#D6DAE1;--line-strong:#B5BCC8;
  --accent:#8C3A2D;--accent-ink:#FFFFFF;--accent2:#3E5C82;--radius:2px;--grid:rgba(62,92,130,.09);
  --accent-soft:color-mix(in srgb,#8C3A2D 13%,transparent);--accent-strong:#8C3A2D;
  --accent2-soft:color-mix(in srgb,#3E5C82 16%,transparent);--accent-wash:color-mix(in srgb,#8C3A2D 6%,#FFFFFF);
  --ok:#2E6B4A;--ok-soft:color-mix(in srgb,#2E6B4A 14%,transparent);
  --warn:#8A5A00;--warn-soft:color-mix(in srgb,#C98A00 18%,transparent);
  --bg-glass:color-mix(in srgb,#F2F3F5 88%,transparent);--shadow:0 30px 60px -38px rgba(20,30,40,.35);
  --f-display:'Archivo',system-ui,sans-serif;--f-body:'Literata',Georgia,serif;--f-mono:'IBM Plex Mono',ui-monospace,monospace;
  --abas-h:64px;color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#101318;--surface:#171C24;--ink:#E8EBF0;--muted:#9AA3B3;--line:#272F3C;--line-strong:#3A4456;
  --accent:#E8907A;--accent-ink:#1A0F0B;--accent2:#86A7D3;--grid:rgba(134,167,211,.08);
  --accent-soft:color-mix(in srgb,#E8907A 22%,transparent);--accent-strong:#E8907A;
  --accent2-soft:color-mix(in srgb,#86A7D3 18%,transparent);--accent-wash:color-mix(in srgb,#E8907A 10%,#171C24);
  --ok:#7FC3A0;--ok-soft:color-mix(in srgb,#7FC3A0 18%,transparent);
  --warn:#F0C062;--warn-soft:color-mix(in srgb,#F0C062 16%,transparent);
  --bg-glass:color-mix(in srgb,#101318 88%,transparent);--shadow:0 30px 60px -42px rgba(0,0,0,.65);color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#101318;--surface:#171C24;--ink:#E8EBF0;--muted:#9AA3B3;--line:#272F3C;--line-strong:#3A4456;
  --accent:#E8907A;--accent-ink:#1A0F0B;--accent2:#86A7D3;--grid:rgba(134,167,211,.08);
  --accent-soft:color-mix(in srgb,#E8907A 22%,transparent);--accent-strong:#E8907A;
  --accent2-soft:color-mix(in srgb,#86A7D3 18%,transparent);--accent-wash:color-mix(in srgb,#E8907A 10%,#171C24);
  --ok:#7FC3A0;--ok-soft:color-mix(in srgb,#7FC3A0 18%,transparent);
  --warn:#F0C062;--warn-soft:color-mix(in srgb,#F0C062 16%,transparent);
  --bg-glass:color-mix(in srgb,#101318 88%,transparent);--shadow:0 30px 60px -42px rgba(0,0,0,.65);color-scheme:dark}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;
  padding-bottom:calc(var(--abas-h) + env(safe-area-inset-bottom,0px) + 16px);overflow-x:hidden}
[hidden]{display:none!important}
a{color:var(--accent);text-underline-offset:3px}
img{max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.pular{position:absolute;left:-9999px;top:0;background:var(--surface);padding:10px 14px;z-index:50}
.pular:focus{left:8px;top:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* topo e abas */
.faixa-demo{background:var(--accent);color:var(--accent-ink);text-align:center;font-family:var(--f-mono);font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;padding:7px 16px}
.topo{position:sticky;top:0;z-index:20;background:var(--bg-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
.passo{text-decoration:none;color:inherit}
.passo>svg{width:18px;height:18px;fill:none;stroke:var(--accent);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.topo-in{max-width:820px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;min-height:56px}
.marca{display:flex;align-items:center;gap:10px;font-family:var(--f-display);font-weight:800;font-size:1.1rem;letter-spacing:-.01em;color:var(--ink);text-decoration:none;min-height:44px}
.marca svg{width:24px;height:24px;color:var(--accent);flex:none}
.pill{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line);padding:4px 10px;border-radius:999px;color:var(--muted);white-space:nowrap}
@media (max-width:440px){.pill .longo{display:none}.marca{font-size:1rem}}
.abas{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}
.abas a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:var(--abas-h);text-decoration:none;color:var(--muted);font-family:var(--f-display);font-weight:700;font-size:.72rem;letter-spacing:.01em;border-top:2px solid transparent}
.abas a svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.abas a[aria-current="page"]{color:var(--accent);border-top-color:var(--accent)}
@media (min-width:821px){.abas{left:50%;right:auto;width:820px;transform:translateX(-50%);border-inline:1px solid var(--line)}}

/* conteúdo */
.conteudo{max-width:820px;margin:0 auto;padding:20px 16px 8px}
.conteudo:focus{outline:none}
.tela>*+*{margin-top:18px}
.rotulo{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;display:flex;align-items:center;gap:8px}
.rotulo::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent2);flex:none}
h1,h2,h3{font-family:var(--f-display);letter-spacing:-.02em;margin:0;line-height:1.15}
h1{font-weight:800;font-size:clamp(1.6rem,6vw,2.2rem);text-wrap:balance}
h2{font-weight:800;font-size:1.25rem}
h3{font-weight:700;font-size:1.05rem}
h1 em{font-style:normal;color:var(--accent)}
.sub{color:var(--muted);margin:6px 0 0;max-width:60ch}
.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}
.pequeno{font-size:.86rem}

.cartao{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;min-width:0}
.cartao.sombra{box-shadow:var(--shadow)}
.cartao-h{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);font-family:var(--f-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cartao-c{padding:16px}
.cartao-f{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 16px;padding:12px 16px;font-size:.9rem;background:var(--accent-wash);border-top:1px solid var(--line)}
.cartao-f strong{font-family:var(--f-mono);font-weight:600}
.planta{background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:28px 28px;padding:14px;border:1px solid var(--line)}
.linha{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}
.linha:last-child{border-bottom:0}
.linha b{display:block;font-weight:650;line-height:1.3}
.linha small{display:block;color:var(--muted);font-size:.82rem;line-height:1.4}
.vazio{padding:18px 16px;color:var(--muted);font-size:.92rem}

.chip{display:inline-block;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.02em;padding:3px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);white-space:nowrap;line-height:1.5}
.chip.b{background:var(--accent2-soft);color:var(--ink)}
.chip.n{background:transparent;border:1px solid var(--line-strong);color:var(--muted)}
.chip.ok{background:var(--ok-soft);color:var(--ok)}
.chip.w{background:var(--warn-soft);color:var(--warn)}

/* botões e campos */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent);border-radius:var(--radius);font-family:var(--f-display);font-weight:700;font-size:.95rem;cursor:pointer;text-decoration:none;line-height:1.2;text-align:center}
.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
.btn.sec{background:transparent;color:var(--ink);border-color:var(--line-strong)}
.btn.sec:hover{border-color:var(--ink)}
.btn.fant{background:transparent;color:var(--accent);border-color:transparent;padding-inline:10px}
.btn.cheio{width:100%}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btns{display:flex;flex-wrap:wrap;gap:10px}
.btns>.btn{flex:1 1 auto}
.campos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media (max-width:560px){.campos{grid-template-columns:minmax(0,1fr)}}
.campos .largo{grid-column:1/-1}
.campo{display:grid;gap:6px;min-width:0}
.campo>span,.campo>label{font-family:var(--f-display);font-weight:700;font-size:.86rem}
.campo small{color:var(--muted);font-size:.8rem;line-height:1.4}
input[type=text],input[type=date],input[type=month],input[type=number],input[type=email],input[type=tel],select,textarea{width:100%;min-height:44px;padding:10px 12px;background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--radius);font-family:var(--f-body);font-size:16px}
textarea{min-height:64px;resize:vertical;line-height:1.45}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}
.marcar{display:flex;gap:10px;align-items:flex-start;min-height:44px;padding:8px 0;cursor:pointer}
.marcar input{width:22px;height:22px;margin:2px 0 0;flex:none;accent-color:var(--accent)}
.seg{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);border:1px solid var(--line-strong);border-radius:var(--radius);overflow:hidden;background:var(--surface)}
.seg button{min-height:44px;border:0;border-right:1px solid var(--line-strong);background:transparent;font-family:var(--f-display);font-weight:700;font-size:.88rem;cursor:pointer;padding:6px 8px;color:var(--muted)}
.seg button:last-child{border-right:0}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--surface)}
.seg.estado button[aria-pressed="true"][data-v="ok"]{background:var(--ok);color:var(--surface)}
.seg.estado button[aria-pressed="true"][data-v="avariado"]{background:var(--accent);color:var(--accent-ink)}
.seg.estado button[aria-pressed="true"][data-v="na"]{background:var(--muted);color:var(--surface)}

.nota{padding:14px 16px;border-left:3px solid var(--accent2);background:var(--accent2-soft);font-size:.92rem;border-radius:0 var(--radius) var(--radius) 0}
.nota.alerta{border-left-color:var(--accent);background:var(--accent-soft)}
.nota.bom{border-left-color:var(--ok);background:var(--ok-soft)}
.nota p{margin:0}.nota p+p{margin-top:6px}

/* início */
.hero-inicio{display:grid;gap:8px}
.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.kpi{background:var(--surface);padding:12px;min-width:0}
.kpi b{display:block;font-family:var(--f-display);font-weight:800;font-size:1.35rem;color:var(--accent);font-variant-numeric:tabular-nums;line-height:1.1}
.kpi span{display:block;font-size:.78rem;color:var(--muted);line-height:1.3;margin-top:4px}
details.bloco{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
details.bloco>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;min-height:52px;font-family:var(--f-display);font-weight:700}
details.bloco>summary::-webkit-details-marker{display:none}
details.bloco>summary::after{content:"+";font-family:var(--f-mono);color:var(--accent);font-size:1.2rem;line-height:1}
details.bloco[open]>summary::after{content:"\2212"}
details.bloco>.cartao-c{border-top:1px solid var(--line)}

/* vistoria */
.fase-topo{display:grid;gap:12px}
.progresso{height:6px;background:var(--line);border-radius:999px;overflow:hidden}
.progresso i{display:block;height:100%;background:var(--accent)}
.comodo{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.comodo+.comodo{margin-top:10px}
.comodo>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:14px 16px;min-height:56px}
.comodo>summary::-webkit-details-marker{display:none}
.comodo>summary b{font-family:var(--f-display);font-weight:700;font-size:1.02rem}
.comodo>summary .chips{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.comodo>summary small{grid-column:1/-1;color:var(--muted);font-size:.82rem}
.item{border-top:1px solid var(--line);padding:14px 16px;display:grid;gap:10px}
.item-h{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.item-h b{font-family:var(--f-display);font-weight:700}
.dica{font-size:.84rem;color:var(--muted);margin:-4px 0 0;line-height:1.4}
.fotos{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.miniatura{width:72px;height:72px;border:1px solid var(--line-strong);border-radius:var(--radius);padding:0;overflow:hidden;cursor:pointer;background:var(--bg);flex:none}
.miniatura img{width:100%;height:100%;object-fit:cover;display:block}
.btn-foto{min-height:44px;padding:8px 12px;font-size:.86rem}
.comodo-acoes{border-top:1px solid var(--line);padding:12px 16px;display:flex;flex-wrap:wrap;gap:8px}
.comodo-acoes .btn{font-size:.84rem}

/* comparação */
.cmp-linha{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:12px 16px;border-top:1px solid var(--line)}
.cmp-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cmp-cols>div{min-width:0}
.cmp-cols .fotos .miniatura{width:56px;height:56px}
.cmp-cols p{margin:4px 0;font-size:.86rem}

/* reajuste */
.resultado{display:grid;gap:4px}
.valor-grande{font-family:var(--f-display);font-weight:800;font-size:clamp(2rem,9vw,2.8rem);line-height:1;color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.tabela-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.tab{width:100%;border-collapse:collapse;font-size:.88rem}
table.tab th,table.tab td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}
table.tab th:first-child,table.tab td:first-child{text-align:left}
table.tab th{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}
table.tab td{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
table.tab tr.sel td{background:var(--accent-soft);color:var(--accent-strong);font-weight:600}
.tabs-indice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media (max-width:640px){.tabs-indice{grid-template-columns:minmax(0,1fr)}}

/* cartas */
.tipos{display:grid;gap:8px}
.tipo{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;text-align:left;padding:12px 14px;min-height:56px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer}
.tipo[aria-pressed="true"]{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}
.tipo svg{width:22px;height:22px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tipo b{display:block;font-family:var(--f-display);font-weight:700;line-height:1.25}
.tipo small{display:block;color:var(--muted);font-size:.8rem;line-height:1.35}
.papel{background:var(--surface);border:1px solid var(--line);padding:22px 18px;font-family:var(--f-body);font-size:.95rem;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;box-shadow:var(--shadow)}

/* guia */
.art{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding:10px 0;border-bottom:1px solid var(--line)}
.art:last-child{border-bottom:0}
.art b{font-family:var(--f-mono);font-size:.76rem;color:var(--accent);letter-spacing:.03em}
.art p{margin:0}
.lista-check{list-style:none;margin:0;padding:0}
.lista-check li{border-bottom:1px solid var(--line)}
.lista-check li:last-child{border-bottom:0}

/* visor de foto */
.visor{position:fixed;inset:0;z-index:60;background:rgba(10,12,16,.94);display:flex;flex-direction:column;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px)}
.visor-barra{display:flex;gap:10px;align-items:center;padding:10px 12px;color:#E8EBF0}
.visor-barra .btn.sec{color:#E8EBF0;border-color:#5A6474}
.visor-legenda{flex:1;min-width:0;font-family:var(--f-mono);font-size:.78rem;line-height:1.35;overflow-wrap:anywhere}
.visor img{flex:1;min-height:0;object-fit:contain;width:100%}

.aviso-toast{position:fixed;left:50%;bottom:calc(var(--abas-h) + env(safe-area-inset-bottom,0px) + 12px);transform:translateX(-50%) translateY(20px);opacity:0;pointer-events:none;background:var(--ink);color:var(--surface);padding:10px 16px;border-radius:var(--radius);font-size:.9rem;max-width:calc(100vw - 32px);transition:opacity .2s,transform .2s;z-index:70}
.aviso-toast.on{opacity:1;transform:translateX(-50%) translateY(0)}

.rodape{margin-top:28px;padding-top:16px;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}
.rodape p{margin:0 0 6px}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ---------- impressão ---------- */
.impressao{display:none}
@media print{
  @page{size:A4;margin:14mm 12mm}
  body{background:#fff;color:#111;padding:0;font-size:10.5pt}
  body>*:not(.impressao){display:none!important}
  .impressao{display:block!important;color:#111}
  .impressao h1{font-family:var(--f-display);font-size:17pt;margin:0 0 2mm;letter-spacing:-.01em}
  .impressao h2{font-family:var(--f-display);font-size:12.5pt;margin:6mm 0 2mm;padding-bottom:1mm;border-bottom:1.5pt solid #111;break-after:avoid}
  .impressao .cab{display:flex;justify-content:space-between;gap:8mm;border-bottom:.6pt solid #999;padding-bottom:3mm;margin-bottom:3mm;font-size:9.5pt}
  .impressao .cab b{font-family:var(--f-mono);font-size:8pt;letter-spacing:.06em;text-transform:uppercase;color:#555;display:block}
  .impressao table{width:100%;border-collapse:collapse;font-size:9.5pt;margin:0 0 3mm}
  .impressao th,.impressao td{border:.5pt solid #999;padding:1.4mm 2mm;text-align:left;vertical-align:top}
  .impressao th{background:#eee;font-family:var(--f-mono);font-size:7.5pt;text-transform:uppercase;letter-spacing:.04em}
  .impressao .est-avariado{font-weight:700;color:#7a2a1e}
  .impressao .grade-fotos{display:grid;grid-template-columns:repeat(3,1fr);gap:3mm;margin:2mm 0 4mm}
  .impressao figure{margin:0;break-inside:avoid}
  .impressao figure img{width:100%;height:52mm;object-fit:cover;border:.5pt solid #999;display:block}
  .impressao figcaption{font-size:7.5pt;font-family:var(--f-mono);line-height:1.3;margin-top:1mm}
  .impressao .bloco-comodo{break-inside:auto}
  .impressao .assinaturas{display:grid;grid-template-columns:1fr 1fr;gap:12mm 10mm;margin-top:14mm;break-inside:avoid}
  .impressao .assinaturas div{border-top:.7pt solid #111;padding-top:1.5mm;font-size:9pt}
  .impressao .decl{font-size:9.5pt;margin-top:6mm;break-inside:avoid}
  .impressao .carta{white-space:pre-wrap;font-family:var(--f-body);font-size:11pt;line-height:1.55}
  .impressao .rod{font-size:7.5pt;color:#555;margin-top:6mm;border-top:.5pt solid #999;padding-top:2mm}
}
