:root{--bg:#0b0d10;--panel:#12151a;--panel2:#171b21;--line:#242a31;--text:#f5f7fa;--muted:#8d98a5;--orange:#ff7300;--orange2:#ff9b45;--green:#38d996;--red:#ff5d6c;--blue:#5da8ff;--yellow:#ffc857;--sidebar:250px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#090b0e;border-right:1px solid var(--line);padding:22px 14px;display:flex;flex-direction:column;z-index:10}.brand,.install-brand,.login-logo{display:flex;align-items:center;gap:12px}.mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--orange),#ff9a32);color:#111;display:grid;place-items:center;font-weight:900;font-size:23px;box-shadow:0 8px 30px #ff730033}.brand strong{font-size:16px}.brand span,.login-logo small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.sidebar nav{margin-top:34px;display:flex;flex-direction:column;gap:5px}.sidebar nav a{display:flex;gap:12px;align-items:center;padding:11px 12px;border-radius:9px;color:#aab2bd;font-size:13px}.sidebar nav a:hover{background:#11151a;color:#fff}.sidebar nav a.active{background:linear-gradient(90deg,#ff73001a,transparent);color:#fff;border-left:2px solid var(--orange)}.sidebar nav a span{width:19px;color:var(--orange)}.side-foot{margin-top:auto;border-top:1px solid var(--line);padding:15px 10px;display:flex;flex-direction:column;gap:10px;color:var(--muted)}.side-foot a{color:#ddd}.main{margin-left:var(--sidebar);min-height:100vh}.topbar{height:68px;border-bottom:1px solid var(--line);background:#0b0d10dc;backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:8}.hamb{display:none;background:none;border:0;color:#fff;font-size:20px}.userpill{text-align:right}.userpill span{display:block;font-size:13px;font-weight:700}.userpill small{color:var(--muted)}.content{padding:28px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:18px}.page-head h1{font-size:25px;margin:0 0 5px}.page-head p{margin:0;color:var(--muted);font-size:13px}.filters,.inline-filters{display:flex;gap:10px;align-items:flex-end;background:var(--panel);border:1px solid var(--line);padding:12px;border-radius:12px;margin-bottom:16px}.filters label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);display:flex;flex-direction:column;gap:5px}.filters input,.filters select,.inline-filters input,.inline-filters select{background:#0d1014;border:1px solid var(--line);color:#fff;border-radius:7px;padding:8px 9px;font-size:12px}.btn{border:0;border-radius:8px;padding:10px 14px;cursor:pointer;font-weight:700;font-size:12px;display:inline-flex;justify-content:center;align-items:center}.btn.primary{background:var(--orange);color:#120a02}.btn.ghost{background:#1a1f25;color:#fff;border:1px solid #2a3139}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.kpi-grid.three{grid-template-columns:repeat(3,1fr)}.kpi{background:linear-gradient(180deg,#15191e,#111418);border:1px solid var(--line);border-radius:13px;padding:16px;min-height:112px;position:relative;overflow:hidden}.kpi:after{content:"";position:absolute;right:-25px;top:-35px;width:80px;height:80px;border-radius:50%;background:#ffffff06}.kpi.orange{border-top:2px solid var(--orange)}.kpi.green{border-top:2px solid var(--green)}.kpi.red{border-top:2px solid var(--red)}.kpi.blue{border-top:2px solid var(--blue)}.kpi-label{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.kpi-value{font-size:25px;font-weight:800;margin:8px 0 4px}.kpi-sub{color:var(--muted);font-size:11px}.grid-2{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;margin-bottom:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid-form{display:grid;grid-template-columns:390px 1fr;gap:16px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:17px;overflow:hidden}.panel h3{margin:0 0 4px;font-size:14px}.panel p{color:var(--muted);font-size:11px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.panel-head p{margin:4px 0 0}.panel-head a,.panel>a{color:var(--orange);font-size:11px}.bar-chart{height:220px;display:flex;gap:7px;align-items:end;border-bottom:1px solid var(--line);padding:14px 5px 0}.bar-col{height:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.bars{height:85%;width:100%;display:flex;align-items:end;justify-content:center;gap:2px}.bars i{width:34%;min-height:2px;border-radius:3px 3px 0 0}.bars .revenue{background:linear-gradient(var(--orange2),var(--orange))}.bars .ebitda{background:linear-gradient(#67e8b1,var(--green))}.bar-col small{font-size:9px;color:var(--muted);padding:8px 0;white-space:nowrap}.legend{display:flex;gap:18px;margin-top:10px;color:var(--muted);font-size:10px}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:5px}.revenue-dot{background:var(--orange)}.ebitda-dot{background:var(--green)}.waterfall{display:flex;flex-direction:column}.waterfall>div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #22272d;font-size:12px}.waterfall span{color:#aab2bd}.waterfall .pos{color:var(--green)}.waterfall .neg{color:#e1a3a9}.waterfall .result{color:var(--orange)}.big-number{font-size:25px;font-weight:800;margin:20px 0 0}.badge{padding:4px 7px;border-radius:20px;background:#242a31;color:#b9c1ca;font-size:9px}.badge.good{background:#38d99618;color:var(--green)}.dre-summary{max-width:780px;margin:auto}.dre-row{display:flex;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--line);font-size:12px}.dre-row.result{background:#ffffff03;font-weight:700}.dre-row.hero{font-size:15px;background:#ff73000d;border-left:2px solid var(--orange);margin-top:3px}.dre-row.percent{color:var(--muted)}.dre-row.capex{margin-top:10px;color:var(--blue);border-top:1px solid #29527a}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:11px;white-space:nowrap}th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:9px;padding:10px;border-bottom:1px solid var(--line)}td{padding:10px;border-bottom:1px solid #20252b}td a{color:var(--orange)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-grid label,.login-card label{display:flex;flex-direction:column;gap:5px;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.form-grid input,.form-grid select,.form-grid textarea,.login-card input{width:100%;background:#0d1014;color:#fff;border:1px solid #2a3037;border-radius:8px;padding:10px;outline:none}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.login-card input:focus{border-color:var(--orange)}.full{grid-column:1/-1}.form-sep{border-top:1px solid var(--line);padding-top:13px;margin-top:5px}.check{flex-direction:row!important;align-items:center;text-transform:none!important}.check input{width:auto}.movement-list{max-height:720px;overflow:auto}.movement{display:grid;grid-template-columns:34px 1fr auto 26px;gap:10px;align-items:center;padding:10px 4px;border-bottom:1px solid #20252b}.mov-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#1e242b}.mov-icon.in{color:var(--green);background:#38d99612}.mov-icon.out{color:#ff8893;background:#ff5d6c10}.mov-icon.inv{color:var(--blue);background:#5da8ff10}.mov-main b{display:block;font-size:11px}.mov-main small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.mov-value{text-align:right}.mov-value b{display:block;font-size:11px}.mov-value.in b{color:var(--green)}.mov-value.out b{color:#ff8893}.mov-value.inv b{color:var(--blue)}.status{font-size:8px;text-transform:uppercase;color:var(--muted)}.status.realized{color:var(--green)}.status.open{color:var(--yellow)}.status.planned{color:var(--blue)}.status.cancelled{color:var(--red)}.icon-btn{background:transparent;color:#67727f;border:0;cursor:pointer;font-size:18px}.account-cards{display:flex;flex-direction:column}.account-card{padding:12px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.account-card b,.account-card small{display:block}.account-card small{color:var(--muted);font-size:9px;margin-top:3px}.empty-hint{font-size:10px;color:var(--muted);padding:15px}.empty-hint a{color:var(--orange)}.flash{padding:11px 13px;border-radius:8px;margin-bottom:12px;font-size:11px}.flash.error{background:#ff5d6c15;border:1px solid #ff5d6c40;color:#ffabb3}.flash.success{background:#38d99612;border:1px solid #38d99635;color:#8bf0c5}.installer{background:radial-gradient(circle at 10% 10%,#ff730015,transparent 30%),#0b0d10}.install-shell{width:min(760px,92vw);margin:45px auto}.install-brand{margin-bottom:20px}.install-brand h1{margin:0;font-size:20px}.install-brand p{margin:3px 0;color:var(--muted);font-size:11px}.install-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:25px}.install-card h2{margin:5px 0}.muted{color:var(--muted);font-size:12px}.step,.eyebrow{font-size:9px;letter-spacing:.12em;color:var(--orange);font-weight:800}.success-card{text-align:center}.bigcheck{width:60px;height:60px;margin:auto;border-radius:50%;display:grid;place-items:center;background:#38d99615;color:var(--green);font-size:30px}.mini-stats{display:flex;gap:20px;justify-content:center;margin:22px}.mini-stats span{color:var(--muted);font-size:10px}.mini-stats b{display:block;color:#fff;font-size:18px}.login-page{display:grid;grid-template-columns:1.2fr .8fr;min-height:100vh}.login-left{padding:40px 6vw;background:radial-gradient(circle at 25% 65%,#ff730018,transparent 35%),#090b0e;display:flex;flex-direction:column}.login-copy{margin:auto 0;max-width:650px}.login-copy h1{font-size:48px;line-height:1.05;letter-spacing:-.04em;margin:15px 0}.login-copy p{color:var(--muted);font-size:15px}.login-metrics{display:flex;gap:10px;margin-top:30px}.login-metrics span{border:1px solid var(--line);padding:12px 18px;border-radius:10px;color:var(--muted);font-size:10px}.login-metrics b{display:block;color:#fff;font-size:15px}.login-panel{display:grid;place-items:center;padding:35px;background:#0d1014}.login-card{width:min(380px,100%);display:flex;flex-direction:column;gap:14px;background:#12161b;border:1px solid var(--line);padding:28px;border-radius:15px}.login-card h2{margin:0;font-size:24px}.login-card p{margin:-7px 0 5px;color:var(--muted);font-size:11px}.login-card>small{text-align:center;color:var(--muted)}.orange{color:var(--orange)}
@media(max-width:1050px){.grid-form{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}.grid-2,.grid-3{grid-template-columns:1fr}.login-page{grid-template-columns:1fr}.login-left{display:none}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.nav-open .sidebar{transform:none}.main{margin-left:0}.hamb{display:inline-block}.content{padding:16px}.topbar{padding:0 15px}.kpi-grid,.kpi-grid.three{grid-template-columns:1fr 1fr}.filters{overflow:auto}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.login-copy h1{font-size:36px}}/* V0.4 · Decision Intelligence */
.ceo-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.ceo-heading h1{font-size:30px;letter-spacing:-.035em;margin:5px 0 4px}.ceo-heading p{margin:0;color:var(--muted);font-size:12px}.cockpit-actions{display:flex;gap:8px}.executive-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:10px}.exec-card{background:linear-gradient(180deg,#15191e,#101317);border:1px solid var(--line);border-radius:13px;padding:15px;min-height:132px;display:flex;flex-direction:column;position:relative;overflow:hidden}.exec-card.primary{border-top:2px solid var(--orange);background:linear-gradient(180deg,#1a1714,#111418)}.exec-card.danger{border-top:2px solid var(--red)}.exec-card.needs-data{border-style:dashed}.exec-card>span{font-size:10px;text-transform:uppercase;letter-spacing:.075em;color:var(--muted)}.exec-card>b{font-size:24px;letter-spacing:-.03em;margin:9px 0 6px}.exec-card>small{margin-top:auto;color:#77828f;font-size:9px}.delta{font-size:9px;margin-bottom:8px}.delta.up{color:var(--green)}.delta.down{color:var(--red)}.delta.neutral{color:var(--muted)}.cash-strip .exec-card{min-height:105px}.cash-strip .exec-card>b{font-size:21px}.grid-decision{display:grid;grid-template-columns:1.35fr .75fr;gap:16px;margin:16px 0}.decision-center{min-height:355px}.live-pill{font-size:8px;letter-spacing:.08em;color:var(--green);border:1px solid #38d99635;background:#38d9960d;padding:5px 8px;border-radius:20px}.decision-list{display:flex;flex-direction:column;gap:8px}.decision-alert{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:10px;border:1px solid var(--line);background:#0e1115;border-radius:10px}.decision-alert .alert-icon{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;font-weight:900}.decision-alert b{font-size:11px}.decision-alert p{font-size:10px;margin:3px 0;color:#a7b0bb}.decision-alert small{font-size:9px;color:var(--muted)}.decision-alert.good .alert-icon{background:#38d99615;color:var(--green)}.decision-alert.warn .alert-icon{background:#ffc85714;color:var(--yellow)}.decision-alert.bad .alert-icon{background:#ff5d6c14;color:var(--red)}.decision-alert.info .alert-icon{background:#5da8ff14;color:var(--blue)}.goal-row{padding:13px 0;border-bottom:1px solid var(--line)}.goal-row>div:first-child{display:flex;justify-content:space-between;gap:10px}.goal-row span{font-size:10px;color:var(--muted)}.goal-row b{font-size:11px}.goal-row em{font-style:normal;color:var(--muted);font-weight:500}.goal-row small{display:block;color:var(--muted);font-size:8px;margin-top:5px}.progress,.mini-progress{height:5px;background:#20252b;border-radius:20px;overflow:hidden;margin-top:8px}.progress i,.mini-progress i{display:block;height:100%;background:var(--orange);border-radius:inherit}.progress i.good{background:var(--green)}.progress i.warn{background:var(--yellow)}.progress i.bad{background:var(--red)}.kpi-ops-title{display:flex;justify-content:space-between;align-items:end;margin:22px 0 10px}.kpi-ops-title h2{font-size:16px;margin:0}.kpi-ops-title p{font-size:10px;color:var(--muted);margin:3px 0 0}.kpi-ops-title a{color:var(--orange);font-size:10px}.ops-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin-bottom:16px}.ops-card{background:#111419;border:1px solid var(--line);border-radius:11px;padding:12px;min-height:105px;display:flex;flex-direction:column}.ops-card>span{font-size:9px;color:var(--muted)}.ops-card>b{font-size:17px;margin:7px 0 3px}.ops-card small{font-size:8px;color:var(--muted)}.ops-card em{font-style:normal;font-size:8px;margin-top:auto;color:#9da7b2}.ops-card.good{border-bottom:2px solid var(--green)}.ops-card.warn{border-bottom:2px solid var(--yellow)}.ops-card.bad{border-bottom:2px solid var(--red)}.cost-ranking{display:flex;flex-direction:column}.rank-row{display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.rank-num{color:#606a75;font-size:9px}.rank-row b{font-size:10px}.rank-row small{font-size:8px;color:var(--muted)}.rank-row strong{font-size:10px}.mini-progress{height:3px;margin:5px 0}.management-summary{display:grid;grid-template-columns:.65fr 1.35fr;gap:20px;align-items:center}.management-summary h3{font-size:17px;margin-top:5px}.question-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.question-grid span{background:#0e1115;border:1px solid var(--line);padding:11px;border-radius:8px;font-size:9px;color:#c7ced6}.indicator-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.indicator-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;min-height:145px;display:flex;flex-direction:column}.indicator-card>div{display:flex;justify-content:space-between;gap:8px}.indicator-card span{font-size:10px;color:var(--muted)}.indicator-card em{font-style:normal;font-size:7px;color:#59636e;text-transform:uppercase}.indicator-card>b{font-size:22px;margin:14px 0 3px}.indicator-card>small{font-size:8px;color:var(--muted)}.indicator-card footer{margin-top:auto;border-top:1px solid var(--line);padding-top:9px;color:var(--muted);font-size:8px;display:flex;justify-content:space-between}.indicator-card footer strong{color:#dbe1e7}.indicator-card.good{border-top:2px solid var(--green)}.indicator-card.warn{border-top:2px solid var(--yellow)}.indicator-card.bad{border-top:2px solid var(--red)}.goals-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:16px}.target-list{display:flex;flex-direction:column}.target-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.target-item b,.target-item small{display:block}.target-item b{font-size:10px}.target-item small{font-size:8px;color:var(--muted);margin-top:3px}.target-item strong{font-size:12px}.tv-mode .sidebar,.tv-mode .topbar{display:none}.tv-mode .main{margin-left:0}.tv-mode .content{padding:22px 3vw}.tv-mode .filters,.tv-mode .cockpit-actions{display:none}.tv-mode .ceo-heading{margin-bottom:12px}.tv-mode .ceo-heading h1{font-size:24px}
@media(max-width:1250px){.ops-grid{grid-template-columns:repeat(3,1fr)}.indicator-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1050px){.executive-strip{grid-template-columns:repeat(2,1fr)}.grid-decision,.goals-layout,.management-summary{grid-template-columns:1fr}.question-grid{grid-template-columns:repeat(3,1fr)}.indicator-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.ceo-heading{align-items:flex-start;flex-direction:column}.executive-strip{grid-template-columns:1fr 1fr}.ops-grid{grid-template-columns:1fr 1fr}.indicator-grid{grid-template-columns:1fr}.question-grid{grid-template-columns:1fr 1fr}.exec-card>b{font-size:20px}}
/* V0.5 · SGP Intelligence + Gestão por Cidade */
.ops-grid-four{grid-template-columns:repeat(4,1fr)}
.city-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px}.city-card{min-height:270px}.city-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:18px}.city-head h2{margin:4px 0 0;font-size:22px}.city-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.city-kpis>div{background:#0e1115;border:1px solid var(--line);border-radius:10px;padding:11px;min-height:82px;display:flex;flex-direction:column}.city-kpis span{font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.city-kpis b{font-size:16px;margin-top:8px}.positive{color:var(--green)}.negative{color:var(--red)}.city-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:8px;color:var(--muted)}.city-foot a{color:var(--orange)}
.integration-status{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.integration-status>div,.diagnostic-grid>div{background:#0e1115;border:1px solid var(--line);border-radius:9px;padding:12px}.integration-status span,.diagnostic-grid span{display:block;font-size:8px;text-transform:uppercase;color:var(--muted);letter-spacing:.06em}.integration-status b,.diagnostic-grid b{display:block;margin-top:7px;font-size:13px}.security-note{margin-top:15px;padding:11px;border:1px solid #38d99628;background:#38d99609;color:#9cdcc3;border-radius:9px;font-size:9px;line-height:1.5}.diagnostic-grid{display:grid;grid-template-columns:180px 180px 1fr;gap:8px;margin:13px 0}.diagnostic-grid .wide{grid-column:auto}.diagnostic-grid code{display:block;color:#dce3ea;font-size:10px;margin-top:7px;white-space:normal;word-break:break-word}.sync-roadmap{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.sync-roadmap span{border:1px solid var(--line);background:#0e1115;color:var(--muted);border-radius:8px;padding:13px;font-size:9px}.sync-roadmap span.done{border-color:#38d99630;color:#9ce6c5;background:#38d99608}
@media(max-width:1100px){.city-grid{grid-template-columns:1fr}.sync-roadmap{grid-template-columns:repeat(3,1fr)}.diagnostic-grid{grid-template-columns:1fr 1fr}.diagnostic-grid .wide{grid-column:1/-1}}
@media(max-width:760px){.ops-grid-four{grid-template-columns:1fr 1fr}.city-kpis{grid-template-columns:1fr 1fr}.integration-status,.sync-roadmap{grid-template-columns:1fr 1fr}.diagnostic-grid{grid-template-columns:1fr}.diagnostic-grid .wide{grid-column:auto}.city-foot{align-items:flex-start;flex-direction:column}}
