:root{--red:#E26A12;--red-d:#C15502;--ink:#1B2A45;--muted:#5D6B7E;--line:#E3E8EF;--bg:#F4F6F9;--black:#1B2A45;--side:#1B2A45}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:Montserrat,system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%}
button{font:inherit;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
.ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ic.sm{width:16px;height:16px}.ic.big{width:52px;height:52px;stroke-width:1.3}.ic.red{color:var(--red)}.ic.flip{transform:rotate(180deg)}
.muted{color:var(--muted)}.small{font-size:12.5px}.red{color:var(--red)!important}
.link{background:none;border:0;padding:0;color:var(--red);font-weight:600;font-size:13px;text-decoration:underline;text-underline-offset:3px}
.link.center{display:block;margin:14px auto 0}
.msg{margin:10px 0;padding:10px 12px;border-radius:6px;font-size:13px;line-height:1.4}
.err-box{background:rgba(225,6,0,.1);color:#ff8a85;border:1px solid rgba(225,6,0,.35)}
.ok-box{background:rgba(30,160,90,.12);color:#58d68d;border:1px solid rgba(30,160,90,.35)}
.main .err-box{color:#b00400}.main .ok-box{color:#157a41}

/* botões */
.btn-red{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;height:48px;border:0;border-radius:6px;background:linear-gradient(180deg,#EE8434,var(--red-d));color:#fff;font-weight:700;font-size:15.5px;box-shadow:0 10px 24px rgba(226,106,18,.25);transition:.2s}
.btn-red:hover{filter:brightness(1.1)}.btn-red:disabled{opacity:.6;cursor:default}
.btn-red.sm{width:auto;height:40px;padding:0 20px;font-size:14px;box-shadow:none}
.btn-line{display:block;width:100%;height:46px;border:1.5px solid var(--red);border-radius:6px;background:transparent;color:#fff;font-weight:700;margin-top:6px}
.btn-line:hover{background:var(--red)}
.btn-o{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border:1.5px solid var(--red);border-radius:6px;background:#fff;color:var(--red);font-weight:600;font-size:13px;white-space:nowrap;transition:.15s}
.btn-o:hover{background:var(--red);color:#fff}.btn-o .ic{width:16px;height:16px}.btn-o.sm{height:36px}

/* ------------------------------------------------------------------ telas de acesso (escuras) */
.auth{min-height:100vh;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:100px 16px 40px;background:var(--black);color:#EEF2F6;overflow:hidden}
.auth-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,42,69,.96),rgba(27,42,69,.6) 50%,rgba(27,42,69,.95)),url(../brand/banner.jpg) center/cover;filter:saturate(.3)}
.auth:after{content:'';position:absolute;right:-10%;bottom:-5%;width:60%;height:55%;background:linear-gradient(135deg,transparent 49.6%,rgba(226,106,18,.85) 50%,#A64A05 55%,transparent 55.4%);pointer-events:none}
.auth-logo{position:absolute;top:24px;left:max(4vw,16px);z-index:2}.auth-logo img{width:200px;display:block}
.auth-card{position:relative;z-index:2;width:100%;max-width:470px;background:rgba(27,42,69,.92);backdrop-filter:blur(10px);border:1px solid #1C3554;border-radius:8px;padding:30px 36px 32px;box-shadow:0 30px 80px rgba(0,0,0,.55)}
.auth-card.wide{max-width:680px}
.auth-mark{display:block;width:150px;margin:0 auto 18px}
.auth-card h1{margin:0 0 10px;text-align:center;font-size:21px;line-height:1.3;font-weight:700}
.auth-card>p.muted,.auth-card form>p.muted{text-align:center;color:#A9B6C6;font-size:14px;line-height:1.5;margin:0 0 24px}
.auth .muted{color:#8A96A8}
.auth .lbl{display:block;font-size:14px;font-weight:600;margin:0 0 8px}
.auth .roles{border:0;padding:0;margin:0 0 20px}
.auth .roles>div,.auth .seg>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.auth .roles button,.auth .seg button{display:flex;align-items:center;justify-content:center;gap:10px;height:48px;border:1.5px solid #34496E;border-radius:6px;background:transparent;color:#E3E8EF;font-weight:500}
.auth .roles button.on,.auth .seg button.on{border-color:var(--red);background:rgba(226,106,18,.1);color:#fff}
.auth .seg{margin:0 0 18px}.auth .seg button{height:40px;font-size:13.5px}
.auth .field{display:flex;align-items:center;gap:12px;height:48px;padding:0 14px;margin-bottom:16px;background:#26395C;border:1.5px solid #34496E;border-radius:6px}
.auth .field:focus-within{border-color:var(--red)}
.auth .field input{flex:1;min-width:0;height:100%;background:none;border:0;outline:0;color:#fff;font-size:15px}
.auth .field input::placeholder{color:#5D6B7E}.auth .field .ic{color:#8A96A8}
.auth .field.readonly{background:#1B2A45}
.auth .pw{display:flex;align-items:center;position:relative}.auth .pw input{padding-right:70px!important}
.auth .eye{position:absolute;right:10px;background:none;border:0;color:#8A96A8;font-size:12px;font-weight:600}
.auth .row-between{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:-4px 0 16px}
.auth .check{display:flex;align-items:flex-start;gap:9px;font-size:13px;color:#D4DDE7;line-height:1.45;cursor:pointer}
.auth .check input{accent-color:var(--red);width:16px;height:16px;margin:1px 0 0}
.auth .check.terms{margin:14px 0 4px}
.auth .divider{display:flex;align-items:center;gap:12px;margin:24px 0 12px;color:#8A96A8;font-size:13px}
.auth .divider:before,.auth .divider:after{content:'';flex:1;height:1px;background:#34496E}
.auth .done{text-align:center}.auth .done p{color:#D4DDE7;line-height:1.55;font-size:14.5px}.auth .done .ic{color:var(--red);margin:6px auto 8px;display:block}.auth .done .ic.ok{color:#2ecc71}
.auth .done h2{font-size:19px;margin:6px 0 10px}.auth .done .btn-red,.auth .done .btn-line{margin-top:14px}
.auth-foot{position:relative;z-index:2;margin-top:22px;font-size:13px;color:#8A96A8}.auth-foot a{color:#fff;text-decoration:underline}
.cadastro .grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.cadastro .campo{display:block;margin-bottom:14px}.cadastro .campo.full{grid-column:1/-1}
.cadastro .campo input,.cadastro .campo select{width:100%;height:46px;padding:0 13px;background:#26395C;border:1.5px solid #34496E;border-radius:6px;color:#fff;outline:0}
.cadastro .campo input:focus,.cadastro .campo select:focus{border-color:var(--red)}
.cadastro .campo.has-err input,.cadastro .campo.has-err select{border-color:#b3261e}
.cadastro .err,.auth .err{display:block;margin-top:5px;color:#ff8a85;font-size:12px;font-style:normal}
.resp{margin:0 0 16px;padding:14px;border:1px solid #34496E;border-radius:6px;background:#1B2A45}
.resp strong{display:block;font-size:13.5px;margin-bottom:8px}
.resp label{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid transparent;border-radius:6px;cursor:pointer;font-size:14px}
.resp label.on{border-color:var(--red);background:rgba(226,106,18,.08)}.resp input{accent-color:var(--red)}
.resp small{margin-left:auto;color:#8A96A8}

/* ------------------------------------------------------------------ portal */
.shell{display:grid;grid-template-columns:254px 1fr;min-height:100vh}
.side{position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--side);color:#E3E8EF;padding:26px 12px 22px;display:flex;flex-direction:column}
.side-logo{display:block;padding:0 22px 24px}.side-logo img{width:100%;max-width:170px;display:block;margin:0 auto}
.side-nav{display:grid;gap:2px}
.side-nav a{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:6px;font-size:14.5px;font-weight:500;color:#E3E8EF;transition:.15s}
.side-nav a .ic{width:22px;height:22px;color:#C9D6E3}
.side-nav a:hover{background:#102540}
.side-nav a.on{background:linear-gradient(90deg,var(--red),#C15502);color:#fff;box-shadow:0 8px 20px rgba(226,106,18,.25)}.side-nav a.on .ic{color:#fff}
.side-sep{margin:16px 16px 6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#6B7A8E}
.pill{margin-left:auto;background:var(--red);color:#fff;font-size:11px;border-radius:99px;padding:2px 8px}
.side-card{margin:26px 6px 0;padding:22px 16px;border:1px solid #26395C;border-radius:8px;text-align:center;background:#1B2A45}
.side-card .hs{width:44px;height:44px;color:#C9D6E3;stroke-width:1.2}
.side-card p{margin:10px 0 12px;font-size:12px;letter-spacing:.22em;line-height:1.6;color:#E3E8EF}
.side-card span{display:block;width:32px;height:2px;background:var(--red);margin:0 auto}
.side-toggle,.side-overlay{display:none}
.main{min-width:0;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:22px;padding:14px 28px;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.search{flex:1;max-width:650px;margin:0 auto;display:flex;align-items:center;height:42px;border:1px solid #DCE3EC;border-radius:6px;background:#F6F8FB;overflow:hidden}
.search .ic{margin:0 10px 0 14px;color:#5D6B7E}
.search input{flex:1;min-width:0;height:100%;border:0;background:none;outline:0;font-size:13.5px}
.search button{height:100%;border:0;background:var(--red);color:#fff;font-weight:600;padding:0 24px;font-size:14px}
.bell{position:relative;color:#132A47}.bell .ic{width:26px;height:26px}
.bell b{position:absolute;top:-6px;right:-7px;min-width:19px;height:19px;border-radius:99px;background:var(--red);color:#fff;font-size:11px;display:grid;place-items:center;padding:0 5px}
.me{position:relative}.me summary{list-style:none;display:flex;align-items:center;gap:12px;cursor:pointer}.me summary::-webkit-details-marker{display:none}
.avatar{width:42px;height:42px;border-radius:50%;background:#26395C;color:#fff;display:grid;place-items:center}.avatar .ic{width:22px;height:22px}
.me-txt{display:grid;line-height:1.25}.me-txt strong{font-size:14px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.me-txt small{font-size:12px;color:var(--muted)}
.me-menu{position:absolute;right:0;top:calc(100% + 10px);min-width:190px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 16px 40px rgba(0,0,0,.12);padding:6px;display:grid}
.me-menu a,.me-menu button{display:flex;align-items:center;gap:10px;padding:10px 12px;border:0;background:none;border-radius:6px;font-size:14px;text-align:left;color:var(--ink)}
.me-menu a:hover,.me-menu button:hover{background:#EEF2F6}
.content{flex:1;padding:22px 28px 36px;max-width:1500px;width:100%}
.pfoot{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:22px 28px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.pfoot p{margin:0;color:var(--ink);letter-spacing:.08em;padding-right:20px;border-right:1px solid var(--line)}.pfoot nav{margin-left:auto}

/* banner */
.banner{position:relative;display:flex;justify-content:space-between;align-items:center;gap:30px;min-height:262px;padding:28px 48px 28px 92px;border-radius:8px;overflow:hidden;color:#fff;background:linear-gradient(90deg,rgba(27,42,69,.97) 30%,rgba(27,42,69,.55) 60%,rgba(27,42,69,.92) 88%),url(../brand/banner.jpg) center 35%/cover}
.banner:before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 60%,rgba(226,106,18,.8) 60.3%,#A64A05 64%,transparent 64.3%);pointer-events:none}
.banner>*{position:relative}
.kick{margin:0 0 16px;font-size:11.5px;letter-spacing:.42em;color:#D4DDE7}
.banner h1{margin:0 0 18px;font-size:clamp(24px,2.3vw,32px);line-height:1.08;font-weight:300}
.banner h1 b{font-weight:800}.banner h1 em{font-style:normal;font-weight:800;color:var(--red)}
.sub{margin:0;font-size:11.5px;font-weight:600;letter-spacing:.18em;line-height:1.7}
.banner-brand{text-align:left}.banner-brand img{width:150px;display:block}
.banner-brand p{margin:18px 0 10px;font-size:11px;letter-spacing:.3em;line-height:1.7;color:#D4DDE7}.banner-brand span{display:block;width:34px;height:2px;background:var(--red)}

/* estatísticas */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:16px 0 26px}
.stat{display:flex;align-items:center;gap:20px;padding:22px 24px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.04);transition:.2s}
.stat:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.08)}
.stat>.ic.red{width:42px;height:42px;stroke-width:1.8}
.stat div{flex:1;display:grid}.stat strong{font-size:30px;font-weight:800;line-height:1.1}.stat span{font-size:14px;color:#3C4A5E}.stat>.ic.sm{color:#5D6B7E}

/* seções e cards */
.sec-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:26px 0 14px}
.sec-head h2{margin:0;font-size:20px;font-weight:700}
.sec-head a{display:flex;align-items:center;gap:6px;color:var(--red);font-size:13.5px;font-weight:500}.sec-head a .ic{width:16px;height:16px}
.page-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:4px 0 20px}
.page-head h1{margin:0;font-size:26px;font-weight:700}.page-head p{margin:0;width:100%}
.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:22px;box-shadow:0 6px 20px rgba(0,0,0,.04)}
.card+.card{margin-top:16px}
.h2{margin:0 0 14px;font-size:18px}
.empty{display:grid;place-items:center;gap:8px;padding:44px 20px;text-align:center;color:var(--muted);background:#fff;border:1px dashed #D4DDE7;border-radius:8px}
.empty .ic{width:36px;height:36px;color:#8A96A8}.empty p{margin:0;max-width:420px;line-height:1.5}.empty.sm{padding:24px}

.emp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.emp{position:relative;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 6px 20px rgba(0,0,0,.05);display:flex;flex-direction:column}
.emp-img{position:relative;display:block;aspect-ratio:16/9;background:#1B2A45;overflow:hidden}
.emp-img img{width:100%;height:100%;object-fit:cover;transition:.4s}.emp:hover .emp-img img{transform:scale(1.04)}
.emp-ph{height:100%;display:grid;place-items:center;color:#5D6B7E}.emp-ph .ic{width:40px;height:40px}
.tag{position:absolute;top:12px;left:12px;padding:5px 9px;border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#fff;background:var(--red)}
.tag.pronto{background:#1B2A45}.tag.em_obras{background:#3C4A5E}.tag.encerrado{background:#5D6B7E}
.fav{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;border:0;background:rgba(0,0,0,.45);color:#fff;display:grid;place-items:center;z-index:2;transition:.15s}
.fav .ic{width:19px;height:19px}.fav.on{background:#fff;color:var(--red)}.fav.on .ic{fill:var(--red)}
.fav.big{top:16px;right:16px;width:44px;height:44px}.fav.big .ic{width:24px;height:24px}
.emp-body{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1}
.emp-body h3{margin:0 0 6px;font-size:17px;font-weight:700}
.loc{display:flex;align-items:center;gap:6px;margin:0 0 14px;font-size:13px;color:#3C4A5E}.loc .ic{width:16px;height:16px;color:var(--red)}
.specs{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-wrap:wrap;gap:8px 16px;font-size:12.5px;color:#3C4A5E}
.specs li{display:flex;align-items:center;gap:6px}.specs .ic{width:17px;height:17px}
.emp-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13.5px}
.emp-foot>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.duo{display:grid;grid-template-columns:1.55fr 1fr;gap:24px;align-items:start}
.mat-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.mat-mini{display:flex;align-items:center;gap:12px;padding:18px 16px;background:#fff;border:1px solid var(--line);border-radius:8px;font-size:13px;line-height:1.3;transition:.15s}
.mat-mini:hover{border-color:var(--red)}.mat-mini .ic{width:30px;height:30px;color:var(--red);stroke-width:1.6}
.mat-list{display:grid;gap:10px}
.mat{display:flex;align-items:center;gap:16px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:8px}
.mat-ic{width:46px;height:46px;border-radius:8px;background:rgba(226,106,18,.08);color:var(--red);display:grid;place-items:center}.mat-ic .ic{width:24px;height:24px}
.mat>div{flex:1;min-width:0}.mat strong{display:block;font-size:15px}.mat small{color:var(--muted);font-size:12.5px}.mat p{margin:6px 0 0;font-size:13px;color:#3C4A5E}
.soon{font-size:12px;color:var(--muted);white-space:nowrap}
.news-mini{display:grid;gap:12px}
.news-item{display:flex;gap:14px;align-items:center;padding:12px;background:#fff;border:1px solid var(--line);border-radius:8px}
.news-item img{width:120px;height:74px;object-fit:cover;border-radius:6px;flex:none}
.news-item strong{display:block;font-size:14px;line-height:1.35;margin-bottom:6px}.news-item small{color:var(--muted);font-size:12px}
.news-list{display:grid;gap:14px}
.news-card{display:flex;gap:20px;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.news-card img{width:260px;object-fit:cover;flex:none}.news-card>div{padding:18px 20px 18px 0}
.news-card h3{margin:6px 0 8px}.news-card p{margin:0 0 8px;color:#3C4A5E;line-height:1.55}.news-card small{color:var(--muted)}.news-card .body{white-space:pre-line}

/* filtros e tabelas */
.filters{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.tabs{display:flex;gap:6px;flex-wrap:wrap}.tabs.mb{margin-bottom:18px}
.tabs a{padding:9px 16px;border-radius:99px;border:1px solid var(--line);background:#fff;font-size:13.5px;font-weight:500}
.tabs a.on{background:var(--ink);border-color:var(--ink);color:#fff}
.filter-form{display:flex;gap:8px;flex-wrap:wrap}
.filter-form input,.filter-form select,.form input,.form select,.sim input{height:40px;padding:0 12px;border:1px solid #D4DDE7;border-radius:6px;background:#fff;outline:0}
.filter-form input:focus,.form input:focus,.sim input:focus{border-color:var(--red)}
.tbl{width:100%;border-collapse:collapse;font-size:13.5px}
.tbl th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:12px;border-bottom:1px solid #EEF2F6}
.tbl tfoot td{font-weight:700;border:0}
.scroll{overflow-x:auto;padding:6px}
.badge{display:inline-block;padding:4px 9px;border-radius:99px;font-size:11.5px;font-weight:600;background:#EEF2F6;color:#3C4A5E;margin-left:8px}
.tbl .badge{margin:0}
.badge.disponivel{background:#e8f7ee;color:#157a41}.badge.reservada,.badge.proposta{background:#FDEEE3;color:#9a6200}.badge.vendida{background:#fde8e8;color:#b00400}.badge.bloqueada{background:#E8EDF3;color:#3C4A5E}

/* detalhe do empreendimento */
.back{display:inline-flex;align-items:center;gap:4px;margin-bottom:12px;font-size:13.5px;color:var(--muted)}.back .ic{width:16px;height:16px}
.det-hero{position:relative;height:340px;border-radius:8px;overflow:hidden;background:#1B2A45;margin-bottom:16px}
.det-hero img{width:100%;height:100%;object-fit:cover}
.det-over{position:absolute;inset:auto 0 0 0;padding:70px 28px 24px;background:linear-gradient(0deg,rgba(0,0,0,.85),transparent);color:#fff}
.det-over .tag{position:static;display:inline-block}
.det-over h1{margin:10px 0 6px;font-size:30px}.det-over p{display:flex;align-items:center;gap:6px;margin:0;color:#E3E8EF}.det-over p .ic{color:var(--red)}
.det-info{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.det-info small{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.det-info strong{font-size:15px}
.desc{margin:0;line-height:1.7;color:#3C4A5E;white-space:pre-line}
.det-cta{margin-top:24px}.det-cta .btn-red{width:auto;padding:0 26px}

/* incorporadoras */
.dev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.dev{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;transition:.15s}.dev:hover{border-color:var(--red)}
.dev-logo{height:110px;display:grid;place-items:center;padding:20px;background:#1B2A45}
.dev-logo img{max-height:44px;max-width:80%;filter:brightness(0) invert(1)}
.dev p{margin:0;padding:14px 16px;display:grid;gap:2px}.dev span{font-size:12.5px;color:var(--muted)}

/* formulários do portal */
.form{display:grid;gap:12px;max-width:440px}.form label{display:grid;gap:6px;font-size:13px;font-weight:600}
.dl{display:grid;grid-template-columns:130px 1fr;gap:8px 12px;margin:0 0 20px;font-size:14px}.dl dt{color:var(--muted)}.dl dd{margin:0;word-break:break-word}
.dl.compact{grid-template-columns:110px 1fr;font-size:13px;margin:10px 0 0}
.sim-top{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}
.sim-top label{display:grid;gap:6px;font-size:13px;font-weight:600}
.sim .tbl input{height:36px;width:100%}.sim .tbl input.n{width:80px}

/* admin */
.adm-list{display:grid;gap:14px}
.adm{display:flex;gap:24px;justify-content:space-between;align-items:flex-start}
.adm-main strong{font-size:16px}
.adm-actions{display:grid;gap:10px;min-width:220px}
.adm-actions label{display:grid;gap:6px;font-size:12.5px;font-weight:600}.adm-actions select{height:38px;border:1px solid #D4DDE7;border-radius:6px;padding:0 8px}
.notif{display:flex;justify-content:space-between;gap:14px;padding:14px 4px;border-bottom:1px solid #EEF2F6}
.notif:last-child{border:0}.notif p{margin:4px 0;color:#3C4A5E;font-size:14px}.notif small{color:var(--muted);font-size:12px}
.notif.new strong:before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--red);margin-right:8px}

/* responsivo */
@media(max-width:1280px){.det-info{grid-template-columns:repeat(3,1fr)}.banner{padding-left:48px}}
@media(max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.duo{grid-template-columns:1fr}.banner-brand{display:none}}
@media(max-width:900px){
  .shell{grid-template-columns:1fr}
  .side{position:fixed;left:0;top:0;bottom:0;width:270px;z-index:60;transform:translateX(-100%);transition:transform .25s}
  .side.open{transform:none}
  .side-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:55}
  .side-toggle{display:block;position:fixed;top:14px;left:12px;z-index:30;background:var(--side);border:0;border-radius:6px;padding:10px 9px}
  .side-toggle span{display:block;width:20px;height:2px;margin:4px 0;background:#fff}
  .topbar{padding:12px 14px 12px 64px;gap:14px}
  .me-txt{display:none}.search button{padding:0 14px}
  .content{padding:18px 14px 30px}
  .adm{flex-direction:column}.adm-actions{width:100%}
  .news-card{flex-direction:column}.news-card img{width:100%;height:180px}.news-card>div{padding:0 18px 18px}
}
@media(max-width:600px){
  .auth-card{padding:24px 18px 26px}.cadastro .grid2{grid-template-columns:1fr}
  .auth-logo img{width:160px}
  .stats{grid-template-columns:1fr 1fr;gap:10px}.stat{padding:14px;gap:12px}.stat>.ic.red{width:30px;height:30px}.stat strong{font-size:22px}.stat>.ic.sm{display:none}
  .banner{padding:24px 20px;min-height:0}.banner h1{font-size:22px}.sub{font-size:10px}
  .search{display:none}.topbar{justify-content:flex-end}
  .det-info{grid-template-columns:1fr 1fr}.det-hero{height:240px}.det-over h1{font-size:22px}
  .sim-top{grid-template-columns:1fr}.dl{grid-template-columns:1fr}.dl dt{margin-top:6px}
}
@media print{.side,.topbar,.pfoot,.no-print,.side-toggle{display:none!important}.shell{display:block}.content{padding:0}.card{box-shadow:none;border:0}}

/* cadastro de empreendimentos (admin) */
.mb{margin-bottom:16px}
.det-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.det-top .back{margin:0}
.thumb{width:64px;height:42px;border-radius:4px;overflow:hidden;background:#EEF2F6;display:grid;place-items:center;color:#8A96A8}
.thumb img{width:100%;height:100%;object-fit:cover}
.adm-tbl td{vertical-align:middle}
.emp-form{display:grid;grid-template-columns:340px 1fr;gap:28px;margin-bottom:10px}
.ef-foto .lbl,.emp-form label{font-size:13px;font-weight:600}
.ef-foto{display:grid;gap:8px;align-content:start}
.ef-drop{display:grid;place-items:center;width:100%;aspect-ratio:4/3;padding:0;border:2px dashed #D4DDE7;border-radius:8px;background:#FAFBFD;color:var(--muted);overflow:hidden;font-size:14px;text-align:center}
.ef-drop:hover{border-color:var(--red)}.ef-drop img{width:100%;height:100%;object-fit:cover}
.ef-drop small{display:block;margin-top:6px;font-size:12px}
.ef-campos{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.ef-campos label{display:grid;gap:6px}.ef-campos .full{grid-column:1/-1}
.ef-campos input,.ef-campos select,.ef-campos textarea{width:100%;height:42px;padding:0 12px;border:1px solid #D4DDE7;border-radius:6px;background:#fff;outline:0}
.ef-campos textarea{height:auto;padding:10px 12px;resize:vertical;line-height:1.5}
.ef-campos input:focus,.ef-campos select:focus,.ef-campos textarea:focus{border-color:var(--red)}
.inline{display:flex;gap:8px}.inline select{flex:1}
.checks{display:flex;gap:24px;flex-wrap:wrap}
.chk{display:flex!important;align-items:center;gap:8px;font-weight:500!important;cursor:pointer}.chk input{width:17px!important;height:17px!important;accent-color:var(--red)}
.ef-acoes{grid-column:1/-1;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:6px;border-top:1px solid var(--line)}
.ef-acoes .msg{margin:0;flex-basis:100%}
.btn-o.danger{margin-left:auto;border-color:#D4DDE7;color:#b00400}.btn-o.danger:hover{background:#b00400;border-color:#b00400;color:#fff}
.units-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.units-bar .btn-red{margin-left:auto}
.paste{display:grid;gap:10px;padding:14px;margin-bottom:14px;background:#FAFBFD;border:1px solid var(--line);border-radius:6px}
.paste p{margin:0}.paste textarea{width:100%;padding:10px;border:1px solid #D4DDE7;border-radius:6px;font-family:ui-monospace,monospace;font-size:12.5px}
.paste .btn-red{justify-self:start}
.units-tbl td{padding:6px 4px}.units-tbl input,.units-tbl select{width:100%;min-width:60px;height:36px;padding:0 8px;border:1px solid #E3E8EF;border-radius:4px;background:#fff;font-size:13px}
.units-tbl input.wide{min-width:110px}.units-tbl select{min-width:110px}
.units-tbl tr.changed td{background:#FFF5EE}
.units-tbl .x{width:32px;height:32px;border:0;border-radius:4px;background:none;color:#8A96A8;font-size:20px}.units-tbl .x:hover{background:#fde8e8;color:#b00400}
@media(max-width:1100px){.emp-form{grid-template-columns:1fr}.ef-foto{max-width:420px}}
@media(max-width:600px){.ef-campos{grid-template-columns:1fr}.units-bar .btn-red{margin-left:0}}
.emp-form.single{grid-template-columns:1fr;max-width:900px}
.lbl{display:block;font-size:13px;font-weight:600;margin-bottom:8px}
.seg-light{display:inline-flex;gap:6px;margin-bottom:10px}
.seg-light button{height:36px;padding:0 16px;border:1px solid #D4DDE7;border-radius:99px;background:#fff;font-size:13px;font-weight:500}
.seg-light button.on{background:var(--ink);border-color:var(--ink);color:#fff}
.file-drop{display:grid;gap:4px;width:100%;padding:26px 20px;border:2px dashed #D4DDE7;border-radius:8px;background:#FAFBFD;text-align:center;font-size:14px}
.file-drop:hover{border-color:var(--red)}.file-drop small{color:var(--muted);font-size:12.5px}
.link-input{width:100%;height:42px;padding:0 12px;border:1px solid #D4DDE7;border-radius:6px;outline:0}.link-input:focus{border-color:var(--red)}
/* regiões e responsáveis */
.reg-nova{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.reg-nova label{display:grid;gap:6px;flex:1;min-width:240px;font-size:13px;font-weight:600}
.reg-nova input,.reg input{height:40px;padding:0 12px;border:1px solid #D4DDE7;border-radius:6px;background:#fff;outline:0}
.reg-nova input:focus,.reg input:focus{border-color:var(--red)}
.reg-list{display:grid;gap:14px}
.reg.off{opacity:.65}
.reg-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--line)}
.reg-head .badge{margin:0}
.reg-nome{flex:1;min-width:200px;font-weight:700;font-size:16px;border-color:transparent!important;background:transparent!important;padding:0 8px!important}
.reg-nome:hover,.reg-nome:focus{border-color:#D4DDE7!important;background:#fff!important}
.reg-resp{display:grid;gap:8px;padding-top:12px}.reg-resp>p{margin:0}
.resp-row,.resp-add{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.resp-row input:first-child,.resp-add input:first-child{flex:1;min-width:200px}
.resp-row input:nth-child(2),.resp-add input:nth-child(2){width:170px}
.resp-row.off input{color:var(--muted)}
.resp-add{padding-top:8px;border-top:1px dashed var(--line)}
.reg .x{width:32px;height:32px;border:0;border-radius:4px;background:none;color:#8A96A8;font-size:20px}.reg .x:hover{background:#fde8e8;color:#b00400}
.code{font-family:ui-monospace,monospace;font-size:12.5px;font-weight:600;white-space:nowrap}
.code-line{margin:0;padding:10px 12px;background:#F6F8FB;border:1px solid var(--line);border-radius:6px;font-size:13.5px}
.code-line b{font-family:ui-monospace,monospace;margin:0 6px}
.det-info{grid-template-columns:repeat(7,1fr)}
@media(max-width:1280px){.det-info{grid-template-columns:repeat(4,1fr)}}
.head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
/* incorporadoras: logo enviado (colorido, fundo branco), contato, taxas e cadastro */
.dev-logo.cor{background:#fff;border-bottom:1px solid var(--line)}.dev-logo.cor img{filter:none;max-height:70px;max-width:90%;object-fit:contain}
.dev-info{padding:0 16px 12px;display:grid;gap:3px;font-size:12.5px}.dev-info a{color:var(--red);text-decoration:none;word-break:break-all}.dev-info a:hover{text-decoration:underline}
.dev-taxas{display:flex;gap:18px;padding:10px 16px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}.dev-taxas b{color:#1B2A45}
.dev-thumb img{object-fit:contain;padding:4px;background:#fff}
.dev-sub{display:block;margin-top:2px;color:var(--muted);font-size:12px}
.dev-drop img{object-fit:contain;padding:18px;background:#fff}
.dev-logo-acoes{display:flex;gap:16px}

/* ===================== login no layout do morkup1 (claro, azul-marinho + laranja) ===================== */
.auth-lp{--navy:#1B2A45;--teal:#E26A12;--green:#E26A12;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:0;min-height:100vh;background:#F4F6F9;color:var(--ink)}
.auth-lp:after{display:none}
.lp-bg{position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(90deg,#FAFBFD 0%,rgba(246,248,251,.97) 33%,rgba(246,248,251,.35) 45%,rgba(246,248,251,0) 55%),
  url(../brand/varanda.jpg) 58% 0/auto 100% no-repeat,linear-gradient(180deg,#C9D6E3 0%,#E8EDF3 55%,#E3E8EF 100%)}
.lp-top{position:relative;z-index:2;display:flex;align-items:center;gap:28px;padding:14px max(4vw,20px) 8px}
.lp-brand{display:flex;align-items:center;gap:18px}.lp-brand img{width:360px;display:block}
.lp-brand span{padding-left:18px;border-left:1px solid #F0A877;font-size:10.5px;letter-spacing:.32em;line-height:1.7;text-transform:uppercase;color:var(--navy)}
.lp-nav{display:flex;gap:34px;margin-left:auto;padding:12px 26px;border-radius:999px;background:rgba(255,255,255,.88);box-shadow:0 4px 14px rgba(27,42,69,.08);backdrop-filter:blur(6px)}.lp-nav a{font-size:12.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#1B2A45}.lp-nav a:hover{color:var(--green)}
.lp-help{display:inline-flex;align-items:center;gap:9px;height:42px;padding:0 18px;border:1px solid #D4DDE7;border-radius:8px;background:rgba(255,255,255,.9);font-size:12.5px;font-weight:700;text-transform:uppercase;color:var(--navy);box-shadow:0 4px 14px rgba(27,42,69,.08)}
.lp-main{position:relative;z-index:2;flex:1;display:grid;grid-template-columns:minmax(0,1fr) 450px;gap:48px;align-items:center;padding:0 max(4vw,20px) 14px}
.lp-kicker{margin:0 0 16px;padding-bottom:16px;font-size:12.5px;letter-spacing:.42em;line-height:1.8;text-transform:uppercase;color:var(--navy);position:relative}
.lp-kicker:after{content:'';position:absolute;left:0;bottom:0;width:70px;height:2px;background:var(--green)}
.lp-title{margin:0 0 16px;font-size:clamp(28px,3.1vw,44px);line-height:1.12;font-weight:400;text-transform:uppercase;color:var(--navy);letter-spacing:.01em}
.lp-title b{font-weight:800;background:linear-gradient(90deg,#E26A12,#EE8434);-webkit-background-clip:text;background-clip:text;color:transparent}
.lp-title>*{display:block}
.lp-title b.g{background:linear-gradient(90deg,#E26A12,#EE8434);-webkit-background-clip:text;background-clip:text}
.lp-lead{max-width:440px;margin:0 0 22px;font-size:16px;line-height:1.5;color:#1B2A45}
.lp-feats{list-style:none;margin:0;padding:0;display:flex;gap:28px;flex-wrap:wrap}
.lp-feats li{width:118px;text-align:center;font-size:11.5px;font-weight:700;line-height:1.35;text-transform:uppercase;color:var(--navy)}
.lp-feats span{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 9px;border:1.5px solid #E26A12;border-radius:50%;background:rgba(255,246,224,.9);color:#E26A12}
.lp-feats .ic{width:30px;height:30px}

/* card claro */
.auth-lp .auth-card{max-width:450px;padding:22px 32px 20px;background:rgba(255,255,255,.96);border:1px solid #E3E8EF;color:var(--ink);box-shadow:0 24px 60px rgba(27,42,69,.16);backdrop-filter:blur(8px)}
.auth-lp .auth-mark{width:210px;max-width:100%;margin-bottom:10px}
.auth-lp .auth-card h1{color:var(--navy);font-size:22px;margin-bottom:6px}
.auth-lp .auth-card>p.muted,.auth-lp .auth-card form>p.muted,.auth-lp .muted{color:#3C4A5E}
.auth-lp .roles button,.auth-lp .seg button{border:1.5px solid #D4DDE7;background:#fff;color:#1B2A45;font-weight:600}
.auth-lp .roles button.on,.auth-lp .seg button.on{border-color:#E26A12;background:linear-gradient(90deg,#E26A12,#EE8434);color:#fff}
.auth-lp .btn-red{background:linear-gradient(90deg,#E26A12,#EE8434)}
.auth-lp .field,.auth-lp .cadastro .campo input,.auth-lp .cadastro .campo select{background:#fff;border:1.5px solid #D4DDE7;color:var(--ink)}
.auth-lp .field input{color:var(--ink)}.auth-lp .field input::placeholder{color:#8A96A8}.auth-lp .field .ic{color:#5D6B7E}
.auth-lp .field.readonly{background:#EEF2F6}
.auth-lp .eye{color:#5D6B7E}
.auth-lp .check{color:#3C4A5E}
.auth-lp .divider{color:#3C4A5E}.auth-lp .divider:before,.auth-lp .divider:after{background:#E3E8EF}
.auth-lp .btn-line{width:auto;min-width:240px;margin:6px auto 0;padding:0 24px;border-color:#E26A12;color:#E26A12;background:#fff}
.auth-lp .btn-line:hover{background:var(--green);color:#fff}
.auth-lp .done p{color:#3C4A5E}
.auth-lp .err-box{background:#fdecea;color:#b3261e;border:1px solid #f3c2bd}
.auth-lp .err{color:#b3261e}
.auth-lp .resp{background:#F4F6F9;border-color:#E3E8EF}.auth-lp .resp small{color:#5D6B7E}

/* cadastro: o formulário é largo, o texto da esquerda sai */
.auth-lp.is-cad .lp-main{grid-template-columns:1fr;justify-items:center}.auth-lp.is-cad .lp-hero{display:none}
.auth-lp.is-cad .auth-card{max-width:680px}

/* card: espaços internos mais justos */
.auth-lp .auth-card>p.muted{margin-bottom:16px}.auth-lp .roles{margin-bottom:14px}.auth-lp .field{margin-bottom:12px}
.auth-lp .divider{margin:16px 0 10px}.auth-lp .lp-esqueci{display:block;width:max-content;margin:12px auto 0;color:var(--navy);font-weight:500}

/* faixa de bairros */
.lp-bairros{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:0 0 0;background:#fff}
.lp-bairros img{display:block;width:100%;height:160px;object-fit:cover;border-radius:4px}

/* rodapé */
.lp-foot{position:relative;z-index:2;display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:16px max(4vw,20px);background:#fff;border-top:1px solid #E3E8EF;font-size:14px}
.lp-foot b{font-size:17px;font-weight:800;color:var(--navy);padding-right:22px;border-right:2px solid #E26A12}.lp-foot b span{font-weight:500}
.lp-foot i{font-style:normal;color:#1B2A45}
.lp-foot nav{margin-left:auto;display:flex;gap:22px;font-size:12.5px}.lp-foot nav a{color:#3C4A5E}.lp-foot nav a:hover{color:var(--green)}

.lp-help{white-space:nowrap}
@media(max-width:1440px){.lp-brand span{display:none}.lp-nav{gap:26px}}
@media(max-width:1280px){.lp-brand img{width:300px}.lp-nav{gap:22px}}
@media(max-width:1100px){.lp-nav{display:none}.lp-help{margin-left:auto}.lp-main{grid-template-columns:1fr 440px;gap:28px}.lp-feats{gap:16px}}
@media(max-width:900px){
  .auth-lp .lp-bg{background:linear-gradient(180deg,rgba(246,248,251,.9) 0%,rgba(246,248,251,.97) 45%,#FAFBFD 70%),url(../brand/varanda.jpg) center top/cover}
  .lp-bairros{grid-template-columns:repeat(3,1fr)}.lp-bairros img:nth-child(n+4){display:none}
  .lp-main{grid-template-columns:1fr;justify-items:center}.lp-hero{max-width:560px;text-align:center;order:2}
  .auth-lp .auth-card{order:1}
  .lp-kicker:after{left:50%;transform:translateX(-50%)}.lp-lead{margin-left:auto;margin-right:auto}.lp-feats{justify-content:center}
}
@media(max-width:600px){.lp-bairros{grid-template-columns:1fr 1fr}.lp-bairros img:nth-child(n+3){display:none}.lp-bairros img{height:120px}
  .lp-top{gap:12px}.lp-brand span{display:none}.lp-brand img{width:220px}.auth-lp .auth-mark{width:180px}.lp-help{margin-left:auto;padding:0 12px;font-size:11px}
  .lp-title{font-size:28px}.lp-feats li{width:42%}.lp-foot{flex-direction:column;text-align:center}.lp-foot b{border:0;padding:0}.lp-foot nav{margin:0}}

/* ===================== telas internas no visual do morkup1 (claro, azul-marinho + laranja) ===================== */
:root{--bg:#F4F6F9;--line:#E3E8EF;--navy:#1B2A45;--laranja:#E26A12;--laranja-2:#EE8434;--side:#ffffff}
body{background:var(--bg)}

/* menu lateral claro */
.side{background:#fff;color:var(--navy);border-right:1px solid var(--line);box-shadow:4px 0 24px rgba(27,42,69,.04)}
.side-logo{padding:0 6px 22px}.side-logo img{max-width:210px}
.side-nav a{color:#1B2A45;font-weight:500}
.side-nav a .ic{color:#5D6B7E}
.side-nav a:hover{background:#FDEDE0;color:var(--navy)}.side-nav a:hover .ic{color:var(--laranja)}
.side-nav a.on{background:linear-gradient(90deg,var(--laranja),var(--laranja-2));color:#fff;box-shadow:0 8px 20px rgba(226,106,18,.28)}
.side-sep{color:#8A96A8}
.side-card{background:#FFF5EE;border:1px solid #F5C9A8}
.side-card .hs{color:var(--laranja)}
.side-card p{color:var(--navy)}
.side-toggle{background:var(--navy)!important}

/* cabeçalho */
.topbar{background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}
.search{background:#fff;border:1px solid #DCE3EC}
.search button{background:linear-gradient(90deg,var(--laranja),var(--laranja-2))}
.bell{color:var(--navy)}
.avatar{background:var(--navy)}
.me-txt strong{color:var(--navy)}
.me-menu a:hover,.me-menu button:hover{background:#FDEDE0}

/* banner da página Início: claro, como o topo do login */
.banner{color:var(--navy);background:linear-gradient(90deg,#FAFBFD 28%,rgba(246,248,251,.9) 46%,rgba(236,241,246,.35) 70%,rgba(230,236,243,.15)),url(../brand/banner.jpg) center 62%/cover;border:1px solid var(--line)}
.banner:before{background:linear-gradient(135deg,transparent 78%,rgba(226,106,18,.55) 78.2%,rgba(251,191,42,.25) 80.5%,transparent 80.7%)}
.kick{color:var(--navy)}
.banner h1{color:var(--navy);font-weight:400}
.banner h1 b,.banner h1 em{background:linear-gradient(90deg,var(--laranja),var(--laranja-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.sub{color:#1B2A45}
.banner-brand img{width:210px}.banner-brand p{margin:14px 0 8px}
.banner-brand{padding:16px 20px;border-radius:10px;background:rgba(255,255,255,.88);box-shadow:0 10px 30px rgba(27,42,69,.12)}
.banner-brand p{color:var(--navy)}.banner-brand span{background:var(--laranja)}

/* cards e títulos */
.stat{border-color:var(--line);box-shadow:0 6px 20px rgba(27,42,69,.05)}
.stat strong{color:var(--navy)}
.sec-head h2,.page-head h1{color:var(--navy)}

/* rodapé com a divisória laranja do login */
.pfoot{background:#fff}
.pfoot p{color:var(--navy);font-weight:700;border-right:2px solid var(--laranja)}
@media(max-width:900px){.banner{background:linear-gradient(90deg,rgba(250,251,253,.97),rgba(246,248,251,.9)),url(../brand/banner.jpg) center/cover}}
/* telas de acesso secundárias (redefinir senha, aguardando aprovação) */
.auth-simples .lp-main{grid-template-columns:1fr;justify-items:center;padding:24px 20px 56px}
.auth-simples .lp-top .lp-help{margin-left:auto}
.auth-simples .auth-card{max-width:470px;width:100%}
.auth-simples .done h1{color:var(--navy);font-size:22px;margin:4px 0 10px}
.auth-simples .done p b{color:var(--navy)}
.auth-simples .done a{color:#E26A12}
.auth-simples .done .btn-line{width:100%;min-width:0}
.auth-simples form h1{text-align:center}

/* versão PHP: elementos escondidos pelo atributo hidden */
[hidden]{display:none!important}
.me-menu form{display:contents}
label.ef-drop,label.file-drop{cursor:pointer}

/* logo Mega na página inicial (proporção quase quadrada: controla pela altura) */
.lp-brand img.marca{width:auto;height:92px}
@media(max-width:1280px){.lp-brand img.marca{width:auto;height:80px}}
@media(max-width:900px){.lp-brand img.marca{width:auto;height:64px}}

/* ===================== telas internas mais limpas (out/2026): menos sombra, menos laranja, mais respiro ===================== */
/* menu lateral: logo menor, item ativo em tom suave em vez de gradiente com sombra */
.side{box-shadow:none}
.side-logo{padding:0 6px 26px}.side-logo img{max-width:132px}
.side-nav a{padding:10px 14px;font-size:14px}
.side-nav a .ic{width:20px;height:20px}
.side-nav a:hover{background:#EEF2F6}
.side-nav a.on{background:#FDEEE3;color:var(--laranja);box-shadow:none;font-weight:600}.side-nav a.on .ic{color:var(--laranja)}
.side-card{background:transparent;border-color:var(--line)}
/* banner do Início: só o texto, sem a logo repetida e sem a faixa diagonal */
.banner{min-height:0;padding:40px 48px;background:linear-gradient(90deg,#FAFBFD 35%,rgba(246,248,251,.85) 55%,rgba(236,241,246,.15)),url(../brand/banner.jpg) center 62%/cover}
.banner:before{display:none}
/* cards: só borda fina, sem sombra */
.stat,.emp,.card{box-shadow:none}
.stat{padding:18px 22px}.stat:hover{transform:none;box-shadow:none;border-color:#EDA772}
.stat strong{font-size:26px}
.emp:hover{border-color:#EDA772}
.emp-foot>span{font-size:12.5px;color:var(--muted)}
.emp-mais{display:inline-flex;align-items:center;gap:6px;flex:none;font-size:13.5px;font-weight:600;color:var(--laranja)}
.emp-mais .ic{width:16px;height:16px;transition:transform .15s}.emp-mais:hover .ic{transform:translateX(3px)}
/* botões de contorno mais discretos (Abrir, Editar...) */
.btn-o{border-color:#EED9A6;border-width:1px}
.mat-ic{background:#FDEEE3}

/* página de login: sem o menu do site e com a caixa de login mais compacta */
.lp-help{margin-left:auto}
.lp-main{grid-template-columns:minmax(0,1fr) 380px}
.auth-lp .auth-card{max-width:380px;padding:20px 26px 18px}
.auth-lp .auth-mark{width:140px;margin-bottom:6px}
.auth-lp .auth-card h1{font-size:19px}
.auth-lp .auth-card>p.muted{font-size:13px;margin-bottom:12px}
.auth-lp .roles button{height:42px}.auth-lp .field{height:44px}.auth-lp .btn-red{height:44px}
.auth-lp .btn-line{height:42px;min-width:200px}
@media(max-width:1100px){.lp-main{grid-template-columns:1fr 360px}}
@media(max-width:900px){.lp-main{grid-template-columns:1fr}}

/* login no computador: tudo cabe na altura da tela, sem rolar (o cadastro, que é longo, continua rolando) */
@media(min-width:901px){
  .auth-lp:not(.is-cad):not(.auth-simples){min-height:100vh;min-height:100dvh}
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-top{padding:min(14px,1.4vh) max(4vw,20px) 0}
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-brand img.marca{height:clamp(44px,8.5vh,92px)}
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-help{height:38px}
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-main{min-height:0;padding-top:min(10px,1vh);padding-bottom:min(14px,1.6vh)}
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-kicker{margin-bottom:min(16px,1.6vh);padding-bottom:min(16px,1.6vh);font-size:clamp(10.5px,1.5vh,12.5px)}
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-title{margin-bottom:min(16px,1.6vh);font-size:clamp(22px,min(3.1vw,4.6vh),44px)}
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-lead{margin-bottom:min(22px,2.2vh);font-size:clamp(13.5px,1.9vh,16px)}
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-feats span{width:clamp(42px,6.4vh,64px);height:clamp(42px,6.4vh,64px);margin-bottom:min(9px,1vh)}
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-feats .ic{width:clamp(20px,3vh,30px);height:clamp(20px,3vh,30px)}
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-feats li{font-size:clamp(10px,1.3vh,11.5px)}
  .auth-lp:not(.is-cad):not(.auth-simples) .auth-mark{width:clamp(90px,14vh,140px)}
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-bairros img{height:clamp(110px,21vh,260px);object-position:50% 100%}
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-foot{padding:min(16px,1.2vh) max(4vw,20px)}
}
/* telas baixas (notebook): tira a logo repetida do cartão e aperta o cartão */
@media(min-width:901px) and (max-height:800px){
  .auth-lp:not(.is-cad):not(.auth-simples) .auth-mark{display:none}
  .auth-lp:not(.is-cad):not(.auth-simples) .auth-card{padding:16px 24px 14px}
  .auth-lp:not(.is-cad):not(.auth-simples) .auth-card h1{font-size:18px;margin-bottom:4px}
  .auth-lp:not(.is-cad):not(.auth-simples) .auth-card>p.muted{margin-bottom:10px}
  .auth-lp:not(.is-cad):not(.auth-simples) .roles{margin-bottom:10px}
  .auth-lp:not(.is-cad):not(.auth-simples) .field{margin-bottom:10px}
  .auth-lp:not(.is-cad):not(.auth-simples) .divider{margin:12px 0 8px}
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-esqueci{margin-top:8px}
}

/* login: sem os destaques com ícones; cartão mais compacto para as fotos dos bairros ficarem maiores */
@media(min-width:901px){
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-main{grid-template-columns:minmax(0,1fr) 340px;align-items:center}
  .auth-lp:not(.is-cad):not(.auth-simples) .auth-card{max-width:340px;padding:min(18px,2vh) 22px min(16px,1.8vh)}
  .auth-lp:not(.is-cad):not(.auth-simples) .auth-mark{display:none}
  .auth-lp:not(.is-cad):not(.auth-simples) .auth-card h1{font-size:17px;margin-bottom:2px}
  .auth-lp:not(.is-cad):not(.auth-simples) .auth-card>p.muted{font-size:12.5px;margin-bottom:min(12px,1.2vh)}
  .auth-lp:not(.is-cad):not(.auth-simples) .roles{margin-bottom:min(10px,1vh)}
  .auth-lp:not(.is-cad):not(.auth-simples) .roles button{height:38px;font-size:14px}
  .auth-lp:not(.is-cad):not(.auth-simples) .field{height:40px;margin-bottom:min(10px,1vh)}
  .auth-lp:not(.is-cad):not(.auth-simples) .btn-red{height:40px;font-size:14.5px}
  .auth-lp:not(.is-cad):not(.auth-simples) .divider{margin:min(12px,1.2vh) 0 min(8px,.8vh)}
  .auth-lp:not(.is-cad):not(.auth-simples) .btn-line{height:38px;min-width:180px;font-size:14px}
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-esqueci{margin-top:min(8px,.8vh);font-size:13px}
}

/* login: logo Mega maior no topo e o texto de apresentação um pouco mais abaixo */
@media(min-width:901px){
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-brand img.marca{height:clamp(60px,12vh,140px)}
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-hero{padding-top:min(48px,5vh)}
}
@media(min-width:901px) and (max-height:700px){
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-bairros img{height:18vh}
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-top{margin-bottom:-8px}
}

/* login no celular/tablet: logo maior no topo (sem repetir no cartão), cartão compacto e os 5 bairros num carrossel com arraste */
@media(max-width:900px){
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-top{padding:14px 16px 6px;align-items:center}
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-brand img.marca{height:72px}
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-help{height:36px;padding:0 12px;font-size:11px}
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-main{gap:26px;padding:8px 16px 24px}
  .auth-lp:not(.is-cad):not(.auth-simples) .auth-card{width:100%;max-width:420px;padding:20px 20px 18px}
  .auth-lp:not(.is-cad):not(.auth-simples) .auth-mark{display:none}
  .auth-lp:not(.is-cad):not(.auth-simples) .auth-card h1{font-size:19px;margin-bottom:4px}
  .auth-lp:not(.is-cad):not(.auth-simples) .auth-card>p.muted{font-size:13px;margin-bottom:14px}
  .auth-lp:not(.is-cad):not(.auth-simples) .roles button{height:42px;font-size:14.5px}
  .auth-lp:not(.is-cad):not(.auth-simples) .field,.auth-lp:not(.is-cad):not(.auth-simples) .btn-red{height:46px}
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-kicker{font-size:10.5px;letter-spacing:.28em;margin-bottom:12px;padding-bottom:12px}
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-title{font-size:26px;margin-bottom:12px}
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-lead{font-size:14.5px;margin-bottom:0}
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-bairros{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 16px 4px;background:transparent;scrollbar-width:none}
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-bairros::-webkit-scrollbar{display:none}
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-bairros img,.auth-lp:not(.is-cad):not(.auth-simples) .lp-bairros img:nth-child(n){display:block;flex:0 0 72%;max-width:300px;height:150px;border-radius:8px;scroll-snap-align:center;object-position:50% 100%}
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-foot{padding:14px 16px;gap:6px;font-size:13px}
}

/* telas internas no celular: nada passa da largura da tela, tabelas rolam dentro do cartão, cartões e banner mais compactos */
@media(max-width:900px){
  .content{padding:16px 14px 28px}
  .banner{padding:22px 20px}
  .banner h1{font-size:22px;margin-bottom:12px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 18px}
  .stat{gap:12px;padding:14px}.stat>.ic.red{width:30px;height:30px}.stat>.ic.sm{display:none}
  .stat strong{font-size:22px}.stat span{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .sec-head{margin:22px 0 12px}.sec-head h2{font-size:18px}.sec-head a{white-space:nowrap}
  .page-head h1{font-size:22px}
  /* tabelas largas (tabelas, simulador, unidades): rolagem lateral dentro do próprio cartão */
  .card:has(table.tbl:not(.adm-tbl)){overflow-x:auto;-webkit-overflow-scrolling:touch}
  table.tbl:not(.adm-tbl) th{white-space:nowrap}
  table.tbl input{min-width:64px}
  .pfoot{flex-direction:column;gap:4px;padding:16px 14px;text-align:center}
  .pfoot p{border:0;padding:0}.pfoot nav{margin:6px 0 0}
}
@media(max-width:900px){
  .stat{gap:10px;padding:14px 12px}.stat>.ic.red{width:24px;height:24px}
  .stat span{font-size:12px;white-space:normal}
  .banner .sub br{display:none}
  table.tbl td:first-child input{min-width:112px}
  table.tbl input[type=number],table.tbl input[inputmode]{width:68px;min-width:0}
}

/* cadastro no celular/tablet: mesmo topo e rodapé do login, cartão com respiro e campos mais próximos */
@media(max-width:900px){
  .auth-lp.is-cad .lp-top{padding:14px 16px 6px;align-items:center}
  .auth-lp.is-cad .lp-brand img.marca{height:72px}
  .auth-lp.is-cad .lp-help{height:36px;padding:0 12px;font-size:11px}
  .auth-lp.is-cad .lp-main{padding:8px 16px 24px}
  .auth-lp.is-cad .auth-card{width:100%;padding:20px 20px 18px}
  .auth-lp.is-cad .auth-card h1{font-size:20px;margin-bottom:14px}
  .auth-lp.is-cad .roles,.auth-lp.is-cad .seg{margin-bottom:14px}
  .auth-lp.is-cad .cadastro .grid2{gap:0 12px}.auth-lp.is-cad .cadastro .campo{margin-bottom:12px}
  .auth-lp.is-cad .cadastro .campo .lbl{margin-bottom:6px}
  .auth-lp.is-cad .cadastro .campo input,.auth-lp.is-cad .cadastro .campo select{height:46px}
  .auth-lp.is-cad .terms{margin-top:16px;font-size:12.5px;line-height:1.45}
  .auth-lp.is-cad .cadastro>a.link.center{display:block;width:max-content;margin:14px auto 0}
  .auth-lp.is-cad .lp-foot{padding:14px 16px;gap:6px;font-size:13px}
}
/* cadastro: "Já tenho cadastro" centralizado em todos os tamanhos */
.auth-lp.is-cad .cadastro>a.link.center{display:block;width:max-content;margin:14px auto 0}

/* telas de acesso secundárias (redefinir senha, aguardando aprovação, 404) */
.auth-simples .done a.btn-red{color:#fff}
@media(max-width:900px){
  .auth-simples .lp-top{padding:14px 16px 6px;align-items:center}
  .auth-simples .lp-brand img.marca{height:72px}
  .auth-simples .lp-help{height:36px;padding:0 12px;font-size:11px}
  .auth-simples:has(.lp-top) .lp-main{align-items:start;padding:20px 16px 32px}
  .auth-simples .auth-card{padding:22px 20px 20px}
  .auth-simples:has(.lp-top) .auth-mark{display:none}
  .auth-simples .auth-card h1,.auth-simples .done h1{font-size:20px}
  .auth-simples .field,.auth-simples .btn-red{height:46px}
  .auth-simples .lp-foot{padding:14px 16px;gap:6px;font-size:13px}
}
/* aguardando aprovação no celular: observação da equipe em destaque, linha de contato menor, botão Sair com respiro */
@media(max-width:900px){
  .auth-simples .done p{margin:0 0 12px}
  .auth-simples .done p.muted:not(.small){padding:10px 12px;border:1px solid #F5C9A8;border-radius:8px;background:#FFF5EE;color:#7A5200;font-size:13.5px;text-align:left}
  .auth-simples .done p.small{font-size:12.5px}
  .auth-simples .done form .btn-line{height:46px;margin-top:6px;width:100%;min-width:0}
}

/* admin no celular: cada linha das listas vira um cartão (rótulo + valor), nome no topo, foto à direita e botão Editar visível */
@media(max-width:900px){
  .card.scroll:has(> .adm-tbl){overflow:visible;padding:2px 16px}
  .adm-tbl thead{display:none}
  .adm-tbl,.adm-tbl tbody{display:block;width:100%}
  .adm-tbl tr{display:flex;flex-direction:column;position:relative;padding:14px 0;border-bottom:1px solid var(--line)}
  .adm-tbl tr:last-child{border-bottom:0}
  .adm-tbl td{display:flex;align-items:baseline;gap:10px;padding:3px 0;border:0;font-size:13px;text-align:left;white-space:normal}
  .adm-tbl td[data-label]::before{content:attr(data-label);flex:0 0 92px;font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
  .adm-tbl td.adm-tit{order:-1;display:block;padding:0 80px 6px 0;font-size:15px;color:var(--navy)}
  .adm-tbl td.adm-tit::before{display:none}
  .adm-tbl td.adm-tit .badge{margin-left:6px}
  .adm-tbl td:has(> .thumb){position:absolute;top:14px;right:0;padding:0}
  .adm-tbl td:last-child:not([data-label]){padding-top:10px}
  .adm-tbl td:last-child:not([data-label]) .btn-o{flex:1;justify-content:center}
  /* cabeçalho das telas de admin: botões lado a lado ocupando a largura */
  .page-head>div:has(.btn-o,.btn-red){display:flex;flex-wrap:wrap;gap:8px;width:100%}
  .page-head>div:has(.btn-o,.btn-red)>*{flex:1 1 auto;justify-content:center}
  /* regiões: campos do responsável na largura toda */
  .content input:not([type=checkbox]):not([type=radio]):not([type=file]){max-width:100%}
}
@media(max-width:900px){.adm-tbl td{min-width:0;overflow-wrap:anywhere}.adm-tbl td>*{min-width:0}}
/* regiões no celular: cartões mais justos e campos do responsável na largura toda */
@media(max-width:900px){
  .reg{padding:16px}
  .reg-head{gap:8px 10px;padding-bottom:10px}
  .reg-head .reg-renomear{flex:1 1 100%}
  .reg-nome{min-width:0;width:100%;padding:0!important}
  .reg-resp{margin-top:10px}
  .resp-add{display:grid;grid-template-columns:1fr;gap:8px}
  .resp-add input,.resp-editar input{width:100%}
  .resp-add .btn-o{justify-content:center}
}
@media(max-width:900px){.adm-tbl td[data-label]::before{flex-basis:104px;letter-spacing:.03em;white-space:nowrap;overflow-wrap:normal}}

/* tablet em pé (601–900): 4 números numa linha e listas de admin em 2 colunas de cartões */
@media(min-width:601px) and (max-width:900px){
  .stats{grid-template-columns:repeat(4,minmax(0,1fr))}
  .content{padding:20px 20px 32px}
  .adm-tbl tbody{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
  .adm-tbl tr:nth-last-child(2):nth-child(odd){border-bottom:0}
}
/* tablet deitado / notebook pequeno (901–1280): menu lateral mais estreito, números compactos, tabelas rolam no cartão */
@media(min-width:901px) and (max-width:1280px){
  .shell{grid-template-columns:216px 1fr}
  .side{padding:22px 10px 18px}
  .side-logo{padding:0 6px 20px}.side-logo img{max-width:112px}
  .side-nav a{gap:11px;padding:9px 12px;font-size:13.5px}
  .side-nav a .ic{width:18px;height:18px}
  .topbar{padding:12px 20px;gap:16px}
  .content{padding:20px 22px 32px}
  .stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
  .stat{gap:12px;padding:16px}.stat>.ic.red{width:30px;height:30px}.stat>.ic.sm{display:none}
  .stat strong{font-size:24px}.stat span{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .card:has(table.tbl:not(.adm-tbl)){overflow-x:auto}
  table.tbl:not(.adm-tbl) th{white-space:nowrap}
  .banner{padding:32px 36px}
}

/* celulares bem pequenos (até 420px, ex.: 320px): nada pode passar da tela */
@media(max-width:420px){
  .content{padding:14px 10px 24px}
  .card{padding:16px 14px}
  .sec-head{flex-wrap:wrap}
  /* linha de material: ícone + texto em cima, botão Abrir/Baixar na largura toda embaixo */
  .mat{flex-wrap:wrap;gap:10px 12px;padding:14px}
  .mat-ic{width:38px;height:38px}
  .mat>.btn-o,.mat>.soon{flex:1 1 100%;justify-content:center;text-align:center}
  .det-info{grid-template-columns:repeat(2,minmax(0,1fr))}
  .det-info>*{min-width:0;overflow-wrap:anywhere}
  .emp-form,.emp-form>*,.ef-campos>*{min-width:0}
}
/* detalhe do empreendimento: a grade de informações (7 itens) se adapta à largura */
@media(max-width:1280px){.det-info{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.det-info{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* links longos (endereços de arquivos) quebram linha em vez de estourar */
@media(max-width:600px){.content a{overflow-wrap:anywhere}}
/* celulares bem pequenos: cards de números com ícone em cima, para o nome caber inteiro */
@media(max-width:420px){
  .stat{flex-direction:column;align-items:flex-start;gap:6px}
  .stat span{overflow-wrap:normal;word-break:normal}
}

/* monitores grandes */
@media(min-width:1600px){
  /* telas internas: conteúdo centralizado (antes ficava encostado à esquerda) */
  .content{margin-inline:auto}
  /* Início: os destaques preenchem a linha toda */
  .sec-head+.emp-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
}
@media(min-width:1700px){
  /* login: caixa e textos crescem junto com a tela */
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-main{grid-template-columns:minmax(0,1fr) 420px;padding-left:max(4vw,20px);padding-right:max(4vw,20px)}
  .auth-lp:not(.is-cad):not(.auth-simples) .auth-card{max-width:420px;padding:28px 32px 24px}
  .auth-lp:not(.is-cad):not(.auth-simples) .auth-card h1{font-size:21px}
  .auth-lp:not(.is-cad):not(.auth-simples) .auth-card>p.muted{font-size:14px}
  .auth-lp:not(.is-cad):not(.auth-simples) .roles button,.auth-lp:not(.is-cad):not(.auth-simples) .field,.auth-lp:not(.is-cad):not(.auth-simples) .btn-red{height:48px;font-size:15px}
  .auth-lp:not(.is-cad):not(.auth-simples) .btn-line{height:46px;min-width:220px;font-size:15px}
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-title{font-size:clamp(44px,2.6vw,64px)}
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-kicker{font-size:14px}
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-lead{max-width:560px;font-size:18px}
  .auth-lp:not(.is-cad):not(.auth-simples) .lp-help{height:46px;font-size:14px;padding:0 22px}
}


/* ===================== tema Mega Parcerias: cores da logo (azul-marinho #1B2A45 + laranja #E26A12), out/2026 ===================== */
:root{--marinho:#1B2A45;--marinho-2:#26395C;--ambar:#E26A12;--ambar-escuro:#C15502;--ambar-texto:#A64A05;--fundo:#F4F6F9;--linha:#E3E8EF;
  --navy:#1B2A45;--ink:#1B2A45;--bg:#F4F6F9;--line:#E3E8EF;--muted:#5D6B7E}
body{background:var(--fundo)}
/* botões principais: laranja com texto marinho (contraste alto) */
.btn-red,.auth-lp .btn-red,.search button{background:linear-gradient(90deg,var(--ambar),#EE8434);color:var(--marinho);box-shadow:0 8px 20px rgba(226,106,18,.28)}
.btn-red .ic{color:var(--marinho)}
.btn-red:hover,.search button:hover{background:var(--ambar-escuro)}
/* botões de contorno e links pequenos: marinho, com borda laranja */
.btn-o{color:var(--marinho);border-color:#F0A877;border-width:1px}.btn-o:hover{background:var(--ambar);border-color:var(--ambar);color:var(--marinho)}
.auth-lp .btn-line{color:var(--marinho);border-color:var(--ambar);background:#fff}.auth-lp .btn-line:hover,.btn-line:hover{background:var(--ambar);color:var(--marinho)}
.sec-head a,.emp-mais,.link,a.link,.auth-simples .done a:not(.btn-red),.dev-info a{color:var(--ambar-texto)}
.sec-head a .ic,.emp-mais .ic{color:var(--ambar)}
/* escolhas (Corretor/Imobiliária, PF/PJ, filtros): selecionado em marinho */
.auth-lp .roles button.on,.auth-lp .seg button.on{background:var(--marinho);border-color:var(--marinho);color:#fff}
.auth-lp .roles button.on .ic{color:var(--ambar)}
/* menu lateral: item ativo em marinho com ícone laranja */
.side-nav a:hover{background:#EEF2F6;color:var(--marinho)}.side-nav a:hover .ic{color:var(--ambar-escuro)}
.side-nav a.on{background:var(--marinho);color:#fff;font-weight:600}.side-nav a.on .ic{color:var(--ambar)}
/* banner do Início: faixa marinho sobre a foto, texto branco com destaque laranja */
.banner{color:#fff;border:0;background:linear-gradient(90deg,rgba(27,42,69,.97) 30%,rgba(27,42,69,.75) 58%,rgba(27,42,69,.35)),url(../brand/banner.jpg) center 62%/cover}
.banner .kick,.banner h1,.banner .sub{color:#fff}
.banner .kick{color:var(--ambar)}
.banner h1 b,.banner h1 em{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--ambar)}
@media(max-width:900px){.banner{background:linear-gradient(90deg,rgba(27,42,69,.96),rgba(27,42,69,.82)),url(../brand/banner.jpg) center/cover}}
/* títulos em destaque do login: laranja mais fechado para ler bem no fundo claro */
.lp-title b,.lp-title b.g{background:linear-gradient(90deg,#E26A12,#C15502);-webkit-background-clip:text;background-clip:text;color:transparent}
.lp-kicker:after{background:var(--ambar)}
/* etiquetas dos cards */
.tag{background:var(--ambar);color:var(--marinho)}.tag.pronto{background:var(--marinho);color:#fff}.tag.em_obras{background:#34496E;color:#fff}
/* cards de números e ícones */
.stat>.ic.red,.loc .ic,.mat-ic{color:var(--ambar-escuro)}
.mat-ic{background:#FDEEE3}
.stat:hover,.emp:hover{border-color:#F0A877}
/* avatar, menu do celular, rodapé */
.avatar,.side-toggle{background:var(--marinho)!important}
.pfoot p,.lp-foot b{border-right-color:var(--ambar)}


/* ===================== login e telas de acesso no tema Mega ===================== */
/* cartão com faixa laranja no topo, campos com foco laranja */
.auth-lp .auth-card{border-top:4px solid var(--ambar)}
.auth-lp .field:focus-within,.auth-lp .cadastro .campo input:focus,.auth-lp .cadastro .campo select:focus{border-color:var(--ambar);box-shadow:0 0 0 3px rgba(226,106,18,.18)}
.auth-lp .field .ic{color:var(--marinho-2)}
.auth-lp .auth-card h1,.auth-lp .lbl,.auth-lp .lp-esqueci{color:var(--marinho)}
.auth-lp .divider{color:#5D6B7E}
.auth-lp .check input{accent-color:var(--marinho)}
/* topo: botão de ajuda em marinho */
.lp-help{color:var(--marinho);border-color:#D4DDE7}.lp-help .ic{color:var(--ambar-escuro)}
.lp-help:hover{border-color:var(--ambar);background:#fff}
.lp-kicker{color:var(--marinho)}
.lp-lead{color:#34496E}
/* rodapé: faixa marinho, como no e-mail */
.lp-foot{background:var(--marinho);border-top:0;color:#C9D6E3}
.lp-foot b{color:#fff;border-right-color:var(--ambar)}.lp-foot b span{color:var(--ambar)}
.lp-foot i{color:#C9D6E3}
.lp-foot nav a{color:#C9D6E3}.lp-foot nav a:hover{color:var(--ambar)}
/* fotos dos bairros com o mesmo marinho por baixo */
.lp-bairros{background:var(--marinho)}
/* mensagens */
.auth-lp .ok-box,.auth-lp .msg.ok{border-color:#F0A877}

/* ===================== telas internas no celular, no tema Mega ===================== */
.top-logo{display:none}
@media(max-width:600px){
  /* topo: logo Mega ao lado do menu, linha laranja embaixo */
  .topbar{justify-content:flex-start;border-bottom:2px solid var(--ambar);padding-top:8px;padding-bottom:8px;background:#fff}
  .top-logo{display:block;margin-right:auto}.top-logo img{display:block;height:46px;width:auto}
  .side-toggle{top:15px}
  .bell{color:var(--marinho)}.bell b{background:var(--ambar);color:var(--marinho)}
  /* menu do usuário: avatar marinho com contorno laranja */
  .me .avatar{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--ambar)}
  .me-menu a:hover,.me-menu button:hover{background:#FDEEE3}
  /* títulos de página com um traço laranja, como na tela de login */
  .page-head h1{position:relative;padding-bottom:10px}
  .page-head h1:after{content:'';position:absolute;left:0;bottom:0;width:44px;height:3px;border-radius:2px;background:var(--ambar)}
  /* menu lateral aberto: cabeçalho com faixa laranja e item ativo em marinho */
  .side{border-right:0;box-shadow:none}.side.open{box-shadow:8px 0 30px rgba(27,42,69,.25)}
  .side-logo{border-bottom:2px solid var(--ambar);margin-bottom:12px;padding-bottom:14px}
  .side-overlay{background:rgba(27,42,69,.55)}
  /* rodapé interno: faixa marinho, como no login e nos e-mails */
  .pfoot{background:var(--marinho);border-top:0;color:#C9D6E3}
  .pfoot p{color:#fff}.pfoot p b{color:var(--ambar)}
  .pfoot span{color:#C9D6E3}.pfoot nav a{color:var(--ambar)}
}

/* ===================== telas internas no tablet e no computador (a partir de 601px), no tema Mega ===================== */
@media(min-width:601px){
  .topbar{border-bottom:2px solid var(--ambar);background:#fff}
  .bell{color:var(--marinho)}.bell b{background:var(--ambar);color:var(--marinho)}
  .me .avatar{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--ambar)}
  .me-menu a:hover,.me-menu button:hover{background:#FDEEE3}
  .page-head h1{position:relative;padding-bottom:10px}
  .page-head h1:after{content:'';position:absolute;left:0;bottom:0;width:48px;height:3px;border-radius:2px;background:var(--ambar)}
  .side-logo{border-bottom:2px solid var(--ambar);margin-bottom:12px;padding-bottom:14px}
  .pfoot{background:var(--marinho);border-top:0;color:#C9D6E3}
  .pfoot p{color:#fff}.pfoot p b{color:var(--ambar)}
  .pfoot span{color:#C9D6E3}.pfoot nav a{color:var(--ambar)}
}
/* tablet em pé (menu escondido): logo no topo, menu aberto com sombra e fundo marinho */
@media(min-width:601px) and (max-width:900px){
  .top-logo{display:block;flex:none}.top-logo img{display:block;height:46px;width:auto}
  .topbar{padding-top:8px;padding-bottom:8px}
  .side{box-shadow:none}.side.open{box-shadow:8px 0 30px rgba(27,42,69,.25)}
  .side-overlay{background:rgba(27,42,69,.55)}
}

/* página de login simples: só a caixa de login, centralizada */
.auth-lp.auth-so-login .lp-main{display:flex!important;align-items:center!important;justify-content:center!important;padding:32px 16px!important;gap:0!important}
.auth-lp.auth-so-login .auth-card{width:100%;margin:0 auto}
.auth-lp.auth-so-login .auth-mark{display:block!important;width:160px!important;max-width:100%;margin:0 auto 12px!important}
