:root{--navy:#1c2438;--navy-deep:#1c2438;--navy-soft:#012169;--red:#da291c;--red-dark:#b52218;--ink:#18232d;--text:#344451;--muted:#71808c;--line:#d9e0e5;--line-strong:#c2ccd3;--canvas:#f3f5f6;--surface:#fff;--soft:#edf1f3;--green:#177354;--green-soft:#e5f3ed;--amber:#9b640c;--amber-soft:#fff2d7;--blue:#012169;--blue-soft:#e6f1f7;--danger-soft:#fdebec;color:var(--text);background:var(--canvas);font-synthesis:none;font-family:Verdana,Arial,sans-serif}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{background:var(--canvas);min-width:320px;font-size:13px}button,input,select,textarea{font:inherit;letter-spacing:0}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}.app-shell{grid-template-columns:224px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{z-index:30;color:#fff;background:var(--navy);border-right:1px solid #07131c;flex-direction:column;width:224px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-brand{border-bottom:1px solid #ffffff1c;justify-content:space-between;align-items:center;height:72px;padding:20px 22px;display:flex}.sidebar-brand img{object-fit:contain;object-position:left center;width:112px;max-height:34px;display:block}.sidebar-nav{gap:5px;padding:18px 10px;display:grid}.sidebar-nav a{color:#c5d1d8;border-radius:4px;align-items:center;gap:11px;min-height:42px;padding:0 12px;font-weight:600;display:flex}.sidebar-nav a:hover{color:#fff;background:#ffffff0f}.sidebar-nav a.active{color:var(--navy);box-shadow:inset 3px 0 var(--red);background:#fff}.sidebar-user{border-top:1px solid #ffffff1c;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;margin-top:auto;padding:16px 12px;display:grid}.user-avatar{background:var(--red);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.user-copy{gap:3px;min-width:0;display:grid}.user-copy strong,.user-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-copy strong{font-size:12px}.user-copy span{color:#9eb0bb;font-size:10px}.user-actions{grid-column:1/-1;justify-content:flex-end;gap:5px;display:flex}.sidebar .icon-button{color:#bdcad1;border-color:#ffffff29}.sidebar .icon-button:hover{color:#fff;background:#ffffff14}.sidebar-close,.menu-button,.sidebar-overlay{display:none}.main-shell{grid-column:2;min-width:0}.page-header{background:var(--surface);border-bottom:1px solid var(--line);z-index:20;align-items:center;gap:16px;height:72px;padding:0 28px;display:flex;position:sticky;top:0}.page-title{min-width:0}.page-title h1{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:19px;font-weight:700;line-height:1.25;overflow:hidden}.page-title p{color:var(--muted);margin-top:4px;font-size:11px}.page-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.page-content{padding:22px 28px 36px}.button{background:var(--surface);min-height:36px;color:var(--ink);white-space:nowrap;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:12px;font-weight:700;display:inline-flex}.button-primary{background:var(--red);border-color:var(--red);color:#fff}.button-primary:hover{background:var(--red-dark);border-color:var(--red-dark)}.button-secondary{border-color:var(--line-strong);background:#fff}.button-secondary:hover{background:var(--soft);border-color:#98a7b2}.button-danger{color:#fff;background:var(--red);border-color:var(--red)}.button-danger-outline{color:var(--red-dark);background:#fff;border-color:#e4a4a7}.button-small{min-height:32px;padding:0 10px}.button-wide{width:100%;min-height:42px}.icon-button{border:1px solid var(--line);width:34px;height:34px;color:var(--text);background:0 0;border-radius:4px;flex:none;place-items:center;padding:0;display:inline-grid}.icon-button:hover{background:var(--soft);color:var(--ink)}.danger-icon{color:var(--red);border-color:#0000}.danger-icon:hover{background:var(--danger-soft);color:var(--red-dark)}.flash-message{border:1px solid;border-radius:4px;align-items:center;gap:9px;min-height:40px;margin:12px 28px 0;padding:9px 12px;font-weight:600;display:flex}.flash-success{color:var(--green);background:var(--green-soft);border-color:#afd4c7}.flash-error{color:var(--red-dark);background:var(--danger-soft);border-color:#edb5b8}.metric-strip{background:var(--surface);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);min-height:84px;display:grid}.metric-item{border-right:1px solid var(--line);color:var(--blue);align-items:center;gap:13px;padding:16px 22px;display:flex}.metric-item:last-child{border-right:0}.metric-item>svg{background:var(--blue-soft);border-radius:50%;width:38px;height:38px;padding:9px}.metric-item div{gap:2px;display:grid}.metric-item strong{color:var(--ink);font-size:21px;line-height:1}.metric-item span{color:var(--muted);font-size:11px}.metric-amber{color:var(--amber)}.metric-amber>svg{background:var(--amber-soft)}.metric-green{color:var(--green)}.metric-green>svg{background:var(--green-soft)}.workspace-section{background:var(--surface);border:1px solid var(--line);margin-top:18px}.section-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:65px;padding:13px 16px;display:flex}.section-toolbar h2{color:var(--ink);font-size:14px}.result-count{color:var(--muted);margin-top:4px;font-size:10px;display:block}.filters{gap:8px;display:flex}.search-field{border:1px solid var(--line-strong);width:245px;height:36px;color:var(--muted);background:#fff;border-radius:4px;align-items:center;gap:8px;padding:0 10px;display:flex}.search-field input{width:100%;min-width:0;color:var(--ink);border:0;outline:0}select,input,textarea{border:1px solid var(--line-strong);color:var(--ink);background:#fff;border-radius:3px;outline:none}select:focus,input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 2px #246b9121}select{height:36px;padding:0 30px 0 10px}input:disabled,select:disabled,textarea:disabled{color:#697781;background:#f2f4f5}.table-wrap{width:100%;overflow:auto}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th{color:#5d6d78;border-bottom:1px solid var(--line);text-transform:uppercase;background:#f7f8f9;padding:10px 14px;font-size:10px;font-weight:700}.data-table td{vertical-align:middle;border-bottom:1px solid #e7ebee;height:61px;padding:9px 14px}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fafbfb}.data-table td strong,.data-table td small{display:block}.data-table td small{color:var(--muted);margin-top:4px}.work-code{min-width:63px;color:var(--red-dark);margin-right:7px;font-size:11px;font-weight:700;display:inline-block}.work-name{color:var(--ink);display:inline}.works-table th:first-child{width:30%}.works-table th:last-child{width:48px}.table-action{margin-left:auto}.row-actions{justify-content:flex-end;gap:5px;display:flex}.empty-state{text-align:center;color:var(--muted);padding:28px!important;font-weight:400!important}.muted{color:var(--muted)}.status-badge{white-space:nowrap;border:1px solid #0000;border-radius:3px;align-items:center;min-height:24px;padding:4px 8px;font-size:10px;font-weight:700;line-height:1.2;display:inline-flex}.status-draft{color:#53636f;background:#edf0f2;border-color:#d5dce1}.status-pending_group,.status-pending_zone,.status-pending_delegate{color:var(--blue);background:var(--blue-soft);border-color:#b9d6e5}.status-pending_costs,.status-pending_direction{color:var(--amber);background:var(--amber-soft);border-color:#ebd19e}.status-official{color:var(--green);background:var(--green-soft);border-color:#b8d9ce}.status-inactive{color:#687681;background:#edf0f2;border-color:#d5dce1}.field{color:var(--text);gap:7px;font-size:11px;font-weight:700;display:grid}.field input,.field select{width:100%;height:38px;padding:0 10px;font-weight:400}.field textarea{resize:vertical;width:100%;min-height:86px;padding:9px 10px;font-weight:400}.field-error{color:var(--red-dark);font-weight:400;line-height:1.35}.checkbox-field{align-items:center;gap:8px;font-size:11px;display:flex}.checkbox-field input{width:16px;height:16px;accent-color:var(--red)}.password-input{position:relative}.password-input input{padding-right:40px}.password-input button{width:34px;height:34px;color:var(--muted);background:0 0;border:0;place-items:center;display:grid;position:absolute;top:2px;right:4px}.login-page{background:#fff;grid-template-columns:minmax(380px,44%) minmax(420px,56%);min-height:100vh;display:grid}.login-brand{color:#fff;background:var(--navy);flex-direction:column;justify-content:space-between;padding:clamp(44px,7vw,100px);display:flex;position:relative;overflow:hidden}.login-brand:after{content:"";background:var(--red);width:100%;height:6px;position:absolute;bottom:0;left:0}.login-brand>img{object-fit:contain;object-position:left;width:145px}.login-brand>div{max-width:420px;position:relative}.login-kicker{color:#a9c1cf;text-transform:uppercase;margin-bottom:15px;font-size:11px;font-weight:700;display:block}.login-brand h1{font-size:clamp(37px,4vw,58px);font-weight:700;line-height:1}.login-brand p{color:#c4d2da;margin-top:18px;font-size:15px;line-height:1.55}.login-form-panel{place-items:center;padding:45px;display:grid}.login-form{gap:20px;width:min(100%,370px);display:grid}.login-logo-blue{width:120px;display:none}.login-heading h2{color:var(--ink);font-size:24px}.login-heading p{color:var(--muted);margin-top:7px}.form-surface{background:var(--surface);border:1px solid var(--line);max-width:760px}.narrow-surface{max-width:520px}.surface-heading{border-bottom:1px solid var(--line);min-height:56px;color:var(--ink);align-items:center;gap:9px;padding:0 18px;display:flex}.surface-heading h2{font-size:14px}.stack-form{gap:17px;padding:20px;display:grid}.form-footer{border-top:1px solid var(--line);justify-content:flex-end;padding-top:15px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.form-span{grid-column:1/-1}.create-back{margin-bottom:14px}.create-apo-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:18px;max-width:1120px;display:grid}.create-main-surface,.create-assignment-surface{width:100%;max-width:none}.segmented-control{border:1px solid var(--line);background:#edf1f3;grid-template-columns:1fr 1fr;gap:3px;min-height:38px;padding:3px;display:grid}.segmented-control button{min-height:32px;color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:11px;font-weight:700;display:inline-flex}.segmented-control button.active{color:var(--navy);background:#fff;box-shadow:0 1px 3px #0a1c2824}.segmented-control.compact{width:300px}.wide-unit-input input{width:100%;height:38px;padding-right:45px}.manager-picker{margin:14px 16px 0}.review-chain-picker{border-top:1px solid var(--line);gap:13px;margin:14px 16px 0;padding-top:14px;display:grid}.review-chain-picker h3{color:var(--ink);text-transform:uppercase;font-size:11px}.creation-note{background:var(--blue-soft);border-left:3px solid var(--blue);gap:4px;margin:14px 16px;padding:11px;display:grid}.creation-note strong{color:var(--navy);font-size:10px}.creation-note span{color:var(--text);font-size:9px}.create-footer{margin:0 16px;padding-bottom:16px}.scope-picker{border:0;margin:0;padding:0}.scope-picker legend{color:var(--text);margin-bottom:8px;font-size:11px;font-weight:700}.scope-list{border:1px solid var(--line);background:#f8f9fa;max-height:150px;overflow:auto}.scope-list label{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:9px;min-height:38px;padding:7px 10px;display:flex}.scope-list label:last-child{border-bottom:0}.scope-list label:hover{background:#fff}.scope-list input{width:15px;height:15px;accent-color:var(--red)}.scope-list span{font-size:10px}.scope-list strong{color:var(--ink);margin-right:7px}.modal-backdrop{z-index:80;background:#09161f8c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:#fff;border:1px solid #b9c4cc;width:min(100%,640px);max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 18px 50px #040f163d}.modal-small{width:min(100%,470px)}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:57px;padding:0 16px 0 20px;display:flex}.modal-header>div{color:var(--ink);align-items:center;gap:9px;display:flex}.modal-header h2{font-size:14px}.modal>.field{margin:20px}.modal>.field-error{margin:-12px 20px 16px;display:block}.modal-footer{border-top:1px solid var(--line);background:#f8f9fa;justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.modal .stack-form .modal-footer{margin:2px -20px -20px}.confirmation-copy{color:var(--text);gap:12px;padding:22px 20px;line-height:1.5;display:grid}.confirmation-copy strong{color:var(--ink)}.editor-topline{justify-content:space-between;align-items:center;gap:14px;min-height:35px;margin-bottom:12px;display:flex}.back-link{color:var(--blue);align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.back-link:hover{text-decoration:underline}.editor-state{color:var(--muted);align-items:center;gap:9px;font-size:10px;display:flex}.provisional-tag{border-left:1px solid var(--line);color:var(--amber);padding-left:9px;font-weight:700}.work-summary{background:var(--surface);border:1px solid var(--line);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.work-summary.ute-summary{grid-template-columns:repeat(6,minmax(0,1fr))}.work-summary>div{border-right:1px solid var(--line);align-content:center;gap:6px;min-width:0;min-height:63px;padding:12px 14px;display:grid}.work-summary>div:nth-child(6n){border-right:0}.work-summary>div:nth-child(n+7){border-top:1px solid var(--line)}.work-summary span{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:700}.work-summary strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.work-summary input{width:100%;min-width:0;height:30px;padding:0 7px;font-size:10px}.work-summary-field small{font-size:8px}.editor-tabs{border-bottom:1px solid var(--line-strong);align-items:flex-end;gap:4px;height:49px;margin-top:16px;padding:0 4px;display:flex}.editor-tabs button{color:#687985;background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;gap:7px;height:41px;padding:0 15px;font-size:11px;font-weight:700;display:inline-flex}.editor-tabs button:hover{color:var(--ink);background:#ffffff8c}.editor-tabs button.active{color:var(--red-dark);border-bottom-color:var(--red)}.count-pill{color:#4f5f6a;background:#dfe5e8;border-radius:9px;place-items:center;min-width:20px;height:19px;padding:0 6px;font-size:9px;display:inline-grid}.editor-surface,.strategy-workspace,.price-revision-workspace,.post-price-results,.approval-workspace,.history-workspace,.trace-layout{background:var(--surface);border:1px solid var(--line);border-top:0}.apo-flow{gap:16px;display:grid}.apo-flow>.editor-surface,.apo-flow>.strategy-workspace,.apo-flow>.price-revision-workspace,.apo-flow>.post-price-results{border-top:1px solid var(--line)}.return-notice{background:var(--danger-soft);min-height:42px;color:var(--red-dark);border:1px solid #efc2c4;align-items:center;gap:8px;padding:9px 12px;font-size:11px;display:flex}.apo-table-wrap{min-height:0;overflow-x:hidden}.apo-grid{border-collapse:separate;border-spacing:0;table-layout:fixed;text-align:right;width:100%;min-width:0}.apo-grid th,.apo-grid td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);height:34px;padding:4px 6px}.apo-grid th:first-child{text-align:left;width:180px}.apo-grid tr>:last-child{border-right:0}.apo-grid thead{z-index:5;position:sticky;top:0}.apo-grid thead th{color:#50616c;text-transform:uppercase;text-align:center;background:#edf1f3;font-size:9px}.apo-grid thead th:first-child{text-align:center}.apo-grid .scenario-head th{background:var(--navy);color:#fff;border-color:#344958;height:29px}.apo-grid .scenario-head .scenario-executed{background:#53646e;border-right:3px solid #aebbc2}.apo-grid .scenario-head .scenario-actual{background:var(--navy)}.apo-grid .scenario-head .scenario-possible{background:#2d576d}.apo-grid .scenario-head .scenario-optimal{background:#376b5e}.apo-grid thead .scenario-subhead{font-weight:800}.apo-grid thead .scenario-actual-subhead{color:var(--navy);background:#dce4ef}.apo-grid thead .scenario-possible-subhead{color:#234b60;background:#dce9ed}.apo-grid thead .scenario-optimal-subhead{color:#2d594e;background:#dfeae6}.apo-grid thead .scenario-subhead:nth-child(2),.apo-grid thead .scenario-subhead:nth-child(4),.apo-grid thead .scenario-subhead:nth-child(6){border-right:2px solid var(--line-strong)}.section-row th{height:27px;color:var(--ink);text-transform:uppercase;background:#f2f4f5;padding-left:10px;font-size:10px}.apo-grid tbody>tr:not(.section-row) th{color:var(--text);font-size:11px;font-weight:600}.apo-grid td{color:var(--ink);font-variant-numeric:tabular-nums;font-size:12px}.apo-grid td:nth-child(2){border-right:3px solid #aebbc2}.apo-grid td:nth-child(4),.apo-grid td:nth-child(6),.apo-grid td:nth-child(8){border-right:2px solid var(--line-strong)}.previous-result-row th,.previous-result-row td{background:#e8edef;color:#3f4d56!important;font-weight:700!important}.previous-result-row td small{color:var(--muted);margin-top:2px;font-size:9px;display:block}.total-row th,.total-row td{background:#f7f9f9;color:var(--ink)!important;font-weight:700!important}.editable-cell{background:#fffdf7;padding:3px!important}.grid-input{min-width:0;position:relative}.grid-input input{text-align:right;font-variant-numeric:tabular-nums;border-color:#e2c98c;width:100%;height:27px;padding:0 34px 0 5px;font-size:12px}.grid-input span{color:#9a7b34;pointer-events:none;font-size:8px;position:absolute;top:8px;right:5px}.calculated-value{white-space:nowrap}.negative-value{color:var(--red-dark)!important}.apo-settings-bar{background:#f8f9fa;grid-template-columns:180px repeat(7,minmax(0,1fr));align-items:stretch;min-height:79px;padding:0;display:grid}.apo-settings-bar>label{border-right:1px solid var(--line);color:var(--muted);text-transform:uppercase;grid-column:1;align-content:center;gap:6px;padding:12px 14px;font-size:9px;font-weight:700;display:grid}.apo-result-settings-bar{border-top:1px solid var(--line);min-height:79px}.setting-control-spacer{border-right:1px solid var(--line);grid-column:1}.unit-input{position:relative}.unit-input input{text-align:right;width:100px;height:32px;padding:0 27px 0 7px}.unit-input>span{color:var(--muted);font-size:10px;position:absolute;top:9px;right:8px}.annual-split{display:contents}.annual-split label{color:var(--muted);grid-template-columns:auto;gap:4px;font-size:9px;display:grid}.annual-split .strategy-number{width:100%}.annual-split small{color:var(--ink);font-size:9px}.setting-heading{border-right:3px solid #aebbc2;grid-column:2;align-content:center;gap:5px;min-width:0;padding:12px 10px;display:grid}.setting-heading strong{color:var(--ink);font-size:10px}.setting-heading span{color:var(--muted);font-size:10px}.annual-scenario{border-left:3px solid var(--navy);border-right:2px solid var(--line-strong);align-content:center;gap:7px;min-width:0;padding:10px;display:grid}.annual-scenario-actual{grid-column:3/span 2}.annual-scenario-possible{grid-column:5/span 2}.annual-scenario-optimal{border-right:0;grid-column:7/span 2}.annual-scenario-possible{border-left-color:#2d576d}.annual-scenario-optimal{border-left-color:#376b5e}.annual-scenario-heading{justify-content:space-between;align-items:baseline;gap:6px;display:flex}.annual-scenario-heading strong{color:var(--ink);font-size:10px}.annual-scenario-heading span{color:var(--muted);white-space:nowrap;font-size:8px}.annual-scenario-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.annual-scenario-values .strategy-number input{height:30px;font-size:10px}.annual-scenario-values .strategy-number span{top:9px}.form-error-banner{color:var(--red-dark);background:var(--danger-soft);border-top:1px solid #efc2c4;margin:0;padding:10px 16px;font-size:11px}.ute-workspace{background:var(--surface);border:1px solid var(--line);border-top:0}.ute-status-bar{border-bottom:1px solid var(--line);background:#f7f9fa;justify-content:space-between;align-items:center;gap:14px;min-height:58px;padding:10px 15px;display:flex}.ute-status-bar>div{gap:4px;display:grid}.ute-status-bar strong{color:var(--ink);font-size:11px}.ute-status-bar>div span{color:var(--muted);font-size:9px}.ute-config-status{white-space:nowrap;border:1px solid;border-radius:3px;align-items:center;gap:6px;padding:6px 9px;font-size:9px;font-weight:700;display:inline-flex}.ute-config-status.complete{color:var(--green);background:var(--green-soft);border-color:#b8d9ce}.ute-config-status.pending{color:var(--amber);background:var(--amber-soft);border-color:#ebd19e}.ute-partners-section{border-bottom:1px solid var(--line)}.ute-partners-table{border-collapse:collapse;table-layout:fixed;width:100%}.ute-partners-table th{color:#5b6a74;border:1px solid var(--line);text-align:left;text-transform:uppercase;background:#edf1f3;height:33px;padding:6px 10px;font-size:9px}.ute-partners-table td{border:1px solid var(--line);height:44px;padding:5px 8px}.ute-partners-table th:nth-child(2){width:180px}.ute-partners-table th:nth-child(3){width:120px}.ute-partners-table th:last-child{width:48px}.ute-partners-table td>input{width:100%;height:32px;padding:0 8px}.ute-partners-table .unit-input input{width:100%;height:32px}.chm-radio{color:var(--ink);align-items:center;gap:7px;font-size:10px;font-weight:700;display:inline-flex}.chm-radio input{width:15px;height:15px;accent-color:var(--red)}.ute-comparison-section{padding-bottom:18px}.ute-comparison-toolbar{border-bottom:1px solid var(--line);align-items:center;gap:14px;min-height:68px;padding:10px 14px;display:flex}.ute-comparison-toolbar>div{align-items:center;gap:9px;margin-right:auto;display:flex}.ute-comparison-toolbar h2{color:var(--ink);font-size:13px}.ute-comparison-toolbar h2+span{color:var(--muted);margin-top:3px;font-size:9px;display:block}.obra-h-selector{width:min(330px,35vw)}.obra-h-selector select{width:100%}.ute-comparison-table{border-collapse:separate;border-spacing:0;table-layout:fixed;text-align:right;width:100%;min-width:1120px}.ute-comparison-table th,.ute-comparison-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);height:43px;padding:5px 8px;font-size:10px}.ute-comparison-table th:first-child{text-align:left;width:210px}.ute-comparison-table thead th{background:var(--navy);color:#fff;text-align:center;text-transform:uppercase;border-color:#344958;height:32px;font-size:9px}.ute-comparison-table thead tr:nth-child(2) th{color:#50616c;border-color:var(--line);background:#edf1f3}.ute-comparison-table td:nth-child(2),.ute-comparison-table td:nth-child(4),.ute-comparison-table td:nth-child(6){border-right:2px solid var(--line-strong)}.ute-comparison-table .strategy-number input{height:31px}.ute-comparison-table td small{color:var(--muted);margin-top:3px;font-size:8px;display:block}.previous-comparison-row th,.previous-comparison-row td{color:#52616b;background:#f0f3f4;font-weight:700}.strategy-workspace,.price-revision-workspace{padding-bottom:18px}.workspace-heading-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:56px;padding:9px 14px;display:flex}.workspace-heading-row>div{gap:4px;display:grid}.workspace-heading-row h2{color:var(--ink);font-size:14px}.workspace-heading-row span{color:var(--muted);font-size:9px}.strategy-section{border-top:3px solid var(--blue);border-bottom:1px solid var(--line);margin-top:16px}.strategy-optimal{border-top-color:var(--green)}.strategy-heading{background:#f6f8f9;justify-content:space-between;align-items:center;min-height:52px;padding:8px 14px;display:flex}.strategy-heading h2{color:var(--ink);font-size:13px}.strategy-heading span{color:var(--muted);margin-top:3px;font-size:9px;display:block}.strategy-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:1160px}.strategy-table th{color:#5b6a74;border:1px solid var(--line);text-align:left;text-transform:uppercase;background:#edf1f3;height:33px;padding:6px 7px;font-size:9px}.strategy-table td{border:1px solid var(--line);vertical-align:middle;height:62px;padding:5px}.strategy-table th:first-child{width:74px}.strategy-table th:nth-child(2){width:20%}.strategy-table th:nth-child(n+3):nth-child(-n+7){width:108px}.strategy-table th:nth-child(8){width:20%}.strategy-table th:last-child{width:42px}.strategy-table textarea{resize:vertical;width:100%;height:50px;min-height:50px;padding:6px;font-size:10px}.strategy-table select{width:75px;height:32px}.order-controls{grid-template-columns:20px 24px 20px;justify-content:center;align-items:center;display:grid}.order-controls button{width:20px;height:26px;color:var(--muted);background:0 0;border:0;place-items:center;padding:0;display:grid}.order-controls span{text-align:center;color:var(--ink);font-size:10px;font-weight:700}.strategy-number{position:relative}.strategy-number input{text-align:right;width:100%;height:32px;padding:0 36px 0 6px;font-size:10px}.strategy-number span{color:var(--muted);font-size:8px;position:absolute;top:10px;right:5px}.price-revision-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:16px 14px 0;display:grid}.price-revision-grid label{gap:7px;min-width:0;display:grid}.price-revision-grid label>span{color:var(--text);font-size:10px;font-weight:700}.price-revision-grid .strategy-number input{height:36px;font-size:12px}.price-revision-grid .strategy-number span{top:12px}.post-price-results{padding-bottom:0}.post-price-results-table{border-collapse:collapse;table-layout:fixed;width:100%}.post-price-results-table th,.post-price-results-table td{border:1px solid var(--line);font-variant-numeric:tabular-nums;height:38px;padding:7px 12px}.post-price-results-table thead th{background:var(--navy);color:#fff;text-align:center;text-transform:uppercase;font-size:10px}.post-price-results-table thead th:first-child{text-align:left;width:31%}.post-price-results-table thead .scenario-possible{background:#2d576d}.post-price-results-table thead .scenario-optimal{background:#376b5e}.post-price-results-table tbody th{color:var(--text);text-align:left;background:#f2f4f5;font-size:10px}.post-price-results-table tbody td{color:var(--ink);text-align:right;font-size:13px;font-weight:700}.approval-workspace{min-height:320px}.approval-summary{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:82px;padding:16px 20px;display:flex}.approval-heading{color:var(--blue);align-items:center;gap:12px;display:flex}.approval-heading>div{gap:4px;display:grid}.approval-heading h2{color:var(--ink);font-size:14px}.approval-heading span{color:var(--muted);font-size:10px}.approval-responsible{border-left:1px solid var(--line);gap:5px;min-width:210px;padding-left:18px;display:grid}.approval-responsible span{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:700}.approval-responsible strong{color:var(--ink);font-size:12px}.approval-responsible small{color:var(--muted);font-size:9px}.approval-action-panel{border-bottom:1px solid var(--line);background:#f7f9fa;align-items:center;gap:9px;min-height:68px;padding:14px 20px;display:flex}.approval-waiting{color:var(--muted);font-size:11px;font-weight:600}.review-chain-panel{border-bottom:1px solid var(--line)}.review-chain-heading{justify-content:space-between;align-items:center;gap:14px;min-height:62px;padding:11px 20px;display:flex}.review-chain-heading>div{gap:4px;display:grid}.review-chain-heading h2{color:var(--ink);font-size:12px}.review-chain-heading span{color:var(--muted);font-size:9px}.review-chain-list{border-top:1px solid var(--line);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.review-chain-list>div{border-right:1px solid var(--line);grid-template-columns:25px minmax(0,1fr);align-items:center;gap:9px;min-width:0;min-height:82px;padding:12px;display:grid;position:relative}.review-chain-list>div:last-child{border-right:0}.review-chain-list>div.current{background:var(--blue-soft);box-shadow:inset 0 3px var(--blue)}.review-step{background:var(--soft);width:24px;height:24px;color:var(--text);border-radius:50%;place-items:center;font-size:9px;font-weight:700;display:grid}.review-chain-list .current .review-step{background:var(--blue);color:#fff}.review-chain-list>div>span:nth-child(2){gap:3px;min-width:0;display:grid}.review-chain-list small,.review-chain-list strong,.review-chain-list em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.review-chain-list small{color:var(--muted);text-transform:uppercase;font-size:8px;font-style:normal}.review-chain-list strong{color:var(--ink);font-size:10px}.review-chain-list em{color:var(--muted);font-size:8px;font-style:normal}.reviewer-inactive{color:var(--red-dark);background:var(--danger-soft);text-transform:uppercase;padding:2px 4px;font-size:7px;font-weight:700;position:absolute;top:6px;right:7px}.approval-timeline{max-width:720px;padding:20px}.approval-timeline>h2,.history-version-list>h2{color:var(--ink);border-bottom:1px solid var(--line);align-items:center;gap:8px;padding-bottom:12px;font-size:13px;display:flex}.history-workspace{grid-template-columns:300px minmax(0,1fr);min-height:390px;display:grid}.history-version-list{border-right:1px solid var(--line);padding:18px}.history-version-list>button{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:9px;width:100%;min-height:66px;padding:9px 6px;display:grid}.history-version-list>button:hover,.history-version-list>button.active{background:#f3f6f7}.history-version-list>button.active{box-shadow:inset 3px 0 var(--red)}.history-version-list>button>span:nth-child(2){gap:4px;min-width:0;display:grid}.history-version-list strong,.history-version-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.history-version-list strong{color:var(--ink);font-size:10px}.history-version-list small{color:var(--muted);font-size:9px}.history-version-list svg{color:var(--muted)}.history-version-detail{min-width:0;padding:18px}.history-detail-heading{justify-content:space-between;align-items:center;gap:14px;min-height:55px;padding-bottom:14px;display:flex}.history-detail-heading>div{align-items:center;gap:11px;display:flex}.history-detail-heading>div>span{background:var(--blue-soft);width:36px;height:36px;color:var(--blue);border-radius:50%;place-items:center;font-size:10px;font-weight:700;display:grid}.history-detail-heading h2{color:var(--ink);font-size:13px}.history-detail-heading small{color:var(--muted);margin-top:4px;font-size:9px;display:block}.history-grid-wrap{border:1px solid var(--line);max-height:430px}.history-grid{min-width:920px}.history-grid thead th{background:var(--navy);color:#fff;border-color:#344958}.history-settings{border:1px solid var(--line);background:#f7f9fa;border-top:0;flex-wrap:wrap;align-items:center;gap:14px 24px;min-height:50px;padding:11px 13px;display:flex}.history-settings span{color:var(--muted);text-transform:uppercase;font-size:9px}.history-settings strong{color:var(--ink);margin-left:5px;font-size:10px}.trace-layout{padding:20px}.trace-column{min-width:0}.trace-column h2{color:var(--ink);border-bottom:1px solid var(--line);align-items:center;gap:8px;padding-bottom:12px;font-size:13px;display:flex}.timeline{padding:18px 0 0 9px}.timeline-item{border-left:1px solid var(--line-strong);min-height:66px;padding:0 0 18px 30px;position:relative}.timeline-item:last-child{border-left-color:#0000}.timeline-marker{background:var(--green-soft);width:25px;height:25px;color:var(--green);border:1px solid #afd4c7;border-radius:50%;place-items:center;display:grid;position:absolute;top:-2px;left:-13px}.timeline-reject .timeline-marker{background:var(--danger-soft);color:var(--red);border-color:#eab4b7}.timeline-item>div{gap:4px;display:grid}.timeline-item strong{color:var(--ink);font-size:10px}.timeline-item span,.timeline-item p{color:var(--muted);font-size:9px;line-height:1.45}.timeline-item p{background:#f4f6f7;margin-top:3px;padding:7px}.version-list>div{border-bottom:1px solid var(--line);grid-template-columns:34px 1fr 20px;align-items:center;gap:10px;min-height:61px;padding:10px 5px;display:grid}.version-icon{background:var(--blue-soft);width:31px;height:31px;color:var(--blue);border-radius:50%;place-items:center;font-size:10px;font-weight:700;display:grid}.version-rejected{background:var(--danger-soft);color:var(--red)}.version-list div>div{gap:4px;display:grid}.version-list strong{color:var(--ink);font-size:10px}.version-list span{color:var(--muted);font-size:9px}.version-list svg{color:var(--muted)}.audit-column{grid-column:1/-1}.audit-table{border-collapse:collapse;text-align:left;width:100%;margin-top:10px}.audit-table th{color:var(--muted);border-bottom:1px solid var(--line);text-transform:uppercase;background:#f3f5f6;padding:8px 10px;font-size:9px}.audit-table td{border-bottom:1px solid var(--line);color:var(--text);vertical-align:top;padding:9px 10px;font-size:9px}.audit-table th:first-child{width:125px}.audit-table th:nth-child(2){width:150px}.audit-table th:nth-child(3){width:145px}.audit-table details summary{color:var(--blue);cursor:pointer;font-weight:700}.audit-table pre{background:var(--navy-deep);color:#dce6eb;white-space:pre-wrap;border-radius:3px;max-width:700px;max-height:220px;margin:8px 0 0;padding:9px;font:9px/1.45 Consolas,monospace;overflow:auto}@media (width<=1180px){.work-summary{grid-template-columns:repeat(3,1fr)}.work-summary>div:nth-child(6n){border-right:1px solid var(--line)}.work-summary>div:nth-child(3n){border-right:0}.work-summary>div:nth-child(n+4){border-top:1px solid var(--line)}.create-apo-layout{grid-template-columns:1fr}.ute-comparison-toolbar{flex-wrap:wrap;align-items:flex-start}.obra-h-selector{width:360px;max-width:100%}.history-workspace{grid-template-columns:250px minmax(0,1fr)}.review-chain-list{grid-template-columns:repeat(3,minmax(0,1fr))}.review-chain-list>div:nth-child(3){border-right:0}.review-chain-list>div:nth-child(-n+3){border-bottom:1px solid var(--line)}}@media (width<=860px){.app-shell{display:block}.sidebar{transition:transform .18s;transform:translate(-100%)}.sidebar-open{transform:translate(0)}.sidebar-close,.menu-button{display:inline-grid}.sidebar-overlay{z-index:25;background:#08141c80;border:0;display:block;position:fixed;inset:0}.main-shell{width:100%}.page-header{padding:0 16px}.page-content{padding:16px}.flash-message{margin:10px 16px 0}.page-actions .button{width:36px;padding:0;font-size:0}.page-actions .button svg{width:17px;height:17px}.filters{width:100%}.search-field{flex:1;width:auto}.section-toolbar{flex-direction:column;align-items:flex-start}.trace-layout,.history-workspace{grid-template-columns:1fr}.history-version-list{border-right:0;border-bottom:1px solid var(--line)}.apo-table-wrap{overflow-x:auto}.apo-grid{min-width:900px}.price-revision-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.login-page{grid-template-columns:1fr}.login-brand{display:none}.login-form-panel{align-items:center;min-height:100vh;padding:28px}.login-logo-blue{margin-bottom:10px;display:block}.metric-strip{grid-template-columns:1fr}.metric-item{border-right:0;border-bottom:1px solid var(--line)}.metric-item:last-child{border-bottom:0}.filters{flex-direction:column}.search-field,.filters select{width:100%}.form-grid{grid-template-columns:1fr}.form-span{grid-column:auto}.work-summary{grid-template-columns:repeat(2,1fr)}.work-summary>div:nth-child(3n){border-right:1px solid var(--line)}.work-summary>div:nth-child(2n){border-right:0}.work-summary>div{border-bottom:1px solid var(--line)}.editor-topline{flex-direction:column;align-items:flex-start}.editor-tabs{overflow-x:auto}.approval-summary{flex-direction:column;align-items:flex-start}.approval-responsible{border-left:0;border-top:1px solid var(--line);min-width:0;padding:12px 0 0}.approval-action-panel{flex-direction:column;align-items:stretch}.review-chain-heading{flex-direction:column;align-items:flex-start}.review-chain-list{grid-template-columns:1fr}.review-chain-list>div,.review-chain-list>div:nth-child(3){border-right:0;border-bottom:1px solid var(--line)}.review-chain-list>div:last-child{border-bottom:0}.apo-settings-bar{flex-direction:column;align-items:stretch;gap:12px;padding:12px 16px;display:flex}.apo-settings-bar>label{border-right:0;padding:0}.annual-split{border-top:1px solid var(--line);flex-direction:column;align-items:stretch;gap:10px;padding:14px 0 0;display:flex}.setting-heading{border-right:0;width:100%;padding:0}.annual-scenario{border-right:0;padding:0 0 0 10px}.setting-control-spacer{display:none}.price-revision-grid{grid-template-columns:1fr}}.sabana-period{min-width:220px}.sabana-warning{min-height:42px;color:var(--amber);background:var(--amber-soft);border:1px solid #ead09a;align-items:center;gap:9px;margin-bottom:12px;padding:9px 12px;font-size:10px;font-weight:700;display:flex}.sabana-warning span{color:var(--text)}.sabana-warning a{color:var(--blue);white-space:nowrap;margin-left:auto;text-decoration:underline}.sabana-workbook{background:var(--surface);border:1px solid var(--line-strong);min-width:0}.sabana-tabs{scrollbar-width:thin;background:#e5e9ec;border-bottom:1px solid #8e9ba4;align-items:flex-end;gap:2px;min-height:44px;padding:6px 6px 0;display:flex;overflow-x:auto}.sabana-tabs button{color:#52616b;white-space:nowrap;background:#f5f7f8;border:1px solid #aeb9c1;border-bottom:0;border-radius:3px 3px 0 0;min-height:35px;padding:0 12px;font-size:9px;font-weight:700}.sabana-tabs button:hover{color:var(--ink);background:#fff}.sabana-tabs button.active{color:#fff;background:var(--navy);border-color:var(--navy);min-height:38px;box-shadow:inset 0 3px var(--red)}.sabana-sheet-wrap{scrollbar-width:thin;width:100%;max-height:calc(100vh - 190px);position:relative;overflow:auto}.sabana-table{border-collapse:separate;border-spacing:0;table-layout:fixed;color:#25333d;width:2142px;min-width:100%}.sabana-table th,.sabana-table td{border-bottom:1px solid #d8dee2;border-right:1px solid #cbd3d8;height:27px;padding:3px 5px;font-size:9px;line-height:1.2;overflow:hidden}.sabana-table td.number{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:10px}.sabana-table td.percentage{color:#50616c}.sabana-table thead th{z-index:7;color:#fff;text-align:center;text-transform:uppercase;border-color:#40505b;position:sticky}.sabana-super-header th{background:var(--navy);white-space:normal;height:38px;top:0}.sabana-mid-header th{background:#405661;height:30px;top:38px}.sabana-leaf-header th{background:#687b85;height:28px;top:68px}.sabana-table thead .sabana-fixed-code{z-index:10;width:86px;left:0}.sabana-table thead .sabana-fixed-name{z-index:10;width:230px;left:86px}.sabana-table .group-start{border-left:2px solid #31444f!important}.sabana-table .origin-start{border-left:2px solid #7d909a!important}.sabana-code-cell{z-index:3;width:86px;color:var(--red-dark);text-align:left;background:#fff;position:sticky;left:0;min-width:86px!important}.sabana-code-cell a,.sabana-code-cell small{display:block}.sabana-code-cell a,.sabana-project-link{color:var(--red-dark);text-underline-offset:2px;font-weight:800;text-decoration:underline;text-decoration-thickness:1px}.sabana-code-cell a:hover,.sabana-project-link:hover{color:var(--red)}.sabana-code-cell small{color:var(--muted);margin-top:2px;font-size:7px;font-weight:400}.sabana-name-cell{z-index:3;width:230px;color:var(--ink);text-align:left;background:#fff;position:sticky;left:86px;min-width:230px!important;padding-right:31px!important}.sabana-name-cell>span,.sabana-name-cell>small{text-overflow:ellipsis;white-space:nowrap;max-width:185px;display:block;overflow:hidden}.sabana-name-cell>small{color:var(--muted);margin-top:2px;font-size:7px;font-weight:400}.sabana-name-cell .icon-button{width:22px;height:22px;position:absolute;top:4px;right:4px}.sabana-objectives{color:#51616b;white-space:pre-line;max-width:200px;min-width:200px!important}.sabana-zone-heading th,.sabana-zone-heading td{color:#fff;background:#012169;border-bottom-color:#012169;height:32px}.sabana-zone-heading th{z-index:4;text-align:left;padding-left:10px;font-size:10px;position:sticky;left:0}.sabana-group-heading th,.sabana-group-heading td{color:#42525d;background:#e8edef;height:24px}.sabana-group-heading th{z-index:4;text-align:left;padding-left:11px;font-size:8px;position:sticky;left:0}.sabana-ute-row td,.sabana-ute-row th{background-color:#f7fbfc}.sabana-total-row th,.sabana-total-row td{color:var(--ink);background:#dbe6ea;font-weight:700}.sabana-subtotal-row th,.sabana-subtotal-row td{color:#344651;background:#edf2f4;font-weight:700}.sabana-subtotal-row th,.sabana-total-row th,.sabana-net-row th,.sabana-adjustment-row th{z-index:3;text-align:left;padding-left:10px;position:sticky;left:0}.sabana-adjustment-row th,.sabana-adjustment-row td{color:#66531c;background:#fff5cf}.sabana-adjustment-row th{display:table-cell}.sabana-adjustment-row th>span{margin-right:8px}.sabana-adjustment-row .icon-button{vertical-align:middle;background:#fff;width:22px;height:22px}.sabana-adjustment-row .adjustment-value{font-weight:700}.sabana-net-row th,.sabana-net-row td{color:#fff;background:#3e5962;border-color:#687b83;font-weight:700}.sabana-company-total th,.sabana-company-total td{color:#fff;height:34px;font-weight:700;background:var(--navy)!important;border-color:#40505b!important}.sabana-table .sabana-net-row td.percentage,.sabana-table .sabana-company-total td.percentage{color:#fff}.sabana-company-total th{z-index:4;text-align:left;padding-left:10px;position:sticky;left:0}.sabana-table .negative,.sabana-summary-table .negative,.sabana-rrpp-table .negative,.sabana-calculated-values .negative{color:var(--red-dark)!important}.sabana-empty{min-height:260px;color:var(--muted);place-content:center;justify-items:center;gap:9px;display:grid}.summary-sheet-wrap{min-height:360px}.sabana-summary-table,.sabana-rrpp-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1050px}.sabana-summary-table th,.sabana-summary-table td,.sabana-rrpp-table th,.sabana-rrpp-table td{border-bottom:1px solid #d8dee2;border-right:1px solid #cbd3d8;height:34px;padding:6px 8px;font-size:9px}.sabana-summary-table thead th,.sabana-rrpp-table thead th{z-index:8;color:#fff;background:var(--navy);text-align:center;text-transform:uppercase;border-color:#40505b;position:sticky;top:0}.sabana-summary-table thead tr:nth-child(2) th{background:#566b76;top:34px}.sabana-summary-table tbody th{color:var(--ink);text-align:left;background:#edf1f3}.sabana-summary-table td,.sabana-rrpp-table td.number{text-align:right;font-variant-numeric:tabular-nums}.sabana-summary-zone th{padding-left:22px;font-weight:500}.sabana-summary-area th,.sabana-summary-area td{background:#dbe6ea;font-weight:800}.sabana-summary-company th,.sabana-summary-company td{height:38px;font-weight:800;color:#fff!important;background:var(--navy)!important;border-color:#40505b!important}.sabana-total-table{min-width:980px}.sabana-rrpp-table{table-layout:fixed;width:1600px;min-width:100%}.sabana-rrpp-table thead th{white-space:normal;height:58px;padding:8px 6px;line-height:1.3}.sabana-rrpp-table thead th:first-child{width:110px}.sabana-rrpp-table thead th:nth-child(2){width:90px}.sabana-rrpp-table thead th:nth-child(3){width:230px}.sabana-rrpp-table thead th:nth-child(4){width:180px}.sabana-rrpp-table thead th:nth-child(n+5):nth-child(-n+12){width:115px}.sabana-rrpp-table thead th:last-child{width:50px}.sabana-rrpp-table tbody th{color:var(--ink);text-align:left}.sabana-rrpp-table .sabana-zone-heading th{position:static}.sabana-rrpp-table .icon-button{width:24px;height:24px}.sabana-empty-group td{color:var(--muted);text-align:center;background:#fafbfb;font-style:italic}.sabana-fieldset{border:1px solid var(--line);margin:0;padding:13px}.sabana-fieldset legend{color:var(--ink);padding:0 6px;font-size:10px;font-weight:700}.sabana-edit-modal{width:min(100%,780px)}.sabana-price-form{grid-template-columns:repeat(2,minmax(0,1fr))}.sabana-edit-modal .strategy-number input{width:100%;height:38px;padding:0 48px 0 9px}.sabana-edit-modal .strategy-number span{top:13px}.sabana-calculated-values{border:1px solid var(--line);background:#f5f7f8;gap:8px;padding:10px 12px;display:grid}.sabana-calculated-values>div{justify-content:space-between;align-items:center;gap:16px;display:flex}.sabana-calculated-values span{color:var(--muted);font-size:10px}.sabana-calculated-values strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:11px}.works-admin-table th:first-child{width:34%}@media (width<=860px){.sabana-period{width:150px;min-width:0}.sabana-warning{flex-wrap:wrap;align-items:flex-start}.sabana-warning a{width:100%;margin-left:26px}.sabana-sheet-wrap{max-height:calc(100vh - 210px)}}@media (width<=640px){.sabana-price-form{grid-template-columns:1fr}}
