/* =========================================================================
   BP One · Fechamentos Mensais — tema portado do protótipo Angular.
   Todo o CSS fica aninhado sob .bp-shell (CSS nesting nativo) para não
   interferir nas telas administrativas do ABP/MudBlazor.
   ========================================================================= */
.bp-shell { --yellow:#ffe100; --ink:#111; --graphite:#242823; --paper:#f4f3ef; --white:#fff; --muted:#72756f; --line:#dddcd5; --green:#198754; --amber:#c89100; --red:#c83232; display:block; color:var(--ink); display:block; min-height:100vh; background:#f4f3ef; color:var(--ink); font-family:Inter,"Segoe UI",Arial,system-ui,sans-serif; }
.bp-shell {
* { box-sizing:border-box; }
button,input,select,textarea { font:inherit; }
.app-shell { min-height:100vh; background:var(--paper); font-family:Inter,"Segoe UI",sans-serif; }
.sidebar { position:fixed; inset:0 auto 0 0; width:238px; background:#242823; color:#fff; padding:0 0 18px; display:flex; flex-direction:column; z-index:10; box-shadow:10px 0 34px rgba(0,0,0,.16); }
.brand { height:88px;display:flex;align-items:center;justify-content:center;padding:0 20px;border-bottom:1px solid rgba(255,255,255,.1)}.brand img{display:block;height:49px;max-width:155px;width:auto;object-fit:contain}
.cycle{padding:25px 22px;background:var(--yellow);color:var(--ink);display:flex;flex-direction:column}.cycle span,.kicker,.eyebrow{display:block;font-size:9px;font-weight:900;letter-spacing:1.5px;color:#8a8d87}.cycle span{color:#111}.cycle strong{display:block;color:#111;font-size:18px;margin:7px 0 5px}.cycle small{color:#686000;font-size:10px}
nav{display:grid;gap:3px;padding:20px 10px}nav button{border:0;background:transparent;color:#9da49b;padding:12px;text-align:left;cursor:pointer;font-size:12px;font-weight:650;display:flex;gap:13px;align-items:center}nav button span{color:#677066;font-size:9px}nav button:hover,nav button.active{background:#343a33;color:#fff}nav button.active{box-shadow:inset 3px 0 var(--yellow)}nav button.active span{color:var(--yellow)}
.sidebar-foot{margin-top:auto;border-top:1px solid #3b403a;padding:18px 6px 0;display:flex;gap:10px;align-items:center}.avatar{width:35px;height:35px;border-radius:50%;background:var(--yellow);color:#111;display:grid;place-items:center;font-weight:900;font-size:11px}.avatar.small{flex:0 0 34px}.sidebar-foot strong,.sidebar-foot small{display:block}.sidebar-foot strong{font-size:11px}.sidebar-foot small{font-size:9px;color:#80857e;margin-top:2px}
main{margin-left:238px;min-height:100vh}.topbar{min-height:76px;background:rgba(244,243,239,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(17,17,17,.14);display:flex;align-items:center;justify-content:space-between;padding:12px 4vw;position:sticky;top:0;z-index:5}.topbar h1{font-size:24px;margin:4px 0 0}.top-actions{display:flex;gap:8px;align-items:center}select,input,textarea{border:1px solid #cfcec8;background:#fff;padding:11px 12px;color:#222;outline:none}select:focus,input:focus,textarea:focus{border-color:#111;box-shadow:0 0 0 3px rgba(255,225,0,.35)}.top-actions select{min-width:155px;font-size:12px}.unit-select{position:relative;min-width:190px}.unit-select-trigger{width:100%;min-height:41px;border:1px solid #cfcec8;background:#fff;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#222;font-size:12px;text-align:left;cursor:pointer}.unit-select-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unit-select-trigger b{font-size:15px;line-height:1;transition:transform .16s ease}.unit-select.open .unit-select-trigger{border-color:#111;box-shadow:0 0 0 3px rgba(255,225,0,.35)}.unit-select.open .unit-select-trigger b{transform:rotate(180deg)}.unit-select-menu{position:absolute;top:calc(100% + 5px);right:0;z-index:20;width:max(100%,220px);padding:5px;background:#fff;border:1px solid #c9c8c1;box-shadow:0 12px 28px rgba(20,22,19,.18)}.unit-select-menu button{display:block;width:100%;border:0;background:transparent;padding:9px 11px;color:#252723;font-size:12px;text-align:left;cursor:pointer}.unit-select-menu button:hover,.unit-select-menu button:focus-visible{background:#f1f0eb;outline:none}.unit-select-menu button.selected{background:#20251f;color:#fff;font-weight:750;box-shadow:inset 3px 0 var(--yellow)}
.content{padding:60px max(5vw,45px) 90px;max-width:1540px;margin:auto}.intro{display:grid;grid-template-columns:1.3fr .7fr;gap:50px;align-items:end;margin-bottom:36px}.dashboard-content .intro{background:var(--ink);color:#fff;padding:58px;margin:0 calc(max(5vw,45px)*-1) 36px}.dashboard-content .intro .kicker{color:var(--yellow)}.dashboard-content .intro p{color:#abaca6}.dashboard-content .intro h2 em{color:var(--yellow)}.intro h2,.section-title h2{font-size:clamp(34px,4vw,58px);line-height:1.02;margin:10px 0 0;letter-spacing:-2px}.intro h2 em{font-style:normal;color:#8a7d00}.intro p,.section-title p{color:var(--muted);font-size:15px;line-height:1.7;max-width:560px;margin:0}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.section-title h2{font-size:42px}.section-title p{margin-top:10px}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:#fff;margin-bottom:22px}.metric{padding:24px;border-right:1px solid var(--line)}.metric:last-child{border:0}.metric>span{font-size:10px;text-transform:uppercase;font-weight:800;color:var(--muted)}.metric>strong{display:block;font-size:38px;margin:9px 0}.metric small{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted)}.metric i{font-style:normal;font-size:17px}.success i,.green{color:var(--green)!important}.warning i,.yellow{color:var(--amber)!important}.danger i,.red{color:var(--red)!important}
.dashboard-grid{display:grid;grid-template-columns:1fr;gap:22px;margin-bottom:22px}.closing-grid,.registry-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:22px;margin-bottom:22px}.panel{background:#fff;border:1px solid var(--line);padding:24px}.panel-head{display:flex;align-items:start;justify-content:space-between;margin-bottom:20px}.panel h3,.macro h3,.rules-grid h3{margin:5px 0;font-size:20px}.badge,.status-pill,.frequency{background:#f1f0eb;border:1px solid #e3e2dc;padding:6px 9px;font-size:9px;text-transform:uppercase;font-weight:800}.status-pill{background:#fff8bd;border-color:#e6d662}
.chart{height:250px;position:relative;padding:25px 12px 0;overflow:visible}.bars{height:100%;display:grid;grid-template-columns:54px repeat(12,minmax(0,1fr));gap:5px;align-items:end;position:relative}.bars::before{content:'';display:block}.bars::after{content:'';position:absolute;right:0;bottom:28px;left:59px;z-index:1;height:1px;background:#4b4f49}.bars>div{height:100%;display:flex;align-items:end;justify-content:center;position:relative;padding-bottom:28px}.bars span{position:relative;z-index:3;width:27%;min-height:10px}.bars span.aa{background:#aaa}.bars span.real{background:#353a34}.bars span.real.last{background:var(--yellow)}.bars span b{position:absolute;top:-24px;left:50%;z-index:4;padding:2px 4px;background:#fff;color:#171917;font-size:11px;font-weight:900;line-height:1;white-space:nowrap;box-shadow:0 0 0 2px #fff;transform:translateX(-50%)}.bars small{position:absolute;bottom:0;width:100%;text-align:center;color:#858780;font-size:9px}.target-line{position:absolute;left:71px;right:12px;bottom:62%;border-top:2px dashed #d71920;z-index:2}.target-line span{position:absolute;right:0;top:-25px;padding:4px 7px;background:#d71920;color:#fff;font-size:10px;font-weight:900}.legend{display:flex;gap:18px;align-items:center;min-height:48px;margin-top:10px;border-top:1px solid #eee;padding-top:10px;font-size:10px;color:var(--muted)}.legend strong{display:grid;min-width:110px;align-self:stretch;place-content:center;margin-left:auto;padding:5px 10px;background:#f5f4ef;color:var(--green);font-size:18px;text-align:right}.legend strong small{display:block;font-weight:500}.dot{display:inline-block;width:7px;height:7px;margin-right:5px}.dot.dark{background:#353a34}.dot.yellow{background:var(--yellow)}
.executive-variance-lines{display:grid;gap:6px;margin:0 12px 6px}.executive-variance-lines>div{display:grid;grid-template-columns:54px repeat(12,1fr);gap:5px;align-items:center}.executive-variance-lines b{font-size:11px}.executive-variance-lines span{min-height:26px;padding:7px 2px;background:#dedede;color:#252525;font-size:11px;line-height:12px;font-weight:900;text-align:center}
.executive-chart-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(180px,1fr);gap:16px}.executive-monthly{min-width:0}.executive-ytd{display:flex;flex-direction:column;min-width:0;padding-left:16px;border-left:2px solid #242823;text-align:center}.executive-ytd h4{margin:0;color:#555;font-size:16px}.executive-ytd-deltas{display:grid;gap:5px;margin-top:12px;text-align:left}.executive-ytd-deltas span{font-size:10px;font-weight:800}.executive-ytd-deltas b{display:inline-block;min-width:50px;margin-right:5px;padding:3px;background:#e1e1e1;text-align:center}.executive-ytd-bars{position:relative;display:flex;flex:1;align-items:flex-end;justify-content:center;min-height:190px;margin-top:8px;border-bottom:1px solid #ddd}.executive-ytd-bars>div{position:relative;width:35%}.executive-ytd-bars .aa{background:#aaa}.executive-ytd-bars .real{background:var(--yellow)}.executive-ytd-bars div b{position:absolute;top:-25px;left:50%;font-size:12px;font-weight:900;white-space:nowrap;transform:translateX(-50%)}.executive-ytd-bars>i{position:absolute;right:8%;left:8%;height:2px;background:#e43420}.executive-ytd-bars>i b{position:absolute;right:0;bottom:6px;padding:2px 4px;background:#c90000;color:#fff;font-size:9px;font-style:normal}.executive-ytd>small{padding-top:8px;color:#666;font-size:11px;font-weight:700}.executive-ytd-legend{display:flex;justify-content:center;gap:14px;margin-top:12px;font-size:11px;font-weight:700}.executive-ytd-legend span{display:flex;gap:5px;align-items:center}.executive-ytd-legend i{width:20px;height:8px}.executive-ytd-legend i.aa{background:#aaa}.executive-ytd-legend i.real{background:var(--yellow)}.executive-ytd-legend i.meta{height:3px;background:#e43420}
.executive-ytd-bars>div{width:24%}
.dot.gray{background:#aaa}.dot.red{height:2px;background:#d71920}
.executive-ytd-deltas>div{display:grid;grid-template-columns:55px 1fr;gap:5px;align-items:center}.executive-ytd-deltas>div>b{padding:0;background:transparent;font-size:9px;text-align:left}.executive-ytd-deltas>div>span{min-height:22px;padding:5px;background:#e3e3e3;color:#444;font-size:9px;font-weight:900;text-align:center}
.unit-row,.attention-item,.objective-row,.registry-row,.closing-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #ecebe6}.unit-row:last-child,.attention-item:last-child{border:0}.unit-code{width:40px;height:32px;display:grid;place-items:center;background:#292e29;color:var(--yellow);font-size:9px;font-weight:900}.unit-row>div,.attention-item>div,.objective-row>div,.registry-row>div,.closing-row>div{min-width:0;flex:1}.unit-row strong,.unit-row small,.attention-item strong,.attention-item small,.objective-row strong,.objective-row small,.registry-row strong,.registry-row small,.closing-row strong,.closing-row small{display:block}.unit-row strong,.attention-item strong,.objective-row strong,.registry-row strong,.closing-row strong{font-size:12px}.unit-row small,.attention-item small,.objective-row small,.registry-row small,.closing-row small{font-size:10px;color:var(--muted);margin-top:3px}.mini-bar{width:70px;height:4px;background:#e6e5df}.mini-bar i{display:block;height:100%;background:var(--yellow)}.unit-row>b{font-size:11px}.face{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:18px;background:#eee}.face.green{background:#e0f2e7}.face.yellow{background:#fff4c6;font-size:12px}.face.red{background:#fae0e0}.attention-item>b{min-width:52px;text-align:right;font-size:13px}.text-btn,.icon-btn{border:0;background:transparent;cursor:pointer;color:#575a55;font-weight:700}.text-btn:hover{color:#111}.icon-btn{font-size:17px}.frequency{white-space:nowrap}
.primary,.secondary{border:1px solid #111;padding:12px 17px;font-weight:800;font-size:11px;cursor:pointer}.primary{background:var(--yellow);color:#111}.primary:hover{background:#ffeb45}.secondary{background:#fff}.wide{width:100%}.table-panel{padding:0;overflow:auto}table{width:100%;border-collapse:collapse;min-width:940px}th{text-align:left;background:#292e29;color:#cdd1ca;padding:14px 15px;font-size:9px;text-transform:uppercase}td{border-bottom:1px solid #e6e5df;padding:13px 15px;font-size:12px}td strong,td small{display:block}td small{max-width:280px;color:var(--muted);font-size:9px;margin-top:4px}.table-panel .face{width:30px;height:30px;font-size:15px}.table-panel .face.yellow{font-size:10px}
.editorial label{display:block;font-size:10px;font-weight:800;margin-top:20px}.editorial textarea{width:100%;resize:vertical;margin-top:7px;line-height:1.5}.upload{border:1px dashed #aaa;padding:24px;text-align:center;cursor:pointer}.upload input{display:none}.upload span,.upload strong,.upload small{display:block}.upload span{font-size:22px;color:#807500}.upload small{color:var(--muted);margin-top:4px}.action-row{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.closing-row label{font-size:9px;text-transform:uppercase;color:var(--muted)}.closing-row input{display:block;width:105px;padding:8px;margin-top:3px}
.unit-closing-banner{background:var(--yellow);padding:22px 26px;margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:30px}.unit-closing-banner span,.unit-closing-banner strong{display:block}.unit-closing-banner span{font-size:9px;font-weight:900;letter-spacing:1.5px}.unit-closing-banner strong{font-size:22px;margin-top:4px}.unit-closing-banner p{margin:0;max-width:560px;font-size:11px;line-height:1.5;color:#5d5500}.history-stack{display:grid;gap:18px}.indicator-history{background:#fff;border:1px solid var(--line)}.history-head{display:flex;align-items:center;gap:14px;padding:20px 22px;border-bottom:1px solid var(--line)}.history-head>div:nth-child(2){flex:1;min-width:0}.history-head h3{margin:5px 0;font-size:18px}.history-head p{margin:0;color:var(--muted);font-size:10px}.history-result{text-align:right}.history-result small,.history-result strong{display:block}.history-result small{font-size:9px;text-transform:uppercase;color:var(--muted)}.history-result strong{font-size:20px;margin-top:4px}.history-table-wrap{overflow-x:auto}.history-table{min-width:1080px;table-layout:fixed}.history-table th,.history-table td{text-align:center;padding:10px 7px;font-size:10px;border-right:1px solid #ecebe6}.history-table tbody td{font-size:11px}.history-table thead th{background:#292e29;color:#d9ddd6}.history-table thead th:first-child,.history-table tbody th{width:84px;text-align:left}.history-table tbody th{background:#f1f0eb;color:#3b3e39;font-size:9px;text-transform:uppercase}.history-table .current-month{background:#fff7a8;color:#111;font-weight:900}.history-table input{width:68px;padding:7px 2px;text-align:center;border:0;border-bottom:1px solid #bdbcb6;background:transparent;font-size:11px;font-weight:900;outline:0}.history-table input:hover{background:rgba(255,255,255,.5)}.history-table input:focus{border-bottom:2px solid #c9ad00;background:#fff}.history-table .positive{color:var(--green);font-weight:800}.history-table .negative{color:var(--red);font-weight:800}.actual-row td{font-weight:800}.variance-row td{font-size:10px}.closing-editorial{margin-top:18px}
.evidence-required{margin:0!important;padding:16px 20px!important;border:0!important;border-top:1px solid #e2c952!important;background:#fff8c6;display:flex!important;align-items:center;gap:12px;text-align:left!important;cursor:pointer}.evidence-required input,.topic-file input{display:none}.evidence-required>span{width:30px;height:30px;background:var(--yellow);display:grid;place-items:center;font-size:17px;font-weight:900}.evidence-required>div{flex:1}.evidence-required strong,.evidence-required small{display:block}.evidence-required small{color:#746b22;margin-top:3px}.evidence-required>b{font-size:9px;letter-spacing:1px}.extra-topics-head{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.extra-topics-head strong{display:block;font-size:13px;margin-top:4px}.extra-topics-head button:disabled{opacity:.45;cursor:not-allowed}.extra-topics-head button b{margin-left:8px}.extra-topic{display:grid;grid-template-columns:38px 1fr auto;gap:12px;margin-top:12px;padding:16px;background:#f4f3ef;border-left:4px solid var(--yellow)}.extra-topic-number{font-size:20px;font-weight:900;color:#9a8b00}.extra-topic>div:nth-child(2){display:grid;gap:7px}.extra-topic input,.extra-topic textarea{width:100%}.topic-file{margin:0!important;padding:9px 11px;background:#fff;border:1px dashed #aaa;font-size:10px;cursor:pointer}.remove-topic{border:0;background:transparent;font-size:21px;align-self:start;cursor:pointer;color:#777}
.macro-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:22px}.macro{background:#292e29;color:#fff;padding:24px;min-height:235px;display:flex;flex-direction:column}.macro>span{color:var(--yellow);font-size:11px;font-weight:900}.macro h3{font-size:18px;margin-top:22px}.macro p{font-size:12px;color:#afb3ac;line-height:1.55}.macro strong{margin-top:auto;color:var(--yellow);font-size:10px}.objective-row>span{font-size:9px;font-weight:900;background:var(--yellow);padding:6px}.objective-row>b{font-size:10px;color:var(--muted)}.compact-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;align-items:end;margin-top:22px}.compact-form h3{grid-column:1/-1}.rules-intro{background:#111;color:#fff;padding:42px;margin:-42px calc(clamp(24px,4vw,62px)*-1) 0}.rules-intro p{color:#b6b7b2}.rules-grid{display:grid;grid-template-columns:repeat(3,1fr)}.rules-grid article{min-height:230px;padding:32px;border:1px solid var(--line);border-top:0;background:#fff}.rules-grid article>span{font-size:36px;color:#d0c100;font-weight:900}.rules-grid p{font-size:12px;color:var(--muted);line-height:1.6}
.registry-grid{grid-template-columns:1fr 1fr}.registry-row i{font-size:9px;color:var(--green);font-style:normal}.inline-form{display:grid;grid-template-columns:1.5fr .6fr 1fr auto;gap:6px;margin-top:20px}.inline-form input{min-width:0}.inline-form button{border:0;background:var(--yellow);width:42px;font-size:20px;cursor:pointer}.owner-form{grid-template-columns:1fr 1fr 1fr 1.2fr auto}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:50;display:grid;place-items:center;padding:20px}.modal{width:min(560px,100%);background:#fff;padding:34px;position:relative}.modal .close{position:absolute;right:18px;top:16px;border:0;background:transparent;font-size:24px;cursor:pointer}.modal h2{margin:10px 0 3px;font-size:27px}.modal>p{color:var(--muted);font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0}.form-grid label{font-size:10px;font-weight:800}.form-grid input,.form-grid select{display:block;width:100%;margin-top:6px}.preview{display:flex;align-items:center;gap:18px;background:#f5f4ef;padding:16px;margin-bottom:18px}.preview>div{flex:1}.preview small,.preview strong{display:block}.preview small{font-size:9px;color:var(--muted)}.preview strong{font-size:20px;margin-top:3px}.toast{position:fixed;right:25px;bottom:25px;background:#20251f;color:#fff;border-left:4px solid var(--yellow);padding:15px 20px;z-index:100;font-size:12px;box-shadow:0 10px 30px rgba(0,0,0,.2)}
.module-fields{grid-column:1/-1;border-top:1px solid #deddd7;padding-top:16px}.module-fields>strong,.module-fields>small{display:block}.module-fields>small{margin:5px 0 12px;color:var(--muted);font-weight:500}.module-input-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.modal:has(.module-fields){width:min(680px,100%);max-height:92vh;overflow:auto}
.executive-ytd-deltas{gap:6px}.executive-ytd-deltas>div{grid-template-columns:54px 1fr;gap:5px}.executive-ytd-deltas>div>b{font-size:11px}.executive-ytd-deltas>div>span{min-height:26px;box-sizing:border-box;padding:7px 2px;background:#dedede;color:#252525;font-size:11px;line-height:12px;font-weight:900;display:grid;place-items:center}
@media(min-width:761px){.executive-ytd{position:relative}.executive-ytd h4{position:absolute;top:-38px;right:0;left:16px}.executive-ytd-deltas{margin-top:0}}
@media(max-width:1100px){.metric-grid{grid-template-columns:1fr 1fr}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid var(--line)}.dashboard-grid,.closing-grid,.registry-grid{grid-template-columns:1fr}.macro-grid{grid-template-columns:repeat(2,1fr)}.compact-form{grid-template-columns:1fr 1fr}.owner-form{grid-template-columns:1fr 1fr}.intro{grid-template-columns:1fr}.rules-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.sidebar{position:static;width:100%;padding:16px}.cycle,.sidebar-foot{display:none}.brand{border:0;padding:0 0 12px}nav{display:flex;overflow:auto}nav button{min-width:max-content}main{margin:0}.topbar{position:static;display:block;padding:18px}.top-actions{margin-top:14px}.top-actions select{min-width:0;flex:1}.content{padding:28px 16px 50px}.intro h2,.section-title h2{font-size:34px;letter-spacing:-1px}.metric-grid{grid-template-columns:1fr 1fr}.metric{padding:18px}.section-title{display:block}.section-title .primary,.status-pill{display:inline-block;margin-top:16px}.macro-grid,.rules-grid{grid-template-columns:1fr}.rules-intro{margin:-28px -16px 0;padding:32px 16px}.compact-form,.inline-form,.owner-form,.module-input-grid{grid-template-columns:1fr}.inline-form button{width:100%;height:42px}.form-grid{grid-template-columns:1fr}.chart{height:210px}.executive-chart-layout{grid-template-columns:1fr}.executive-ytd{min-height:280px;padding:16px 0 0;border-top:2px solid #242823;border-left:0}.frequency{display:none}.unit-closing-banner{display:block}.unit-closing-banner p{margin-top:10px}.history-head{align-items:flex-start}.history-result{display:none}}

/* O consolidado YTD permanece sempre lateral ao gráfico mensal. Em telas estreitas, o conjunto rola horizontalmente. */
@media(max-width:760px){.executive-priority{width:calc(100vw - 32px);max-width:calc(100vw - 32px);box-sizing:border-box;overflow:hidden}.executive-chart-layout{width:100%;max-width:100%;grid-template-columns:minmax(620px,3fr) minmax(180px,1fr);overflow-x:auto;overscroll-behavior-inline:contain;padding-bottom:10px}.executive-ytd{min-height:280px;padding:0 0 0 16px;border-top:0;border-left:2px solid #242823}.executive-ytd h4{margin-bottom:8px}}

.variance-row td{font-size:15px;line-height:1.2}.variance-row th{font-size:13.5px;line-height:1.2}
.indicator-explanation{display:grid;grid-template-columns:1fr auto;gap:8px 16px;padding:18px 22px;border-top:1px solid var(--line);background:#fffceb}.indicator-explanation strong,.indicator-explanation small{grid-column:1}.indicator-explanation small{color:var(--muted)}.indicator-explanation textarea{grid-column:1/-1;width:100%;resize:vertical}.indicator-explanation button{grid-column:2;justify-self:end}

/* EBITDA é o indicador executivo principal: escala e tipografia reforçadas para leitura em reunião. */
.executive-priority{border-top:5px solid var(--yellow);padding:30px}.executive-priority .panel-head{align-items:center;margin-bottom:28px}.executive-priority .panel-head h3{font-size:30px}.executive-priority .panel-head p{margin:6px 0 0;color:var(--muted);font-size:13px}.executive-targets{display:flex;gap:1px;background:#d9d9d3}.executive-targets span{min-width:112px;padding:10px 13px;background:#242823;color:#fff;text-align:center}.executive-targets span:first-child{background:#d71920}.executive-targets small,.executive-targets strong{display:block}.executive-targets small{font-size:8px;font-weight:900;text-transform:uppercase}.executive-targets strong{margin-top:3px;font-size:24px;line-height:1}
.executive-priority .chart{height:400px;padding-top:58px}.executive-priority .bars{gap:8px}.executive-priority .bars::after{bottom:34px}.executive-priority .bars>div{padding-bottom:34px}.executive-priority .bars span{width:35.2%}.executive-priority .bars span b,.executive-priority .bars span.aa b,.executive-priority .bars span.real b{top:-13px;left:50%;padding:0;background:transparent;font-size:9px;line-height:1;box-shadow:none;transform:translateX(-50%)}.executive-priority .bars span.aa b{color:#555}.executive-priority .bars span.real b{color:#111}.executive-priority .bars small{font-size:12px;font-weight:700}.executive-priority .target-line{border-top-width:3px}.executive-priority .target-line span{top:-32px;padding:6px 9px;font-size:12px}.executive-priority .executive-variance-lines b{font-size:12px}.executive-priority .executive-variance-lines span{min-height:32px;padding:8px 2px;font-size:13px;line-height:15px}.executive-priority .legend{justify-content:center;min-height:48px;font-size:12px}.executive-priority .executive-ytd h4{font-size:21px;color:#111}.executive-priority .executive-ytd-bars{min-height:280px}.executive-priority .executive-ytd-bars div b{top:-35px;font-size:23px}.executive-priority .executive-ytd-bars>i b{font-size:12px}.executive-priority .executive-ytd>small{font-size:12px}
@media(max-width:900px){.executive-priority{padding:22px}.executive-priority .panel-head{display:block}.executive-targets{margin-top:16px;overflow-x:auto}.executive-targets span{min-width:105px}.executive-priority .chart{height:320px}}

/* Escala bipolar compartilhada: barras partem sempre do eixo zero real. */
.executive-priority .bars{position:absolute;inset:0 12px;height:auto;align-items:initial}
.executive-priority .bars::after{display:none}
.executive-priority .bars>div{align-items:initial}
.executive-priority .bars span{position:absolute;min-height:2px}
.executive-priority .bars span.aa{left:14.8%}
.executive-priority .bars span.real{right:14.8%}
.executive-priority .bars span.negative-value b{top:auto;bottom:-15px}
.executive-priority .bars span.zero-value b{top:auto;bottom:4px}
.executive-variance-lines span.negative{color:#c90000}
.executive-zero-line{position:absolute;right:12px;left:71px;z-index:2;height:1px;background:#4b4f49;pointer-events:none}
.executive-zero-line b{position:absolute;top:-8px;left:-14px;padding-right:3px;background:#fff;color:#666;font-size:9px;line-height:1}
.target-line.negative-value span{top:6px}
.executive-ytd-bars{align-items:initial;border-bottom:0}
.executive-ytd-bars>div{position:absolute;bottom:auto;min-height:2px}
.executive-ytd-bars>div.aa{left:15%;width:35%}
.executive-ytd-bars>div.real{right:15%;width:35%}
.executive-ytd-bars>div.negative-value b{top:auto;bottom:-28px}
.executive-ytd-bars>div.zero-value b{top:auto;bottom:5px}
.executive-ytd-bars>i.negative-value b{top:6px;bottom:auto}
.executive-ytd-bars>.executive-zero-line{right:0;left:0}
.executive-priority .executive-targets{display:flex;gap:8px;align-items:stretch;background:transparent}.executive-priority .executive-targets span{min-width:104px;padding:8px 12px 7px;border:1px solid #deddd7;border-top:3px solid #242823;background:#f5f4ef;color:#242823;text-align:left}.executive-priority .executive-targets span:first-child{border-color:#efc6c6;border-top-color:#d71920;background:#fff7f7;color:#b4141b}.executive-priority .executive-targets small{color:#74766f;font-size:7px}.executive-priority .executive-targets strong{margin-top:2px;font-size:20px}.executive-priority .executive-targets span:first-child small{color:#9f5558}
@media(max-width:900px){.executive-priority .executive-targets span{min-width:98px}}
.executive-priority .executive-variance-lines span { font-size: 12px; }
.executive-priority .executive-ytd-deltas > div > span { font-size: 12px; }
.executive-priority .executive-ytd-deltas > div > span.negative { color:#c90000; }

/* OnePage de metas: réplica visual restrita, com acompanhamento mantido em bloco separado. */
.vp-onepage-wrap{display:grid;gap:18px;margin-top:18px}.vp-onepage-source{padding:32px;background:#111;color:#fff;border-top:4px solid var(--yellow)}.vp-onepage-source>header{display:flex;justify-content:space-between;gap:24px;padding-bottom:16px;border-bottom:2px solid var(--yellow)}.vp-onepage-source>header strong{font-size:26px}.vp-onepage-source>header h2{margin:0;color:var(--yellow);font-size:30px;letter-spacing:1px}.vp-onepage-source>header p{margin:0;color:#aeb1ab;font-size:10px;line-height:1.6;text-align:right}.vp-thesis{margin:16px 0;padding:15px 20px;border:1px solid var(--yellow);border-radius:14px;background:#20231f;font-size:15px;line-height:1.5;text-align:center}.vp-thesis b,.vp-scorecards em{color:var(--yellow);font-style:normal}.vp-scorecards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.vp-scorecards>div{min-height:150px;padding:24px 16px;background:#242823;border-radius:10px;display:grid;place-content:center;text-align:center}.vp-scorecards strong,.vp-scorecards span{display:block}.vp-scorecards strong{font-size:25px}.vp-scorecards span{margin-top:8px;color:#c9ccc6;font-size:10px;line-height:1.45}.vp-onepage-source>h3{margin:20px 0 8px;color:var(--yellow);font-size:12px;letter-spacing:4px}.vp-three,.vp-commitments{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.vp-three>div,.vp-commitments>div{padding:15px;background:#292e29;border-top:2px solid var(--yellow);border-radius:0 0 9px 9px}.vp-three h4,.vp-commitments h4{margin:0 0 8px;font-size:14px}.vp-three p,.vp-commitments p{margin:0;color:#c9ccc6;font-size:10px;line-height:1.55}.vp-three span{display:inline-block;margin-top:10px;padding:6px 9px;background:#444942;border-radius:6px;font-size:9px}.vp-placar{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.vp-placar>div{padding:11px;background:#292e29;border-radius:8px;text-align:center}.vp-placar strong,.vp-placar span{display:block}.vp-placar strong{color:var(--yellow);font-size:18px}.vp-placar span{margin-top:5px;color:#c9ccc6;font-size:8px}.vp-commitments{grid-template-columns:repeat(4,1fr)}.vp-rule{display:flex;align-items:center;gap:22px;margin-top:26px;padding:14px 18px;background:#b90008;border-radius:10px}.vp-rule>strong{font-size:27px;white-space:nowrap}.vp-rule p{margin:0;font-size:10px;line-height:1.5}.vp-onepage-source>footer{display:flex;justify-content:space-between;gap:20px;margin-top:16px;padding-top:10px;border-top:1px solid #454a44;color:#8f938c;font-size:8px}.vp-onepage-source>footer span:first-child{max-width:72%}
@media(max-width:1000px){.vp-scorecards{grid-template-columns:1fr 1fr}.vp-three,.vp-commitments{grid-template-columns:1fr}.vp-placar{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.vp-onepage-source{padding:20px 14px}.vp-onepage-source>header{display:block}.vp-onepage-source>header p{margin-top:12px;text-align:left}.vp-onepage-source>header h2{font-size:23px}.vp-scorecards{grid-template-columns:1fr}.vp-placar{grid-template-columns:1fr 1fr}.vp-rule{display:block}.vp-rule p{margin-top:8px}.vp-onepage-source>footer{display:block}.vp-onepage-source>footer span{display:block;max-width:none!important;margin-top:6px}}

/* Legibilidade numérica: valores financeiros nunca devem ser truncados. */
.metric strong,.history-table,.executive-revenue-table,.fee-comparison-table,.fee-list-table,.executive-client-table,.client-margin-matrix,.unit-client-rank-table,.unit-period-comparison,.unit-expense-strip,.client-entry-table,input[type='number']{font-variant-numeric:tabular-nums lining-nums}
.history-table{width:100%;min-width:0!important}
.history-stack,.indicator-history{min-width:0}
.history-table-wrap{width:100%;max-width:100%;min-width:0;overflow-x:hidden}
.history-table thead th:first-child,.history-table tbody th{width:8.4%}
.history-table th,.history-table td{min-width:0;text-align:center}
.history-table input{box-sizing:border-box;width:100%!important;min-width:0!important;padding-right:2px;padding-left:2px;font-size:11px;text-align:center!important}
.debt-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.debt-summary>div{padding:16px 20px;background:#fafaf7}.debt-summary small,.debt-summary strong{display:block}.debt-summary small{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase}.debt-summary strong{margin-top:5px;font-size:17px}.debt-summary>div:nth-child(2) strong,.debt-summary>div:nth-child(4) strong{color:var(--green)}.debt-table-wrap{overflow-x:auto}.debt-table{min-width:1120px;font-variant-numeric:tabular-nums lining-nums}.debt-row{display:grid;grid-template-columns:minmax(180px,1.35fr) repeat(4,minmax(108px,1fr)) repeat(3,minmax(125px,1.08fr));align-items:stretch}.debt-row>span,.debt-row>strong{display:flex;align-items:center;justify-content:flex-end;min-width:0;padding:10px 9px;border-right:1px solid #e4e6e1;text-align:right;font-size:10px}.debt-row>strong:first-child{align-items:flex-start;justify-content:center;flex-direction:column;text-align:left}.debt-row.head{background:#222823;color:#fff}.debt-row.head>span{justify-content:center;padding-block:11px;color:#e9ece8;font-size:9px;font-weight:800;text-transform:uppercase}.debt-contract-group{border-bottom:1px solid #dfe2dc}.debt-row.scheduled{background:#fff}.debt-row.scheduled>strong>b{font-size:13px}.debt-row.scheduled>strong small{margin-top:2px;color:var(--muted);font-size:8px}.debt-row.scheduled>strong i{display:block;width:100%;height:3px;margin-top:6px;background:#e6e8e3}.debt-row.scheduled>strong i b{display:block;height:100%;background:var(--yellow)}.debt-row.paid{background:#f5f8f4;color:#31583b}.debt-row.paid>strong small{font-size:7px;letter-spacing:.7px}.debt-row.paid input{box-sizing:border-box;width:100%;min-width:0;padding:6px;border:1px solid #cbd5ca;background:#fff;color:#173d24;text-align:right;font:inherit;font-weight:800}.debt-row.paid input:focus{border-color:var(--green);outline:2px solid rgba(43,112,62,.14)}.debt-row.total{font-weight:900}.debt-row.total.scheduled{background:#e8ece7;border-top:2px solid #667066}.debt-row.total.paid{background:#dcebdd;color:#174d26}.debt-source-note{margin:0;padding:12px 20px;border-top:1px solid var(--line);color:var(--muted);font-size:9px;line-height:1.5}@media(max-width:760px){.debt-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.debt-summary strong{font-size:14px}}
.history-table thead th{overflow-wrap:anywhere}
@media(max-width:900px){.history-table{max-width:100%}.history-table th,.history-table td{padding:7px 2px;font-size:8px}.history-table thead th{overflow-wrap:anywhere;font-size:7px;line-height:1.15}.history-table tbody th{font-size:7px}.history-table input{padding-right:0;padding-left:0;font-size:8px}}

.owner-highlight {
  width: max-content;
  color: #111 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  background: linear-gradient(transparent 55%, #ffe100 55%);
}

/* Capa alinhada ao padrão visual de planos-operacionais-bp-one.html */
.login-screen{position:fixed;inset:0;z-index:9999;min-height:100vh;display:flex;flex-direction:column;overflow:hidden;color:#fff;background:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/92px 92px,linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0/92px 92px,#111}
.login-screen::after{content:"";position:absolute;width:580px;height:580px;border:110px solid #ffe100;border-radius:50%;right:-280px;top:-290px;opacity:.98;pointer-events:none}
.login-brand{position:relative;z-index:1;display:flex;align-items:center;padding:38px 5vw;background:transparent;border:0}
.login-brand img{width:auto;height:68px;max-width:none;object-fit:contain}
.login-layout{position:relative;z-index:1;width:min(1180px,90vw);margin:auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.65fr);align-items:center;gap:9vw}
.login-intro{min-width:0}.login-eyebrow{margin:0 0 24px;font-size:12px;font-weight:800;letter-spacing:2.4px;text-transform:uppercase}.login-intro h1{margin:0;font-size:clamp(56px,7vw,100px);line-height:.86;letter-spacing:-5px}.login-intro h1 span{color:#ffe100}.login-signature{margin:20px 0 0;color:#8d8e88;font-size:13px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase}.login-copy{max-width:610px;margin:34px 0;color:#bdbdb7;font-size:19px;line-height:1.65}
.login-card{width:100%;align-self:auto;justify-self:auto;padding:44px;background:#fff;color:#111;box-shadow:0 24px 80px rgba(0,0,0,.15)}.secure-label{display:flex;align-items:center;gap:9px;color:#62645f;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:1.6px}.secure-label>span{width:7px;height:7px;border-radius:50%;background:#39a96b;box-shadow:0 0 0 5px rgba(57,169,107,.12)}.login-card h2{margin:26px 0 8px;font-size:32px;letter-spacing:-1px}.login-card>p{margin:0 0 28px;color:#6f716d;font-size:13px;line-height:1.5}.login-card label{display:block;margin:0 0 9px;font-size:12px;font-weight:800}.login-input{height:54px;border:1px solid #cfcec8;display:flex;align-items:center;transition:border-color .2s,box-shadow .2s}.login-input:focus-within{border-color:#111;box-shadow:0 0 0 3px rgba(255,225,0,.35)}.login-input>span{margin:0 13px 0 17px;color:#777871;font-size:17px;font-weight:800}.login-input input{width:100%;height:100%;padding:0 15px 0 0;border:0;outline:0;background:transparent;color:#111;font-size:14px}.login-card>small{display:block;min-height:18px;margin:8px 0 0;color:#8a8b85;font-size:11px}.login-card button{min-height:56px;margin-top:18px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border:0;background:#ffe100;color:#111;font-weight:800;cursor:pointer;transition:transform .2s,background .2s}.login-card button:hover{background:#ffeb38;transform:translateY(-2px)}.login-card button:active{transform:translateY(0)}.login-card button:focus-visible{outline:3px solid #ffe100;outline-offset:3px}.login-card button b{font-size:20px}
.login-footer{position:relative;z-index:1;display:flex;justify-content:space-between;padding:30px 5vw;color:#6e6f69;font-size:10px;text-transform:uppercase;letter-spacing:1.5px}
@media(max-width:900px){.login-screen{overflow:auto}.login-screen::after{width:360px;height:360px;border-width:72px;right:-210px;top:-220px}.login-brand{padding:28px 24px}.login-brand img{height:54px}.login-layout{width:min(620px,calc(100% - 40px));margin:25px auto 50px;grid-template-columns:1fr;gap:40px}.login-intro h1{font-size:clamp(52px,14vw,78px);letter-spacing:-3px}.login-copy{font-size:16px}.login-card{padding:34px}.login-footer{padding:24px;gap:20px;flex-wrap:wrap}}
@media(max-width:520px){.login-screen::after{width:240px;height:240px;border-width:45px;right:-150px;top:-150px}.login-brand img{height:46px}.login-layout{width:calc(100% - 28px);margin-top:12px}.login-eyebrow{font-size:10px;letter-spacing:1.6px}.login-intro h1{font-size:52px}.login-copy{margin:25px 0 0;font-size:14px}.login-card{padding:28px 22px}.login-card h2{font-size:27px}.login-footer{font-size:9px}}
.sidebar-toggle { position: absolute; top: 18px; right: -14px; z-index: 20; display: grid; width: 28px; height: 28px; place-items: center; border: 2px solid #ffe100; border-radius: 50%; background: #171717; color: #ffe100; font-size: 22px; line-height: 1; cursor: pointer; }
.sidebar-toggle:hover, .sidebar-toggle:focus-visible { background: #ffe100; color: #111; outline: none; }
.app-shell.sidebar-collapsed .sidebar { width: 0; padding: 0; overflow: visible; }
.app-shell.sidebar-collapsed .sidebar > :not(.sidebar-toggle) { display: none; }
.app-shell.sidebar-collapsed .sidebar-toggle { right: -38px; top: 18px; }
.app-shell.sidebar-collapsed main { margin-left: 0; }
.app-shell.access-locked { position: fixed; inset: 0; overflow: hidden; visibility: hidden; }.logout-btn { margin-left: auto; border: 0; background: transparent; color: #ffe100; font-size: 19px; cursor: pointer; }.logout-btn:hover, .logout-btn:focus-visible { color: #fff; outline: none; }

.direction-badge {
  margin-top: 5px !important;
  color: #5d5500 !important;
  font-size: 8px !important;
  font-weight: 900 !important;
}
.type-badge { display: inline-flex; min-width: 48px; justify-content: center; padding: 6px 8px; background: #242823; color: #fff; font-size: 9px; font-weight: 900; }
.type-badge.lower { background: #ffe100; color: #111; }
.face,.status-face { position: relative; display: inline-block; width: 34px !important; height: 34px !important; flex: 0 0 34px; box-sizing: border-box; overflow: hidden; border: 2px solid currentColor; border-radius: 50%; background: #fff !important; color: #68706a; font-size: 0 !important; line-height: 1; vertical-align: middle; }
.face.green,.status-face.green { color: #08ad65; }.face.yellow,.status-face.yellow { color: #e1ad00; }.face.red,.status-face.red { color: #ec4453; }
.face::before,.status-face::before { content: ''; position: absolute; top: 8px; left: 7px; width: 5px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 13px 0 0 currentColor; }
.face::after,.status-face::after { content: ''; position: absolute; left: 7px; bottom: 6px; width: 16px; height: 7px; box-sizing: border-box; border-bottom: 2px solid currentColor; border-radius: 0 0 14px 14px; }
.face.yellow::after,.status-face.yellow::after { bottom: 8px; height: 0; border-radius: 0; }
.face.red::after,.status-face.red::after { top: 20px; bottom: auto; height: 7px; border-top: 2px solid currentColor; border-bottom: 0; border-radius: 14px 14px 0 0; }
.status-face { width: 20px !important; height: 20px !important; flex-basis: 20px; border-width: 1.5px; }
.status-face::before { top: 4px; left: 4px; width: 3px; height: 4px; box-shadow: 7px 0 0 currentColor; }
.status-face::after { left: 4px; bottom: 3px; width: 9px; height: 4px; border-width: 1.5px; }
.status-face.yellow::after { bottom: 5px; }.status-face.red::after { top: 11px; height: 4px; border-width: 1.5px; }
.audit-history { margin: 0 18px 18px; border: 1px solid #deddd7; background: #faf9f5; }
.audit-history summary { display: flex; justify-content: space-between; padding: 10px 12px; cursor: pointer; font-size: 11px; font-weight: 900; }
.audit-history summary b { color: #6c6500; }.audit-row { display: grid; grid-template-columns: 48px minmax(150px,1fr) minmax(210px,auto); gap: 12px; padding: 9px 12px; border-top: 1px solid #e4e3de; align-items: center; font-size: 11px; }
.audit-row > strong { padding: 4px; background: #ffe100; text-align: center; }.audit-row small { color: #666; text-align: right; }.audit-empty { padding: 12px; border-top: 1px solid #e4e3de; color: #777; font-size: 11px; }
.executive-ranking { margin-top: 18px; }.executive-ranking .panel-head p { margin: 4px 0 0; color: #777; font-size: 11px; }.ranking-weight-total { min-width: 90px; padding: 8px 10px; background: #eff7f1; text-align: right; }.ranking-weight-total small { display: block; color: #667; font-size: 8px; text-transform: uppercase; }.ranking-weight-total strong { font-size: 20px; }.ranking-weight-total.invalid { background: #fff0ef; color: #b52f29; }.ranking-layout { display: grid; grid-template-columns: minmax(0,2.4fr) minmax(230px,1fr); gap: 28px; }.ranking-row { display: grid; grid-template-columns: 34px minmax(130px,190px) minmax(180px,1fr); gap: 10px; align-items: center; min-height: 48px; border-top: 1px solid #eee; }.ranking-position { font-size: 12px; }.ranking-row>strong { font-size: 12px; }.ranking-track { position: relative; height: 28px; background: #efeee9; }.ranking-track i { display: block; height: 100%; background: #242823; }.ranking-track i.top { background: #ffe100; }.ranking-track b { position: absolute; top: 5px; right: 9px; color: #111; font-size: 13px; font-weight: 900; }.ranking-weights { padding: 14px; background: #f5f4ef; }.ranking-weights label { display: grid; grid-template-columns: 1fr 76px; align-items: center; gap: 8px; margin-top: 9px; font-size: 11px; font-weight: 800; }.ranking-weights label div { display: flex; align-items: center; background: #fff; border: 1px solid #d7d6d0; }.ranking-weights input { width: 100%; min-width: 0; padding: 7px; border: 0; text-align: right; }.ranking-weights label b { padding-right: 7px; }.ranking-weights>small { display: block; margin-top: 9px; color: #c63e38; font-weight: 800; }.ranking-weights>p { margin: 12px 0 0; color: #777; font-size: 9px; line-height: 1.4; }
.client-unit-ranking { margin-top: 18px; }.client-unit-ranking .panel-head p, .client-entry-panel .panel-head p { margin: 4px 0 0; color: #777; font-size: 11px; }.client-ranking-legend { display: flex; gap: 14px; font-size: 9px; font-weight: 800; }.client-ranking-legend span { display: flex; gap: 5px; align-items: center; }.client-ranking-legend span:first-child i { width: 20px; height: 7px; background: #242823; }.client-ranking-legend span:last-child i { width: 3px; height: 18px; background: #d71920; }.client-ranking-head, .client-ranking-row { display: grid; grid-template-columns: minmax(170px,230px) minmax(300px,1fr) 70px; gap: 14px; align-items: center; }.client-ranking-head { padding: 0 0 8px; color: #777; font-size: 8px; font-weight: 900; text-transform: uppercase; }.client-ranking-row { min-height: 54px; border-top: 1px solid #eee; }.client-ranking-row>div:first-child { display: grid; grid-template-columns: 34px 1fr; align-items: center; }.client-ranking-row>div:first-child>b { font-size: 12px; }.client-ranking-row>div:first-child>strong { font-size: 12px; }.client-revenue-track { position: relative; height: 30px; background: #efeee9; }.client-revenue-track>i { display: block; height: 100%; background: #242823; }.client-revenue-track>b { position: absolute; top: 8px; left: 10px; color: #fff; font-size: 10px; }.client-revenue-track>span { position: absolute; top: -5px; bottom: -5px; width: 2px; background: #d71920; transform: translateX(-50%); }.client-revenue-track>span>i { position: absolute; top: -2px; left: -4px; width: 10px; height: 10px; border-radius: 50%; background: #d71920; }.client-revenue-track>span>b { position: absolute; top: -18px; left: 50%; padding: 2px 4px; background: #d71920; color: #fff; font-size: 9px; white-space: nowrap; transform: translateX(-50%); }.client-ranking-row>strong { font-size: 12px; text-align: right; }.client-entry-panel { margin-top: 18px; }.client-entry-form { display: grid; grid-template-columns: 1fr 1.3fr .8fr .7fr auto; gap: 9px; align-items: end; }.client-entry-form label { display: grid; gap: 5px; font-size: 9px; font-weight: 900; }.client-entry-form input, .client-entry-form select { min-width: 0; height: 39px; }.client-entry-form button { height: 39px; }.client-entry-table { margin-top: 18px; overflow-x: auto; }.client-entry-row { display: grid; grid-template-columns: minmax(150px,1fr) minmax(160px,1fr) 130px 80px minmax(190px,1fr); gap: 12px; min-width: 780px; padding: 10px 8px; border-top: 1px solid #eee; align-items: center; font-size: 10px; }.client-entry-row.head { background: #292e29; color: #fff; font-size: 8px; font-weight: 900; text-transform: uppercase; }.client-entry-row small { color: #777; text-align: right; }

.indicator-governance {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.indicator-governance strong {
  padding: 7px 9px;
  background: #ffe100;
  font-size: 11px;
  font-weight: 900;
}

.indicator-governance b {
  padding: 7px 9px;
  background: #292e29;
  color: #fff;
  font-size: 8px;
  letter-spacing: .7px;
}
.trend-alert { padding: 7px 9px; font-size: 9px; font-weight: 900; }.trend-alert.risk { background: #fff1a6; color: #695d00; }.trend-alert.negative { background: #dd4a42; color: #fff; }.actual-row td.month-decline, .actual-row td.month-decline input { color: #c90000 !important; font-weight: 900 !important; }.actual-row td.negative-trend-month { box-shadow: inset 0 -4px #d71920; }.actual-row td.negative-trend-month input { border-bottom-color: #d71920; }.chart-bar.actual.declining b { color: #c90000; }

.strategy-breakdown > .panel-head > small { color: #777; font-size: 12px; }
.strategy-rules { margin-top: 28px; }
.strategy-rules .rules-intro { margin: 0; }
.objective-details { border-top: 1px solid #e4e3de; }
.objective-details:last-child { border-bottom: 1px solid #e4e3de; }
.objective-details summary { cursor: pointer; list-style: none; }
.objective-details summary::-webkit-details-marker { display: none; }
.objective-details summary i { color: #111; font-size: 22px; font-style: normal; font-weight: 500; transition: transform .2s ease; }
.objective-details[open] summary { background: #faf9f3; }
.objective-details[open] summary i { transform: rotate(45deg); }
.strategy-indicators { padding: 0 18px 18px 70px; background: #faf9f3; }
.strategy-indicator-head,
.strategy-indicator-row { display: grid; grid-template-columns: minmax(230px, 2fr) minmax(150px, 1fr) minmax(140px, 1fr) 105px 60px minmax(95px, auto); gap: 14px; align-items: center; }
.strategy-indicator-head { padding: 10px 12px 7px; color: #777; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.strategy-indicator-row { min-height: 48px; padding: 8px 12px; border-top: 1px solid #e4e3de; background: #fff; font-size: 12px; }
.strategy-indicator-row strong { font-size: 13px; }
.strategy-indicator-row b { font-weight: 900; }
.strategy-indicator-row .frequency { width: max-content; }
.strategy-indicator-row .direction-badge { margin: 0 !important; }
.strategy-accumulated { color: #20231f; font-weight: 900; white-space: nowrap; }
.empty-linked { margin: 0; padding: 18px 12px; color: #777; background: #fff; }
.strategy-chart-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 18px 0; }
.strategy-chart .panel-head > b { padding: 7px 9px; background: #ffe100; font-size: 11px; }
.strategy-chart .panel-head p { max-width: 560px; margin: 7px 0 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.strategy-totals { display: flex; gap: 8px; flex-shrink: 0; }
.strategy-totals span { min-width: 92px; padding: 10px 12px; border: 1px solid var(--line); color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.strategy-totals b { display: block; margin-bottom: 2px; color: #111; font-size: 20px; line-height: 1; }
.macro-summary-table { border-top: 2px solid #20241f; }
.scale-label { display: inline-block; margin-left: 6px; color: var(--muted); font-size: 9px; font-style: normal; font-weight: 900; text-transform: uppercase; vertical-align: middle; }
.macro-summary-row { display: grid; grid-template-columns: minmax(260px, 1fr) 170px 170px; min-height: 58px; border-bottom: 1px solid var(--line); align-items: center; }
.macro-summary-row > span:not(:first-child), .macro-summary-row > strong { text-align: center; }
.macro-summary-head { min-height: 38px; color: var(--muted); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.macro-summary-name { display: flex; min-width: 0; align-items: center; gap: 16px; padding-right: 20px; }
.macro-summary-name b { min-width: 42px; color: #9c8b00; font-size: 11px; }
.macro-summary-name span { overflow-wrap: anywhere; font-size: 12px; font-weight: 800; }
.macro-summary-row > strong { font-size: 18px; }
@media(max-width:760px) {
  .strategy-chart .panel-head { display: block; }
  .strategy-totals { margin-top: 16px; }
  .strategy-totals span { flex: 1; }
  .macro-summary-row { grid-template-columns: minmax(150px, 1fr) 72px 72px; }
  .macro-summary-head { font-size: 8px; }
  .macro-summary-name { gap: 8px; padding-right: 8px; }
  .macro-summary-name b { min-width: 30px; }
  .macro-summary-row > strong { font-size: 16px; }
}
.chart-status-legend { display: flex; flex-wrap: wrap; gap: 8px; font-size: 9px; font-weight: 800; }
.chart-status-legend span { display: flex; gap: 4px; align-items: center; }
.chart-status-legend i { width: 7px; height: 7px; border-radius: 50%; }
.chart-status-legend .green, .status-chart-row .green { background: #36a566; }
.chart-status-legend .yellow, .status-chart-row .yellow { background: #ffe100; }
.chart-status-legend .red, .status-chart-row .red { background: #dd4a42; }
.status-chart-row { display: grid; grid-template-columns: 36px 1fr 78px; gap: 9px; align-items: center; margin-top: 15px; }
.status-chart-row > strong { font-size: 11px; }
.status-chart-row > div { display: grid; grid-template-columns: repeat(3, 1fr); min-height: 30px; }
.status-chart-row > div span { display: flex; align-items: center; justify-content: center; min-width: 34px; }
.status-chart-row > div b { color: #111; font-size: 11px; text-shadow: 0 1px rgba(255,255,255,.35); }
.status-chart-row > div .green b, .status-chart-row > div .red b { color: #fff; text-shadow: none; }
.status-chart-row > small { color: #777; font-size: 9px; text-align: right; }
.health-donuts-panel .panel-head>small { color: #777; font-size: 11px; }.health-donut-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px 10px; }.health-donut-card { display: flex; min-width: 0; flex-direction: column; text-align: center; }.health-donut-card>strong { display: grid; min-height: 44px; max-width: 155px; margin: 0 auto 7px; place-content: center; font-size: 12px; line-height: 1.25; }.health-donut { position: relative; width: 76px; height: 76px; margin: auto; border-radius: 50%; }.health-donut::after { content: ''; position: absolute; inset: 11px; border-radius: 50%; background: #fff; }.health-donut>span { position: absolute; inset: 0; z-index: 1; display: grid; place-content: center; }.health-donut b { font-size: 17px; line-height: 1; }.health-donut small { margin-top: 3px; color: #777; font-size: 9px; font-weight: 900; }.health-total { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 16px; padding-top: 15px; border-top: 2px solid #242823; }.health-donut.total { width: 92px; height: 92px; margin: 0; }.health-donut.total::after { inset: 13px; }.health-donut.total b { font-size: 21px; }.health-total>div:last-child { display: grid; }.health-total>div:last-child>strong { margin: 3px 0; font-size: 15px; }.health-total>div:last-child>small { color: #777; font-size: 11px; }
.indicator-chart-block { display: grid; width: 100%; max-width: 100%; grid-template-columns: minmax(720px,1fr) minmax(220px,280px); gap: 16px; padding: 0 0 18px; overflow-x: auto; overscroll-behavior-inline: contain; }
.monthly-chart-panel, .ytd-chart-panel { border: 0; background: #fff; }
.ytd-chart-panel { padding: 10px 0 0 14px; border-top: 0; border-left: 2px solid #242823; }
.chart-title { padding: 12px 10px 6px; color: #555; font-size: 14px; font-weight: 700; text-align: center; }
.chart-variance-lines { padding: 4px 0 3px; }
.chart-variance-lines > div { display: grid; grid-template-columns: 8.4% repeat(13, minmax(0, 1fr)); align-items: center; min-height: 25px; }
.chart-variance-lines b { font-size: 10px; }
.chart-variance-lines span { min-height: 17px; margin: 1px 3px; padding: 3px 1px; background: #e1e1e1; color: #444; font-size: 8px; font-weight: 800; text-align: center; }
.chart-variance-lines span.negative { color: #c90000; }
.monthly-combo-chart { display: grid; grid-template-columns: 8.4% repeat(13, minmax(0, 1fr)); height: 245px; padding: 22px 0 0; border-bottom: 1px solid #ccc; }
.monthly-combo-chart::before { content: ''; grid-column: 1; }
.combo-month { display: grid; grid-template-rows: 1fr 24px; min-width: 0; }
.combo-month > small { padding-top: 7px; color: #555; font-size: 9px; text-align: center; }
.chart-bars { position: relative; display: flex; align-items: flex-end; justify-content: center; min-height: 0; }
.chart-bar { position: relative; width: 33%; min-height: 0; }
.chart-bar.previous { background: #aaa; }
.chart-bar.actual { background: #ffc400; }
.chart-bar b { position: absolute; top: -17px; left: 50%; z-index: 2; color: #333; font-size: 9px; white-space: nowrap; transform: translateX(-50%); }
.chart-bar.actual b { top: -20px; font-size: 12px; font-weight: 900; color: #111; }
.target-marker { position: absolute; right: 0; left: 0; z-index: 3; height: 2px; background: #e43420; }
.target-marker i { position: absolute; left: 50%; width: 6px; height: 6px; border-radius: 50%; background: #e43420; transform: translate(-50%, -2px); }
.target-marker b { position: absolute; bottom: 7px; left: 50%; padding: 2px 4px; background: #c90000; color: #fff; font-size: 8px; white-space: nowrap; transform: translateX(-50%); }
.combo-legend { display: flex; justify-content: center; gap: 14px; padding: 10px; font-size: 9px; }
.combo-legend span { display: flex; gap: 4px; align-items: center; }
.combo-legend i { display: inline-block; width: 20px; height: 7px; }
.combo-legend i.previous { background: #aaa; }.combo-legend i.actual { background: #ffc400; }.combo-legend i.target { height: 2px; background: #e43420; }
.ytd-chart-panel { display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows:auto auto minmax(190px,1fr) auto auto; justify-content: stretch; width: 100%; min-width: 0; align-self: stretch; text-align: center; }
.ytd-chart-panel .chart-title { grid-column: 1; grid-row: 1; }
.ytd-variances { display: grid; grid-column: 1; grid-row: 2; grid-template-columns:1fr 1fr; align-self: start; width: 100%; gap: 8px; padding: 2px 8px 14px; text-align: left; }
.ytd-variances span { display: grid; grid-template-columns:auto minmax(48px,1fr); min-height: 25px; align-items: center; gap: 5px; font-size: 9px; font-weight: 800; }.ytd-variances b { display: grid; width: 100%; min-height: 23px; padding: 3px 4px; place-items: center; background: #dedede; color: #252525; font-size: 10px; text-align: center; }
.ytd-bars { position: relative; display: flex; grid-column: 1; grid-row: 3; justify-content: center; gap: 0; width: 100%; min-height: 190px; margin: 0; }
.ytd-bars .chart-bar { position: absolute; width: 35%; }.ytd-bars .chart-bar.previous { left: 15%; }.ytd-bars .chart-bar.actual { right: 15%; }.ytd-bars .target-marker { left: 8%; right: 8%; }.ytd-bars .target-marker b { right:auto;left:6px;transform:none}.ytd-chart-panel > small { grid-column: 1; grid-row:4; padding-top: 7px; font-size: 9px; }
.ytd-chart-panel > .combo-legend { grid-column: 1; grid-row:5; }
.chart-zero-line { position: absolute; right: 0; left: 0; z-index: 2; height: 1px; background: #b9bbb5; pointer-events: none; }
.chart-zero-line b { position: absolute; top: -7px; left: 0; padding-right: 3px; background: #fff; color: #70736d; font-size: 8px; line-height: 1; }
.ytd-bars .chart-bar.negative-value b { top: auto; bottom: -20px; }
.ytd-bars .chart-bar.zero-value { min-height: 2px; }
.ytd-bars .chart-bar.zero-value b { top: auto; bottom: 5px; }
.ytd-bars .target-marker.negative-value b { top: 7px; bottom: auto; }
.ytd-bars .target-marker.zero-value b { bottom: 7px; }

@media (max-width: 900px) {
  .strategy-chart-grid { grid-template-columns: 1fr; }
  .health-donut-grid { grid-template-columns: repeat(3,1fr); }
  .strategy-indicators { padding-left: 12px; }
  .strategy-indicator-head { display: none; }
  .strategy-indicator-row { grid-template-columns: 1fr 1fr; }
  .strategy-indicator-row strong { grid-column: 1 / -1; }
  .indicator-chart-block { grid-template-columns: minmax(720px,1fr) minmax(220px,280px); overflow-x: auto; }
  .monthly-chart-panel { min-width: 720px; }
  .ytd-chart-panel { padding: 10px 0 0 14px; border-top: 0; border-left: 2px solid #242823; }
  .ranking-layout { grid-template-columns: 1fr; }.ranking-row { grid-template-columns: 30px minmax(100px,140px) minmax(130px,1fr); }
  .client-ranking-head, .client-ranking-row { grid-template-columns: 150px minmax(220px,1fr) 60px; }.client-entry-form { grid-template-columns: 1fr 1fr; }.client-entry-form button { grid-column: 1/-1; }
}

.controller-bridges { margin-top: 28px; padding: 26px; border: 1px solid #d8d7d0; background: #f7f6f1; }
.controller-bridges-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.controller-bridges-head h2 { margin: 5px 0 6px; font-size: 25px; line-height: 1.1; }
.controller-bridges-head p { margin: 0; color: var(--muted); font-size: 12px; }
.bridge-period { display: inline-flex; padding: 3px; border: 1px solid #cfcec7; background: #fff; }
.bridge-period button { min-width: 86px; padding: 9px 13px; border: 0; background: transparent; color: #6d6d67; font-size: 10px; font-weight: 900; text-transform: uppercase; cursor: pointer; }
.bridge-period button:hover { background: #f2f1eb; color: #111; }
.bridge-period button:focus-visible { outline: 2px solid #111; outline-offset: 2px; }
.bridge-period button.active { background: #20231f; color: #fff; }
.bridge-summary { display: grid; grid-template-columns: repeat(3, minmax(150px, 1fr)); margin: 22px 0 14px; border-top: 2px solid #242823; border-bottom: 1px solid #d9d8d1; background: #fff; }
.bridge-summary > div { padding: 14px 17px; border-right: 1px solid #dfded7; }
.bridge-summary > div:last-child { border-right: 0; }
.bridge-summary span { display: block; margin-bottom: 5px; color: #77776f; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.bridge-summary strong { font-size: 20px; }
.bridge-summary .margin strong { color: #1f7a54; }
.bridge-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.bridge-card { min-width: 0; padding: 18px 18px 14px; border: 1px solid #d8d7d0; background: #fff; }
.bridge-card header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.bridge-card header span { color: #8d7100; font-size: 8px; font-weight: 900; }
.bridge-card.ebitda header span { color: #1f7a54; }
.bridge-card header h3 { margin: 4px 0 0; font-size: 16px; }
.bridge-card header > b { padding: 5px 7px; background: #f1f0ea; font-size: 9px; }
.waterfall { position: relative; display: grid; grid-template-columns: repeat(5, minmax(44px, 1fr)); gap: 5px; height: 286px; margin-top: 16px; padding: 18px 5px 30px; border-bottom: 1px solid #aeadab; }
.waterfall-gridlines { position: absolute; inset: 18px 0 30px; display: grid; grid-template-rows: repeat(4, 1fr); pointer-events: none; }
.waterfall-gridlines i { border-top: 1px dashed #e0dfd8; }
.waterfall-zero { position: absolute; right: 0; bottom: calc(50% - 6px); left: 0; z-index: 1; border-top: 2px solid #65655f; pointer-events: none; }
.waterfall-zero span { position: absolute; top: -14px; left: 2px; padding: 0 3px; background: #fff; color: #65655f; font-size: 8px; font-weight: 900; }
.waterfall-column { position: relative; height: 100%; min-width: 0; }
.waterfall-column small { position: absolute; top: calc(100% + 11px); right: -3px; left: -3px; overflow: hidden; color: #4f534d; font-size: 10px; font-weight: 900; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.waterfall-bar { position: absolute; right: 8%; left: 8%; min-height: 3px; border-radius: 1px 1px 0 0; box-shadow: inset 0 1px rgba(255,255,255,.3); }
.waterfall-bar span { position: absolute; top: 50%; left: 50%; color: #fff; font-size: 12px; font-weight: 900; transform: translate(-50%,-50%); }
.waterfall-value { position: absolute; right: -4px; left: -4px; z-index: 2; padding-bottom: 5px; color: #22251f; font-size: 12px; font-weight: 900; text-align: center; white-space: nowrap; }
.waterfall-value.negative { padding-top: 5px; padding-bottom: 0; color: #a9342e; transform: translateY(100%); }
.waterfall-bar.negative { border-radius: 0 0 1px 1px; }
.bridge-card.divergent .waterfall-value.negative { padding-top: 3px; padding-bottom: 0; color: #a9342e; transform: translateY(100%); }
.bridge-card.divergent .waterfall-bar.negative { border-radius: 0 0 1px 1px; }
.waterfall-column.total .waterfall-bar { bottom: 0; height: 100%; background: #292c28; }
.bridge-card.ebitda .waterfall-column.total .waterfall-bar { background: #174e38; }
.waterfall-column.total .waterfall-value { top: auto; font-size: 14px; }
.bridge-card.divergent .waterfall-column.total .waterfall-value { top: auto; }
.bridge-mix { display: flex; flex-wrap: wrap; gap: 7px 12px; padding-top: 14px; }
.bridge-mix span { display: flex; align-items: center; gap: 5px; color: #62665f; font-size: 10px; }
.bridge-mix i { width: 9px; height: 9px; }
.bridge-mix b { color: #33332f; }
.bridge-note { display: flex; align-items: center; gap: 8px; margin: 13px 0 0; color: #73736c; font-size: 10px; }
.bridge-note span { display: grid; width: 17px; height: 17px; flex: 0 0 17px; border: 1px solid #aaa99f; border-radius: 50%; place-items: center; font-size: 9px; font-weight: 900; }
@media (max-width: 960px) { .bridge-grid { grid-template-columns: 1fr; } }
@media (max-width: 650px) {
  .controller-bridges { padding: 18px 12px; }
  .controller-bridges-head { align-items: stretch; flex-direction: column; }
  .bridge-period { align-self: stretch; }
  .bridge-period button { flex: 1; }
  .bridge-summary { grid-template-columns: 1fr; }
  .bridge-summary > div { border-right: 0; border-bottom: 1px solid #dfded7; }
  .bridge-summary > div:last-child { border-bottom: 0; }
  .bridge-card { overflow-x: auto; padding: 15px 10px; }
  .waterfall { min-width: 560px; }
  .bridge-mix { min-width: 560px; }
}
.executive-welcome { margin: -30px 0 24px; color: #62655f; font-size: 13px; line-height: 1.55; }
.executive-welcome strong { color: #20231f; font-weight: 800; }
@media (max-width: 760px) { .executive-welcome { margin: 0 0 20px; } }

.client-margin-matrix-wrap { margin: 0 18px 10px; overflow-x: auto; border: 1px solid #d8d7d1; }
.client-margin-matrix { min-width: 980px; background: #fff; }
.client-margin-row { display: grid; grid-template-columns: minmax(210px,1.55fr) minmax(130px,.9fr) minmax(160px,1.05fr) 120px minmax(130px,.9fr) minmax(180px,1.15fr); align-items: stretch; min-height: 43px; border-top: 1px solid #e5e4df; }
.client-margin-row:first-child { border-top: 0; }
.client-margin-row > * { min-width: 0; padding: 11px 8px; border-right: 1px solid #e5e4df; display: flex; align-items: center; justify-content: flex-end; font-size: 11px; white-space: nowrap; }
.client-margin-row > *:first-child { justify-content: flex-start; }
.client-margin-row > *:last-child { border-right: 0; }
.client-margin-row.head { min-height: 43px; background: #292e29; color: #fff; }
.client-margin-row.head > * { padding-top: 11px; padding-bottom: 11px; border-color: #454a44; font-size: 11px; line-height: 1.15; font-weight: 900; text-transform: uppercase; }
.client-margin-row.head > *:not(:first-child) { justify-content: center; text-align: center; }
.client-margin-row > strong { gap: 8px; overflow: hidden; text-overflow: ellipsis; }
.client-margin-row > strong > b { flex: 0 0 auto; color: #777; font-size: 10px; }
.client-margin-row .ytd-value { gap: 9px; background: #fffbea; color: #242823; font-weight: 900; }
.client-margin-row .ytd-value em { padding-left: 9px; border-left: 1px solid #d8d2a6; color: #5d6259; font-size: 10px; font-style: normal; }
.client-margin-row .revenue-column { border-left: 3px solid #d1d0ca; font-weight: 900; }
.client-margin-row .month-revenue-column { gap: 8px; background: #f5f6f2; font-weight: 900; }
.client-margin-row.head > * { background: #252a25; color: #fff; }
.client-margin-row.head .revenue-column { border-left-color: #596058; }
.client-margin-row.head .month-revenue-column { border-bottom: 4px solid #ffe100; background: #176b49; color: #fff; }
.client-margin-row .month-revenue-column em { flex: 0 0 auto; padding: 4px 6px; background: #e7e7e2; color: #656962; font-size: 8px; font-style: normal; font-weight: 900; }
.client-margin-row .month-revenue-column em.up,.client-margin-row .month-revenue-column em.new { background: #e2f2e8; color: #116d43; }
.client-margin-row .month-revenue-column em.down { background: #f8e5e3; color: #aa342e; }
.client-margin-row .month-revenue-column em.no-revenue { background: #ecece8; color: #747871; }
.client-margin-row .mix-value { position: relative; justify-content: flex-end; overflow: hidden; background: #f2f1ec; }
.client-margin-row .mix-value i { position: absolute; inset: 0 auto 0 0; max-width: 100%; background: #ffe100; }
.client-margin-row .mix-value b { position: relative; z-index: 1; }
.client-margin-row:not(.head) > *:not(:first-child) { justify-content: center; text-align: center; }
.client-margin-row.total { background: #f1f0eb; font-weight: 900; }
.client-margin-row.total > * { font-size: 11px; }
.client-margin-empty { padding: 28px; color: #777; font-size: 11px; text-align: center; }
.client-margin-note { margin: 0 18px 18px; color: #73766f; font-size: 10px; line-height: 1.5; }
.macro-objective-cell { min-width: 150px; }.macro-objective-cell b { display: inline-block; margin-right: 6px; padding: 3px 5px; background: #ffe000; color: #111; font-size: 8px; }.macro-objective-cell span { font-size: 9px; line-height: 1.25; }.macro-objective-cell .unlinked { background: #d71920; color: #fff; }.owner-highlight { display: flex !important; align-items: center; gap: 6px; }.owner-highlight img { width: 24px; height: 24px; flex: 0 0 24px; border-radius: 50%; object-fit: cover; border: 1px solid #d8d8d2; }.objective-link-field { grid-column: 1 / -1; }.objective-link-field select { width: 100%; }
.client-margin-source-note { margin: 9px 2px 0; color: #6e706b; font-size: 9px; line-height: 1.45; }

.client-analysis-content { padding-top: 26px; background: #ecece7; }
.client-analysis-toolbar { max-width: 1120px; margin: 0 auto 18px; display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.client-analysis-toolbar h2 { margin: 3px 0; font-size: 34px; line-height: 1; }
.client-analysis-toolbar p { margin: 0; color: #71756e; font-size: 11px; }
.client-analysis-toolbar label { display: grid; min-width: 300px; gap: 6px; color: #676b64; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.client-analysis-toolbar select { width: 100%; height: 42px; padding: 0 38px 0 13px; border: 1px solid #bfc1ba; background: #fff; color: #20231f; font-size: 12px; font-weight: 800; }
.client-one-page { width: min(100%,1120px); min-height: 720px; margin: 0 auto; padding: 28px 30px 18px; border: 1px solid #c9cbc4; background: #fff; box-shadow: 0 18px 50px rgba(33,38,32,.12); color: #20231f; }
.one-page-head { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding-bottom: 16px; border-bottom: 3px solid #20251f; }
.one-page-head > div:first-child span { color: #777b73; font-size: 8px; font-weight: 900; letter-spacing: 1.2px; }
.one-page-head h2 { margin: 4px 0 2px; font-size: 30px; line-height: 1; letter-spacing: -.8px; }
.one-page-head p { margin: 0; color: #777b73; font-size: 9px; }
.one-page-head-insights { display: flex; align-items: stretch; gap: 10px; }
.header-rank { display: grid; grid-template-columns: auto auto; align-content: center; align-items: baseline; gap: 1px 6px; min-width: 138px; padding: 10px 13px; border-left: 4px solid #ffe100; background: #fff9c7; }
.header-rank small { grid-column: 1 / -1; color: #62665f; font-size: 7px; font-weight: 900; white-space: nowrap; }
.header-rank strong { font-size: 25px; line-height: 1; }
.header-rank span { color: #565b54; font-size: 12px; font-weight: 900; }
.header-rank.margin { border-left-color: #00ad5b; background: #eaf8f0; }
.ka-badge { min-width: 210px; padding: 12px 15px; border-left: 5px solid #ffe100; background: #f1f1ec; }
.ka-badge.matrix { border-color: #00ad5b; background: #eaf8f0; }
.ka-badge small,.ka-badge span,.ka-badge strong { display: block; }.ka-badge small { color: #777b73; font-size: 7px; font-weight: 900; }.ka-badge strong { margin: 2px 0; font-size: 17px; }.ka-badge span { font-size: 8px; }
.one-page-kpis { display: grid; grid-template-columns: repeat(4,1fr); border-bottom: 1px solid #d8dad4; }
.one-page-kpis > div { padding: 14px 16px; border-right: 1px solid #d8dad4; }.one-page-kpis > div:first-child { padding-left: 0; }.one-page-kpis > div:last-child { border-right: 0; }
.one-page-kpis small,.one-page-kpis strong,.one-page-kpis span { display: block; }.one-page-kpis small { color: #73776f; font-size: 8px; font-weight: 900; text-transform: uppercase; }.one-page-kpis strong { margin: 3px 0; font-size: 20px; }.one-page-kpis span { color: #6f736c; font-size: 8px; }.one-page-kpis .negative strong { color: #c60000; }
.one-page-body { display: grid; grid-template-columns: 1.18fr .82fr; gap: 16px; padding-top: 16px; }
.one-page-left,.one-page-right { display: grid; gap: 12px; }.one-page-left { grid-template-rows: 210px 1fr; }.one-page-right { grid-template-rows: 300px 1fr; }
.one-page-lower { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.one-page-block { min-width: 0; padding: 14px; border: 1px solid #d7d9d2; background: #fff; }
.block-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }.block-title small { color: #757970; font-size: 7px; font-weight: 900; letter-spacing: .7px; }.block-title h3 { margin: 2px 0 0; font-size: 13px; }.block-title > b { padding: 5px 8px; background: #20251f; color: #fff; font-size: 8px; }
.client-evolution-bars { height: 145px; margin-top: 12px; display: grid; grid-template-columns: repeat(7,1fr); align-items: end; gap: 8px; border-bottom: 1px solid #aeb1aa; }
.client-evolution-bars > div { height: 100%; display: flex; flex-direction: column; justify-content: flex-end; text-align: center; }.client-evolution-bars span { position: relative; min-height: 2px; background: #ffe100; border-top: 2px solid #20251f; }.client-evolution-bars span b { position: absolute; top: -15px; left: 50%; transform: translateX(-50%); font-size: 7px; white-space: nowrap; }.client-evolution-bars small { padding: 5px 0; color: #656960; font-size: 7px; font-weight: 800; text-transform: uppercase; }
.unit-service-list { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 6px; }.unit-service-list span { padding: 6px 8px; background: #20251f; color: #fff; font-size: 8px; font-weight: 800; }.data-note { margin: 11px 0 0; color: #777b73; font-size: 8px; line-height: 1.45; }
.relationship dl { margin: 10px 0 0; }.relationship dl div { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 0; border-top: 1px solid #e3e4df; }.relationship dt { font-size: 8px; font-weight: 900; }.relationship dd { margin: 0; color: #71756d; font-size: 8px; text-align: right; }
.matrix-layout { position: relative; height: 225px; margin: 8px 0 0 24px; padding: 0 0 24px 22px; border-left: 2px solid #17648c; border-bottom: 2px solid #17648c; }
.matrix-layout::before { content: ''; position: absolute; top: -5px; left: -5px; border-width: 0 4px 7px; border-style: solid; border-color: transparent transparent #17648c; }.matrix-layout::after { content: ''; position: absolute; right: -5px; bottom: -5px; border-width: 4px 0 4px 7px; border-style: solid; border-color: transparent transparent transparent #17648c; }
.quadrants { height: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }.quadrants div { display: grid; place-items: center; padding: 8px; border: 1px solid #1f2923; background: #fffed0; font-size: 9px; font-weight: 900; text-align: center; }.quadrants .strategic { background: #00ad5b; color: #fff; }.quadrants .risk { background: #cc0000; color: #fff; }.quadrants div.selected { outline: 4px solid #ffe100; outline-offset: -5px; box-shadow: inset 0 0 0 2px #20251f; }.quadrants small { font-size: 7px; }
.axis-y { position: absolute; left: -26px; top: 50%; transform: rotate(-90deg) translate(-50%,-50%); transform-origin: left top; color: #4e5550; font-size: 7px; font-weight: 900; text-transform: uppercase; white-space: nowrap; }.axis-x { position: absolute; right: 0; bottom: -19px; color: #4e5550; font-size: 7px; font-weight: 900; text-transform: uppercase; }
.representation-bars { display: grid; gap: 9px; margin-top: 12px; }.representation-bars label { display: grid; grid-template-columns: 70px 1fr 38px; align-items: center; gap: 8px; font-size: 8px; }.representation-bars label > span { font-weight: 800; }.representation-bars i { height: 9px; overflow: hidden; background: #ecece7; }.representation-bars i b { display: block; height: 100%; max-width: 100%; background: #ffe100; }.representation-bars label:nth-child(2) i b { background: #7e8580; }.representation-bars label:nth-child(3) i b { background: #00ad5b; }.representation-bars strong { text-align: right; font-size: 8px; }
.one-page-footer { display: flex; justify-content: space-between; gap: 16px; margin-top: 13px; padding-top: 9px; border-top: 1px solid #d8dad4; color: #777b73; font-size: 7px; }.one-page-footer strong { color: #20251f; letter-spacing: .5px; }
@media(max-width:900px){.client-analysis-toolbar{align-items:stretch;flex-direction:column}.client-analysis-toolbar label{min-width:0}.client-one-page{padding:20px;overflow:auto}.one-page-body{grid-template-columns:1fr}.one-page-left,.one-page-right{grid-template-rows:auto}.one-page-kpis{grid-template-columns:1fr 1fr}.one-page-lower{grid-template-columns:1fr}}
@media(max-width:900px){.one-page-head{align-items:flex-start;flex-direction:column}.one-page-head-insights{flex-wrap:wrap;width:100%}.header-rank,.ka-badge{flex:1;min-width:160px}}
@media print{@page{size:A4 landscape;margin:8mm}.sidebar,.topbar,.client-analysis-toolbar{display:none!important}.app-shell main{margin:0!important}.client-analysis-content{padding:0;background:#fff}.client-one-page{width:281mm;min-height:194mm;margin:0;padding:8mm;box-shadow:none;page-break-inside:avoid}}

/* One Page ampliado: leitura executiva em tela e impressão de uma página em A3. */
.client-analysis-toolbar { max-width: 1500px; margin-bottom: 22px; }
.client-one-page { width: min(100%,1500px); min-height: 1080px; padding: 38px 48px 26px; }
.one-page-head h2 { font-size: 36px; }
.one-page-head p { font-size: 11px; }
.one-page-kpis strong { margin: 4px 0; font-size: 25px; }
.one-page-kpis small,.one-page-kpis span { font-size: 9px; }
.one-page-left { grid-template-rows: 265px 1fr; }
.one-page-right { grid-template-rows: 350px 1fr; }
.one-page-body { gap: 26px; padding-top: 22px; }
.one-page-left,.one-page-right { gap: 18px; }
.one-page-lower { gap: 18px; }
.one-page-block { padding: 18px; }
.block-title h3 { font-size: 16px; }
.block-title > b { padding: 6px 10px; font-size: 10px; }
.client-evolution-bars { height: 190px; margin-top: 16px; gap: 10px; }
.client-evolution-bars span b { top: -22px; font-size: 11px; font-weight: 900; }
.client-evolution-bars small { padding: 7px 0; color: #4f534d; font-size: 9px; font-weight: 900; }
.relationship dl { margin-top: 12px; }
.relationship dl div { padding: 10px 0; }
.relationship dt,.relationship dd { font-size: 10px; }
.matrix-layout { height: 270px; margin: 12px 0 0 28px; padding: 0 0 28px 25px; }
.quadrants { gap: 6px; }
.quadrants div { padding: 10px; font-size: 12px; }
.quadrants small,.axis-y,.axis-x { font-size: 8px; }
.quadrants .risk small { font-size: 11px; font-weight: 900; line-height: 1.25; }
.representation-bars label { grid-template-columns: 90px 1fr 48px; font-size: 10px; }
.representation-bars strong { font-size: 10px; }
.representation-bars i { height: 12px; }
.annual-post-sale { display: grid; grid-template-columns: 1fr minmax(330px,.55fr); gap: 18px; align-items: center; margin-top: 16px; padding: 14px 16px; border: 1px solid #d7d9d2; border-left: 5px solid #ffe100; background: #fafaf7; }
.annual-post-sale > div { display: grid; gap: 3px; }
.annual-post-sale small { color: #73776f; font-size: 8px; font-weight: 900; }
.annual-post-sale strong { font-size: 13px; }
.annual-post-sale span { color: #71756d; font-size: 9px; }
.post-sale-status { padding-left: 18px; border-left: 1px solid #d7d9d2; }
.post-sale-status strong { color: #9b302a; }
.client-rankings { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 22px; }
.client-ranking { min-width: 0; padding: 18px 20px 15px; border: 1px solid #d7d9d2; }
.client-ranking ol { display: grid; gap: 3px; margin: 12px 0 0; padding: 0; list-style: none; }
.client-ranking li { display: grid; grid-template-columns: 34px minmax(155px,.85fr) minmax(130px,1.25fr) 135px; gap: 14px; align-items: center; min-height: 31px; padding: 4px 9px; border-top: 1px solid #ecece7; font-size: 10px; }
.client-ranking li > b { color: #7b7f77; font-size: 10px; }
.client-ranking li > span { overflow: hidden; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.client-ranking li > i { height: 8px; overflow: hidden; background: #ecece7; }
.client-ranking li > i em { display: block; height: 100%; background: #ffe100; }
.client-ranking li > strong { text-align: right; white-space: nowrap; }
.client-ranking li.current { background: #fff9c7; box-shadow: inset 3px 0 #ffe100; }
.margin-ranking li > i em { background: #00ad5b; }
.margin-ranking li.current { background: #eaf8f0; box-shadow: inset 3px 0 #00ad5b; }
.ranking-position { display: grid; grid-template-columns: auto auto; align-items: baseline; gap: 0 7px; min-width: 128px; padding: 8px 10px; border-left: 4px solid #ffe100; background: #fff9c7; text-align: right; }
.ranking-position small { grid-column: 1 / -1; color: #62665f; font-size: 7px; font-weight: 900; white-space: nowrap; }
.ranking-position strong { color: #20251f; font-size: 24px; line-height: 1; }
.ranking-position span { color: #6f736c; font-size: 9px; font-weight: 800; }
.margin-ranking .ranking-position { border-left-color: #00ad5b; background: #eaf8f0; }
@media(max-width:900px){.annual-post-sale{grid-template-columns:1fr}.post-sale-status{padding-top:12px;padding-left:0;border-top:1px solid #d7d9d2;border-left:0}}
@media(max-width:900px){.client-rankings{grid-template-columns:1fr}.client-ranking li{grid-template-columns:28px minmax(110px,1fr) 90px}.client-ranking li>i{display:none}}
@media print{@page{size:A3 landscape;margin:9mm}.client-one-page{width:402mm;min-height:279mm;padding:9mm}.client-analysis-content{overflow:visible}}
.executive-client-portfolio { margin-top: 22px; border-top: 4px solid #ffe100; }
.portfolio-count { display: grid; min-width: 86px; padding: 8px 14px; background: #20251f; color: #fff; text-align: center; }
.portfolio-count strong { font-size: 24px; line-height: 1; }.portfolio-count span { font-size: 8px; font-weight: 800; text-transform: uppercase; }
.executive-client-table { max-height: 640px; overflow: auto; border-top: 1px solid #d8dad4; }
.executive-client-head,.executive-client-row { display: grid; grid-template-columns: minmax(240px,1.4fr) 80px minmax(230px,1fr) 100px minmax(230px,1fr); gap: 14px; align-items: center; }
.executive-client-head { position: sticky; top: 0; z-index: 2; min-height: 38px; padding: 0 14px; background: #20251f; color: #fff; font-size: 8px; font-weight: 900; text-transform: uppercase; }
.executive-client-row { min-height: 46px; padding: 0 14px; border-bottom: 1px solid #ecece7; font-size: 10px; }
.executive-client-row > div:first-child { display: grid; grid-template-columns: 36px 1fr; align-items: center; gap: 9px; min-width: 0; }.executive-client-row > div:first-child b { color: #84877f; }.executive-client-row > div:first-child strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.executive-client-row > span { text-align: center; }
.executive-client-row.podium { background: #fffdf0; box-shadow: inset 4px 0 #ffe100; }.executive-client-row.podium > div:first-child b { color: #1f241f; font-size: 13px; }
.client-ytd-value { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.client-ytd-value > strong { font-size: 11px; white-space: nowrap; }.client-ytd-value em { min-width: 69px; padding: 5px 7px; background: #ecece7; color: #686c65; font-size: 8px; font-style: normal; font-weight: 900; text-align: center; white-space: nowrap; }.client-ytd-value em.positive { background: #e5f4eb; color: #167047; }.client-ytd-value em.negative { background: #f8e7e5; color: #a9342e; }.client-ytd-value .negative-value { color: #b12c25; }
.margin-rank { justify-self: center; min-width: 42px; padding: 5px 7px; background: #ecece7; text-align: center; }.margin-rank.top { background: #dff3e7; color: #157047; }
@media(max-width:900px){.executive-client-table{overflow-x:auto}.executive-client-head,.executive-client-row{min-width:900px}}
.executive-ebitda-bridge { margin-bottom: 22px; border-top: 4px solid #1f7a54; }.executive-ebitda-bridge .panel-head p { margin: 6px 0 0; color: #72756f; font-size: 11px; }.ebitda-bridge-total { display: grid; grid-template-columns: auto auto; gap: 2px 16px; align-items: end; padding-left: 20px; border-left: 1px solid #deddd7; text-align: right; }.ebitda-bridge-total small { grid-column: 1 / -1; color: #72756f; font-size: 8px; font-weight: 900; text-transform: uppercase; }.ebitda-bridge-total strong { font-size: 18px; }.ebitda-bridge-total b { color: #1f7a54; font-size: 28px; }.executive-ebitda-list { border-top: 1px solid #deddd7; }.executive-ebitda-row { display: grid; grid-template-columns: 30px minmax(170px, .8fr) minmax(250px, 2fr) 145px 72px; gap: 14px; align-items: center; min-height: 62px; border-bottom: 1px solid #ebeae5; }.executive-ebitda-row > b { color: #979992; font-size: 11px; }.executive-ebitda-row > div:nth-child(2) strong,.executive-ebitda-row > div:nth-child(2) small { display: block; }.executive-ebitda-row > div:nth-child(2) strong { font-size: 12px; }.executive-ebitda-row > div:nth-child(2) small { margin-top: 3px; color: #1f7a54; font-size: 8px; font-weight: 800; text-transform: uppercase; }.executive-ebitda-track { height: 22px; background: #eeede8; }.executive-ebitda-track i { display: block; height: 100%; background: #1f7a54; }.executive-ebitda-row > strong { font-size: 13px; text-align: right; }.executive-ebitda-row > span { padding: 6px; background: #e6f2ec; color: #176b49; font-size: 11px; font-weight: 900; text-align: center; }.executive-ebitda-row.negative .executive-ebitda-track i { background: #c74a42; }.executive-ebitda-row.negative > div:nth-child(2) small { color: #a9342e; }.executive-ebitda-row.negative > strong { color: #a9342e; }.executive-ebitda-row.negative > span { background: #f7e5e3; color: #a9342e; }.ebitda-bridge-equation { display: flex; justify-content: flex-end; align-items: center; gap: 8px; padding-top: 16px; font-size: 10px; }.ebitda-bridge-equation span { padding: 5px 7px; background: #e6f2ec; color: #176b49; font-weight: 900; }.ebitda-bridge-equation span.negative { background: #f7e5e3; color: #a9342e; }.ebitda-bridge-equation i { color: #8b8d87; font-style: normal; }.ebitda-bridge-equation b { margin-left: 4px; font-size: 18px; }.executive-ebitda-bridge + .executive-ranking { margin-top: 0; }
@media(max-width:900px){.executive-ebitda-row{grid-template-columns:26px minmax(130px,1fr) 100px 62px}.executive-ebitda-track{display:none}.ebitda-bridge-total{margin-top:14px}.executive-ebitda-bridge .panel-head{display:block}.ebitda-bridge-equation{justify-content:flex-start;overflow-x:auto}}
.ebitda-waterfall { position: relative; display: grid; grid-template-columns: repeat(5,minmax(100px,1fr)); gap: 18px; height: 390px; padding: 36px 24px 38px; border-bottom: 1px solid #9ea09a; }.ebitda-waterfall-grid { position: absolute; inset: 36px 24px 38px; display: grid; grid-template-rows: repeat(4,1fr); pointer-events: none; }.ebitda-waterfall-grid i { border-top: 1px dashed #deddd7; }.ebitda-waterfall-column { position: relative; height: 100%; }.ebitda-step-bar { position: absolute; right: 13%; left: 13%; min-height: 4px; background: #21805a; }.ebitda-waterfall-column.negative .ebitda-step-bar { background: #c74a42; }.ebitda-step-value { position: absolute; right: 0; left: 0; z-index: 3; padding-bottom: 7px; color: #176b49; font-size: 16px; font-weight: 900; text-align: center; white-space: nowrap; transform: translateY(0); }.ebitda-step-value small { display: block; margin-top: 3px; color: #666963; font-size: 9px; font-weight: 700; }.ebitda-waterfall-column.negative .ebitda-step-value { padding-top: 7px; padding-bottom: 0; color: #a9342e; transform: translateY(100%); }.ebitda-step-connector { position: absolute; right: -25px; z-index: 2; width: calc(26% + 32px); border-top: 2px dashed #8e918a; }.ebitda-waterfall-column > strong { position: absolute; top: calc(100% + 14px); right: 0; left: 0; color: #454842; font-size: 11px; text-align: center; }.ebitda-waterfall-column.total { border-left: 1px solid #deddd7; }.ebitda-waterfall-column.total .ebitda-step-bar { bottom: 0; background: #242823; }.ebitda-waterfall-column.total .ebitda-step-value { color: #111; font-size: 20px; }.ebitda-waterfall-column.total .ebitda-step-value small { text-transform: uppercase; }.ebitda-waterfall-column.total > strong { font-weight: 900; }.executive-ebitda-list,.ebitda-bridge-equation { display: none; }
@media(max-width:800px){.ebitda-waterfall{grid-template-columns:repeat(5,minmax(82px,1fr));gap:10px;overflow-x:auto;padding-right:12px;padding-left:12px}.ebitda-step-value{font-size:13px}.ebitda-step-connector{right:-16px;width:calc(26% + 20px)}}
.chart-variance-lines span { font-size: 9px; }

/* Seção 07 · One Page da Unidade */
.unit-one-page-content { padding-top: 26px; background: #ecece7; }
.unit-one-page-toolbar { width: min(100%,1500px); margin: 0 auto 22px; display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.unit-one-page-toolbar h2 { margin: 3px 0; font-size: 34px; line-height: 1; }.unit-one-page-toolbar p { margin: 0; color: #71756e; font-size: 11px; }
.unit-one-page-toolbar label { display: grid; min-width: 320px; gap: 6px; color: #676b64; font-size: 9px; font-weight: 900; text-transform: uppercase; }.unit-one-page-toolbar select { height: 42px; padding: 0 38px 0 13px; border: 1px solid #bfc1ba; background: #fff; font-weight: 800; }
.unit-one-page-sheet { width: min(100%,1500px); min-height: 820px; margin: 0 auto; padding: 38px 42px 24px; border: 1px solid #c9cbc4; background: #fff; box-shadow: 0 18px 50px rgba(33,38,32,.12); }
.unit-one-page-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-bottom: 20px; border-bottom: 4px solid #20251f; }.unit-one-page-head > div:first-child span { color: #747870; font-size: 8px; font-weight: 900; letter-spacing: 1.1px; }.unit-one-page-head h2 { margin: 5px 0 3px; font-size: 34px; line-height: 1; }.unit-one-page-head p { margin: 0; color: #73776f; font-size: 10px; }.unit-one-page-head > div:last-child { display: grid; padding: 12px 16px; border-left: 5px solid #ffe100; background: #f5f5f0; }.unit-one-page-head small { color: #747870; font-size: 7px; font-weight: 900; }.unit-one-page-head strong { margin: 3px 0; font-size: 18px; }.unit-one-page-head > div:last-child span { color: #73776f; font-size: 9px; }
.unit-metric-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; padding-top: 22px; }
.unit-metric-card { min-width: 0; padding: 20px; border: 1px solid #d7d9d2; border-top: 5px solid #ffe100; }.unit-metric-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }.unit-metric-card header small { color: #777b73; font-size: 7px; font-weight: 900; }.unit-metric-card h3 { margin: 2px 0 0; font-size: 21px; }
.unit-status { padding: 6px 8px; background: #ecece7; color: #696d66; font-size: 8px; font-weight: 900; text-transform: uppercase; }.unit-status.success { background: #e5f4eb; color: #167047; }.unit-status.attention { background: #fff4c3; color: #796100; }.unit-status.critical { background: #f8e7e5; color: #a9342e; }
.unit-period-comparison { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 18px 0; }.unit-period-comparison > div { padding: 13px; background: #f7f7f3; }.unit-period-comparison > div > small { color: #676b64; font-size: 8px; font-weight: 900; }.unit-period-comparison dl { margin: 10px 0; }.unit-period-comparison dl div { display: flex; justify-content: space-between; gap: 8px; padding: 6px 0; border-top: 1px solid #dedfd9; }.unit-period-comparison dt { color: #73776f; font-size: 9px; }.unit-period-comparison dd { margin: 0; font-size: 10px; font-weight: 900; text-align: right; }.unit-period-comparison > div > strong { display: block; padding-top: 9px; border-top: 2px solid currentColor; font-size: 20px; }.unit-period-comparison strong span { display: block; font-size: 7px; text-transform: uppercase; }.unit-period-comparison strong.success { color: #167047; }.unit-period-comparison strong.attention { color: #8a7000; }.unit-period-comparison strong.critical { color: #a9342e; }
.unit-justification { display: grid; gap: 7px; }.unit-justification span { color: #555a53; font-size: 8px; font-weight: 900; text-transform: uppercase; }.unit-justification textarea { width: 100%; min-height: 120px; padding: 11px; resize: vertical; border: 1px solid #cfd1ca; background: #fff; color: #252925; font: 10px/1.45 inherit; }.unit-justification textarea:focus { outline: 2px solid #ffe100; outline-offset: 1px; }
.unit-one-page-footer { display: flex; justify-content: space-between; gap: 16px; margin-top: 22px; padding-top: 12px; border-top: 1px solid #d8dad4; color: #777b73; font-size: 8px; }.unit-one-page-footer strong { color: #20251f; letter-spacing: .5px; }
.unit-expense-strip{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.unit-expense-strip article{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;border-left:5px solid #242823;background:#f4f4ef}.unit-expense-strip small,.unit-client-performance header small,.unit-nps-panel header small{color:#747870;font-size:7px;font-weight:900;letter-spacing:1px}.unit-expense-strip h3{margin:3px 0 0;font-size:16px}.unit-expense-strip dl{display:flex;gap:24px;margin:0}.unit-expense-strip dl div{text-align:right}.unit-expense-strip dt{color:#747870;font-size:8px;font-weight:900}.unit-expense-strip dd{margin:3px 0 0;font-size:15px;font-weight:900}
.unit-client-performance,.unit-nps-panel{margin-top:18px;border:1px solid #d7d9d2}.unit-client-performance>header,.unit-nps-panel>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border-bottom:1px solid #d7d9d2}.unit-client-performance h3,.unit-nps-panel h3{margin:3px 0;font-size:20px}.unit-client-performance header p,.unit-nps-panel header p{margin:0;color:#747870;font-size:9px}.pareto-legend{display:flex;gap:12px;font-size:8px;font-weight:800}.pareto-legend span{display:flex;align-items:center;gap:5px}.pareto-legend i{width:18px;height:4px;background:#ffe100}.pareto-legend span:last-child i{background:#1d8a5a}.unit-client-rank-row{display:grid;grid-template-columns:45px minmax(180px,1.4fr) minmax(125px,1fr) minmax(135px,1fr) 80px 135px;align-items:center;min-height:43px;border-top:1px solid #ecece7;font-size:9px}.unit-client-rank-row>*{min-width:0;padding:8px 10px}.unit-client-rank-row.head{min-height:36px;border:0;background:#242823;color:#fff;font-size:7px;text-transform:uppercase}.unit-client-rank-row>span,.unit-client-rank-row>b:nth-child(5){text-align:right}.unit-client-rank-row span small{display:block;margin-top:2px;color:#777}.unit-client-rank-row span.negative{color:#b52f29}.unit-client-rank-row>div{display:flex;gap:4px}.unit-client-rank-row em{padding:4px 6px;border-radius:2px;font-size:7px;font-style:normal;font-weight:900}.unit-client-rank-row em.revenue{background:#fff5a8;color:#655800}.unit-client-rank-row em.margin{background:#e3f4eb;color:#17653b}.unit-client-rank-row.revenue-boundary{border-bottom:3px solid #ffe100}.unit-client-rank-row.margin-boundary{box-shadow:inset 0 -3px #1d8a5a}.unit-empty-state{padding:30px;color:#777;text-align:center;font-size:10px}
.unit-nps-total{min-width:130px;padding:10px 14px;border-left:4px solid #ffe100;background:#f4f4ef}.unit-nps-total small,.unit-nps-total strong,.unit-nps-total span{display:block}.unit-nps-total strong{font-size:25px}.unit-nps-total span{color:#747870;font-size:8px}.unit-nps-row{display:grid;grid-template-columns:80px minmax(190px,1fr) 130px 120px;align-items:center;min-height:42px;border-top:1px solid #ecece7;font-size:9px}.unit-nps-row>*{margin:0 10px}.unit-nps-row.head{min-height:36px;border:0;background:#242823;color:#fff;font-size:7px;text-transform:uppercase}.unit-nps-row input{width:110px;padding:7px;border:1px solid #cfd1ca;text-align:right}.unit-nps-row>span{padding:5px 7px;background:#efefeb;color:#777;font-size:7px;font-weight:900;text-align:center;text-transform:uppercase}.unit-nps-row>span.promoter{background:#e3f4eb;color:#17653b}.unit-nps-row>span.attention{background:#fff4c3;color:#796100}.unit-nps-row>span.critical{background:#f8e7e5;color:#a9342e}.unit-nps-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:14px 18px;border-top:1px solid #d7d9d2}.unit-nps-actions small{margin-right:auto;color:#777;font-size:8px}
@media(max-width:1000px){.unit-metric-grid{grid-template-columns:1fr}.unit-one-page-toolbar,.unit-one-page-head{align-items:flex-start;flex-direction:column}.unit-one-page-toolbar label{width:100%;min-width:0}.unit-one-page-sheet{padding:24px 20px}.unit-client-rank-table,.unit-nps-table{overflow-x:auto}.unit-client-rank-row{min-width:800px}.unit-nps-row{min-width:600px}}
@media(max-width:520px){.unit-period-comparison,.unit-expense-strip{grid-template-columns:1fr}.unit-expense-strip article,.unit-client-performance>header,.unit-nps-panel>header{align-items:flex-start;flex-direction:column}.unit-expense-strip dl{width:100%;justify-content:space-between}.pareto-legend{flex-wrap:wrap}}
@media print{@page{size:A3 landscape;margin:9mm}.unit-one-page-toolbar,.sidebar,.topbar{display:none!important}.unit-one-page-content{padding:0;background:#fff}.unit-one-page-sheet{width:402mm;min-height:279mm;padding:9mm;box-shadow:none}.unit-metric-grid{grid-template-columns:repeat(3,1fr)}}

/* FEE consolidado na visão executiva */
.executive-fee-panel { margin-bottom: 22px; padding: 24px 28px 18px; border-top: 4px solid #17648c; }.executive-fee-panel .panel-head { align-items: center; }.executive-fee-panel .panel-head p { max-width: 670px; margin: 5px 0 0; color: #72756f; font-size: 11px; }.fee-target-badge { min-width: 145px; padding: 10px 14px; border-left: 4px solid #17648c; background: #edf4f7; }.fee-target-badge small,.fee-target-badge strong,.fee-target-badge span { display: block; }.fee-target-badge small { color: #63727a; font-size: 7px; font-weight: 900; }.fee-target-badge strong { margin: 2px 0; color: #124d6d; font-size: 24px; }.fee-target-badge span { color: #63727a; font-size: 8px; }
.executive-fee-layout { display: grid; grid-template-columns: minmax(300px,.65fr) minmax(520px,1.35fr); gap: 28px; align-items: stretch; padding-top: 18px; border-top: 1px solid #dedfd9; }.fee-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.fee-summary section { display: flex; flex-direction: column; padding: 14px; background: #f5f5f1; }.fee-summary small { color: #6d716a; font-size: 8px; font-weight: 900; }.fee-summary strong { margin: 7px 0 2px; color: #124d6d; font-size: 30px; line-height: 1; }.fee-summary span { color: #676c66; font-size: 9px; }.fee-summary i { height: 8px; margin-top: auto; overflow: hidden; background: #dedfd9; }.fee-summary i b { display: block; height: 100%; background: #17648c; }
.fee-monthly-visual { position: relative; display: grid; grid-template-columns: repeat(12,1fr); gap: 8px; height: 150px; padding-top: 18px; border-bottom: 1px solid #aeb1aa; }.fee-cap-line { position: absolute; top: 17px; right: 0; left: 0; border-top: 2px dashed #c43b34; }.fee-cap-line span { position: absolute; top: -18px; right: 0; padding: 3px 6px; background: #c43b34; color: #fff; font-size: 7px; font-weight: 900; }.fee-month-column { display: flex; min-width: 0; flex-direction: column; justify-content: flex-end; text-align: center; }.fee-bar-area { display: flex; height: 105px; align-items: flex-end; justify-content: center; }.fee-bar-area b { position: relative; width: 62%; min-height: 2px; background: #17648c; }.fee-bar-area b span { position: absolute; top: -15px; left: 50%; font-size: 7px; white-space: nowrap; transform: translateX(-50%); }.fee-month-column small { padding: 6px 0; color: #666b64; font-size: 7px; font-weight: 900; text-transform: uppercase; }.executive-fee-panel footer { display: flex; align-items: center; gap: 16px; padding-top: 12px; color: #696d66; font-size: 8px; }.executive-fee-panel footer span { display: flex; align-items: center; gap: 5px; }.executive-fee-panel footer i { width: 18px; height: 7px; background: #17648c; }.executive-fee-panel footer span:nth-child(2) i { height: 2px; background: #c43b34; }.executive-fee-panel footer strong { margin-left: auto; color: #555a54; }
@media(max-width:1000px){.executive-fee-layout{grid-template-columns:1fr}.fee-monthly-visual{overflow-x:auto}.executive-fee-panel .panel-head{align-items:flex-start;flex-direction:column}.fee-target-badge{margin-top:12px}}
@media(max-width:600px){.fee-summary{grid-template-columns:1fr}.fee-monthly-visual{grid-template-columns:repeat(12,minmax(38px,1fr));}.executive-fee-panel{padding:20px 16px}.executive-fee-panel footer{align-items:flex-start;flex-wrap:wrap}.executive-fee-panel footer strong{width:100%;margin-left:0}}

.fee-bar-area { gap: 2px; }.fee-bar-area b { position: relative; width: 13%; min-height: 2px; }.fee-series-legend { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; color: #5f645e; font-size: 8px; font-weight: 800; }.fee-series-legend span { display: flex; align-items: center; gap: 5px; }.fee-series-legend i { width: 18px; height: 7px; }.fee-series-legend .target i { height: 2px; background: #c43b34; }
.fee-comparison-table { margin-top: 16px; overflow-x: auto; border: 1px solid #d8dad4; }.fee-table-row { display: grid; grid-template-columns: 100px repeat(5,minmax(105px,1fr)); min-width: 690px; min-height: 34px; align-items: center; border-top: 1px solid #e4e5df; }.fee-table-row:first-child { border-top: 0; }.fee-table-row strong,.fee-table-row span { padding: 8px 11px; text-align: right; }.fee-table-row strong:first-child { text-align: left; }.fee-table-row.head { background: #242823; color: #fff; font-size: 8px; text-transform: uppercase; }.fee-table-row:not(.head) { font-size: 9px; }.fee-table-row:not(.head) strong { color: #555a54; }.fee-table-row span:last-child { background: #f1f1ec; font-weight: 900; }.fee-table-row.target { border-top: 2px solid #c43b34; background: #fff3f1; color: #a12f29; font-weight: 900; }.executive-fee-panel footer { justify-content: flex-end; }.executive-fee-panel footer strong { margin-left: 0; }
.fee-summary section.below-target { background: #fff1ef; }.fee-summary section.below-target strong { color: #ad332d; }.fee-summary section.below-target i b { background: #c43b34; }.fee-summary section.below-target span { color: #8f403b; font-weight: 800; }
.fee-summary .fee-amount { display: block; margin: 4px 0 7px; color: #242823; font-size: 12px; }.fee-summary section.below-target .fee-amount { color: #722c27; }
.fee-head-actions { display: flex; align-items: stretch; gap: 10px; }.fee-list-button { min-width: 110px; padding: 0 14px; border: 1px solid #242823; background: #fff; color: #242823; font-size: 9px; font-weight: 900; text-transform: uppercase; cursor: pointer; }.fee-list-button span { margin-right: 5px; font-size: 14px; }.fee-list-button:hover { background: #242823; color: #fff; }.fee-list-button:focus-visible { outline: 3px solid #ffe100; outline-offset: 2px; }
.fee-list-backdrop { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 24px; background: rgba(9,9,9,.72); }.fee-list-dialog { width: min(1120px,100%); max-height: calc(100vh - 48px); overflow: auto; border-top: 6px solid #ffe100; background: #fff; box-shadow: 0 28px 80px rgba(0,0,0,.35); }.fee-list-dialog > header { position: sticky; top: 0; z-index: 2; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 24px 28px 18px; border-bottom: 1px solid #d8dad4; background: #fff; }.fee-list-dialog header span { color: #747870; font-size: 8px; font-weight: 900; }.fee-list-dialog h2 { margin: 4px 0; font-size: 26px; }.fee-list-dialog header p { margin: 0; color: #70746d; font-size: 10px; }.fee-list-dialog header button { width: 38px; height: 38px; border: 1px solid #cfd1ca; background: #f5f5f1; font-size: 24px; line-height: 1; cursor: pointer; }.fee-list-dialog header button:hover { background: #242823; color: #fff; }
.fee-list-table { margin: 22px 28px; overflow-x: auto; border: 1px solid #d8dad4; }.fee-list-row { display: grid; grid-template-columns: 80px repeat(5,minmax(155px,1fr)); min-width: 855px; align-items: center; min-height: 42px; border-top: 1px solid #e4e5df; }.fee-list-row:first-child { border-top: 0; }.fee-list-row strong,.fee-list-row span { padding: 10px 12px; text-align: right; }.fee-list-row strong:first-child { text-align: left; }.fee-list-row.head { position: sticky; top: 0; background: #242823; color: #fff; font-size: 8px; text-transform: uppercase; }.fee-list-row:not(.head) { font-size: 10px; }.fee-list-row span:last-child { background: #f1f1ec; font-weight: 900; }.fee-list-row.total { border-top: 3px solid #ffe100; background: #fff9c7; font-weight: 900; }.fee-list-dialog > footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 28px 22px; color: #70746d; font-size: 9px; }.fee-list-dialog footer button { min-width: 100px; height: 36px; border: 0; background: #242823; color: #fff; font-size: 9px; font-weight: 900; text-transform: uppercase; cursor: pointer; }
.fee-ytd-table .fee-table-row { grid-template-columns: minmax(220px,1.4fr) repeat(3,minmax(150px,1fr)); min-width: 760px; }.fee-ytd-table .fee-table-row.total { border-top: 3px solid #ffe100; background: #fff9c7; font-weight: 900; }.fee-ytd-table .fee-table-row span:nth-child(3) { background: #edf4f7; color: #124d6d; font-weight:900; }.fee-ytd-table .fee-table-row span:last-child { background:#eef7f1;color:#17653b;font-weight:900 }.fee-ytd-table .fee-table-row span:last-child.below-target{background:#fff0ef;color:#b52f29}

/* O ranking executivo usa uma posição simples; evita herdar o cartão de posição dos rankings de clientes. */
.executive-ranking .ranking-position{display:block;min-width:0;padding:0;border-left:0;background:transparent;color:#20251f;font-size:12px;line-height:normal;text-align:left}

/* Ranking de prazo de pagamento: leitura executiva compacta, com meta e ausência de medição explícitas. */
.payment-90-ranking{margin-top:18px;border-top:4px solid #176b49}.payment-90-ranking .panel-head p{margin:5px 0 0;color:#72756f;font-size:11px}.payment-90-summary{min-width:170px;padding:9px 13px;border-left:4px solid #ffe100;background:#f5f5f0;text-align:right}.payment-90-summary small,.payment-90-summary strong,.payment-90-summary span{display:block}.payment-90-summary small{color:#6c7069;font-size:7px;font-weight:900}.payment-90-summary strong{font-size:23px}.payment-90-summary span{margin-top:2px;color:#777b74;font-size:8px}.payment-90-head,.payment-90-row{display:grid;grid-template-columns:minmax(210px,1fr) minmax(280px,2fr) 95px;gap:16px;align-items:center}.payment-90-head{padding:0 10px 8px;color:#777b74;font-size:8px;font-weight:900;text-transform:uppercase}.payment-90-head span:last-child{text-align:right}.payment-90-row{min-height:58px;padding:0 10px;border-top:1px solid #e7e7e1}.payment-90-row>div:first-child{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center}.payment-90-row>div:first-child>b{color:#858981;font-size:12px}.payment-90-row>div:first-child span,.payment-90-row>div:first-child strong,.payment-90-row>div:first-child small{display:block;min-width:0}.payment-90-row>div:first-child strong{overflow-wrap:anywhere;font-size:12px}.payment-90-row>div:first-child small{margin-top:2px;color:#858981;font-size:8px;font-weight:800;text-transform:uppercase}.payment-90-track{position:relative;height:30px;background:#efeee9}.payment-90-track>b{display:block;width:0;height:100%;background:#c14942}.payment-90-row.on-target .payment-90-track>b{background:#1f7a54}.payment-90-target{position:absolute;z-index:2;top:-5px;bottom:-5px;width:2px;background:#252a25;transform:translateX(-50%)}.payment-90-target::before{position:absolute;top:-3px;left:50%;padding:2px 4px;background:#252a25;color:#fff;font-size:7px;font-style:normal;font-weight:900;content:'70%';transform:translate(-50%,-100%)}.payment-90-track span{position:absolute;top:8px;right:10px;font-size:10px;font-weight:900}.payment-90-row>strong{text-align:right;color:#aa3832;font-size:11px}.payment-90-row>strong.positive{color:#176b49}.payment-90-row.no-data{color:#8a8d87}.payment-90-row.no-data .payment-90-track{background:repeating-linear-gradient(135deg,#f2f1ed 0,#f2f1ed 7px,#e8e7e2 7px,#e8e7e2 8px)}.payment-90-ranking footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 10px 0;border-top:1px solid #e7e7e1;color:#6c7069;font-size:8px}.payment-90-ranking footer span{display:flex;align-items:center;gap:7px}.payment-90-ranking footer i{width:20px;border-top:2px solid #252a25}
@media(max-width:700px){.payment-90-ranking .panel-head{align-items:flex-start;flex-direction:column}.payment-90-summary{width:100%;margin-top:12px;text-align:left}.payment-90-head{display:none}.payment-90-row{grid-template-columns:minmax(145px,1fr) minmax(130px,1.4fr);gap:10px;padding:10px 4px}.payment-90-row>strong{grid-column:2;text-align:left}.payment-90-ranking footer{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.fee-head-actions{width:100%;flex-direction:column}.fee-list-button{min-height:40px}.fee-list-backdrop{padding:0}.fee-list-dialog{width:100%;max-height:100vh;min-height:100vh}.fee-list-dialog>header,.fee-list-dialog>footer{padding-right:18px;padding-left:18px}.fee-list-table{margin-right:18px;margin-left:18px}}

.executive-revenue-monthly { margin-top: 22px; border-top: 4px solid #242823; }.executive-revenue-monthly .panel-head p { margin: 5px 0 0; color: #72756f; font-size: 11px; }.revenue-ytd-badge { min-width: 190px; padding: 10px 14px; border-left: 4px solid #ffe100; background: #f5f5f0; text-align: right; }.revenue-ytd-badge small,.revenue-ytd-badge strong { display: block; }.revenue-ytd-badge small { color: #696d66; font-size: 7px; font-weight: 900; }.revenue-ytd-badge strong { margin-top: 4px; font-size: 18px; }
.executive-revenue-table { overflow-x: auto; border: 1px solid #d8dad4; }.executive-revenue-row { display: grid; grid-template-columns: 80px repeat(5,minmax(155px,1fr)); min-width: 855px; align-items: center; min-height: 40px; border-top: 1px solid #e4e5df; }.executive-revenue-row:first-child { border-top: 0; }.executive-revenue-row strong,.executive-revenue-row span { padding: 10px 12px; text-align: right; }.executive-revenue-row strong:first-child { text-align: left; }.executive-revenue-row.head { background: #242823; color: #fff; font-size: 8px; text-transform: uppercase; }.executive-revenue-row:not(.head) { font-size: 9px; }.executive-revenue-row:not(.head) strong { color: #555a54; }.executive-revenue-row span:last-child { background: #f1f1ec; font-weight: 900; }.executive-revenue-row.total { border-top: 3px solid #ffe100; background: #fff9c7; font-weight: 900; }
@media(max-width:760px){.executive-revenue-monthly .panel-head{align-items:flex-start;flex-direction:column}.revenue-ytd-badge{width:100%;text-align:left}}
.fee-client-filter { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 20px 28px 0; padding: 14px 16px; background: #f5f5f1; }.fee-client-filter label { display: grid; min-width: 240px; gap: 6px; color: #626760; font-size: 8px; font-weight: 900; text-transform: uppercase; }.fee-client-filter select { height: 38px; padding: 0 12px; border: 1px solid #cfd1ca; background: #fff; font-weight: 800; }.fee-client-filter > div { text-align: right; }.fee-client-filter small,.fee-client-filter strong { display: block; }.fee-client-filter small { color: #70746d; font-size: 7px; font-weight: 900; }.fee-client-filter strong { margin-top: 3px; font-size: 20px; }.fee-list-table.client-detail .fee-list-row { grid-template-columns: minmax(180px,.7fr) minmax(300px,1.5fr) minmax(160px,.6fr); min-width: 640px; }.fee-list-table.client-detail .fee-list-row span:nth-child(2) { text-align: left; }.fee-list-table.client-detail .fee-list-row.total span:nth-child(2) { color: #696d66; font-weight: 700; }
@media(max-width:600px){.fee-client-filter{align-items:stretch;flex-direction:column;margin-right:18px;margin-left:18px}.fee-client-filter label{min-width:0}.fee-client-filter>div{text-align:left}}
.executive-revenue-table.transposed .executive-revenue-row { grid-template-columns: minmax(190px,1.35fr) repeat(8,minmax(112px,1fr)); min-width: 1086px; }.executive-revenue-table.transposed .executive-revenue-row strong:first-child { white-space: nowrap; }.executive-revenue-table.transposed .executive-revenue-row.total { border-top: 3px solid #ffe100; background: #fff9c7; font-weight: 900; }.executive-revenue-table.transposed .executive-revenue-row.total span { background: transparent; }.executive-revenue-table.transposed .executive-revenue-row span:last-child { background: #f1f1ec; font-weight: 900; }.executive-revenue-table.transposed .executive-revenue-row.total span:last-child { background: #eee7a8; }
.executive-revenue-table.transposed.compact { overflow: visible; }.executive-revenue-table.transposed.compact .executive-revenue-row { grid-template-columns: minmax(142px,1.65fr) repeat(12,minmax(0,1fr)); min-width: 0; }.executive-revenue-table.transposed.compact .executive-revenue-row strong,.executive-revenue-table.transposed.compact .executive-revenue-row span { min-width: 0; padding: 9px 4px; overflow: hidden; font-size: 8px; text-overflow: clip; white-space: nowrap; }.executive-revenue-table.transposed.compact .executive-revenue-row strong:first-child { padding-left: 10px; font-size: 9px; }.executive-revenue-table.transposed.compact .executive-revenue-row span:last-child { background: transparent; font-weight: inherit; }.executive-revenue-table.transposed.compact .executive-revenue-row span.decline { background: #fff0ee; color: #bd3029; font-weight: 900; }.executive-revenue-table.transposed.compact .executive-revenue-row.total span.decline { background: #f3d5a8; color: #a42d26; }
@media(max-width:900px){.executive-revenue-table.transposed.compact .executive-revenue-row{grid-template-columns:minmax(100px,1.5fr) repeat(12,minmax(0,1fr))}.executive-revenue-table.transposed.compact .executive-revenue-row strong,.executive-revenue-table.transposed.compact .executive-revenue-row span{padding-right:2px;padding-left:2px;font-size:7px}.executive-revenue-table.transposed.compact .executive-revenue-row strong:first-child{padding-left:5px;font-size:7px}}
.executive-revenue-table.transposed.compact .executive-revenue-row { grid-template-columns: minmax(112px,1.15fr) repeat(12,minmax(0,1fr)); min-height: 36px; }.executive-revenue-table.transposed.compact .executive-revenue-row span { padding: 8px 2px; font-size: 8.5px; }.executive-revenue-table.transposed.compact .executive-revenue-row strong { padding: 8px 3px; }.executive-revenue-table.transposed.compact .executive-revenue-row strong:first-child { padding-left: 8px; font-size: 8.5px; white-space: normal; }.executive-revenue-table.transposed.compact .executive-revenue-row.head strong { font-size: 8px; }
@media(max-width:900px){.executive-revenue-table.transposed.compact .executive-revenue-row{grid-template-columns:minmax(88px,1.05fr) repeat(12,minmax(0,1fr))}.executive-revenue-table.transposed.compact .executive-revenue-row span{font-size:7.5px}.executive-revenue-table.transposed.compact .executive-revenue-row strong:first-child{font-size:7.5px}}
.executive-revenue-table.transposed.compact .executive-revenue-row { grid-template-columns: minmax(102px,1.15fr) repeat(13,minmax(0,1fr)); }.executive-revenue-table.transposed.compact .executive-revenue-row strong:not(:first-child),.executive-revenue-table.transposed.compact .executive-revenue-row span { text-align: center; }.executive-revenue-table.transposed.compact .executive-revenue-row .ytd-value { background: #f0f0eb; color: #20231f; font-weight: 900; }.executive-revenue-table.transposed.compact .executive-revenue-row.total .ytd-value { background: #e9df8c; }.executive-revenue-table.transposed.compact .executive-revenue-row > :last-child { padding-right: 5px; padding-left: 5px; }
@media(max-width:900px){.executive-revenue-table.transposed.compact .executive-revenue-row{grid-template-columns:minmax(80px,1fr) repeat(13,minmax(0,1fr))}.executive-revenue-table.transposed.compact .executive-revenue-row span,.executive-revenue-table.transposed.compact .executive-revenue-row strong:not(:first-child){font-size:7px}}

/* Gráfico executivo mais compacto para leitura sem excesso de área vazia. */
.executive-priority { padding: 24px 28px; }.executive-priority .panel-head { margin-bottom: 16px; }.executive-priority .chart { height: 285px; padding-top: 38px; }.executive-priority .executive-ytd-bars { min-height: 185px; }.executive-priority .legend { min-height: 34px; }.executive-priority .executive-ytd-bars div b { top: -28px; font-size: 19px; }
@media(max-width:900px){.executive-priority .chart{height:260px}.executive-priority .executive-ytd-bars{min-height:180px}}

/* Escala bipolar dos gráficos mensais: negativos ficam abaixo da linha zero. */
.monthly-combo-chart{position:relative}
.chart-bars{align-items:initial}
.chart-bars .chart-bar{position:absolute;width:29%}
.chart-bars .chart-bar.previous{left:21%}
.chart-bars .chart-bar.actual{right:21%}
.chart-bars .chart-bar.negative-value b{top:auto;bottom:-18px}
.chart-bars .chart-bar.actual.negative-value b{top:auto;bottom:-21px}
.monthly-combo-chart .target-marker.negative-value b{top:7px;bottom:auto}
.monthly-combo-chart .target-marker.zero-value b{bottom:7px}
.chart-scale-label{position:absolute;left:0;z-index:4;padding:1px 3px;background:#fff;color:#6b6e68;font-size:8px;font-weight:900;line-height:1;transform:translateX(-2px)}
.chart-scale-label.max{top:1px}.chart-scale-label.min{bottom:25px}.chart-scale-label.zero{right:0;width:auto;border-top:1px solid #b9bbb5;background:transparent;text-align:left;transform:translate(-2px,50%)}
.ebitda-waterfall-column.total .ebitda-step-bar{bottom:auto}
.macro-movements{margin:0 18px 18px;border-top:3px solid #20231f;background:#f7f7f3}
.macro-movements header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:16px 18px 13px}
.macro-movements header span{font-size:8px;font-weight:900;letter-spacing:.8px;color:#73766f}
.macro-movements header h3{margin:3px 0 0;font-size:17px;letter-spacing:-.2px}
.macro-movements header p{max-width:470px;margin:0;color:#686c65;font-size:10px;line-height:1.45;text-align:right}
.macro-movement-table{border-top:1px solid #c8cac4}
.macro-movement-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(320px,3fr);align-items:stretch;border-bottom:1px solid #d7d8d3}
.macro-movement-row>strong{display:flex;align-items:center;padding:10px 14px;border-right:1px solid #d7d8d3;font-size:12px}
.macro-movement-row.head{min-height:34px;background:#ecece7}
.macro-movement-row.head>strong{padding-top:7px;padding-bottom:7px;font-size:10px;text-transform:uppercase}
.macro-movement-row textarea{width:100%;min-height:52px;padding:10px 14px;border:0;background:#fff;font:inherit;font-size:11px;line-height:1.45;resize:vertical}
.macro-movement-row textarea:focus{position:relative;z-index:1;outline:2px solid #20231f;outline-offset:-2px}
.macro-movement-row textarea:disabled{background:#f1f1ed;color:#777}
@media(max-width:700px){.macro-movements header{align-items:flex-start;flex-direction:column}.macro-movements header p{text-align:left}.macro-movement-row{grid-template-columns:72px minmax(250px,1fr)}.macro-movement-table{overflow-x:auto}}
@media(max-width:620px){.indicator-chart-block{grid-template-columns:minmax(720px,1fr) minmax(220px,280px)}.ytd-chart-panel{grid-template-columns:minmax(0,1fr);width:100%}.ytd-chart-panel .chart-title{grid-column:1}.ytd-variances{grid-column:1;grid-row:2;width:100%;padding:2px 8px 14px}.ytd-bars{grid-column:1;grid-row:3;width:100%}.ytd-chart-panel>small{grid-column:1;grid-row:4}.ytd-chart-panel>.combo-legend{grid-column:1;grid-row:5}}

/* Mantém todos os valores mensais completos; em telas menores a tabela rola horizontalmente. */
.executive-revenue-table.transposed.compact{overflow-x:auto}
.executive-revenue-table.transposed.compact .executive-revenue-row{grid-template-columns:minmax(150px,1.4fr) repeat(13,minmax(86px,1fr));min-width:1270px}
.executive-revenue-table.transposed.compact .executive-revenue-row strong,.executive-revenue-table.transposed.compact .executive-revenue-row span{overflow:visible;padding-right:8px;padding-left:8px;font-size:9px;text-overflow:initial}

}
