:root{font-family:Inter,"Segoe UI",Tahoma,Arial,sans-serif;color:#15243c;background:#f4f7fb;font-size:14px;--navy:#0d213a;--navy2:#142f4e;--teal:#007e82;--teal-light:#e8f7f5;--gold:#bf8b36;--red:#bb4f45;--border:#e3eaf1;--shadow:0 7px 30px rgba(16,34,55,.045)}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{text-decoration:none;color:inherit}[hidden]{display:none!important}
.app-shell{display:flex;min-height:100vh;direction:rtl}.sidebar{width:246px;background:var(--navy);color:#dce7f3;display:flex;flex-direction:column;flex:none;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:20}.brand{display:flex;align-items:center;gap:12px;padding:27px 23px 29px;border-bottom:1px solid #274059}.brand-symbol{width:45px;height:45px;border:1px solid #4a6b82;border-radius:12px;background:#1b3853;display:grid;place-items:center;font-weight:800;font-size:28px;color:#fff;direction:ltr}.brand-symbol span,.hero-brand>span{color:#29c1ad}.brand strong{font-size:17px;letter-spacing:1.4px;display:block;color:#fff}.brand small{color:#9bb0c5;font-size:10px;display:block;margin-top:4px;letter-spacing:.6px}.nav-caption{font-size:10px;letter-spacing:2px;color:#7894ad;padding:29px 25px 12px}.side-nav{display:flex;flex-direction:column;gap:5px;padding:0 11px}.side-link{min-height:44px;display:flex;align-items:center;gap:13px;border-radius:9px;padding:0 14px;font-weight:600;font-size:13px;transition:background .16s,color .16s}.side-link:hover{background:#234363;color:#fff}.side-link.active{background:#1d4961;color:#fff;box-shadow:inset -3px 0 #46d4c0}.nav-icon{width:24px;text-align:center;font-size:21px;font-weight:500;color:#8fb3c3;direction:ltr}.side-link.active .nav-icon{color:#61e4d2}.nav-tag{margin-inline-start:auto;font-size:10px;padding:3px 6px;border-radius:6px;background:#295870;color:#c7efe9}.sidebar-foot{margin:auto 16px 23px;padding:17px 11px;background:#142f4b;border:1px solid #2b465f;border-radius:11px;display:flex;gap:10px;align-items:center}.sidebar-foot strong{font-size:11px;display:block}.sidebar-foot small{font-size:10px;color:#9cb1c4;display:block;margin-top:5px}.safe-dot{width:9px;height:9px;border-radius:99px;background:#62cfba;box-shadow:0 0 0 5px #1d564f;flex:none}
.main-wrapper{flex:1;min-width:0}.topbar{height:66px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,2.5vw,40px);position:sticky;top:0;z-index:12}.top-title,.top-actions{display:flex;align-items:center;gap:15px}.crumb{color:#3c536b;font-size:12px;font-weight:600}.crumb span{color:#adb9c5;margin:0 7px}.connection{font-size:11px;color:#597185;display:flex;align-items:center;gap:7px}.status-dot{width:7px;height:7px;border-radius:50%;background:#20aa89}.btn{border:1px solid transparent;border-radius:9px;padding:10px 14px;display:inline-flex;justify-content:center;align-items:center;gap:7px;font-weight:650;font-size:12px;white-space:nowrap;min-height:37px;transition:transform .1s,background .15s,border .15s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:#087f80;color:#fff}.btn-primary:hover{background:#00696b}.btn-outline,.btn-subtle{background:white;color:#304c66;border-color:#d9e3eb}.btn-quiet{background:#eff4f9;color:#32516b}.icon-button{border:0;background:transparent;color:inherit;padding:6px;border-radius:8px}.icon-button:hover{background:#e9f0f7}.menu-mobile,.side-close{display:none}.main-content{max-width:1550px;margin:auto;padding:29px clamp(17px,2.5vw,41px) 13px}.page-heading{display:flex;gap:16px;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.overline{margin:0 0 9px;font-size:10px;font-weight:700;letter-spacing:1.4px;color:#068788;direction:ltr;text-align:right}.page-heading h1{margin:0 0 8px;font-size:clamp(23px,2.1vw,30px);line-height:1.3;letter-spacing:-.7px}.subtitle{color:#718295;font-size:13px;margin:0;line-height:1.8}.page-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.file-pill{border:1px solid #e0e8f0;border-radius:8px;padding:9px 12px;color:#728398;background:#fff;font-size:11px;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:ltr}.scope-banner{background:#e9f4f5;border:1px solid #d4e9e8;color:#346166;min-height:41px;display:flex;align-items:center;gap:10px;font-size:12px;border-radius:9px;padding:10px 14px;margin-bottom:23px;line-height:1.6}.pulse{width:7px;height:7px;flex:none;border-radius:50%;background:#018d85}.footer{text-align:center;color:#9ba9b8;font-size:10px;padding:25px 0 5px}
.content{min-height:300px}.loading-card{height:280px;background:#fff;border:1px solid var(--border);border-radius:15px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#71879a}.spinner{width:30px;height:30px;border:3px solid #dce9ed;border-top-color:#159b98;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.kpi{background:#fff;border:1px solid var(--border);border-radius:12px;padding:20px 20px 17px;box-shadow:var(--shadow);min-height:123px}.kpi-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:8px}.kpi .kpi-label{font-weight:600;color:#6c8094;font-size:12px}.kpi-icon{width:31px;height:31px;border-radius:9px;background:#edf4f9;color:#55738a;display:grid;place-items:center;font-size:17px;flex:none}.kpi strong{font-size:clamp(19px,2vw,27px);color:#122945;direction:ltr;display:block;text-align:right;font-variant-numeric:tabular-nums}.kpi small{font-size:10px;color:#9caabb;margin-top:7px;display:block}.kpi.emphasis{border-top:3px solid var(--teal)}.kpi.negative strong{color:var(--red)}.kpi .accent{color:var(--teal)}
.panel-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:16px}.panel{background:#fff;border:1px solid var(--border);border-radius:13px;box-shadow:var(--shadow);padding:20px;min-width:0;margin-bottom:16px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px;flex-wrap:wrap}.panel-head h2{font-size:15px;margin:0 0 4px;font-weight:750}.panel-head p{margin:0;color:#8999a8;font-size:11px}.panel-title{margin:0 0 15px;font-size:15px}.legend{display:flex;align-items:center;gap:12px;font-size:10px;color:#657d90}.legend b{display:inline-block;width:8px;height:8px;border-radius:3px;background:var(--teal)}.legend .profit{background:#b5a16c}
.chart-wrap{height:247px;display:flex;align-items:end;gap:9px;position:relative;border-bottom:1px solid #d9e4ec;padding:20px 2px 0;margin-top:9px}.chart-month{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:8px}.chart-bars{height:calc(100% - 28px);display:flex;align-items:end;justify-content:center;width:100%;gap:3px}.chart-bar{max-width:24px;width:38%;border-radius:5px 5px 1px 1px;min-height:2px;transition:height .2s}.chart-bar.revenue{background:#087e84}.chart-bar.profit{background:#b1a178}.chart-caption{font-size:10px;color:#8192a3;direction:ltr;white-space:nowrap}.chart-axis{font-size:10px;color:#9aabba;text-align:left;direction:ltr;margin-top:8px}
.table-scroll{width:100%;overflow:auto;overscroll-behavior-inline:contain;border-radius:8px}.data-table{width:100%;border-collapse:collapse;font-size:12px;min-width:630px;direction:rtl}.data-table th{text-align:right;white-space:nowrap;background:#f4f7fa;color:#698095;padding:13px 12px;font-size:11px;font-weight:750;border-bottom:1px solid #e1eaf1}.data-table td{padding:12px;border-bottom:1px solid #eef2f6;color:#354a63;white-space:nowrap}.data-table tr:hover td{background:#f8fbfc}.data-table td.num{text-align:left;font-variant-numeric:tabular-nums;direction:ltr;font-family:Inter,"Segoe UI",Tahoma,Arial,sans-serif}.data-table td.label{font-weight:600;max-width:320px;overflow:hidden;text-overflow:ellipsis}.data-table .bad{color:#bc5347;font-weight:750}.data-table .good{color:#087f78;font-weight:750}.data-table .muted{color:#8f9eab}.data-table .code{color:#1e5670;direction:ltr;unicode-bidi:isolate}.table-foot{display:flex;justify-content:space-between;gap:13px;align-items:center;margin-top:15px;color:#8da0b0;font-size:11px;flex-wrap:wrap}
.row-flex{display:flex;align-items:center;gap:11px;flex-wrap:wrap}.select{min-width:135px;max-width:210px;background:#fff;color:#344b60;border:1px solid #dbe5ee;padding:9px 11px;border-radius:8px;font-size:12px}.helper{background:#f1f8f8;border:1px solid #dceeed;border-radius:10px;padding:15px 16px;color:#3a626b;font-size:12px;line-height:1.95;margin-bottom:16px}.helper.warning{background:#fff9ed;border-color:#f2e5ce;color:#8a6530}.pill{font-size:10px;padding:4px 8px;border-radius:7px;font-weight:750;white-space:nowrap}.pill.priority{background:#ffefeb;color:#b45345}.pill.review{background:#f2f6fa;color:#536c81}.delta-chip{display:inline-flex;font-size:10px;border-radius:6px;padding:5px 7px;background:#fff2ef;color:#b84f44}.delta-chip.good{background:#e5f6f2;color:#057c76}.separator{border:0;border-top:1px solid #e9eef4;margin:16px 0}.minicards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.mini{border:1px solid var(--border);padding:17px;border-radius:11px;background:#fff}.mini strong{display:block;font-size:22px;direction:ltr;text-align:right;margin:7px 0}.mini small{color:#8b9eaf}.empty{padding:46px 20px;text-align:center;color:#8094a5;line-height:2}.empty strong{display:block;color:#3d5369;font-size:15px}.bad-text{color:#b54b43}.good-text{color:#008078}.note-small{font-size:11px;color:#91a0af;line-height:1.8}
.filter-panel{position:fixed;z-index:41;inset-block:0;inset-inline-start:0;width:min(390px,100%);background:#fff;box-shadow:-8px 0 40px #12283b2b;display:flex;flex-direction:column;transform:translateX(110%);transition:transform .2s ease}.filter-panel.open{transform:none}.filter-shade,.shade{position:fixed;inset:0;z-index:39;background:#0a213e88}.filter-head{padding:24px 24px 15px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #edf0f5}.filter-head h2{margin:0;font-size:20px}.filter-body{overflow:auto;padding:20px 24px;flex:1}.filter-body .assist{line-height:1.8;color:#718699;font-size:12px;margin:0 0 20px}.filter-body label,.login-card label{display:block;color:#344c63;font-size:12px;font-weight:750;margin:0 0 7px}.filter-body select,.filter-body input,.login-card input{width:100%;border:1px solid #d9e3ec;border-radius:9px;background:#fff;padding:11px 12px;margin:0 0 19px;color:#223d55;outline:none}.filter-body select:focus,.filter-body input:focus,.login-card input:focus{border-color:#048f90;box-shadow:0 0 0 3px #05b7ab1c}.preset{padding:14px;background:#f4f8fb;border:1px solid #e2eaf1;border-radius:9px}.preset h3{font-size:12px;margin:0 0 5px}.preset p{font-size:11px;color:#7b8da0;line-height:1.7}.filter-actions{padding:16px 24px;border-top:1px solid #edf1f5;display:flex;gap:9px}.filter-actions>*{flex:1}.tiny{font-size:10px;color:#71899b}.toast{position:fixed;left:20px;bottom:22px;z-index:60;background:#0e2b46;color:#fff;padding:13px 18px;border-radius:10px;max-width:390px;box-shadow:0 8px 26px #1b324e4a;font-size:12px;line-height:1.8}
.login-page{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;background:#f4f7fb}.login-hero{background:#0d213a;color:#fff;position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:36px clamp(25px,6vw,80px);overflow:hidden}.login-hero:after{content:'';position:absolute;inset:auto -130px -200px auto;width:540px;height:540px;border:1px solid #2c5366;border-radius:50%;box-shadow:0 0 0 65px #123048,0 0 0 140px #112b44;opacity:.35;pointer-events:none}.hero-brand{display:flex;align-items:center;gap:9px;font-size:38px;font-weight:850;direction:ltr;justify-content:flex-end}.hero-brand strong{font-size:20px;display:flex;flex-direction:column}.hero-brand small{font-size:10px;font-weight:500;color:#a0bacb;letter-spacing:1px}.hero-content{z-index:1}.hero-content h1{font-size:clamp(36px,4.5vw,64px);line-height:1.3;margin:20px 0}.hero-content p{max-width:420px;color:#9ab3c8;line-height:2;font-size:15px}.login-stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.login-stats span{border:1px solid #36546a;background:#1a3952;padding:9px 14px;border-radius:7px;color:#d6e7ee;font-size:11px}.login-note{font-size:11px;color:#7896ad;z-index:1}.login-form-wrap{display:grid;place-items:center;padding:25px}.login-card{width:min(420px,100%)}.welcome-icon{display:grid;place-items:center;width:52px;height:52px;background:#e4f4f2;color:#007e7f;border-radius:13px;font-size:26px;margin-bottom:27px}.login-card h2{font-size:30px;margin:0 0 11px}.login-card .subtitle{margin-bottom:38px}.login-card input{height:51px}.login-button{width:100%;min-height:49px;margin-top:9px;font-size:14px}.error-text{color:#c24e42;min-height:19px;font-size:12px}.login-foot{border-top:1px solid #dfe7ee;margin-top:30px;padding-top:22px;font-size:11px;color:#8495a8;line-height:1.9}
@media(max-width:1200px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-grid{grid-template-columns:1fr}.sidebar{width:220px}}
@media(max-width:850px){.sidebar{position:fixed;right:0;top:0;height:100dvh;transform:translateX(110%);transition:transform .23s;width:266px;z-index:30}.sidebar.open{transform:none}.menu-mobile,.side-close{display:inline-flex}.side-close{margin-inline-start:auto;color:#d9e6f2}.topbar{height:61px}.connection{display:none}.login-page{grid-template-columns:1fr}.login-hero{min-height:250px;padding:28px}.hero-content h1{font-size:30px;margin:10px 0}.hero-content p,.login-stats,.login-note{display:none}.login-form-wrap{padding:33px 23px}.login-card{width:min(460px,100%)}.login-card .subtitle{margin-bottom:25px}}
@media(max-width:540px){.main-content{padding:19px 14px 12px}.topbar{padding:0 14px}.top-actions{gap:6px}.crumb{font-size:11px;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}.page-heading{align-items:flex-start;flex-direction:column;gap:13px;margin-bottom:17px}.page-heading h1{font-size:24px}.page-tools{width:100%;justify-content:space-between}.file-pill{max-width:53%}.scope-banner{margin-bottom:16px}.kpi-grid{gap:9px}.kpi{min-height:109px;padding:15px 12px}.kpi-head{margin-bottom:10px}.kpi strong{font-size:20px}.kpi .kpi-label{font-size:11px}.kpi-icon{width:25px;height:25px;font-size:14px}.panel{padding:15px;margin-bottom:11px}.minicards{grid-template-columns:1fr;gap:9px}.chart-wrap{height:200px;gap:5px}.chart-caption{font-size:9px}.chart-bars{gap:1px}.chart-bar{max-width:20px}.row-flex{gap:7px}.select{min-width:110px;max-width:100%;flex:1}.data-table{min-width:590px}.table-scroll{margin-inline:-3px;width:calc(100% + 6px)}.helper{padding:12px 13px}.nav-caption{padding-top:18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* UX v3 — navigation, filtering, touch accessibility and readable tables. */
:root{--focus:#007c83;--ring:0 0 0 3px rgba(0,126,130,.22)}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.overlay-open{overflow:hidden}
.topbar{gap:12px}.top-actions{gap:9px}
.refresh-action{font-size:24px;line-height:1;min-width:38px;min-height:38px;border:1px solid #e3eaf1;background:#fff;color:#46697f}
.counter{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;background:#0c7e81;color:white;border-radius:999px;font-size:11px;font-weight:800}
.filter-chips{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:-12px 0 19px}
.filter-chips:empty{display:none}.filter-chip{border:1px solid #bfdbda;background:#fff;color:#1b6364;border-radius:999px;padding:7px 12px;font-size:12px;min-height:34px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.filter-chip:hover{background:#e7f4f2;border-color:#6ba8a6}
.scope-banner{margin-bottom:17px}
.quick-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:2px 0 16px}
.quick-link{border:1px solid var(--border);display:flex;align-items:center;gap:12px;border-radius:12px;padding:13px 14px;background:#fff;min-width:0;box-shadow:var(--shadow);transition:border-color .15s,background .15s,transform .15s}
.quick-link:hover{border-color:#8cc6c0;background:#f5fcfa;transform:translateY(-1px)}
.quick-icon{border-radius:10px;background:#eaf6f4;color:#067b7c;min-width:34px;height:34px;display:grid;place-items:center;font-size:21px}
.quick-copy{font-size:12px;font-weight:760;color:#203d53;white-space:nowrap}
.quick-link small{font-size:10px;color:#738aa0;line-height:1.6}.quick-chevron{margin-inline-start:auto;color:#087f80;font-size:19px}
.compare-cta{margin-bottom:16px}
.sort-header{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;border:0;background:transparent;color:inherit;text-align:inherit;font:inherit;font-weight:750;padding:2px 0;cursor:pointer;white-space:nowrap}
.sort-header:hover,.sort-header:focus-visible{color:#047f81}
.sort-mark{font-weight:850;color:#188a89}
.data-table thead th{position:sticky;top:0;z-index:1}
.table-scroll:focus-visible{outline:2px solid #0a858a;outline-offset:2px}
.data-table tbody tr:nth-child(2n){background:#fcfdff}
.data-table tbody tr:focus-within{background:#f5fbfb}
.branch-picker{border:1px solid #dbe5eb;border-radius:10px;padding:9px;margin-bottom:17px;background:#fbfdff}
.filter-body .branch-picker input[type=search]{margin:0 0 8px;min-height:42px;font-size:16px}
.branch-actions{display:flex;gap:7px;margin-bottom:7px}.branch-actions .btn{font-size:11px;min-height:34px;flex:1;padding:6px}
.branch-options{max-height:200px;overflow:auto;overscroll-behavior:contain;border:1px solid #e4ebf2;border-radius:8px;background:white}
.branch-choice{display:flex!important;align-items:center;gap:9px;padding:8px 11px;margin:0!important;cursor:pointer;border-bottom:1px solid #f0f3f6;color:#283f51!important;font-size:12px!important;font-weight:600!important;min-height:38px}
.branch-choice:last-child{border:0}.branch-choice:hover{background:#f2faf9}
.branch-choice:has(input:checked){background:#eaf7f5;color:#045e60!important}
.filter-body .branch-choice input{width:17px;height:17px;accent-color:#087e82;margin:0;flex:none}
.selection-count{font-size:11px;font-weight:500;color:#0b8284;padding-right:7px}
.filter-panel .filter-head{padding:18px 20px 12px}.filter-panel .filter-body{padding:16px 20px}
.filter-panel .filter-body select,.filter-panel .filter-body input{min-height:42px;margin-bottom:15px;font-size:16px}
.filter-panel .filter-actions{padding:12px 20px max(14px,env(safe-area-inset-bottom))}
.filter-panel .filter-actions .btn{min-height:45px}
.filter-shade{z-index:40}.shade{z-index:29}
.error-panel{display:grid;gap:12px;place-items:center;padding:45px 22px;border:1px solid #f1dedb;border-radius:14px;background:#fffafa;text-align:center;color:#964f4a}
.error-panel strong{font-size:16px}.error-panel p{margin:0;line-height:1.7}.error-panel button{margin-top:8px}
.mobile-dock{display:none}
@media(max-width:1100px){.quick-links{grid-template-columns:1fr 1fr}.quick-link small{display:none}}
@media(max-width:850px){.sidebar{z-index:31}.topbar{z-index:15}}
@media(max-width:650px){
 .main-content{padding:16px 12px calc(91px + env(safe-area-inset-bottom))}
 .page-heading{gap:11px;margin-bottom:14px}.page-heading h1{font-size:23px;margin-bottom:5px}
 .page-heading .subtitle{font-size:12px}
 .topbar{height:60px;padding:0 12px}.crumb{font-size:12px;max-width:175px}
 .top-actions{gap:6px}.refresh-action{min-width:34px;min-height:35px}
 .page-tools{gap:8px}.page-tools .btn{flex:none}.file-pill{flex:1;min-width:0}
 .quick-links{grid-template-columns:1fr;gap:7px;margin:0 0 13px}
 .quick-link{min-height:47px;padding:9px 12px}.quick-icon{width:32px;height:32px;min-width:32px}.quick-link small{display:inline;font-size:10px}.quick-copy{font-size:12px}
 .quick-chevron{display:none}
 .scope-banner{font-size:11px;min-height:37px;padding:8px 10px}.filter-chips{margin-top:-7px;gap:5px}.filter-chip{font-size:11px;padding:5px 10px;min-height:32px}
 .panel-head{align-items:flex-start}.panel-head .row-flex{width:100%}.panel-head .select{flex:1;min-width:0}
 .panel{padding:13px}.kpi-grid{gap:8px}.kpi{padding:13px 12px;min-height:112px}
 .kpi strong{font-size:clamp(17px,4.8vw,22px);overflow-wrap:anywhere}.kpi small{font-size:10px;line-height:1.4}
 .table-cards{overflow:visible}.table-cards .data-table{display:block;width:100%;min-width:0}
 .table-cards .data-table thead{display:none}.table-cards .data-table tbody{display:grid;gap:9px}
 .table-cards .data-table tr{display:grid;border:1px solid #e2e9ef;border-radius:11px;background:#fff;overflow:hidden;padding:5px 11px}
 .table-cards .data-table td{display:flex;justify-content:space-between;align-items:center;gap:14px;width:100%;max-width:none;padding:8px 0;border-bottom:1px solid #eff3f6;white-space:normal;overflow:visible;text-overflow:clip;font-size:12px;direction:rtl!important;text-align:start!important}
 .table-cards .data-table td:last-child{border:0}
 .table-cards .data-table td::before{content:attr(data-label);display:block;flex:0 0 42%;font-size:11px;color:#60778a;text-align:right;font-family:Tahoma,Arial,sans-serif;font-weight:600}
 .table-cards .data-table td.label{font-weight:760}
 .table-cards .data-table td.num{font-variant-numeric:tabular-nums;unicode-bidi:plaintext}
 .mobile-dock{position:fixed;z-index:25;bottom:0;inset-inline:0;background:#fff;border-top:1px solid #dfe8ed;box-shadow:0 -8px 28px #0f294015;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:7px 5px max(7px,env(safe-area-inset-bottom));gap:2px}
 .dock-link{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:49px;gap:2px;border-radius:9px;color:#678196;background:transparent;border:0;padding:3px 0;font:inherit}
 .dock-link span{font-size:21px;line-height:1.1}.dock-link small{font-size:10px;font-weight:650}
 .dock-link.active{background:#e5f5f2;color:#007e80}
 .toast{bottom:calc(78px + env(safe-area-inset-bottom));left:12px;right:12px;max-width:none;font-size:12px}
 .filter-panel{width:min(420px,100%)}
 .footer{font-size:10px;line-height:1.8}
}
@media(max-width:360px){.crumb{max-width:130px}.top-actions .btn{padding:9px 10px}.kpi strong{font-size:17px}.quick-link small{display:none}}
/* Actionable opportunities: compact review cards, progressive disclosure */
.opp-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px 0 14px}
.opp-search{height:40px;width:min(420px,100%);border:1px solid #d4e1e8;border-radius:9px;padding:0 13px;background:#fbfdff;color:#20394c;font-size:14px;outline:none}
.opp-search:focus{box-shadow:var(--ring);border-color:#05868a}
.opportunity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.opp-card{background:#fcfefe;border:1px solid #e0e8ed;border-radius:12px;padding:16px;min-width:0;display:flex;flex-direction:column;gap:8px}
.opp-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.opp-branch{color:#426279;font-size:12px;font-weight:700;white-space:nowrap}
.opp-title{font-size:14px;font-weight:800;line-height:1.55;margin:2px 0 0;color:#19334d}
.opp-code{color:#8699aa;font-size:11px;direction:ltr;text-align:right}
.opp-amount{display:flex;justify-content:space-between;align-items:center;gap:9px;padding:9px 0;border-top:1px solid #edf0f5;border-bottom:1px solid #edf0f5;color:#6b7e90;font-size:11px}
.opp-amount-number{font-size:18px;color:#a44c3e;font-weight:800;direction:ltr;text-align:right;font-variant-numeric:tabular-nums}
.opp-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.opp-metric{min-width:0}.opp-metric span{display:block;color:#8596a5;font-size:10px;margin-bottom:4px}.opp-metric strong{display:block;color:#27445b;font-size:12px;direction:ltr;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.opp-expand{align-self:start;margin-top:4px;font-size:11px}
.opp-detail{background:#f1f8f7;border:1px solid #dcefe8;border-radius:9px;padding:12px;font-size:12px;line-height:1.8}
.opp-detail strong{color:#1a555a;display:block}.opp-detail p{color:#395b64;margin:5px 0 10px}.opp-detail .opp-ratio{font-size:11px;color:#727d83;margin-bottom:0}
.opportunity-foot{display:flex;justify-content:center;margin:15px 0}
@media(max-width:1000px){.opportunity-grid{grid-template-columns:1fr}}
@media(max-width:650px){.opp-card{padding:13px;gap:8px}.opp-amount-number{font-size:17px}.opp-metric strong{font-size:11px}.opp-toolbar{align-items:stretch;flex-direction:column}.opp-search{width:100%;font-size:16px}.opp-title{font-size:14px}}
.mobile-sort{display:none}
@media(max-width:650px){.mobile-sort{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 10px;padding:8px;background:#f5f9fb;border:1px solid #e2eaf0;border-radius:9px}.mobile-sort label{font-size:11px;color:#45677e;font-weight:750}.mobile-sort select{min-width:100px;flex:1;border:1px solid #d6e4ea;background:#fff;border-radius:7px;font-size:14px;min-height:37px;color:#183a4b;padding:6px}.mobile-sort .btn{padding:7px 8px;font-size:11px}}
.kpi-value{display:block;width:100%;border:0;background:transparent;color:inherit;padding:0;text-align:right;cursor:pointer}
.kpi-value .kpi-short{display:none}
.kpi-value:focus-visible{border-radius:5px}
.opp-code{white-space:normal;overflow-wrap:anywhere;unicode-bidi:plaintext}
@media(max-width:650px){
 .kpi-value .kpi-exact{display:none}
 .kpi-value .kpi-short{display:block;white-space:nowrap;font-size:clamp(16px,4.5vw,21px)}
 .kpi-value.show-exact .kpi-exact{display:block;font-size:16px;white-space:normal;overflow-wrap:anywhere}
 .kpi-value.show-exact .kpi-short{display:none}
}

/* v4 — unified product design layer: restrained navy + petroleum teal, compact rhythm */
:root{
 --navy:#10263e;--navy2:#1a3a55;--teal:#057c79;--teal-light:#eaf5f2;
 --gold:#9d8350;--red:#b4453b;--border:#dce5ea;
 --shadow:0 2px 8px rgba(16,38,62,.035);
 --ring:0 0 0 3px rgba(5,124,121,.14);
 color:#1b3448;background:#f3f6f8;
 font-family:"Segoe UI Variable","Segoe UI",Tahoma,Arial,sans-serif;
}
body{font-size:14px;line-height:1.5}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #007d7a;outline-offset:2px}
button:active,.btn:active,.quick-link:active{transform:translateY(0) scale(.99)}
.sidebar{width:232px;background:linear-gradient(180deg,#10283f,#0e233a);border-left:1px solid #30495b}
.brand{padding:21px 17px 22px;gap:10px}
.brand-symbol{width:41px;height:41px;border-color:#547189;border-radius:11px;background:#20425a;font-size:25px}
.brand strong{font-size:15px;letter-spacing:.8px}
.brand small{font-size:9px}
.nav-caption{padding:23px 23px 10px;letter-spacing:1.1px}
.side-nav{gap:3px;padding:0 10px}
.side-link{min-height:43px;font-size:12.5px;padding:0 12px;gap:11px;border:1px solid transparent}
.side-link:hover{background:#203d53;border-color:#3d596a}
.side-link.active{background:#22485c;box-shadow:inset -3px 0 #43cbb8;border-color:#2d6072}
.side-link .nav-icon{display:grid;place-items:center;width:23px;height:23px}
.ui-icon{display:inline-block;vertical-align:middle;flex:none}
.dock-link .ui-icon{width:21px;height:21px}
.nav-icon .ui-icon{width:19px;height:19px}
.sidebar-foot{padding:12px;margin:18px 12px 17px;border-radius:9px}
.topbar{height:60px;padding:0 clamp(14px,2vw,30px)}
.crumb{font-size:12px;color:#4c6577}
.main-content{max-width:1450px;padding:24px clamp(14px,2.5vw,32px) 16px}
.page-heading{margin-bottom:17px;align-items:center}
.page-heading h1{font-size:clamp(23px,2vw,29px);letter-spacing:-.35px;margin-bottom:3px}
.subtitle{font-size:12px;color:#6d7e8e;line-height:1.65}
.overline{color:#117e7c;font-size:9px;letter-spacing:1.15px;margin-bottom:5px}
.scope-banner{min-height:37px;margin-bottom:13px;padding:8px 12px;background:#ecf5f4;border-color:#d7ebe8;color:#426a6a;font-size:11.5px}
.file-pill{max-width:220px;padding:7px 11px;font-size:10.5px}
.btn{font-size:12px;border-radius:9px;padding:8px 13px;min-height:38px;box-shadow:none}
.btn:hover{box-shadow:0 2px 6px rgba(17,48,68,.08)}
.btn-primary{background:#087873}.btn-primary:hover{background:#05655f}
.btn-outline,.btn-subtle{color:#36546b;border-color:#d3e0e7}
.btn-outline:hover,.btn-subtle:hover{background:#f5faf9;border-color:#a9cbc6}
.btn-quiet{background:#eff4f7;color:#385c70}
.panel{padding:17px;border-radius:11px;margin-bottom:13px;border:1px solid #dde7ed}
.panel-head{margin-bottom:13px}
.panel-head h2{font-size:14px;font-weight:750;color:#193b4f}
.panel-head p{font-size:11px;color:#75899a;line-height:1.65}
.kpi-grid{gap:10px;margin-bottom:12px}
.kpi{padding:15px 16px 13px;border-radius:11px;min-height:108px}
.kpi-head{margin-bottom:10px}
.kpi .kpi-label{font-size:11px;color:#667f91}
.kpi-icon{height:27px;width:27px;border-radius:8px;color:#3d6e7d;background:#eff6f7}
.kpi strong{font-size:clamp(18px,1.8vw,24px);letter-spacing:-.2px}
.kpi small{font-size:10px;color:#8396a5;line-height:1.6;margin-top:5px}
.kpi.emphasis{border-top:2px solid #07807a}
.panel-grid{gap:13px}
.data-table{font-size:12px}
.data-table th{font-size:11px;padding:11px 10px;background:#f3f7f9}
.data-table td{padding:10px 11px}
.chart-wrap{height:217px}
.quick-links{gap:9px;margin-bottom:13px}
.quick-link{padding:11px;border-radius:10px;box-shadow:none}
.quick-icon{height:32px;width:32px;min-width:32px;font-size:18px}
.filter-chip{border-radius:9px}
.filter-panel{box-shadow:-12px 0 32px #0b233133}
.filter-panel .filter-body{scrollbar-width:thin}
.preset{border-radius:11px}
.login-page{background:#f5f8fa}
.login-hero{background:linear-gradient(145deg,#10283f,#153c55)}
.footer{color:#899ca9;padding:19px 0 6px}
/* Decisions / action follow-up: compact, predictable grid with no modals for basic editing */
.plan-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:2px 0 14px}
.plan-toolbar .opp-search{flex:1 1 260px;min-width:0}
.plan-toolbar .select{flex:0 1 200px;max-width:none;height:40px}
.plan-toolbar .tiny{margin-inline-start:auto;color:#668393}
.plan-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.plan-card{background:#fff;border:1px solid #dce6eb;border-radius:12px;padding:17px;min-width:0;display:flex;flex-direction:column;gap:12px}
.plan-card:hover{border-color:#bdd8d4}
.plan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.plan-head h3{margin:5px 0 4px}
.plan-branch{font-size:11px;color:#067d79;font-weight:750}
.plan-amount{font-size:16px;font-weight:800;color:#a5523d;direction:ltr;white-space:nowrap;font-variant-numeric:tabular-nums}
.plan-hint{margin:0;color:#788e9c;font-size:10px;line-height:1.7;overflow-wrap:anywhere}
.plan-card .helper{margin:0;padding:10px 11px;font-size:11.5px}
.plan-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.plan-field{display:flex;flex-direction:column;gap:5px;color:#566d80;font-size:11px;font-weight:650;min-width:0}
.plan-field input,.plan-field select,.plan-field textarea{border:1px solid #d7e2e9;background:#fff;border-radius:8px;padding:9px;color:#203b52;min-width:0;width:100%;min-height:39px;font:inherit;font-weight:500}
.plan-field:has(textarea){grid-column:1/-1}
.plan-field textarea{resize:vertical;line-height:1.7;min-height:78px}
.plan-buttons{display:flex;gap:8px;margin-top:auto}
.plan-buttons .btn:first-child{flex:1}
.action-add{margin-top:auto;width:100%}
/* Robust responsive layout */
@media(max-width:1100px){.plan-list{grid-template-columns:1fr}.sidebar{width:216px}}
@media(max-width:850px){.sidebar{width:258px}.topbar{height:59px}}
@media(max-width:650px){
 body{font-size:13px}.main-content{padding:14px 11px calc(88px + env(safe-area-inset-bottom))}
 .page-heading{margin-bottom:13px;gap:9px}.page-heading h1{font-size:22px}
 .topbar{height:55px;padding:0 11px}.connection{display:none}.crumb{font-size:11px}
 .file-pill{max-width:none;font-size:10px}.page-tools{width:100%}.page-tools .btn{min-height:38px}
 .kpi-grid{gap:8px}.kpi{padding:12px 11px;min-height:104px}.kpi-head{margin-bottom:8px}
 .panel{padding:13px}.panel-head{gap:10px}
 .row-flex{gap:7px}.row-flex .select{min-width:0;flex:1}
 .plan-card{padding:13px}.plan-head{flex-wrap:wrap}.plan-amount{font-size:15px}
 .plan-fields{gap:8px}.plan-field input,.plan-field select,.plan-field textarea{font-size:16px}
 .mobile-dock{padding-block-start:5px;box-shadow:0 -5px 16px #10283b12}
 .dock-link{min-height:50px}.dock-link small{font-size:10px}.dock-link.active{background:#e8f4f2;color:#066e69}
 .filter-panel{width:100%}.filter-panel .filter-actions .btn{min-height:44px}
 .opp-card{padding:12px}.quick-link{padding:9px 10px}
 .footer{font-size:10px;padding:12px 0}
}
@media(max-width:380px){.plan-fields{grid-template-columns:1fr}.plan-field:has(textarea){grid-column:auto}.plan-amount{white-space:normal}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Tables embedded in narrow split panels must keep both labels AND amounts visible. */
.panel-grid .data-table{min-width:0;width:100%}
.panel-grid .data-table th,.panel-grid .data-table td{padding:10px 8px}
.panel-grid .data-table td.num{white-space:nowrap;min-width:118px;text-align:left}
@media(max-width:650px){.panel-grid .data-table td.num{min-width:0}}
