/* Visualizador de unidade (público, corretor e dashboard) + formulário de unidade + documentos */
.uv-bg,.uf-bg{--ac:var(--accent,var(--a,#14596A));--acs:var(--accent-soft,var(--a-soft,#EAF1F3))}
.uv-bg{position:fixed;inset:0;background:rgba(10,20,24,.5);z-index:60;display:flex;align-items:center;justify-content:center;padding:20px}
.uv{background:#fff;border-radius:16px;width:1100px;max-width:100%;height:min(720px,94vh);display:flex;flex-direction:column;overflow:hidden;color:var(--ink,#16262B);font-family:"Inter",system-ui,sans-serif}
.uv-h{display:flex;align-items:center;gap:20px;padding:14px 22px;border-bottom:1px solid var(--line,#E7ECEC)}
.uv-h .id small{display:block;font-size:11px;color:var(--faint,#8A9A9C);letter-spacing:.06em;text-transform:uppercase}.uv-h .id b{font-family:"Fraunces",serif;font-weight:500;font-size:26px;line-height:1}
.uv-tabs{display:flex;gap:6px;margin:0 auto}.uv-tabs button{border:none;background:none;padding:10px 16px;font:500 14px Inter,sans-serif;color:var(--muted,#5C6B6E);cursor:pointer;border-bottom:2px solid transparent}
.uv-tabs button.on{color:var(--ink,#16262B);border-color:var(--ink,#16262B)}
.uv-x{border:none;background:none;font-size:28px;line-height:1;cursor:pointer;color:var(--muted,#5C6B6E)}
.uv-b{display:grid;grid-template-columns:1.5fr 1fr;flex:1;min-height:0}
.uv-stage{position:relative;background:#F6F8F8;overflow:auto;display:flex;align-items:center;justify-content:center;min-height:260px}
.uv-stage img{max-width:100%;max-height:100%;transition:transform .15s;transform-origin:center;display:block}
.uv-stage object{width:100%;height:100%;border:0}
.uv-empty{text-align:center;color:var(--muted,#5C6B6E);padding:30px;font-size:14px;max-width:340px}.uv-empty svg{width:120px;display:block;margin:0 auto 14px;color:#B9C6C9}
.uv-zoom{position:absolute;right:14px;top:14px;display:flex;flex-direction:column;gap:6px}.uv-zoom button{width:34px;height:34px;border:1px solid var(--line,#E7ECEC);background:#fff;border-radius:8px;font-size:18px;cursor:pointer;color:var(--ink,#16262B)}
.uv-hint{position:absolute;left:14px;bottom:12px;font-size:11.5px;color:var(--muted,#5C6B6E);background:rgba(255,255,255,.9);padding:5px 10px;border-radius:7px}
.uv-side{overflow:auto;padding:26px 28px;border-left:1px solid var(--line,#E7ECEC)}
.uv-side h2{font-family:"Fraunces",serif;font-weight:500;font-size:2rem;margin:0 0 4px}
.uv-price{margin:6px 0 18px}.uv-price .big{font-family:"Fraunces",serif;font-size:1.6rem;color:var(--green,#2E6B4E)}.uv-price small{display:block;color:var(--faint,#8A9A9C);font-size:12px}
.uv-spec{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;margin-bottom:16px}
.uv-spec div{padding:10px 0;border-top:1px solid var(--line2,#F0F3F3);font-size:13.5px;display:flex;justify-content:space-between;gap:10px}.uv-spec span{color:var(--muted,#5C6B6E)}.uv-spec b{font-weight:600;text-align:right}
.uv-desc h4,.uv-tk h4{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ac);margin:18px 0 6px}
.uv-desc p{margin:0;color:var(--muted,#5C6B6E);font-size:13.5px;white-space:pre-wrap}
.uv-tk{border:1px solid var(--line,#E7ECEC);border-radius:12px;padding:4px 16px 14px;margin-top:16px;background:#FAFCFC}
.uv-tk .r{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--line2,#F0F3F3);font-size:13px}.uv-tk .r:first-of-type{border-top:none}.uv-tk .r span{color:var(--muted,#5C6B6E)}
.uv-tk .mono{font-family:ui-monospace,Consolas,monospace;font-size:12px}.uv-tk .note{font-size:11.5px;color:var(--faint,#8A9A9C);margin-top:8px}
.uv-acts{display:grid;gap:10px;margin-top:18px}
.uv-btn{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line,#E7ECEC);background:#fff;color:var(--ink,#16262B);border-radius:9px;padding:11px 14px;font:600 13.5px Inter,sans-serif;cursor:pointer;text-decoration:none}
.uv-btn.pri{background:var(--ac);border-color:var(--ac);color:#fff}.uv-btn.dis{opacity:.5;pointer-events:none}.uv-btn.dng{color:#9A2C17}
.uv-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tkb{font-size:11px;font-weight:600;padding:3px 9px;border-radius:20px;background:#EEF1F1;color:#5C6B6E}.tkb.ready{background:#FBF3E3;color:#8A6414}.tkb.issued{background:#E7F3EC;color:#256647}
@media(max-width:900px){.uv-bg{padding:0}.uv{height:100vh;border-radius:0}.uv-b{grid-template-columns:1fr;overflow:auto}.uv-stage{min-height:300px}.uv-side{border-left:none;border-top:1px solid var(--line,#E7ECEC)}.uv-h{padding:12px 14px;gap:8px}.uv-tabs{margin:0}}

/* formulário de unidade / documento (dashboard) */
.uf-bg{position:fixed;inset:0;background:rgba(10,20,24,.45);z-index:60;display:flex;align-items:center;justify-content:center;padding:18px}
.uf{background:#fff;border-radius:16px;width:760px;max-width:100%;max-height:94vh;overflow:auto;padding:26px 28px;font-family:"Inter",system-ui,sans-serif;color:var(--ink,#15211B)}
.uf h3{font-family:"Fraunces",serif;font-weight:500;font-size:1.5rem;margin:0 0 4px}
.uf .k{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ac);font-weight:600;margin-bottom:6px}
.uf .g{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 14px;margin-top:14px}.uf .g.two{grid-template-columns:1fr 1fr}
.uf .full{grid-column:1/-1}
.uf label{display:block;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint,#8A9A9C)}
.uf input,.uf select,.uf textarea{display:block;width:100%;margin-top:5px;border:1px solid var(--line,#E4E9E6);border-radius:9px;padding:9px 11px;font:14px Inter,sans-serif;color:var(--ink,#15211B);background:#fff;text-transform:none;letter-spacing:0}
.uf textarea{resize:vertical;min-height:84px}.uf input[readonly]{background:#F3F6F6;color:var(--muted,#5B6B62)}
.uf .price-in{font:15px Fraunces,serif;text-align:right;border:1.5px solid var(--ac)}
.uf .sec{margin:20px 0 0;padding-top:14px;border-top:1px solid var(--line2,#EEF2F0);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ac);font-weight:600}
.uf .tot{font-family:"Fraunces",serif;font-size:1.3rem;color:var(--green,#2E6B4E);padding-top:8px}
.uf .fileln{font-size:12px;color:var(--muted,#5C6B6E);margin-top:6px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.uf .fileln a{color:var(--ac);cursor:pointer;font-weight:600}
.uf .err{margin-top:12px;background:#FBEDEA;color:#9A2C17;border-radius:9px;padding:9px 12px;font-size:12.5px}
.uf .foot{display:flex;justify-content:space-between;gap:10px;margin-top:20px;align-items:center;flex-wrap:wrap}.uf .foot .note{font-size:11.5px;color:var(--faint,#8A9A9C);flex:1;min-width:220px}
.uf .fbtn{border:1px solid var(--line,#E4E9E6);background:#fff;border-radius:9px;padding:10px 16px;font:600 13px Inter,sans-serif;cursor:pointer;color:var(--ink,#15211B)}.uf .fbtn.pri{background:var(--ac);border-color:var(--ac);color:#fff}
@media(max-width:700px){.uf .g{grid-template-columns:1fr 1fr}}

/* documentos por empreendimento */
.dchips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.dchip{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:10px 14px;cursor:pointer;text-align:left;font:13px Inter,sans-serif;color:var(--ink);display:flex;flex-direction:column;gap:3px;min-width:170px}
.dchip.sel{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.dchip small{font-size:11px;color:var(--faint)}
.dgrp{background:var(--panel);border:1px solid var(--line);border-radius:14px;margin-bottom:16px;overflow:hidden}
.dgrp-h{display:flex;align-items:center;gap:10px;padding:14px 20px;background:var(--accent-soft)}.dgrp-h h3{font-family:"Fraunces",serif;font-weight:500;font-size:17px;margin:0}.dgrp-h .n{margin-left:auto;font-size:12px;color:var(--muted)}
.drow{display:grid;grid-template-columns:34px 1fr auto;gap:14px;align-items:center;padding:14px 20px;border-top:1px solid var(--line2)}.drow:first-of-type{border-top:none}
.dico{width:34px;height:34px;border-radius:9px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center}.dico svg{width:17px}
.dnm{font-weight:600;font-size:14px}.dmeta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:4px;font-size:12px;color:var(--muted)}
.vis{font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px;background:#EEF1F1;color:#5C6B6E}.vis.broker{background:#E9F1F8;color:#2C5C86}.vis.public{background:#E7F3EC;color:#256647}
.dact{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.dact .chip{cursor:pointer}
.dhash{font-family:ui-monospace,Consolas,monospace;font-size:11px;color:var(--faint)}
@media(max-width:800px){.drow{grid-template-columns:34px 1fr}.dact{grid-column:1/-1;justify-content:flex-start}}
.uf label .fileln{text-transform:none;letter-spacing:0}

/* fotos: lightbox + miniaturas */
.lb-bg{position:fixed;inset:0;background:rgba(8,14,16,.93);z-index:80;display:flex;align-items:center;justify-content:center;padding:20px}
.lb-f{margin:0;max-width:min(1400px,92vw);display:flex;flex-direction:column;gap:10px;align-items:center}
.lb-f img{max-width:100%;max-height:80vh;border-radius:6px;object-fit:contain}
.lb-f figcaption{display:flex;gap:16px;align-items:center;color:#DCE5E7;font:13px Inter,sans-serif}.lb-f figcaption a{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.4);border-radius:8px;padding:3px 10px}
.lb-x{position:fixed;right:18px;top:12px;border:none;background:none;color:#fff;font-size:36px;cursor:pointer;line-height:1}
.lb-p,.lb-n{position:fixed;top:50%;transform:translateY(-50%);border:none;background:rgba(255,255,255,.12);color:#fff;font-size:34px;width:48px;height:48px;border-radius:50%;cursor:pointer;line-height:1}
.lb-p{left:18px}.lb-n{right:18px}.lb-p:hover,.lb-n:hover{background:rgba(255,255,255,.25)}
.dthumb{width:64px;height:44px;border-radius:8px;overflow:hidden;background:#EEF3F3}.dthumb img{width:100%;height:100%;object-fit:cover;display:block}
.drow.media{grid-template-columns:64px 1fr auto}
.pthumb img{width:100%;height:100%;object-fit:cover;border-radius:9px;display:block}

/* Inteligência comercial: apresentação para investidor */
.iv{--ac:var(--accent,var(--a,#14596A));--acs:var(--accent-soft,var(--a-soft,#EAF1F3));color:var(--ink,#16262B);font-family:"Inter",system-ui,sans-serif}
.iv *{box-sizing:border-box}
.iv-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin-bottom:34px}
.iv-kpi{background:#fff;border:1px solid var(--line,#E7ECEC);border-top:3px solid var(--ac);border-radius:14px;padding:20px 22px}
.iv-kpi .v{font-family:"Fraunces",serif;font-size:2.5rem;line-height:1;color:var(--ac);letter-spacing:-.02em}
.iv-kpi .l{font-weight:600;font-size:13.5px;margin-top:10px;line-height:1.3}.iv-kpi .s{font-size:12px;color:var(--muted,#5C6B6E);margin-top:4px}
.iv-sec{margin-top:34px}
.iv-hd{display:flex;align-items:baseline;gap:14px;margin-bottom:16px;flex-wrap:wrap}
.iv-hd .n{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ac);font-weight:600;white-space:nowrap}
.iv-hd h3{font-family:"Fraunces",serif;font-weight:500;font-size:1.35rem;line-height:1.2;margin:0;flex:1;min-width:240px}
.iv-grid2{display:grid;grid-template-columns:1.15fr 1fr;gap:16px}
.iv-card{background:#fff;border:1px solid var(--line,#E7ECEC);border-radius:14px;padding:20px 22px}
.iv-card .t{font-size:12px;color:var(--muted,#5C6B6E);font-weight:600;margin-bottom:14px}
.iv-bars{display:flex;align-items:flex-end;justify-content:center;gap:64px;height:250px;position:relative;padding:44px 10px 0}
.iv-bar{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;width:96px}
.iv-bar i{display:block;width:100%;border-radius:10px 10px 0 0;background:var(--acs);border:1px solid var(--ac);border-bottom:none}
.iv-bar.hi i{background:var(--ac)}
.iv-bar b{font-family:"Fraunces",serif;font-weight:500;font-size:1.15rem;margin-bottom:6px}.iv-bar span{font-size:12px;color:var(--muted,#5C6B6E);margin-top:8px}
.iv-delta{position:absolute;left:50%;top:0;transform:translateX(-50%);background:var(--ac);color:#fff;border-radius:999px;padding:5px 14px;font-weight:700;font-size:13px;white-space:nowrap}
.iv-facts{display:grid;gap:14px}
.iv-fact{background:var(--acs);border-radius:14px;padding:18px 22px;display:flex;gap:16px;align-items:center}
.iv-fact .v{font-family:"Fraunces",serif;font-size:1.7rem;color:var(--ac);white-space:nowrap;line-height:1}.iv-fact .l{font-size:13px;color:var(--ink,#16262B)}
.iv-axis{position:relative;margin:6px 0 4px}
.iv-row{display:grid;grid-template-columns:230px 1fr;gap:16px;align-items:center;padding:12px 0;border-top:1px solid var(--line2,#F0F3F3)}.iv-row:first-of-type{border-top:none}
.iv-row .rl{font-size:13px;color:var(--ink,#16262B);font-weight:500}
.iv-track{position:relative;height:30px;border-radius:8px;background:repeating-linear-gradient(90deg,#F4F7F7 0 1px,transparent 1px 25%);background-color:#FAFCFC}
.iv-seg{position:absolute;top:3px;bottom:3px;border-radius:7px;background:var(--acs);border:1px solid var(--ac);display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:600;color:var(--ac);white-space:nowrap;overflow:hidden}
.iv-seg.hl{background:var(--ac);color:#fff}.iv-seg.open{border-right-style:dashed;border-radius:7px 0 0 7px}
.iv-ticks{display:grid;grid-template-columns:230px 1fr;gap:16px;margin-top:2px}.iv-ticks .tk{position:relative;height:16px;font-size:10.5px;color:var(--faint,#8A9A9C)}.iv-ticks .tk span{position:absolute;transform:translateX(-50%)}
.iv-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
.iv-stat{background:var(--acs);border-radius:12px;padding:16px 20px}.iv-stat .v{font-family:"Fraunces",serif;font-size:1.5rem;color:var(--ac)}.iv-stat .l{font-size:12.5px;color:var(--muted,#5C6B6E)}
.iv-tiles{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.iv-tile{background:#fff;border:1px solid var(--line,#E7ECEC);border-radius:14px;padding:22px 24px}
.iv-tile .v{font-family:"Fraunces",serif;font-size:2.2rem;color:var(--ac);line-height:1}.iv-tile .v small{font-family:"Inter",sans-serif;font-size:13px;color:var(--muted,#5C6B6E);margin-left:6px}
.iv-tile .l{font-weight:600;margin-top:8px}.iv-tile p{margin:6px 0 0;color:var(--muted,#5C6B6E);font-size:13.5px}
.iv-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.iv-tag{display:inline-flex;align-items:center;gap:8px;background:var(--acs);color:var(--ac);border-radius:999px;padding:7px 14px;font-size:12.5px;font-weight:600}
.iv-tag::before{content:"✓";font-weight:700}
.iv-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.iv-step{background:#fff;border:1px solid var(--line,#E7ECEC);border-radius:14px;padding:20px 22px}
.iv-step .c{width:30px;height:30px;border-radius:50%;background:var(--ac);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;margin-bottom:12px}
.iv-step h4{margin:0 0 6px;font-size:14.5px}.iv-step p{margin:0;color:var(--muted,#5C6B6E);font-size:13.5px}
.iv-step.chk .c{background:var(--acs);color:var(--ac)}
.iv-foot{margin-top:30px;padding-top:16px;border-top:1px solid var(--line,#E7ECEC);font-size:12px;color:var(--faint,#8A9A9C)}
.iv-src{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.iv-src span{background:#F3F6F6;border-radius:6px;padding:3px 9px;color:var(--muted,#5C6B6E)}
.iv-plain{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.iv-plain .iv-card p{margin:0;color:var(--muted,#5C6B6E);font-size:13.5px}.iv-plain .k{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ac);font-weight:600;margin-bottom:8px}
@media(max-width:900px){.iv-grid2,.iv-tiles,.iv-3,.iv-plain,.iv-stats{grid-template-columns:1fr}.iv-row,.iv-ticks{grid-template-columns:1fr;gap:6px}.iv-ticks>div:first-child{display:none}.iv-bars{gap:14px}}
@media(max-width:480px){.iv-bars{flex-wrap:wrap;height:auto;gap:18px;padding-top:54px}.iv-bar{width:auto;flex:1 1 40%}.iv-kpi .v{font-size:2rem}.iv-tile .v{font-size:1.9rem}}
.iv-out{position:absolute;top:50%;transform:translateY(-50%);font-size:12px;font-weight:600;color:var(--ac);white-space:nowrap}
.mlogo{display:block;width:auto;max-width:100%}.flogo{display:inline-flex;align-items:center;gap:6px}
.uv-stage img{max-height:min(600px,calc(94vh - 150px));object-fit:contain}

/* importar imagens para a galeria (passo 52) */
.uf.mi{width:980px}
.mi-p{color:var(--muted,#5b6b66);font-size:13.5px;margin:2px 0 14px}
.mi-src{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.mi-card{border:1.5px dashed var(--line,#dfe5e3);border-radius:14px;padding:18px;cursor:pointer;display:flex;flex-direction:column;gap:4px}
.mi-card:hover{border-color:var(--ac,#14596A);background:#f7faf9}.mi-card svg{width:22px;height:22px;color:var(--ac,#14596A)}
.mi-card b{font-family:"Fraunces",serif;font-weight:500;font-size:1.1rem}.mi-card span{font-size:13px;color:var(--muted,#5b6b66)}
.mi-mode{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--muted,#5b6b66);margin-top:12px}
.mi-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:13.5px;margin-bottom:10px}
.mi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;max-height:58vh;overflow:auto;padding:2px}
.mi-it{border:1px solid var(--line,#dfe5e3);border-radius:12px;padding:6px;display:flex;flex-direction:column;gap:6px;background:#fff}
.mi-it.on{border-color:var(--ac,#14596A);box-shadow:0 0 0 2px rgba(20,89,106,.15)}
.mi-ph{position:relative;display:block;cursor:pointer;border-radius:8px;overflow:hidden;aspect-ratio:4/3;background:#f2f4f3}
.mi-ph img{width:100%;height:100%;object-fit:cover;display:block}
.mi-ph input{position:absolute;opacity:0}
.mi-ck{position:absolute;top:6px;left:6px;width:22px;height:22px;border-radius:6px;border:2px solid #fff;background:rgba(0,0,0,.25)}
.mi-it.on .mi-ck{background:var(--ac,#14596A)}.mi-it.on .mi-ck::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.mi-ph small{position:absolute;bottom:4px;right:6px;font-size:10.5px;color:#fff;background:rgba(0,0,0,.45);padding:1px 6px;border-radius:6px}
.mi-it select,.mi-it input[data-cap]{width:100%;box-sizing:border-box;font:inherit;font-size:12.5px;border:1px solid var(--line,#dfe5e3);border-radius:8px;padding:5px 7px}
.mi-busy{margin-top:12px;font-size:13px;color:var(--ac,#14596A)}
.mi-note{font-size:12px;color:var(--muted,#5b6b66)}
.drow.media.is-hidden .dthumb img{opacity:.4}
.dgrp-p{font-size:12.5px;color:var(--muted,#5b6b66);margin:-4px 0 10px}
@media (max-width:640px){.mi-grid{grid-template-columns:repeat(2,1fr)}}

/* mercado sem gráfico (passo 53): fatos em grade larga */
.iv-facts.iv-facts-wide{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.iv-facts.iv-facts-wide .iv-fact{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.iv-facts.iv-facts-wide .iv-fact .v{white-space:nowrap}.iv-facts.iv-facts-wide .iv-fact .l{text-align:left}
