
:root{--bg:#060504;--panel:#12100d;--panel2:#1b1510;--text:#fff7ea;--muted:#cbbd9f;--gold:#d7a94d;--gold2:#f0d28a;--line:rgba(255,255,255,.12);--green:#7a9d55;--red:#a1462e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:radial-gradient(circle at 15% -5%,rgba(215,169,77,.24),transparent 34%),radial-gradient(circle at 90% 10%,rgba(122,157,85,.12),transparent 30%),linear-gradient(180deg,#090705,#050403 75%);color:var(--text)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 80%)}a{color:inherit;text-decoration:none}.shell{max-width:1280px;margin:auto;padding:0 24px}.topbar{position:sticky;top:0;z-index:20;background:rgba(6,5,4,.82);backdrop-filter:blur(22px);border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:82px}.brand{display:flex;gap:14px;align-items:center;font-weight:900;letter-spacing:.035em;min-width:300px}.brandLogo{width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 0 18px rgba(215,169,77,.12))}.brand small{color:var(--muted);font-weight:700;letter-spacing:.02em}.navlinks{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.navlinks a{font-size:12.5px;padding:9px 11px;border:1px solid transparent;border-radius:999px;color:var(--muted)}.navlinks a:hover,.navlinks a.active{border-color:rgba(215,169,77,.42);color:#fff;background:rgba(215,169,77,.10)}.hero{padding:76px 0 42px;position:relative}.hero:after{content:"";position:absolute;right:20px;top:22px;width:220px;height:220px;background:url('../img/logo-ius.png') center/contain no-repeat;opacity:.055;pointer-events:none}.heroGrid{display:grid;grid-template-columns:1.12fr .88fr;gap:28px;align-items:stretch}.badge{display:inline-flex;gap:8px;align-items:center;padding:8px 12px;border:1px solid rgba(215,169,77,.35);border-radius:999px;color:var(--gold2);font-size:13px;font-weight:850;background:rgba(215,169,77,.08)}.hero h1{font-size:clamp(42px,7vw,88px);line-height:.9;margin:22px 0 18px;letter-spacing:-.065em}.lead{font-size:20px;line-height:1.58;color:#ebdcc0;max-width:820px}.heroCard,.card,.section,.placeholder,.stat{border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));box-shadow:0 24px 80px rgba(0,0,0,.32);border-radius:28px}.heroCard{padding:26px;min-height:360px;display:flex;flex-direction:column;justify-content:space-between;background-image:linear-gradient(140deg,rgba(0,0,0,.25),rgba(215,169,77,.16)),url('../img/hero-masterplan.jpg');background-size:cover;background-position:center}.heroCard:before{content:'Imagem substituível: assets/img/hero-masterplan.jpg';display:inline-flex;padding:8px 10px;border-radius:999px;background:rgba(0,0,0,.62);color:#fff;font-size:12px;align-self:flex-start}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}.stat{padding:20px}.stat strong{font-size:29px;color:var(--gold2);display:block}.stat span{color:var(--muted);font-size:13px}.section{padding:34px;margin:30px 0}.section h2{font-size:34px;margin:0 0 12px;letter-spacing:-.04em}.intro{color:var(--muted);line-height:1.65}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.card{padding:22px;transition:.2s transform,.2s border-color}.card:hover{transform:translateY(-2px);border-color:rgba(215,169,77,.34)}.card .icon{font-size:28px}.card h3{margin:12px 0 8px}.card p{color:var(--muted);line-height:1.55}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.search,.select{background:#100c08;border:1px solid var(--line);color:#fff;border-radius:14px;padding:13px 14px;min-height:46px}.search{flex:1;min-width:260px}.select{min-width:220px}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.summary div{background:rgba(215,169,77,.09);border:1px solid rgba(215,169,77,.2);border-radius:18px;padding:18px}.summary strong{display:block;font-size:24px;color:var(--gold2)}.summary span{font-size:12px;color:var(--muted)}.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:22px}table{width:100%;border-collapse:collapse;min-width:1180px;background:rgba(0,0,0,.18)}th,td{padding:15px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--gold2);background:rgba(0,0,0,.28)}td{color:#f5ead7}.pill{display:inline-flex;gap:6px;align-items:center;border:1px solid rgba(215,169,77,.26);padding:6px 9px;border-radius:999px;font-size:12px}.muted{color:var(--muted)}.footer{border-top:1px solid var(--line);padding:34px 0 54px;color:var(--muted);font-size:13px;background:rgba(0,0,0,.22)}.footergrid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:24px}.footerLogo{width:72px;height:72px;object-fit:contain;opacity:.82}.footer code{color:var(--gold2)}.placeholder{padding:32px;min-height:280px;display:grid;place-items:center;text-align:center;color:var(--muted);border-style:dashed}.mapband{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.km{padding:18px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid var(--line)}.km b{color:var(--gold2)}.km p{font-size:13px;color:var(--muted)}.mediaGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.media{min-height:210px;border-radius:24px;border:1px solid var(--line);background:#15100b;overflow:hidden;position:relative}.media img{width:100%;height:100%;object-fit:cover;display:block}.media label{position:absolute;left:12px;bottom:12px;background:rgba(0,0,0,.65);padding:8px 10px;border-radius:999px;font-size:12px}@media(max-width:980px){.heroGrid,.grid,.grid2,.stats,.summary,.mapband,.mediaGrid,.footergrid{grid-template-columns:1fr}.nav{align-items:flex-start;flex-direction:column;padding:15px 0}.brand{min-width:0}.hero{padding-top:34px}.navlinks{justify-content:flex-start}.heroCard{min-height:260px}}

.section code{color:var(--gold2);background:rgba(215,169,77,.10);border:1px solid rgba(215,169,77,.18);border-radius:8px;padding:2px 6px}


/* ===== Matriz econômica v4 ===== */
.compactHero{padding-bottom:22px}.dashboardSection{background:linear-gradient(135deg,rgba(215,169,77,.10),rgba(255,255,255,.035))}.dashboardHeader,.sectionSplit{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.modeSwitch{display:flex;gap:8px;flex-wrap:wrap}.miniBtn{border:1px solid rgba(215,169,77,.28);background:rgba(255,255,255,.04);color:#fff;border-radius:999px;padding:10px 14px;font-weight:850;cursor:pointer}.miniBtn.active,.miniBtn.gold{background:linear-gradient(135deg,var(--gold),#8c5b22);color:#160d04;border-color:transparent}.kpiGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.kpi{border:1px solid rgba(215,169,77,.22);background:rgba(0,0,0,.25);border-radius:22px;padding:18px;min-height:130px}.kpi span,.kpi small{color:var(--muted);font-size:12px}.kpi strong{display:block;margin:9px 0 6px;font-size:clamp(20px,2.2vw,31px);color:var(--gold2);line-height:1}.legend{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:13px}.legend span{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:8px 10px}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.dot.vendavel{background:#d7a94d}.dot.ancora{background:#8bd17c}.dot.publico{background:#7cb7ff}.dot.estudo{background:#edc86d}.economicMap{height:620px;position:relative;border:1px solid rgba(215,169,77,.25);border-radius:28px;overflow:hidden;background:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),radial-gradient(circle at 30% 15%,rgba(215,169,77,.15),transparent 30%),rgba(0,0,0,.28);background-size:10% 10%,10% 10%,auto,auto}.economicMap:before{content:'Mapa econômico conceitual · escala visual por ocupação planejada';position:absolute;left:18px;top:16px;color:rgba(255,255,255,.45);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.mapItem{position:absolute;border:1px solid rgba(255,255,255,.2);border-radius:16px;color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;text-align:left;padding:10px;overflow:hidden;box-shadow:0 15px 45px rgba(0,0,0,.25);transition:.18s transform,.18s border-color}.mapItem:hover{transform:translateY(-2px) scale(1.01);border-color:#fff}.mapItem span{font-size:22px;position:absolute;top:8px;right:9px}.mapItem b{font-size:12px;line-height:1.05;text-shadow:0 2px 8px rgba(0,0,0,.45)}.mapItem small{font-size:11px;color:#fff7d7;margin-top:4px}.mapItem.vendavel{background:linear-gradient(135deg,rgba(215,169,77,.78),rgba(111,65,18,.72))}.mapItem.ancora{background:linear-gradient(135deg,rgba(122,157,85,.88),rgba(39,91,45,.72))}.mapItem.publico{background:linear-gradient(135deg,rgba(82,145,213,.82),rgba(19,61,104,.72))}.mapItem.estudo{background:linear-gradient(135deg,rgba(237,200,109,.70),rgba(115,81,25,.72))}.advanced{align-items:center}.matrixTable tr{cursor:pointer}.matrixTable tr:hover td{background:rgba(215,169,77,.06)}.status{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:850;border:1px solid var(--line)}.status.vendavel{color:#ffdb8a;border-color:rgba(215,169,77,.34);background:rgba(215,169,77,.09)}.status.ancora{color:#baf0ae;border-color:rgba(139,209,124,.38);background:rgba(139,209,124,.10)}.status.publico{color:#baddff;border-color:rgba(124,183,255,.38);background:rgba(124,183,255,.10)}.status.estudo{color:#ffe4a0;border-color:rgba(237,200,109,.38);background:rgba(237,200,109,.08)}.detailPanel{display:grid;grid-template-columns:1.25fr .75fr;gap:20px}.detailNumbers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.detailNumbers div{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.045);padding:14px}.detailNumbers span{display:block;color:var(--muted);font-size:12px}.detailNumbers strong{display:block;color:var(--gold2);font-size:22px;margin-top:5px}.sourceBox{border:1px solid rgba(215,169,77,.22);background:rgba(215,169,77,.07);border-radius:18px;padding:16px;color:#f8ebcf;line-height:1.55}.sourceBox span{color:var(--muted)}.floorBox{border:1px solid var(--line);border-radius:24px;padding:18px;background:rgba(0,0,0,.22)}.floorTitle{font-weight:900;color:var(--gold2);margin-bottom:12px}.miniPlan{height:300px;border:1px solid rgba(215,169,77,.24);border-radius:18px;display:grid;grid-template-columns:1.4fr .8fr;grid-template-rows:1.3fr .8fr;gap:8px;padding:10px;background:rgba(255,255,255,.035)}.planRoom{border:1px dashed rgba(255,255,255,.28);border-radius:12px;display:grid;place-items:center;color:#fff;font-size:13px;background:rgba(255,255,255,.045)}.roomA{grid-row:1/3}.roomB{grid-column:2}.roomC{grid-column:2}.roomD{grid-column:1/3}.ideaForm{display:flex;gap:10px;flex-wrap:wrap}.ideasList{display:grid;gap:10px;margin-top:18px}.idea{border:1px solid var(--line);border-radius:16px;padding:13px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(255,255,255,.04)}.idea span{color:var(--muted)}.idea button{background:transparent;color:#ffd08c;border:1px solid rgba(215,169,77,.25);border-radius:999px;padding:7px 10px;cursor:pointer}@media(max-width:1100px){.kpiGrid{grid-template-columns:repeat(2,1fr)}.detailPanel{grid-template-columns:1fr}.economicMap{height:760px}.dashboardHeader,.sectionSplit{flex-direction:column}.detailNumbers{grid-template-columns:1fr 1fr}}@media(max-width:720px){.kpiGrid,.detailNumbers{grid-template-columns:1fr}.economicMap{display:none}}

/* ===== Sprint Visual 01: mapa econômico sem sobreposição ===== */
.economicMap.mapDashboard{
  height:auto !important;
  min-height:520px;
  max-height:760px;
  overflow:auto !important;
  padding:56px 18px 18px;
  position:relative;
}
.economicMap.mapDashboard:before{
  content:'Mapa econômico conceitual · visão executiva por setores';
  left:22px;
  top:18px;
}
.mapControls{
  position:absolute;
  top:14px;
  right:16px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  z-index:3;
}
.mapModeBtn{
  border:1px solid rgba(215,169,77,.28);
  background:rgba(0,0,0,.28);
  color:#f7ead3;
  border-radius:999px;
  padding:7px 10px;
  font-size:12px;
  font-weight:850;
  cursor:pointer;
}
.mapModeBtn.active{
  background:linear-gradient(135deg,var(--gold),#8c5b22);
  color:#160d04;
  border-color:transparent;
}
.mapGrid{
  display:grid;
  gap:12px;
  align-items:stretch;
}
.sectorGrid{
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
}
.itemGrid{
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
}
.mapCard{
  position:relative !important;
  left:auto !important;
  top:auto !important;
  width:auto !important;
  height:auto !important;
  min-height:118px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:18px;
  color:#fff;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:space-between;
  text-align:left;
  padding:13px;
  overflow:hidden;
  box-shadow:0 12px 34px rgba(0,0,0,.22);
  transition:.16s transform,.16s border-color,.16s filter;
}
.mapCard:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.55);filter:brightness(1.05)}
.mapCardTop{display:flex;gap:9px;align-items:flex-start;min-width:0}
.mapCardTop span{font-size:20px;line-height:1;flex:0 0 auto}
.mapCardTop b{font-size:13px;line-height:1.16;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-shadow:0 1px 6px rgba(0,0,0,.4)}
.mapCardMeta{margin-top:8px;font-size:11px;color:rgba(255,255,255,.72);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mapCardNums{margin-top:10px;display:grid;gap:3px}
.mapCardNums strong{font-size:17px;color:#fff4c9;line-height:1.1}
.mapCardNums small{font-size:11px;color:rgba(255,255,255,.84);line-height:1.2}
.mapCard.vendavel{background:linear-gradient(135deg,rgba(215,169,77,.78),rgba(111,65,18,.72))}
.mapCard.ancora{background:linear-gradient(135deg,rgba(122,157,85,.88),rgba(39,91,45,.72))}
.mapCard.publico{background:linear-gradient(135deg,rgba(82,145,213,.82),rgba(19,61,104,.72))}
.mapCard.estudo{background:linear-gradient(135deg,rgba(237,200,109,.70),rgba(115,81,25,.72))}
.mapNote{margin-top:12px;color:var(--muted);font-size:12px;text-align:center}
@media(max-width:720px){.economicMap.mapDashboard{display:block;max-height:none;padding-top:92px}.mapControls{left:16px;right:16px}.sectorGrid,.itemGrid{grid-template-columns:1fr}}

/* Sprint Visual 08 - cache bust confirm */
