@charset "UTF-8";
:root{--navy:#0f2a61;--petrol:#173d8c;--teal:#17408f;--gold:#f7e82c;--ink:#243d49;--muted:#71828b;--line:#e2e8eb;--bg:#f3f6f8;--white:#fff;--orange:#d88821;--negative:#ba454b;font-family:"Segoe UI",Arial,sans-serif;color:var(--ink);font-size:14px;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink);padding:8px 12px;transition:background .12s,border-color .12s}button:hover{background:#eef2fb;border-color:#b2c7ce}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #5b86d8;outline-offset:2px}input,select,textarea{border:1px solid #ccd8dd;border-radius:6px;padding:10px 11px;background:white;color:var(--ink);min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #3a63bd;outline-offset:1px}label{display:flex;flex-direction:column;gap:7px;font-size:14px}h1,h2,p{margin:0}h2{font-size:18px;letter-spacing:-.3px}[hidden]{display:none!important}.primary{background:var(--petrol);color:#fff;border-color:var(--petrol);font-weight:600}.primary:hover{background:#0f2a61;color:white}.secondary{background:#eef2fb;border-color:#ccd8f0;color:var(--petrol);font-weight:600}.text-button{background:transparent;border:0;padding:5px;color:var(--teal)}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.7px;color:var(--teal)}.muted{color:var(--muted)}.error-text{color:#b63b43;line-height:1.5;min-height:0}.spinner{display:inline-block;width:17px;height:17px;border:2px solid #bfd3d9;border-top-color:var(--petrol);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.login-view{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-brand{position:relative;overflow:hidden;background:var(--navy);padding:8vh 9vw;color:#fff;display:flex;flex-direction:column;align-items:flex-start}.brand-logo{width:32px;height:32px;flex:none;border-radius:8px;background:#fff;padding:2px;object-fit:contain}.brand-logo.big{width:58px;height:58px;border-radius:14px;padding:5px}
.brand-mark{height:54px;width:54px;display:grid;place-items:center;border:1px solid #33569f;border-radius:12px;color:#f7e82c;font-size:30px;font-weight:700}.login-brand p{font-size:14px;letter-spacing:2px;margin-top:20px}.login-brand h1{font-size:clamp(32px,3.5vw,55px);letter-spacing:-1.8px;line-height:1.22;font-weight:500;margin-top:12vh}.login-brand>span{font-size:12px;letter-spacing:2px;margin-top:28px;color:#b3c4e8}.login-lines{width:90%;height:250px;border-top:1px solid #33528f;border-bottom:1px solid #33528f;transform:rotate(-12deg);position:absolute;bottom:-80px;left:10%;box-shadow:0 -40px 0 -39px #33528f,0 -80px 0 -79px #33528f}.login-form-wrap{display:grid;place-items:center;padding:40px}.login-form{width:420px;max-width:100%;display:flex;flex-direction:column;gap:23px}.login-form h2{font-size:32px;letter-spacing:-1px;margin-top:-8px}.login-form p{color:var(--muted);margin-top:-10px;line-height:1.5}.login-form .error-text{color:var(--negative)}.login-form .primary{display:flex;justify-content:space-between;padding:13px}.login-form .divider{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:1px;color:var(--muted);margin-bottom:15px}.divider:after,.divider:before{content:"";height:1px;background:var(--line);flex:1}.login-form small{display:block;color:var(--muted);text-align:center;margin-top:10px;font-size:12px}#demo-button{width:100%}
.external-login{display:flex;flex-direction:column;gap:14px;margin-top:4px}.identity-button{height:60px;border:1px solid #d8dee8;border-radius:10px;background:#fff;color:#172033;display:flex;align-items:center;justify-content:center;gap:15px;font-size:15px;font-weight:600;text-decoration:none;box-shadow:0 2px 5px rgba(17,35,70,.06);transition:border-color .15s,box-shadow .15s,transform .15s}.identity-button:hover{border-color:#9eabc0;box-shadow:0 6px 16px rgba(17,35,70,.1);transform:translateY(-1px)}.identity-button:focus-visible{outline:3px solid rgba(27,83,177,.2);outline-offset:2px}.identity-button svg{width:24px;height:24px;flex:none}
.workspace{display:grid;grid-template-columns:232px minmax(0,1fr);grid-template-rows:52px 1fr;min-height:100vh}.topbar{grid-column:1/-1;display:flex;align-items:center;background:var(--navy);color:white;padding:0 22px;gap:24px;position:sticky;top:0;z-index:40;border-bottom:1px solid #25488f}.brand{display:flex;gap:10px;align-items:center;width:186px;font-weight:650;letter-spacing:1px}.brand-mark.small{width:33px;height:35px;border-radius:7px;font-size:21px}.brand>div>span{display:block;color:#adbfe6;font-size:9px;letter-spacing:1.35px;font-weight:400;margin-top:4px}.top-title{font-size:18px;font-weight:400;letter-spacing:.3px}.top-title>span{font-weight:650;color:#f7e82c;margin-left:3px}.top-actions{display:flex;align-items:center;gap:14px;margin-left:auto}.save-state{font-size:12px;color:#c3d3f0;padding-right:10px}.save-state:before{content:"";display:inline-block;height:6px;width:6px;margin:0 7px 1px 0;background:#6ac8a8;border-radius:50%}.save-state.saving:before{background:#ecc45c;animation:pulse 1s infinite}.save-state.failed{color:#ffc0c3}.save-state.failed:before{background:#ff7884}.header-button{color:#dbe4f6;border-color:#2e4d8e;background:transparent;font-size:12px;padding:5px 10px}.header-button:hover{background:#1a3a75;color:white}.avatar{border-radius:50%;width:29px;height:29px;padding:0;background:#22458c;color:#e8eefb;border-color:#4a68ad;font-weight:600;font-size:12px}.sidebar{grid-row:2;grid-column:1;background:#0b2050;color:#d6dff2;position:sticky;top:52px;height:calc(100vh - 52px);padding:18px 16px 14px;display:flex;flex-direction:column;overflow:auto}.sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:14px}.sidebar-heading>span{font-size:10px;font-weight:650;letter-spacing:1px;color:#9db3dd}.sidebar-heading button{border:0;background:none;color:#b2c9d0;font-size:10px;padding:0}.company-box>label{font-size:12px;color:#bfcdea;margin-bottom:5px}.company-picker{width:100%;background:#1b3b83;color:#f1f6f7;border:1px solid #33569f;display:flex;justify-content:space-between;align-items:center;text-align:left;font-weight:600;font-size:13px;min-height:36px}.company-picker:hover{background:#24499b;color:#fff}.company-box>small{font-size:11px;color:#98aedb;display:block;margin-top:6px}.sidebar-rule{height:1px;background:#22407d;margin:13px 0}.filter{margin-bottom:9px}.filter>label{font-size:12px;color:#b6c6e8;display:block;margin-bottom:4px}.filter>button{width:100%;padding:6px 10px;display:flex;align-items:center;justify-content:space-between;background:#0a1c48;color:#e3edf0;border-color:#254280;font-size:13px;text-align:left;min-height:31px}.filter>button>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:10px}.filter>button.active{border-color:#c8bb2a;color:#f7e82c}.filter>button:hover{background:#16326e}.sidebar-footer{display:flex;gap:9px;align-items:flex-start;margin-top:auto;padding-top:16px;font-size:11px;color:#bfcdea}.sidebar-footer small{font-size:10px;color:#8a9fcf;display:block;margin-top:5px}.connection-dot{height:6px;width:6px;background:#69b89e;border-radius:50%;margin-top:5px}
.main-work{min-width:0;padding:27px 28px 16px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px;gap:20px}.page-heading h1{font-size:27px;font-weight:600;letter-spacing:-.9px;margin-top:6px}.page-heading p{font-size:12px;color:var(--muted);margin-top:7px}.heading-note{font-size:11px;color:var(--muted);display:flex;gap:7px;align-items:center}.dot{width:6px;height:6px;border-radius:50%;display:inline-block}.real{background:#18ac7c}.forecast{background:#b07d0e}.heading-note .forecast{margin-left:12px}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:22px}.kpi{background:white;border:1px solid var(--line);border-radius:9px;padding:16px 18px;box-shadow:0 3px 8px #203d4903;position:relative;overflow:hidden}.kpi .label{font-size:12px;color:var(--muted);display:flex;justify-content:space-between}.kpi .value{font-size:24px;letter-spacing:-.7px;font-weight:650;margin-top:10px;font-variant-numeric:tabular-nums;white-space:nowrap}.kpi small{display:block;font-size:11px;color:var(--muted);margin-top:6px}.kpi.accent{border-color:#c9d5ee;background:linear-gradient(115deg,#fafffd,#f1f8f6)}.kpi.accent:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#27509f}.kpi.accent .value{color:var(--teal)}
.matrix-card{border:1px solid #d9e2e6;border-radius:10px;background:white;box-shadow:0 5px 18px #23445205;overflow:hidden}.matrix-title{padding:18px 20px 15px;display:flex;align-items:center;justify-content:space-between}.matrix-title h2{font-size:16px;font-weight:650}.matrix-title>div>span{display:block;font-size:11px;color:var(--muted);margin-top:4px}.approval-year{display:flex;align-items:center;gap:10px}.approval-year label{font-size:11px;color:var(--muted)}.approval-year select{font-size:12px;font-weight:650;padding:5px 8px;border-color:#d9e3e7;background:#f8fafb}.toolbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px 13px;display:flex;gap:12px;align-items:center;justify-content:space-between;background:#fcfdfe}.toolbar-actions{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.toolbar button{font-size:11px;padding:6px 8px;display:flex;align-items:center;gap:8px;border-color:transparent;background:transparent;white-space:nowrap}.toolbar button:hover{background:#eaf0f3;border-color:#dce5e8}.toolbar button[aria-pressed=true]{background:#e8eefb;color:#193b7c}.switch{width:22px;height:12px;border-radius:10px;background:#bdcbcf;position:relative}.switch:after{content:"";position:absolute;background:white;width:8px;height:8px;top:2px;left:2px;border-radius:50%}.switch.on{background:#27509f}.switch.on:after{left:12px}.search-wrap{display:flex;flex-direction:row;align-items:center;gap:5px;border:1px solid #d9e2e6;border-radius:5px;background:white;padding-left:8px;min-width:140px;max-width:200px;flex:1;color:#8498a1}.search-wrap input{border:0;background:transparent;padding:6px 5px;font-size:11px;width:100%;outline:none}.search-wrap:focus-within{outline:2px solid #8fa9dd}.matrix-scroll{position:relative;max-height:510px;min-height:230px;overflow:auto;scrollbar-width:thin;scrollbar-color:#b5c7cf #f2f6f7}table{border-collapse:separate;border-spacing:0;width:100%;font-variant-numeric:tabular-nums}th,td{border-right:1px solid #e6ecef;border-bottom:1px solid #e6ecef;font-weight:400;font-size:12px;padding:10px 13px;white-space:nowrap;text-align:right}th{color:#6b7f89;font-size:11px;background:#f7f9fb}.year-head{font-size:13px;color:var(--ink);text-align:center;background:#eff4f7;font-weight:600;position:sticky;top:0;z-index:10;height:35px;padding:4px 8px}.year-head button{background:none;border:0;padding:3px 20px;color:inherit;font-weight:650}.year-head button:hover{background:#e0eaee}.year-head.forecast-year{background:#f7edcd;color:#6a5314}.period-head{position:sticky;top:35px;z-index:10;height:30px;text-align:center;padding:7px 12px;background:#f7f9fb}.metric-head{position:sticky;top:65px;z-index:10;height:29px;font-size:10px;padding:7px 11px}.entity-head{position:sticky!important;left:0;top:0;z-index:25!important;text-align:left;min-width:260px;width:260px;background:#f0f5f7;padding-left:18px!important;font-size:11px;color:#70838e}.approval-head{min-width:104px;background:#f4f7f8;text-align:center;color:#607985;position:sticky;top:0;z-index:11;line-height:1.5}.approval-head span{display:block;color:#254b5b;font-size:12px}.entity-cell{position:sticky;left:0;z-index:5;background:white;text-align:left;min-width:260px;max-width:320px;border-right:1px solid #d2e0e5;box-shadow:2px 0 4px #30465105;padding:0 10px 0 15px;height:39px;cursor:pointer;overflow:hidden;text-overflow:ellipsis}.entity-cell>div{display:flex;align-items:center;gap:6px}.row-name{overflow:hidden;text-overflow:ellipsis;max-width:270px;display:inline-block;vertical-align:middle}.tree-toggle{border:0;padding:2px;width:17px;height:20px;flex:none;border-radius:3px;background:transparent;color:#6d929f;line-height:1;font-size:15px}.tree-space{width:17px;flex:none}.tree-toggle:hover{background:#d8e8ed}.level-1 .entity-cell{font-weight:500}.level-2 .entity-cell{color:#537380}.level-3 .entity-cell,.level-4 .entity-cell,.level-5 .entity-cell{font-size:11px;color:#587583}.total-row td{background:#e7edfa!important;color:#12306a;font-weight:700;border-bottom:1px solid #ccd8f0;height:42px}.total-row .entity-cell{z-index:6}.matrix-scroll tbody tr:hover td{background:#f5f9fa}.matrix-scroll tbody tr.selected td{background:#eef5f8}.matrix-scroll tbody tr.selected .entity-cell{box-shadow:inset 3px 0 #27509f}.money-cell{min-width:134px;font-feature-settings:"tnum";font-weight:500}.money-cell.editable{background:#f8ecc4;color:#5b4610;cursor:cell}.money-cell.editable:hover{background:#f0dfa2!important;box-shadow:inset 0 0 0 1px #b8912c}.money-cell.locked{color:#81929b;background:#fafbfc}.money-cell.mixed{background:#f5f7ed;color:#48613d}.money-cell.annual{font-weight:650;border-left:1px solid #dce5e8}.delta{font-size:11px;min-width:102px;color:#32816c;background:#f8fbfa}.delta.negative{color:var(--negative)}.delta.neutral{color:#9badb4}.money-cell.negative{color:var(--negative)}.month-divider{border-left:1px solid #d2dfe5}.approval-cell{text-align:center;padding:5px 9px}.status{border-radius:5px;font-size:10px;letter-spacing:.05px;font-weight:600;padding:4px 8px;border:1px solid transparent;min-width:79px;text-align:center;display:inline-block}.status.review{background:#fff2d9;color:#946716}.status.approved{background:#e8f3e7;color:#527844}.status.rejected{background:#fcebed;color:#a3434c}.status.partial{background:#e9eff5;color:#597995}.status.empty{background:#f2f5f7;color:#8a9aa3}.status:hover{border-color:currentColor}.matrix-footer{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:10px 15px;background:#fafcfd;color:#81949f;font-size:10px;border-top:1px solid var(--line)}.matrix-footer>span:first-child{color:#536f7d}.table-loading{position:sticky;bottom:20px;left:50%;width:max-content;display:flex;gap:10px;padding:12px 18px;background:white;box-shadow:0 5px 20px #15313d30;border:1px solid #d8e2e7;border-radius:8px;font-size:12px;z-index:30}.empty-cell{padding:60px 30px;text-align:center;color:var(--muted)}.load-more td{text-align:left;background:#f7fafb}.load-more button{margin-left:20px;font-size:11px}.cell-editor{width:130px;border:2px solid #b8912c;border-radius:3px;padding:3px 6px;text-align:right;background:#fffcea;font-size:12px;font-weight:650}.editing{padding:4px!important}.chart-card{position:relative;background:white;margin-top:20px;border:1px solid #dfe7eb;border-radius:10px;padding:20px 22px 10px;box-shadow:0 4px 14px #19354603}.chart-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:12px}.chart-heading .eyebrow{font-size:9px;letter-spacing:1.3px;color:#7e939e}.chart-heading h2{font-size:15px;font-weight:600;margin-top:5px}.chart-heading p{font-size:11px;color:var(--muted);margin-top:5px}.chart-legend{display:flex;gap:16px;font-size:10px;color:#8799a3;flex-wrap:wrap}.chart-legend>span{display:flex;align-items:center;gap:5px}.chart-legend i{width:16px;height:2px;display:block}.chart-legend .original-line{background:#9aafbf}.chart{width:100%;height:220px}.chart svg{width:100%;height:100%;overflow:visible}.chart .grid-line{stroke:#e7edf1;stroke-width:1;stroke-dasharray:3 4}.chart text{font:10px "Segoe UI",sans-serif;fill:#8b9eaa}.chart .forecast-zone{fill:#fdf6e2}.chart .sale-path{fill:none;stroke:#23aa81;stroke-width:2.3;stroke-linejoin:round;stroke-linecap:round}.chart .forecast-path{fill:none;stroke:#b07d0e;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.chart .original-path{fill:none;stroke:#9cadb8;stroke-width:1.3;stroke-dasharray:4 4}.chart .hit-area{fill:transparent;cursor:crosshair}.chart-tooltip{position:absolute;background:#0f2a61;color:white;border-radius:7px;padding:10px 12px;font-size:11px;line-height:1.8;pointer-events:none;box-shadow:0 5px 20px #102d3d20;z-index:20;min-width:180px}.chart-tooltip strong{display:block;color:#f7e82c;font-size:12px}.work-footer{display:flex;justify-content:space-between;margin-top:14px;color:#93a3ac;font-size:10px;gap:15px}
dialog{border:1px solid #d4e0e5;border-radius:12px;box-shadow:0 25px 100px #0b293b38;padding:0;width:520px;max-width:calc(100vw - 30px);max-height:85vh;color:var(--ink)}dialog::backdrop{background:#0f2a6165;backdrop-filter:blur(2px)}.modal-head{padding:22px 24px 17px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);gap:16px}.modal-head h2{font-size:19px}.modal-head p{font-size:12px;color:var(--muted);line-height:1.5;margin-top:7px}.close-modal{padding:0;border:0;width:24px;height:24px;font-size:24px;line-height:1;color:#8b9fa8;background:none}.modal-body{padding:22px 24px;max-height:60vh;overflow:auto}.modal-body>p{line-height:1.6;font-size:13px;color:var(--muted)}.modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:15px 24px;border-top:1px solid var(--line);background:#f9fbfc}.modal-actions .left{margin-right:auto}.modal-actions button{font-size:12px}.choice-list{display:flex;flex-direction:column;gap:3px;max-height:340px;overflow:auto;margin-top:14px}.choice{display:flex;flex-direction:row;align-items:center;gap:11px;padding:11px 10px;border-radius:6px;cursor:pointer;font-size:13px}.choice:hover{background:#f0f5f7}.choice input{accent-color:var(--petrol);width:16px;height:16px;margin:0}.choice small{margin-left:auto;font-size:10px;color:var(--muted)}.modal-search{width:100%}.info-box{padding:12px 14px;border-radius:6px;background:#f0f6f7;color:#58757f;font-size:12px;line-height:1.6;margin-top:15px}.modal-form{display:flex;flex-direction:column;gap:17px}.modal-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.hierarchy-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}.hierarchy-list li{display:flex;align-items:center;padding:10px 12px;background:#f4f8fa;border:1px solid #dce7eb;border-radius:6px;gap:12px}.hierarchy-list .order-number{font-size:11px;color:#8ca0ab;width:18px}.hierarchy-list li>span:nth-child(2){flex:1}.hierarchy-list button{padding:2px 9px;background:white;color:#587b8b}.hierarchy-list .remove-level{color:#a46b6d}.wide-modal{width:980px}.history-tabs{display:flex;gap:10px;margin-bottom:18px}.history-tabs button.active{background:var(--petrol);color:white}.activity-table th,.activity-table td{text-align:left;font-size:11px;white-space:normal;vertical-align:top;line-height:1.5}.activity-table th{font-weight:600;padding:10px}.activity-table .amount{text-align:right;white-space:nowrap}.activity-table td:first-child{min-width:120px}.activity-scope{max-width:320px}.activity-table small{display:block;color:var(--muted);font-size:10px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--navy);border:1px solid #33549b;color:white;box-shadow:0 8px 25px #0d2c4033;padding:13px 22px;border-radius:8px;font-size:13px;z-index:100;max-width:calc(100vw - 40px);line-height:1.5}.toast.error{background:#73323b;border-color:#a2636a}.role-checks{display:flex;gap:9px;flex-wrap:wrap}.role-checks label{font-size:12px;flex-direction:row;align-items:center;padding:7px;background:#eef2fb;border-radius:5px;gap:5px}.role-checks input{accent-color:var(--petrol)}.admin-user{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.admin-user>div{flex:1}.admin-user strong{font-size:13px}.admin-user small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.admin-user button{font-size:11px}.grant-card{border:1px solid var(--line);border-radius:8px;padding:13px;display:grid;gap:11px;margin-top:10px}.grant-card .grant-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}.grant-card select[multiple]{min-height:78px}.confirm-value{font-size:28px;font-weight:650;margin:15px 0;letter-spacing:-1px}.pending-notice{background:#fff6dc;color:#92732b;padding:12px;border-radius:6px;font-size:12px;line-height:1.6}.approve-buttons{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0}.approve-buttons button{flex:1;min-width:105px;font-size:12px}.danger-button{color:#a54f57;border-color:#e5bfc4;background:#fff3f4}.modal-body textarea{width:100%;resize:vertical;min-height:90px}.account-info{display:flex;align-items:center;gap:15px;margin-bottom:20px}.account-info .avatar{width:44px;height:44px}.account-info strong{display:block}.account-info small{color:var(--muted);display:block;margin-top:5px}@keyframes pulse{50%{opacity:.25}}
.year-head{text-align:left}.year-head button{white-space:nowrap;will-change:transform}
.metric-switch{display:flex;border:1px solid #d9e2e6;border-radius:6px;overflow:hidden;background:white;margin-right:7px}.metric-switch button{border:0;border-radius:0;padding:6px 11px;font-size:11px;color:#6b7f89;background:transparent}.metric-switch button+button{border-left:1px solid #e6ecef}.metric-switch button:hover{background:#eaf0f3}.metric-switch button[aria-pressed=true]{background:#e8eefb;color:#193b7c;font-weight:650;box-shadow:inset 0 -2px 0 #27509f}
.money-cell.readonly{color:#5d7280;background:#fbfcfd;cursor:default}.money-cell.readonly.mixed{background:#f7f9f4}
@media(min-width:1650px){.main-work{padding:30px 38px}.matrix-scroll{max-height:560px}.money-cell{min-width:152px}th,td{font-size:13px}.kpi .value{font-size:28px}.chart{height:240px}}
@media(max-width:1150px){.workspace{grid-template-columns:210px minmax(0,1fr)}.topbar{padding:0 18px;gap:13px}.brand{width:180px}.main-work{padding:23px 18px}.toolbar{flex-wrap:wrap}.search-wrap{max-width:100%;flex-basis:100%}.kpis{gap:9px}.kpi{padding:14px 12px}.kpi .value{font-size:20px}.heading-note{display:none}.save-state{display:none}.chart-legend{gap:9px}.matrix-footer span:nth-child(2){max-width:260px}.entity-head,.entity-cell{min-width:240px;max-width:240px}.row-name{max-width:205px}.chart-heading{align-items:flex-start}}
@media(max-width:760px){.workspace{grid-template-columns:170px minmax(0,1fr)}.sidebar{padding:18px 10px}.sidebar-heading>span{font-size:9px}.sidebar-heading button{font-size:9px}.topbar{padding:0 12px}.brand{width:145px;font-size:12px}.brand>div>span{font-size:7px}.top-title{font-size:14px}.header-button{font-size:10px;padding:6px}.top-actions{gap:7px}.main-work{padding:20px 12px}.page-heading h1{font-size:22px}.kpis{grid-template-columns:1fr 1fr}.kpi .value{font-size:20px}.chart-heading{flex-direction:column}.matrix-title{padding:14px 12px;gap:10px}.matrix-title>div>span{max-width:190px;line-height:1.5}.matrix-footer span:nth-child(2){display:none}.work-footer{display:none}.entity-head,.entity-cell{min-width:200px;max-width:200px}.row-name{max-width:170px}.login-brand{display:none}.login-view{grid-template-columns:1fr}.login-form-wrap{padding:30px}.top-title{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.choice.select-all{margin-top:6px;border-bottom:1px solid var(--line);border-radius:6px 6px 0 0}.choice.select-all strong{font-weight:600}

/* Orden de agrupacion: niveles arrastrables con manija, sin flechas. */
.hierarchy-list li{cursor:grab;user-select:none}
.hierarchy-list li:active{cursor:grabbing}
.hierarchy-list li:focus-visible{outline:2px solid #587b8b;outline-offset:1px}
.hierarchy-list li.dragging{opacity:.45}
.hierarchy-list li.drop-target{border-color:#587b8b;box-shadow:inset 0 0 0 1px #587b8b}
.hierarchy-list .drag-handle{color:#8ca0ab;font-size:15px;letter-spacing:-3px;line-height:1;width:14px}
.hierarchy-list li>span:nth-child(2){flex:none}
.hierarchy-list .order-label{flex:1}
