@font-face{font-family:AppSans;src:local('Aptos'),local('Segoe UI')}*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:#f3f6f9;color:#143247;font-family:AppSans,Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1.5}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #10a9db;outline-offset:3px}button{border:0}button svg{flex-shrink:0}svg{vertical-align:middle}.layout{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100dvh}.sidebar{background:#092c48;color:#c4d4e1;position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;padding:34px 20px 22px}.brand{color:white;padding:0 12px 32px;font-size:26px;font-weight:800;line-height:1.05;letter-spacing:-1px}.brand em{font-style:normal;color:#4ad0e5}.brand small{display:block;font-size:12px;font-weight:500;letter-spacing:2.4px;text-transform:uppercase;color:#a8bfce;margin-top:15px}.nav{display:grid;gap:7px}.nav button{display:flex;gap:12px;align-items:center;text-align:left;border-radius:9px;padding:13px 14px;color:inherit;background:none;min-height:49px;font-size:15px;font-weight:550}.nav button:hover{background:#ffffff0c}.nav button.active{background:#164360;color:#fff;box-shadow:inset 3px 0 #48cfe3}.nav button .navnum{margin-left:auto;font-size:12px;background:#ffffff14;border-radius:5px;padding:1px 6px}.sidebottom{margin-top:auto;padding-top:30px}.sidefoot{border-top:1px solid #ffffff1b;display:flex;align-items:center;gap:11px;padding:23px 8px 0}.avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#28506a;color:#fff;font-size:13px;font-weight:750}.sidefoot b{display:block;color:white;font-size:14px}.sidefoot small{font-size:12px}.workspace{min-width:0}.topbar{height:88px;padding:0 40px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #e1e8ed;background:#fff}.crumb{font-size:14px;color:#657e90}.crumb b{color:#234459;font-weight:600}.status{font-size:13px;display:flex;gap:8px;align-items:center;color:#4e697c}.status .dot{width:7px;height:7px;border-radius:50%;background:#258374}.status.offline .dot{background:#b87515}.topactions{display:flex;align-items:center;gap:20px}.content{padding:32px 40px 40px;max-width:1640px;margin:auto}.pagehead{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:25px}.eyebrow{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;color:#648296;margin:0 0 7px}h1{font-size:31px;letter-spacing:-.8px;line-height:1.2;margin:0;font-weight:750}h2{font-size:19px;margin:0 0 5px;font-weight:700;letter-spacing:-.25px}h3{font-size:16px;margin:0}.sub{color:#6e8494;margin:9px 0 0;font-size:15px}.badge{display:inline-flex;gap:6px;align-items:center;border-radius:6px;padding:5px 9px;background:#eaf0f4;color:#426075;font-size:12px;font-weight:650;white-space:nowrap}.badge.amber{background:#fff2d8;color:#956018}.badge.teal{background:#e3f4ef;color:#207962}.badge.blue{background:#e4f2fc;color:#2370a0}.historical{border:1px solid #eadab8;background:#fff9eb;color:#7b602e;border-radius:9px;display:flex;gap:12px;align-items:flex-start;padding:13px 16px;margin-bottom:26px;font-size:14px}.historical strong{font-weight:700}.historical svg{margin-top:2px;flex-shrink:0}.historical a,.historical button{font-size:14px;color:inherit;text-decoration:underline;background:none;padding:0}.btn{display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:44px;padding:10px 15px;background:white;color:#31536b;border:1px solid #d6e0e8;border-radius:8px;font-size:14px;font-weight:650;text-decoration:none;white-space:nowrap}.btn:hover{background:#f4f8fb}.btn.primary{background:#087ea3;border-color:#087ea3;color:white}.btn.primary:hover{background:#066684}.btn.quiet{background:transparent;border-color:transparent;color:#4584a1}.btn.danger{color:#ae3c3c}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:25px}.metric{background:#fff;border:1px solid #e0e7ed;border-radius:12px;padding:21px 23px;min-width:0}.metriclabel{font-size:14px;color:#6a8191;display:flex;justify-content:space-between;gap:10px}.metriclabel svg{color:#6e9eb5}.metricvalue{font-size:31px;font-weight:750;letter-spacing:-.8px;margin:10px 0 5px;line-height:1.2;font-variant-numeric:tabular-nums}.metameta{font-size:12px;color:#7b8e9c}.metricdelta{margin-top:12px;font-size:13px}.up{color:#26896e}.down{color:#bd5c4f}.columns{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr);gap:24px}.panel{background:#fff;border:1px solid #e0e7ed;border-radius:12px;overflow:hidden}.panelhead{padding:22px 24px 19px;display:flex;align-items:flex-start;justify-content:space-between;gap:15px;border-bottom:1px solid #edf1f5}.panelhead .sub{font-size:13px;margin:4px 0 0}.panelbody{padding:22px 24px}.sectiongap{margin-top:24px}.tablewrap{overflow-x:auto;overscroll-behavior-x:contain}table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}thead{background:#f8fafc;color:#718796}th{padding:12px 18px;font-size:12px;text-transform:uppercase;letter-spacing:.6px;font-weight:650;white-space:nowrap}td{padding:16px 18px;border-top:1px solid #edf1f4;vertical-align:middle}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}td small{display:block;color:#7a8d9a;font-size:12px;margin-top:3px}.rowbtn{color:#244e6b;background:none;font-weight:650;text-align:left;padding:5px 0;min-height:35px}.rowbtn:hover{text-decoration:underline}.clickrow:hover{background:#f7fbfe}.clickrow.selected{background:#eaf5fb}td.name{max-width:250px}td.name b{font-weight:600}th button{padding:0;border:0;background:transparent;text-align:inherit;color:inherit;font:inherit}.pagination{padding:13px 18px;display:flex;justify-content:space-between;align-items:center;color:#7a8a97;font-size:13px;border-top:1px solid #e6edf2;gap:15px}.pagination div{display:flex;gap:7px}.pagination button{min-width:42px;min-height:42px;border:1px solid #dfe6ec;border-radius:7px;background:white;color:#4f6b7c}.pagination button:disabled{opacity:.35;cursor:default}.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.searchbox{position:relative;flex:1;min-width:220px}.searchbox svg{position:absolute;left:14px;top:14px;color:#8aa0af}.searchbox input{width:100%;height:48px;background:white;border:1px solid #d7e2e9;border-radius:8px;padding:0 16px 0 44px;color:#23465d;font-size:15px}select,input[type=date],input[type=text],input[type=password]{height:46px;border:1px solid #d7e2e9;border-radius:8px;background:white;color:#35576f;padding:8px 12px;max-width:100%}.filterlabel{font-size:12px;color:#6c8190;display:grid;gap:4px}.chip{display:inline-flex;gap:9px;align-items:center;font-size:13px;background:#e6f0f7;color:#285f83;padding:7px 10px;border-radius:7px}.chip button{background:none;color:inherit;padding:4px;min-width:28px;min-height:28px}.focusbar{margin-bottom:20px;display:flex;align-items:center;flex-wrap:wrap;gap:10px}.listitem{display:flex;gap:14px;align-items:center;padding:15px 0;border-bottom:1px solid #edf1f5}.listitem:last-child{border:0}.listitem .square{height:40px;width:40px;display:grid;place-items:center;background:#f0f6fa;border-radius:9px;color:#5284a0;flex-shrink:0}.listitem b{font-size:14px;display:block}.listitem small{font-size:12px;color:#8397a5}.listitem .right{margin-left:auto;text-align:right}.listitem button{background:none;padding:0;text-align:left;color:inherit}.chart{display:flex;flex-direction:column;gap:16px}.barrow{display:grid;grid-template-columns:140px 1fr 90px;align-items:center;gap:12px;font-size:13px}.barrow button{background:none;padding:0;text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#375c73;font:inherit}.bartrack{height:10px;background:#edf3f7;border-radius:3px;overflow:hidden}.barfill{height:100%;background:#188bb3;border-radius:3px}.barrow:nth-child(2n) .barfill{background:#53b6ce}.barrow span:last-child{text-align:right;font-variant-numeric:tabular-nums;color:#456577}.twobars{display:grid;gap:4px}.twobars .bartrack{height:7px}.twobars .previous{background:#bbd3e2}.legend{display:flex;gap:18px;font-size:12px;color:#7c91a0;margin-top:22px}.legend span:before{content:'';display:inline-block;width:8px;height:8px;background:#188bb3;margin-right:6px;border-radius:2px}.legend span:last-child:before{background:#bbd3e2}.note{font-size:13px;line-height:1.6;color:#708796}.detailhero{display:flex;align-items:center;gap:18px}.detailhero .avatar{width:58px;height:58px;background:#deedf5;color:#16779e;font-size:20px}.detailhero h1{font-size:27px}.detailgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.kv{display:grid;grid-template-columns:1fr 1fr;gap:19px 24px}.kv dt{font-size:12px;color:#7b91a0;margin-bottom:3px}.kv dd{margin:0;font-size:14px;overflow-wrap:anywhere}.tabs{display:flex;gap:8px;border-bottom:1px solid #dde6ec;margin:24px 0 20px;overflow-x:auto}.tabs button{min-height:46px;white-space:nowrap;padding:10px 15px;background:transparent;color:#6a8191;border-bottom:3px solid transparent;font-size:14px}.tabs button.active{color:#087ea3;border-color:#087ea3;font-weight:700}.empty{padding:45px 24px;text-align:center;color:#718895}.empty h2{color:#395f77}.empty p{margin:9px auto 20px;max-width:500px;font-size:14px}.sourcecards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.sourcecard{padding:22px;background:#fff;border:1px solid #dfe7ed;border-radius:11px}.sourcecard h3{margin:12px 0 4px}.sourcecard .asof{font-size:26px;font-weight:750;margin:12px 0;color:#21495f}.sourcecard p{margin:6px 0;font-size:13px;color:#748b9c}.steps{counter-reset:step;display:grid;gap:18px;margin:20px 0}.step{display:flex;gap:14px;font-size:14px}.step:before{counter-increment:step;content:counter(step);display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;background:#e8f3fa;border-radius:50%;color:#247194;font-weight:700}.step p{margin:3px 0;color:#768d9e;font-size:13px}.login{max-width:430px;margin:12vh auto;background:white;border:1px solid #dfe8ee;border-radius:18px;padding:36px}.login .brand{color:#0c3650;padding:0 0 30px}.login form{display:grid;gap:18px;margin-top:24px}.login label{display:grid;gap:7px;font-size:14px;color:#56788e}.login input{width:100%}.error{color:#a8463f;background:#fff1ed;padding:13px;border-radius:8px;font-size:14px}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);background:#123e57;color:#fff;padding:13px 21px;border-radius:10px;box-shadow:0 6px 30px #123e5733;font-size:14px;opacity:0;pointer-events:none;transition:.2s;max-width:90vw;z-index:100}.toast.show{opacity:1;transform:translate(-50%,0)}.bottomnav{display:none}.linklist{display:grid;gap:12px}.linklist a{color:#157c9e;font-size:14px}.modal{position:fixed;inset:0;background:#092c4866;z-index:60;display:grid;place-items:center;padding:20px}.modalcontent{background:white;border-radius:14px;max-width:540px;width:100%;max-height:90dvh;overflow:auto;padding:28px}.modalcontent p{font-size:14px;color:#6d8798}.modalactions{display:flex;justify-content:flex-end;gap:12px;margin-top:22px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.smallstat{font-size:14px;font-weight:600;color:#446a81}.smallstat span{font-weight:400;color:#8297a5}.source-strip{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.buildnote{background:#ecf4f9;color:#416a81;border-radius:9px;padding:14px 17px;font-size:14px;margin-bottom:22px}progress{width:100%;accent-color:#168fb2}.mobiletitle{display:none}
@media(min-width:1450px){.content{padding-top:38px}.metricvalue{font-size:36px}.sidebar{padding-top:38px}}
@media(max-width:1180px){.layout{grid-template-columns:205px minmax(0,1fr)}.sidebar{padding:28px 13px}.brand{font-size:24px}.content{padding:27px 25px}.topbar{padding:0 25px}.metrics{gap:12px}.metric{padding:18px}.metricvalue{font-size:27px}.columns{grid-template-columns:minmax(0,1.4fr) minmax(265px,1fr);gap:18px}.barrow{grid-template-columns:110px 1fr 82px}.nav button{padding:12px;font-size:14px}}
@media(max-width:960px){.layout{grid-template-columns:82px minmax(0,1fr)}.sidebar{padding:28px 12px}.brand{font-size:0;padding:0 0 28px;text-align:center}.brand:before{content:'ob';font-size:27px;color:#4ed1e5;letter-spacing:-2px}.brand small,.nav button span,.sidefoot div:not(.avatar){display:none}.nav button{justify-content:center;padding:14px}.sidefoot{padding:20px 5px 0}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metricvalue{font-size:32px}.columns{grid-template-columns:minmax(0,1fr)}.detailgrid{grid-template-columns:1fr}.topbar{height:74px}.status{font-size:12px}.topactions{gap:10px}}
@media(max-width:600px){.layout{display:block}.sidebar{display:none}.content{padding:23px 17px 100px}.topbar{height:65px;padding:0 18px}.crumb{font-size:13px}.topactions .btn{font-size:0;padding:8px 10px}.topactions .btn svg{width:19px}.status{font-size:12px;max-width:122px}.pagehead{gap:12px}.pagehead .btn{font-size:13px;padding:9px 10px}h1{font-size:27px}.sub{font-size:14px}.metrics{gap:10px;margin-bottom:18px}.metric{padding:16px 13px}.metriclabel{font-size:12px}.metricvalue{font-size:26px}.metameta{font-size:12px}.metricdelta{font-size:12px}.historical{padding:11px 12px;font-size:12px;margin-bottom:20px}.historical button{font-size:12px}.panelhead,.panelbody{padding:18px}.barrow{grid-template-columns:100px 1fr 76px;gap:8px;font-size:12px}.bottomnav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #dde7ee;justify-content:space-around;padding:7px 7px max(8px,env(safe-area-inset-bottom));z-index:30}.bottomnav button{display:grid;justify-items:center;gap:3px;background:transparent;color:#7892a3;min-width:54px;min-height:48px;font-size:10px}.bottomnav button.active{color:#0d82a4;font-weight:700}.sourcecards{grid-template-columns:1fr}.sourcecard{padding:18px}.detailhero{gap:12px}.detailhero h1{font-size:23px}.detailhero .avatar{width:46px;height:46px;font-size:16px}.kv{gap:18px}.login{margin:7vh 17px;padding:28px}.toolbar{gap:8px}.toolbar .searchbox{flex-basis:100%}.toolbar select{flex:1;font-size:13px}.filterlabel{flex:1}.toast{bottom:85px}.pagehead .eyebrow{font-size:11px}.source-strip .badge{white-space:normal}td,th{padding:12px 14px}.source-strip{gap:5px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Fixed iPad workspace: reports keep their frame; lists and panel contents scroll. */
html,body,#app{width:100%;height:100%;overflow:hidden}
body{overscroll-behavior:none}
.layout{height:100dvh;min-height:0;grid-template-columns:218px minmax(0,1fr);overflow:hidden}
.sidebar{height:100%;position:relative;padding:24px 14px 18px;min-height:0}
.brand{font-size:25px;padding-bottom:25px}.brand small{font-size:10px}
.nav{gap:5px}.nav button{min-height:46px;padding:11px 12px;font-size:14px}
.sidebottom{padding-top:16px}.sidefoot{padding-top:16px}
.workspace{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}
.topbar{height:60px;min-height:60px;padding:0 22px;gap:12px}
.topactions{gap:12px;min-width:0}.topbar .btn{min-height:40px;padding:8px 12px}
.source-status{font-size:12px;background:#edf5f8;color:#34738b;border-radius:7px;min-height:38px;padding:7px 10px;white-space:nowrap}
.crumb{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.content{flex:1;min-height:0;width:100%;display:flex;flex-direction:column;overflow:hidden;gap:12px;padding:18px 22px;margin:0;max-width:none}
.content>*{flex-shrink:0;min-width:0}
.content>.panel,.grow{flex:1;min-height:0}
.panel{display:flex;flex-direction:column;min-height:0;min-width:0;border-radius:11px}
.panelhead{flex:none;padding:12px 16px;gap:10px;align-items:center}
.panelhead h2{font-size:16px;margin:0}.panelhead .sub{font-size:12px;line-height:1.4;margin-top:3px}
.panelbody{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:18px}
.panelbody>.toolbar:last-child{margin-bottom:0}
.tablewrap{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
table{font-size:14px}thead{position:sticky;top:0;z-index:2;box-shadow:0 1px #e0e8ee}
td{padding:10px 14px}th{padding:12px 14px}.rowbtn{min-height:36px}
.pagination{flex:none;padding:7px 14px;min-height:52px}.pagination button{min-height:38px;min-width:42px}
.toolbar{margin:0;gap:10px;align-items:flex-end;flex-wrap:nowrap;min-width:0}
.searchbox{min-width:150px;align-self:flex-end}.searchbox input{height:44px;font-size:14px}
.searchbox svg{top:12px}.filterlabel{font-size:11px;min-width:0;flex-shrink:1}
select,input[type=date]{height:42px;min-width:0;padding:7px 9px;font-size:13px}
.toolbar select{max-width:180px}.toolbar input[type=date]{width:138px}
.tabs{margin:0;min-height:44px;gap:6px;flex-shrink:0;scrollbar-width:none}
.tabs button{min-height:44px;padding:9px 13px;line-height:1.25}.tabs::-webkit-scrollbar{display:none}
.metrics{margin:0;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}
.metric{padding:13px 16px;border-radius:10px}.metriclabel{font-size:12px;gap:7px}.metriclabel svg{width:16px;height:16px}
.metricvalue{font-size:clamp(20px,2.15vw,30px);margin:7px 0 4px;letter-spacing:-.5px;white-space:nowrap}
.metameta{font-size:11px;line-height:1.4}.metricdelta{margin-top:6px}
.focusbar{margin:0;min-height:36px}.focusbar .chip{padding:3px 8px;max-width:100%}.focusbar .chip>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.overview-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:14px}
.overview-grid>.panel{height:100%;min-height:0}
.chart{gap:20px;padding:4px 0}.barrow{grid-template-columns:minmax(90px,1.2fr) minmax(30px,1fr) 96px;gap:10px}
.barrow button{min-height:28px}.listbody{padding:0 16px}.listitem{padding:12px 0;gap:10px}.listitem button{flex:1;min-width:0}.listitem b{font-size:13px}.listitem .right{white-space:nowrap}
.overview-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#e8f1f6;border:1px solid #d9e6ee;border-radius:10px;padding:13px 18px}
.overview-footer>div{display:grid;gap:3px}.overview-footer span{font-size:12px;color:#6b8494}.overview-footer b{font-size:19px;font-weight:700}.overview-footer b span{font-size:15px;font-weight:500}
.detailgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.detailgrid>.panel{height:100%}
.customer-identity{display:flex;gap:14px;align-items:center;padding:5px 0;min-width:0}.customer-identity>div:not(.customer-links){min-width:0;flex:1}.customer-identity b{display:block;font-size:17px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.customer-identity span{display:block;font-size:12px;color:#728897}.customer-links{display:flex;gap:8px}
.kv{margin:12px 0;gap:16px}.kv dt{font-size:11px}.kv dd{font-size:14px}.panelbody .kv:first-child{margin-top:0}
.periodbar{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;min-height:40px}
.period{background:white;border:1px solid #d6e2e9;border-radius:7px;padding:8px 12px;min-height:40px;white-space:nowrap;font-size:13px;color:#517083}
.period.active{background:#0b405b;color:white;border-color:#0b405b;font-weight:650}
.filter-info{display:flex;gap:10px;align-items:center;justify-content:space-between;font-size:12px;color:#6b8191;min-height:24px}
.filter-info .btn{padding:0 5px;min-height:28px;font-size:12px}.filter-info .chip{padding:3px 8px}
.sourcecards{gap:12px}.sourcecard{padding:16px;background:#f8fafc}.sourcecard h3{font-size:15px}.sourcecard .kv{gap:12px}.source-filename{overflow-wrap:anywhere}
.steps{margin:6px 0 18px;gap:22px}.steps b{font-size:15px}.steps p{max-width:780px;font-size:14px}.linklist{margin-top:24px}
.error{padding:9px 12px;font-size:13px;margin:0;max-height:90px;overflow:auto}
.login{max-height:88dvh;overflow:auto;margin:6dvh auto}.sectiongap{margin-top:18px}
@media(max-width:1200px){
  .layout{grid-template-columns:72px minmax(0,1fr)}.sidebar{padding:20px 9px 14px}.brand{font-size:0;padding:0 0 24px;text-align:center}.brand:before{content:'ob';font-size:27px;color:#4ed1e5;letter-spacing:-2px}.brand small,.nav button span,.sidefoot div:not(.avatar){display:none}.nav button{justify-content:center;padding:12px}.sidefoot{padding:14px 6px 0}.sidefoot .avatar{width:38px;height:38px;font-size:12px}
  .topbar{padding:0 18px}.content{padding:14px 18px;gap:10px}.metric{padding:12px}.metricvalue{font-size:24px}.metriclabel svg{display:none}
}
@media(max-width:900px){
  .topbar{height:56px;min-height:56px;padding:0 14px}.topactions{gap:8px}.topactions .status{font-size:11px}.topbar .btn span{display:none}.topbar .btn{padding:8px 11px}.crumb{font-size:13px}.content{padding:12px;gap:10px}
  .metrics{gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.metric{padding:10px}.metricvalue{font-size:21px}.metriclabel{font-size:11px}.metameta{font-size:10px}
  .overview-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.barrow{grid-template-columns:minmax(85px,1fr) 80px;gap:8px}.barrow .bartrack{grid-row:2;grid-column:1/-1}.barrow span{grid-column:2;grid-row:1}.chart{gap:15px}
  .panelhead{padding:10px 12px}.panelbody{padding:14px}.panelhead h2{font-size:15px}.panelhead .btn{padding:6px 8px;font-size:12px}.overview-footer{padding:11px 13px;gap:12px}.overview-footer b{font-size:17px}.overview-footer b span{font-size:13px}
  .detailgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kv{grid-template-columns:1fr;gap:13px}.sourcecard .kv{grid-template-columns:1fr}.customer-links .btn{font-size:12px;padding:6px 8px}.customer-links svg{display:none}
  .tabs button{font-size:13px;padding:9px 11px}.period{font-size:12px;padding:8px 10px}.toolbar{gap:8px}.toolbar select{max-width:146px}
}
@media(max-width:600px){
  .layout{display:block}.sidebar{display:none}.workspace{height:calc(100dvh - 66px - env(safe-area-inset-bottom))}.content{padding:10px;gap:8px}.topbar{padding:0 10px;gap:8px;height:52px;min-height:52px}.source-status{font-size:10px;padding:5px 7px}.topactions{gap:6px}.status{max-width:90px;line-height:1.2}.crumb{font-size:12px}
  .metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.metric{padding:8px 10px}.metricvalue{font-size:22px;margin:4px 0 2px}.metameta{font-size:10px}.overview-grid{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(0,1fr)}.overview-grid .panelhead .sub{display:none}.overview-footer{padding:9px;gap:8px}.overview-footer>div:nth-child(2){display:none}.overview-footer b{font-size:16px}.overview-footer .btn{font-size:11px;padding:6px}
  .detailgrid{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(0,1fr)}.kv{grid-template-columns:1fr 1fr}.customer-identity{gap:6px}.customer-identity>.btn{font-size:0;padding:5px}.customer-identity>.btn svg{width:20px}.customer-identity b{font-size:14px}.customer-identity span{font-size:10px}.customer-links .btn{font-size:11px;padding:5px}.customer-links{gap:4px}
  .toolbar{flex-wrap:wrap;gap:6px}.toolbar .searchbox{flex-basis:100%;min-width:0}.toolbar .filterlabel{flex:1}.toolbar select{width:100%;max-width:none;font-size:12px}.toolbar input[type=date]{width:100%;font-size:12px}.filter-info{font-size:10px;gap:6px}.filter-info .btn{font-size:10px;min-height:24px}.filter-info>span{min-width:0}.tabs{min-height:40px}.tabs button{min-height:40px;padding:7px 10px;font-size:12px}.periodbar{min-height:38px}.period{min-height:38px;font-size:11px;padding:6px 8px}
  .panelhead .sub{font-size:10px}.panelhead{padding:9px 11px}.panelhead h2{font-size:14px}.pagination{font-size:11px;min-height:48px;padding:5px 10px}.pagination button{min-height:36px;min-width:38px}.sourcecards{grid-template-columns:1fr}.bottomnav{height:calc(66px + env(safe-area-inset-bottom));padding:6px 2px max(8px,env(safe-area-inset-bottom))}.bottomnav button{min-width:48px;font-size:9px}.bottomnav button svg{width:19px}.login{margin:4dvh 14px;max-height:92dvh}
}
@media(max-height:650px) and (min-width:601px){.sidebar{padding-top:12px}.brand{padding-bottom:16px}.nav{gap:2px}.nav button{min-height:42px;padding:9px}.content{padding:10px;gap:7px}.metric{padding:8px 12px}.metricvalue{margin:4px 0;font-size:22px}.metameta{font-size:10px}.topbar{height:52px;min-height:52px}.panelhead{padding:8px 12px}.period{min-height:36px}.periodbar{min-height:36px}.tabs,.tabs button{min-height:40px}.overview-footer{padding:8px 12px}}

.panelbody .toolbar{flex-wrap:wrap}.list-selection{display:flex;align-items:center;gap:10px;min-width:0}.list-selection>span{font-size:11px;color:#718796}.list-selection .focusbar{min-width:0;max-width:60%}.list-selection .chip{max-width:100%}
@media(max-width:700px){.list-selection>span{display:none}.list-selection .focusbar{max-width:100%}}

/* Quiet report surfaces with the supplied OOTB identity. */
.brand.brand-logo{font-size:0;padding:0 0 25px;letter-spacing:0;text-align:center}
.brand.brand-logo:before{content:none}.brand-logo img{display:block;width:100%;height:auto;background:white;padding:11px 9px;border-radius:6px}
.brand-logo small{font-size:10px;margin-top:12px}.nav button.active{box-shadow:inset 3px 0 #ffdd00}
.login .brand-logo img{max-width:280px;padding:0;border-radius:0}.login .brand-logo{padding-bottom:26px}
.topbar{height:66px;min-height:66px}.header-identity{display:flex;align-items:center;gap:20px;min-width:0;flex:1}.header-logo{display:none;width:130px;height:auto;flex:none}.heading-text{min-width:0}
.source-status{display:block;min-height:22px;padding:0;background:none;border-radius:0;font-size:12px;color:#78909f;text-align:left;white-space:nowrap}
.source-status:hover{color:#087ea3;text-decoration:underline}.crumb{font-size:15px}.topactions .status{white-space:nowrap}
.metric{padding:15px 17px}.metricvalue{margin:9px 0 1px}.metricperiod{font-size:13px;line-height:1.4;margin-top:6px;color:#6b8394;white-space:nowrap}
.panelhead{padding:14px 17px}.filter-info{justify-content:flex-end}.list-selection .focusbar{max-width:100%}
.article-layout{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(245px,1fr);gap:14px;overflow:hidden}
.article-layout>.panel{min-height:0;height:100%}.article-layout td,.article-layout th{padding-left:11px;padding-right:11px}
.article-layout td:first-child{min-width:145px;max-width:220px}.article-layout th{white-space:normal;text-transform:none;font-size:13px;letter-spacing:0}
.category-body{min-height:0;flex:1;display:flex;flex-direction:column;padding:8px 15px 14px;gap:8px;overflow:hidden}
.category-pie{display:block;width:100%;height:clamp(120px,24dvh,228px);min-height:100px;flex:none}
.category-legend{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.category-legend ul{list-style:none;padding:0;margin:0}
.category-legend li{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #edf1f5;font-size:13px;line-height:1.3}
.category-legend i{display:block;flex:none;width:11px;height:11px;border-radius:3px}.category-legend li>span{flex:1;min-width:0;overflow-wrap:anywhere}.category-legend b{font-weight:650;white-space:nowrap;font-variant-numeric:tabular-nums}
.category-legend details{margin-top:10px}.category-legend summary{font-size:13px;color:#21759b;cursor:pointer;padding:8px 0}.all-categories li{font-size:12px}
@media(max-width:1200px){.sidebar .brand-logo{display:none}.header-logo{display:block}.metric{padding:12px}.metricvalue{font-size:24px}.metricperiod{font-size:12px}.article-layout{grid-template-columns:minmax(0,1.85fr) minmax(235px,1fr)}}
@media(max-width:900px){.topbar{height:68px;min-height:68px}.header-identity{gap:13px}.header-logo{width:110px}.crumb{font-size:14px}.source-status{font-size:11px}.metricvalue{font-size:21px}.metricperiod{font-size:11px;white-space:normal}.article-layout{grid-template-columns:minmax(0,1.7fr) minmax(215px,1fr);gap:10px}.category-body{padding:5px 11px 10px}.category-legend li{font-size:12px}.panelhead{padding:12px 14px}}
@media(max-width:600px){.header-logo{width:90px}.header-identity{gap:10px}.heading-text{flex:1}.crumb{font-size:12px}.source-status{font-size:10px;white-space:normal;line-height:1.25}.topactions .status{display:none}.metric{padding:10px}.metricvalue{font-size:22px}.metricperiod{font-size:11px}.article-layout{grid-template-columns:1fr;grid-template-rows:minmax(0,1.5fr) minmax(0,1fr);gap:8px}.category-body{flex-direction:row;gap:10px}.category-pie{width:38%;height:100%;min-height:0;max-height:180px}.category-legend{height:100%}.category-legend li{padding:6px 0}.panelhead{padding:10px 12px}}
.customer-section-nav{display:flex;align-items:center;gap:12px;flex:none;min-width:0}.customer-section-nav .tabs{flex:1;min-width:0;margin:0;gap:3px}.customer-section-nav .tabs button{font-size:13px;padding:8px 11px}.customer-links{display:flex;gap:6px;flex:none}.customer-links .btn{min-height:38px;padding:7px 10px;font-size:12px;gap:5px}
.customer-row{cursor:pointer}.customer-row[aria-selected=true]{background:#eaf5fb}.customer-row:focus-visible{outline:2px solid #0089ce;outline-offset:-2px;background:#eaf5fb}
.customer-identity{display:flex;flex:none;min-width:0;padding:2px 1px}.customer-identity b{font-size:16px;display:block}.customer-identity span{display:block;color:#718796;font-size:12px;margin-top:4px}.empty .btn{margin-top:16px}

/* Stable report grid: every report uses the same four slots and one row. */
.topbar{gap:16px}.language-picker{display:block;flex:none}.language-picker select{height:36px;padding:5px 25px 5px 9px;font-size:12px;max-width:118px;cursor:pointer}.login-language{display:flex;justify-content:flex-end;margin:-13px -13px 16px}
.topbar.report-header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:40px 38px;gap:8px 16px;height:110px;min-height:110px;max-height:110px;padding:10px 24px;flex:none;position:relative;z-index:35;overflow:visible}
.report-header .header-identity{grid-column:1;grid-row:1;min-width:0}.report-header .topactions{grid-column:2;grid-row:1;gap:10px}.report-header .crumb{font-size:14px;line-height:1.3}.report-header .source-status{font-size:11px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.report-header .header-filters{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.25fr) minmax(0,1.5fr) 108px;gap:10px;width:100%;max-width:1000px;height:38px;min-height:38px;justify-self:center;align-items:stretch;position:relative;overflow:visible}
.filter-slot{min-width:0;height:38px}.filter-slot-search{grid-column:1}.filter-slot-period{grid-column:2}.filter-slot-customer{grid-column:3}.filter-slot-options{grid-column:4}
.report-header .searchbox{display:block;min-width:0;width:100%;height:38px}.report-header .searchbox input{height:38px;width:100%;padding:0 10px 0 33px;font-size:13px}.report-header .searchbox svg{left:10px;top:11px;width:16px;height:16px}
.period-select{display:block;position:relative;height:38px}.period-select svg{position:absolute;left:9px;top:11px;pointer-events:none;color:#78909f}.period-select select{height:38px;width:100%;max-width:100%;padding:5px 22px 5px 31px;font-size:12px;text-overflow:ellipsis}
.filter-slot-customer .focusbar{margin:0;display:block;height:38px;min-width:0}.filter-slot-customer .chip{display:flex;width:100%;height:38px;min-width:0;gap:3px;padding:0 3px 0 7px;border:1px solid #d7e2e9;background:#f3f8fb}.filter-slot-customer .chip-label{display:none}.filter-slot-customer .selected-customer{min-width:0;flex:1;font-size:12px;text-align:left;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;padding:4px 0}.filter-slot-customer [data-action=clear-customer]{flex:none;min-width:28px}
.filter-toggle{height:38px;width:100%;display:flex;gap:7px;align-items:center;justify-content:center;border:1px solid #d7e2e9;background:white;color:#35576f;border-radius:8px;font-size:13px}.filter-toggle:hover,.filter-toggle[aria-expanded=true],.filter-toggle.is-filtered{background:#edf6fb;border-color:#99c6dc}.filter-count{font-size:10px;background:#087ea3;color:white;min-width:17px;height:17px;border-radius:9px;text-align:center;line-height:17px}
.filter-popover{position:absolute;top:46px;right:0;width:360px;max-width:100%;max-height:min(420px,calc(100dvh - 190px));overflow:auto;background:white;border:1px solid #d7e2e9;border-radius:10px;box-shadow:0 12px 35px #123e5729;padding:16px;z-index:50}
.filter-popover-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;font-size:14px}.filter-popover-head button{display:grid;place-items:center;width:30px;height:30px;background:transparent;color:#56788e;border-radius:5px}
.filter-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.filter-fields .filterlabel{display:grid;gap:5px;min-width:0;font-size:12px}.filter-fields select,.filter-fields input[type=date]{height:38px;width:100%;max-width:100%;min-width:0;padding:6px 8px;font-size:13px}.filter-fields .invoice-filter{grid-column:1/-1;justify-self:start;max-width:100%;font-size:12px}.filter-popover-footer{margin-top:14px;padding-top:8px;border-top:1px solid #edf1f5}.filter-popover-footer .btn{min-height:36px;padding:5px 0;font-size:12px}
.report-header .topactions .status{font-size:0;gap:0;display:flex;min-width:7px}.report-header .topactions .status .dot{flex:none}.report-header .topactions .btn{min-height:36px;padding:8px}.report-header .topactions .btn span{display:none}
@media(max-width:1200px){.topbar.report-header{padding-left:16px;padding-right:16px}.customer-section-nav{gap:6px}.customer-section-nav .tabs button{font-size:12px;padding:8px 9px}.customer-links .btn{padding:7px}.customer-links .btn svg{width:14px}}
@media(max-width:800px){.report-header .header-filters{grid-template-columns:minmax(0,2fr) minmax(0,1.3fr) minmax(0,1.5fr) 94px;gap:8px}.customer-section-nav .tabs{gap:0}.customer-section-nav .tabs button{padding:8px 7px;font-size:11px}.customer-links .btn{font-size:11px;gap:3px}.customer-links .btn svg{display:none}.topactions .status{display:none}}
@media(max-width:600px){.topbar{padding-left:10px;padding-right:10px;gap:8px}.topbar.report-header{grid-template-rows:40px 84px;height:154px;min-height:154px;max-height:154px;padding:10px;gap:8px}.report-header .header-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:38px 38px;height:84px;gap:8px}.filter-slot-search{grid-column:1;grid-row:1}.filter-slot-period{grid-column:2;grid-row:1}.filter-slot-customer{grid-column:1;grid-row:2}.filter-slot-options{grid-column:2;grid-row:2}.filter-popover{top:92px;max-height:calc(100dvh - 245px)}.header-identity{gap:7px}.header-logo{width:66px}.language-picker select{width:89px;padding-left:6px;font-size:11px}.report-header .source-status{font-size:10px}.customer-section-nav{flex-wrap:wrap;gap:3px}.customer-section-nav .tabs{flex-basis:100%;border-bottom:1px solid #dde6ec}.customer-links{margin-left:auto}.customer-links .btn{min-height:28px;padding:4px 8px}.customer-section-nav .tabs button{flex:1;padding:7px 5px}.report-header .topactions{gap:5px}}

/* Visual priority belongs to the active data scope, not individual totals. */
.filter-slot-customer .chip.is-filtered,
.report-header .searchbox.is-filtered input,
.period-select.is-filtered select,
.filter-fields .filterlabel.is-filtered select,
.filter-fields .filterlabel.is-filtered input,
.filter-fields .invoice-filter.is-filtered,
.filter-toggle.is-filtered{background:#fff3b5;border:1px solid #d4ac00;color:#143247;box-shadow:inset 0 0 0 1px #e8c843}
.filter-slot-customer .chip.is-filtered .selected-customer,
.period-select.is-filtered select,
.filter-fields .filterlabel.is-filtered select,
.filter-toggle.is-filtered{font-weight:650}
.filter-slot-customer .chip.is-filtered button{color:#143247}
.report-header .searchbox.is-filtered svg,.period-select.is-filtered svg{color:#876c00}
.filter-toggle.is-filtered:hover,.filter-toggle.is-filtered[aria-expanded=true]{background:#ffec94;border-color:#bd9900}
.filter-toggle.is-filtered .filter-count{background:#143247;color:#fff}
