:root{--navy:#142136;--navy2:#1c2b43;--ink:#19283c;--muted:#788393;--line:#e7ebef;--bg:#f6f8fa;--brand:#ae1d1c;--green:#16836c;--blue:#5376bc;--shadow:0 3px 18px #1a293805}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;background:var(--bg)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}.hidden{display:none!important}.sidebar{width:242px;background:var(--navy);position:fixed;inset:0 auto 0 0;color:#abb7c9;padding:34px 18px 0;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;margin:0 12px 43px;color:white;font-size:19px;font-weight:800;letter-spacing:2.5px}.brand>div:last-child>span{display:block;letter-spacing:5px;font-size:10px;font-weight:500;margin-top:5px}.brand-mark{font-weight:800;background:var(--brand);color:var(--navy);height:43px;width:43px;display:flex;align-items:center;justify-content:center;font-size:41px;line-height:1;border-radius:11px;letter-spacing:-4px;padding-right:6px}.brand-mark span{font-size:23px;position:relative;left:3px;top:10px}.workspace-label{font-size:9px;font-weight:700;letter-spacing:1.9px;margin:0 15px 13px;color:#7d8ba1;display:flex;justify-content:space-between}.workspace-label span{font-size:8px;border:1px solid #344056;border-radius:4px;padding:2px 4px;letter-spacing:1px}nav{overflow:auto;scrollbar-width:thin}nav a{display:flex;gap:12px;align-items:center;padding:11px 14px;margin:3px 0;border-radius:7px;font-size:12px;font-weight:500;color:#aeb9ca;transition:background .15s}nav a:hover{background:#ffffff09;color:white}nav a.active{background:#edb54817;color:#f0bf60}nav a svg{width:18px;height:18px;opacity:.85}nav .nav-section{font-size:9px;letter-spacing:1.5px;color:#718198;margin:24px 15px 10px}.side-bottom{margin-top:auto;padding-top:20px}.source-status{display:flex;align-items:center;gap:10px;padding:15px 10px 24px;font-size:11px}.source-status>i{width:7px;height:7px;border-radius:50%;background:#edb548;box-shadow:0 0 0 4px #edb54810}.source-status small{display:block;color:#7f8fa6;font-size:10px;margin-top:5px}.user{border-top:1px solid #ffffff10;display:flex;align-items:center;gap:10px;padding:20px 7px;font-size:11px}.avatar,.top-avatar{display:grid;place-items:center;background:#e2e8e9;color:#385061;border-radius:50%;width:33px;height:33px;font-weight:700;font-size:11px;flex-shrink:0}.user b{color:#e9eef5;font-size:11px;font-weight:500;max-width:115px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user small{display:block;font-size:9px;color:#7f8fa6;margin-top:4px}.user .icon-button{margin-left:auto;color:#8e9bb0}.main{margin-left:242px}.topbar{height:73px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 42px;justify-content:space-between}.breadcrumb{font-size:11px;color:var(--muted)}.breadcrumb span{margin:0 13px;color:#c4cbd4}.breadcrumb b{font-weight:500;color:#42516a}.top-right{display:flex;align-items:center;gap:20px}.environment{font-size:8px;letter-spacing:1.5px;color:#7e8a99;border:1px solid var(--line);border-radius:4px;padding:5px 8px}.top-avatar{width:30px;height:30px;background:#eff2f5;font-size:9px}main{max-width:1620px;margin:auto;padding:38px 42px 20px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:29px;gap:24px}.eyebrow{font-size:9px;color:#8d97a4;letter-spacing:1.8px;font-weight:600}.eyebrow span{color:#c5ccd4;margin:0 8px}h1{font-size:30px;line-height:1.2;letter-spacing:-1px;font-weight:650;margin:12px 0 10px}.page-heading p{font-size:12px;color:var(--muted);margin:0;line-height:1.6}.heading-actions{display:flex;gap:9px}.button{border:1px solid #dfe5e9;border-radius:6px;background:white;color:#405068;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 15px;font-size:11px;font-weight:600;white-space:nowrap;min-height:36px}.button:hover{background:#f1f4f7}.button:disabled{opacity:.5;cursor:wait}.button.primary{background:var(--brand);border-color:var(--brand);color:#352c18}.button.primary:hover{background:#e5a932}.button.dark{background:var(--navy);color:white;border-color:var(--navy)}.filterbar{display:flex;align-items:center;gap:21px;background:white;border:1px solid var(--line);border-radius:9px;padding:17px 21px;box-shadow:var(--shadow);margin-bottom:24px}.period-label{font-size:11px;font-weight:600;padding-right:23px;border-right:1px solid var(--line);white-space:nowrap}.filterbar label{display:flex;flex-direction:column;gap:5px;min-width:140px}.filterbar label>span{font-size:8px;font-weight:600;letter-spacing:1.25px;color:#94a0ad}.filterbar select,.filterbar input{border:0;background:none;color:#34435a;font-size:11px;padding:0;max-width:205px;height:22px}.text-button{border:0;background:none;font-size:10px;color:#8290a1;padding:6px}.filterbar>.text-button{margin-left:auto;white-space:nowrap}.notice{padding:12px 16px;background:#fff8e8;border:1px solid #f0dfb6;border-radius:7px;color:#8a691d;font-size:11px;line-height:1.65;margin-bottom:20px}.notice a{text-decoration:underline}.section-kicker{display:flex;align-items:center;gap:9px;margin:0 0 14px;font-size:11px;font-weight:600}.section-kicker>span{height:6px;width:6px;background:var(--brand);border-radius:50%}.section-kicker small{margin-left:auto;font-size:9px;font-weight:400;color:var(--muted)}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.kpi{background:white;padding:20px 20px 17px;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow);position:relative;overflow:hidden}.kpi-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#788392}.kpi-icon{display:grid;place-items:center;background:#f1f4f8;color:#7589a7;width:29px;height:29px;border-radius:7px}.kpi-icon svg{width:15px;height:15px}.kpi-value{font-size:30px;font-weight:650;letter-spacing:-1.3px;margin:12px 0 14px}.kpi-value small{font-size:14px;font-weight:400;color:#8b95a3;letter-spacing:0;margin-left:4px}.kpi-foot{font-size:9px;color:#929ba8;display:flex;align-items:center;gap:7px}.kpi-foot b{font-weight:600;color:#398374;background:#edf7f2;border-radius:3px;padding:3px 5px}.kpi.highlight{background:#fffaf0;border-color:#eee1c3}.kpi.highlight .kpi-icon{background:#f7ecd1;color:#a88031}.kpi.highlight:after{content:'';position:absolute;right:-30px;bottom:-35px;width:110px;height:110px;border:19px solid #edb5480c;border-radius:50%}.grid{display:grid;gap:20px;margin-bottom:20px;grid-template-columns:1.65fr 1fr}.grid.equal{grid-template-columns:1fr 1fr}.panel{background:white;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow);padding:22px;min-width:0}.panel.full{margin-bottom:20px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:21px}.panel h2{font-size:13px;font-weight:600;letter-spacing:-.15px;margin:0 0 7px}.panel p{font-size:10px;line-height:1.6;color:#919aa7;margin:0}.panel-head select,.small-select{border:1px solid var(--line);border-radius:5px;padding:6px 9px;font-size:9px;color:#788392;background:white}.legend{display:flex;gap:15px;font-size:9px;color:#8691a0}.legend i{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:5px;background:var(--brand)}.legend i.blue{background:var(--blue)}.chart{width:100%;height:210px;display:block;overflow:visible}.chart text{font-family:inherit;font-size:10px;fill:#9ba4b0}.chart .gridline{stroke:#edf0f4;stroke-dasharray:3 4}.chart .bar{fill:var(--brand)}.chart .bar:hover{fill:#d89c2e}.chart-summary{display:flex;border-top:1px solid #f0f2f4;gap:35px;margin-top:15px;padding-top:16px}.chart-summary small{display:block;font-size:9px;color:#939ca8;margin-bottom:7px}.chart-summary b{font-size:15px;font-weight:600}.donut-wrap{display:flex;align-items:center;gap:25px;padding:4px 0 22px;justify-content:center}.donut{position:relative;width:150px;height:150px;flex-shrink:0}.donut svg{transform:rotate(-90deg)}.donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.donut-center b{font-size:25px;letter-spacing:-1px;font-weight:600}.donut-center span{font-size:9px;color:#8c97a6;margin-top:5px}.status-list{font-size:10px;min-width:100px}.status-list>div{display:flex;gap:9px;align-items:center;margin:15px 0;color:#8190a3}.status-list i{width:7px;height:7px;border-radius:50%;background:var(--green)}.status-list b{color:#34435a;margin-left:auto;padding-left:10px}.tiny-tag{font-size:9px;background:#f1f4f7;border-radius:4px;padding:5px 8px;color:#8390a1;white-space:nowrap}.bar-list .bar-row{margin:17px 0}.bar-row>div:first-child{display:flex;justify-content:space-between;font-size:10px;margin-bottom:9px;gap:15px}.bar-row span{color:#718096;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-row b{font-weight:600;white-space:nowrap}.track{height:5px;border-radius:8px;background:#f1f3f6}.track i{display:block;height:5px;background:var(--blue);border-radius:8px}.bar-row:nth-child(1) .track i{background:var(--brand)}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:11px;white-space:nowrap}th{font-size:9px;letter-spacing:.5px;color:#929caa;background:#fafbfc;font-weight:500;padding:12px}td{border-bottom:1px solid #eff2f5;padding:13px 12px;color:#5b6b80}tr:last-child td{border-bottom:0}td.name{font-weight:500;color:#30415b}th.number,td.number{text-align:right}.muted{color:#8e98a6}.pill{font-size:9px;padding:4px 8px;border-radius:4px;background:#edf6f2;color:#3d8b72}.pill.warn{background:#fff5de;color:#b08630}.pill.blue{background:#eef2fa;color:#617aa7}.table-search{display:flex;gap:12px;margin-bottom:17px}.table-search input{min-width:180px;max-width:400px;width:100%;border:1px solid var(--line);border-radius:6px;padding:9px 12px;font-size:11px}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:15px;font-size:10px;color:#8f99a7}.pagination button{margin-left:8px;border:1px solid var(--line);border-radius:4px;background:white;padding:6px 9px;color:#687991}.empty{padding:60px 25px;text-align:center;background:white;border:1px dashed #d5dce5;border-radius:10px}.empty h2{font-size:20px;margin:15px 0 10px}.empty p{color:var(--muted);font-size:12px;line-height:1.7;max-width:520px;margin:0 auto 20px}.empty .button{margin:5px}.import-card{padding:28px}.import-card h3{font-size:15px;margin:15px 0 10px}.import-card p{font-size:12px;line-height:1.8;margin-bottom:20px;max-width:460px}.step-number{background:#fff5dc;color:#ac7d26;border-radius:8px;width:36px;height:36px;display:grid;place-items:center;font-size:12px;font-weight:700}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{display:flex;flex-direction:column;font-size:11px;gap:7px;color:#6c7c91}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid #dce2e9;border-radius:5px;padding:10px;background:white;color:var(--ink)}.form-grid .wide{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.survey-grid input{width:65px;border:1px solid var(--line);border-radius:4px;padding:8px}.subtabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-bottom:23px}.subtabs button{border:0;border-bottom:2px solid transparent;padding:12px 17px;background:none;color:#8490a2;font-size:11px}.subtabs button.active{border-bottom-color:var(--brand);color:#3e4f68}.note{font-size:11px;line-height:1.8;color:#8a94a4;margin:12px 0}.source-note{font-size:10px;background:#f8fafb;padding:13px 15px;color:#8591a2;border-radius:5px;line-height:1.7;margin-top:18px}.progress{height:5px;background:#eef1f5;border-radius:5px;width:100px;display:inline-block;vertical-align:middle;margin-right:10px;overflow:hidden}.progress i{display:block;height:100%;background:var(--green)}.progress.warn i{background:#d2a33d}footer{display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#9ca5b1;padding-top:18px;margin-top:22px;border-top:1px solid var(--line)}footer b{margin:0 8px;font-weight:400}dialog{border:0;border-radius:13px;padding:25px;width:min(850px,94vw);max-height:90vh;box-shadow:0 25px 100px #12213630;color:var(--ink)}dialog::backdrop{background:#15213970;backdrop-filter:blur(3px)}.modal-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.modal-heading h2{font-size:18px;margin:0;font-weight:600}.icon-button{border:0;background:none;color:#8a97a8;font-size:21px;padding:3px;line-height:1;display:grid;place-items:center}.toast{position:fixed;bottom:25px;right:25px;z-index:100;background:var(--navy);color:white;padding:15px 22px;border-radius:8px;max-width:480px;font-size:12px;box-shadow:0 6px 30px #15213930;line-height:1.5}.toast.error{background:#943c3c}.loading{text-align:center;color:#8a95a4;padding:90px;font-size:12px}.mobile{display:none}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.login-card{padding:clamp(45px,8vw,140px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.login-card .brand-mark{margin-bottom:30px}.login-card h1{font-size:clamp(34px,4vw,56px);letter-spacing:-2px;margin:28px 0 20px;line-height:1.1}.login-card p{font-size:14px;line-height:1.9;color:#8c96a3;max-width:355px;margin-bottom:35px}.login-card small{font-size:10px;color:#9ba4af;margin-top:18px}.google{font-size:12px;padding:14px 25px;gap:18px}.google b{font-size:17px}.login-art{background:#142136;position:relative;display:flex;flex-direction:column;justify-content:center;padding:80px;color:white;overflow:hidden}.login-art>span{font-size:9px;letter-spacing:2.5px;color:#e6b24b;margin-bottom:25px;position:relative}.login-art strong{font-size:clamp(28px,3vw,46px);letter-spacing:-1.5px;font-weight:500;line-height:1.3;position:relative}.orb{position:absolute;width:650px;height:650px;border:1px solid #ffffff0a;right:-330px;top:-200px;border-radius:50%;box-shadow:0 0 0 90px #ffffff02,0 0 0 180px #ffffff02}.art-bars{display:flex;align-items:flex-end;height:150px;gap:18px;margin-top:60px}.art-bars i{width:34px;background:#f0b44c;border-radius:5px 5px 0 0;height:40%;opacity:.3}.art-bars i:nth-child(2n){height:60%;opacity:.5}.art-bars i:nth-child(3n){height:80%;opacity:.7}.art-bars i:last-child{height:100%;opacity:1}pre{background:#f6f8fa;padding:15px;border-radius:6px;font-size:11px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}details{margin:12px 0}summary{cursor:pointer;font-size:12px;padding:12px;background:#f8fafb;border-radius:6px}.reference-grid{max-height:350px;overflow:auto}input[type=file]{font-size:11px;max-width:100%;margin:15px 0}.error-text{color:#a14343;font-size:11px;line-height:1.6}.table-link{color:#5775a8;text-decoration:underline;cursor:pointer}.row-avatar{display:inline-grid;place-items:center;width:25px;height:25px;background:#edf1f6;color:#68819f;font-size:9px;border-radius:50%;margin-right:9px}.audit-list{font-size:12px;line-height:1.8}.audit-list p{border-bottom:1px solid var(--line);padding:10px 0}.metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:20px 0}.mini-stat{background:#f8fafb;padding:17px;border-radius:7px}.mini-stat b{font-size:22px;display:block;margin-top:10px}.mini-stat span{font-size:10px;color:#8d97a5}.negative{color:#b46d39}body.busy{cursor:progress}@media(min-width:1550px){main{padding:42px 54px}.topbar{padding:0 54px}.chart{height:240px}.kpi{padding:24px}.kpi-value{font-size:35px}}@media(max-width:1200px){.sidebar{width:214px}.main{margin-left:214px}main{padding:30px 25px}.topbar{padding:0 25px}.filterbar{gap:14px}.period-label{display:none}.kpi{padding:17px 14px}.kpi-value{font-size:27px}.grid{grid-template-columns:1.4fr 1fr}.donut-wrap{gap:10px}.donut{width:126px;height:126px}.heading-actions .button{padding:10px}.page-heading{gap:12px}}@media(max-width:950px){.sidebar{width:190px;padding:25px 11px 0}.brand{font-size:16px;margin:0 8px 32px;gap:10px}.brand>div:last-child>span{font-size:8px}.main{margin-left:190px}main{padding:25px 20px}.kpis{gap:10px;grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.filterbar label{min-width:100px}.filterbar select{max-width:170px}.page-heading{align-items:flex-start}.heading-actions{flex-direction:column}.grid.equal{grid-template-columns:1fr}.panel{padding:20px}.donut-wrap{gap:35px}.donut{width:150px;height:150px}.breadcrumb{font-size:10px}nav a{font-size:11px}}@media(max-width:680px){.sidebar{transform:translateX(-100%);width:230px;transition:transform .2s}.sidebar.open{transform:translateX(0);box-shadow:10px 0 50px #14213640}.main{margin-left:0}.mobile{display:block}.topbar{padding:0 20px;height:61px;gap:15px}.breadcrumb{margin-right:auto}.breadcrumb>span,.breadcrumb>b{display:none}.top-right{gap:10px}.environment{font-size:7px}main{padding:26px 16px}h1{font-size:26px}.eyebrow{font-size:8px;letter-spacing:1px}.page-heading p{font-size:11px}.heading-actions{gap:6px}.heading-actions .button{font-size:9px;padding:8px}.filterbar{flex-wrap:wrap;gap:15px;padding:14px;margin-bottom:20px}.filterbar label{flex:1;min-width:100px}.filterbar select,.filterbar input{font-size:10px;width:100%}.filterbar>.text-button{display:none}.kpis{gap:10px}.kpi-value{font-size:27px}.kpi-top{font-size:10px}.kpi-foot{font-size:8px}.section-kicker{font-size:10px}.section-kicker small{font-size:8px}.panel{padding:18px}.chart{height:180px}.panel-head{gap:10px}.chart-summary{gap:25px}.grid{gap:15px;margin-bottom:15px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.login{grid-template-columns:1fr}.login-art{display:none}.login-card{padding:45px;min-height:100vh}.metrics-grid{grid-template-columns:1fr}.toast{left:16px;right:16px;bottom:16px}footer{font-size:8px;line-height:1.5}footer>span:last-child{text-align:right}.subtabs{overflow:auto}.panel-head .button{font-size:9px;padding:8px}.user{padding-bottom:25px}}
/* Bound standalone icons in section headers and empty states. */
.customer-link{border:0;background:none;padding:0;color:var(--brand);font:inherit;font-weight:500;text-align:left;cursor:pointer;line-height:1.6}.customer-link:hover{text-decoration:underline}.customer-detail-actions{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:18px}body:has(.customer-detail-actions) dialog{width:min(1180px,96vw)}.customer-tabs{overflow:auto}.customer-tabs button{white-space:nowrap}.customer-link+.portfolio-row-note{max-width:250px;white-space:normal}.annual-name>.text-button{display:block;font-size:9px;padding:4px 0;margin:4px 0}.customer-detail-actions~.metrics-grid{margin:20px 0}#customer-form .form-grid{grid-template-columns:1fr}#customer-form .wide{grid-column:auto}#customer-search{max-width:440px}.customer-detail-actions~.table-scroll .annual-month{min-width:108px}@media(max-width:680px){.customer-detail-actions .button{font-size:10px}.customer-tabs button{padding:12px 10px}.customer-detail-actions~.metrics-grid{grid-template-columns:1fr}}
.panel-head>svg{width:18px;height:18px;color:#9aa6b5;flex-shrink:0}.empty>svg{width:36px;height:36px;color:#aab6c6}.survey-grid input{max-width:65px}#survey-form input{width:63px;border:1px solid #dce2e9;padding:9px;border-radius:5px}
.annual-matrix{max-height:660px;border:1px solid var(--line);border-radius:7px;isolation:isolate}
.annual-matrix table{width:max-content;min-width:100%}
.annual-matrix th{text-transform:capitalize;position:sticky;top:0;z-index:2;text-align:center}
.annual-matrix th:first-child{left:0;z-index:4;text-align:left}
.annual-matrix .annual-name{position:sticky;left:0;z-index:3;background:white;min-width:200px;max-width:220px;white-space:normal;box-shadow:3px 0 5px #14213606;vertical-align:middle}
.annual-name>small{display:block;font-size:9px;font-weight:400;color:#8591a2;margin:7px 0 10px;line-height:1.5}
.annual-month{padding:8px 6px;text-align:center;vertical-align:top;min-width:108px}
.annual-cell{padding:9px 7px;min-height:82px;border-radius:5px;background:#f4f7fb;color:#3c547b;font-size:10px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:6px}
.annual-cell strong{font-size:12px;font-weight:650;line-height:1.4}
.annual-cell small{font-size:9px;line-height:1.4}.annual-cell>span{font-size:8px;line-height:1.4}
.annual-cell.unavailable{background:#fafbfc;color:#a2abb7}
.annual-cell.over-limit{color:#af2834;background:#fff0f1;border:1px solid #f4ccd0}
.annual-cell.over-limit .excess-label{font-weight:650}
.exceeded-month{background:#fffafa}.exceeded-text,.exceeded-total strong{color:#b62d3b!important;font-weight:650}
.annual-total{text-align:right;min-width:125px}.annual-total>small{display:block;color:#95a0ae;margin-top:8px;font-size:8px}.annual-total>strong{font-size:12px}
.pill.danger{background:#fff0f1;color:#b62d3b;border:1px solid #f4d1d5}.progress.danger i{background:#c63d44}
.annual-client-link{border:0;background:none;padding:0;color:#354f78;font:inherit;font-weight:600;text-align:left;text-decoration:underline;text-decoration-color:#ccd5e3;text-underline-offset:3px;line-height:1.6}
.annual-client-link:hover{color:#142136}.annual-info{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:10px;line-height:1.7;color:#8490a2;margin:0 0 18px}
.annual-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-left:14px}.annual-dot:first-child{margin-left:0}.annual-dot.red,.annual-legend i.red{background:#c63d44}.annual-dot.blue{background:#5376bc}.annual-dot.gray,.annual-legend i.gray{background:#c6cedb}
.annual-legend{margin:0 0 18px;flex-wrap:wrap}.annual-chart{display:block;width:100%;min-width:570px;height:auto;max-height:330px}.annual-chart text{font-size:10px;fill:#8996a7}.annual-chart .gridline{stroke:#edf0f4;stroke-dasharray:3 4}.annual-chart-scroll{overflow:auto}
.annual-kpis.has-excess .kpi:nth-child(3){background:#fff7f7;border-color:#f1d4d7}.annual-kpis.has-excess .kpi:nth-child(3) .kpi-value{color:#b62d3b}
#annual-period input{max-width:100px}
@media(max-width:680px){.annual-matrix .annual-name{min-width:140px;max-width:160px}.annual-info{font-size:9px}.annual-dot{margin-left:5px}.annual-matrix{max-height:560px}}
.portfolio-actions,.portfolio-sections{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:22px;align-items:center}.portfolio-actions .button.primary{margin-left:auto}.portfolio-sections .button{font-size:10px}.portfolio-row-note{display:block;color:#97a1af;font-size:9px;margin-top:6px;font-weight:400}.portfolio-form-title{font-size:13px;margin:25px 0 10px}.portfolio-month-inputs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:15px}.portfolio-month-inputs label{font-size:10px;color:#7e8b9d;display:flex;flex-direction:column;gap:7px;text-transform:capitalize}.portfolio-month-inputs input{width:100%;border:1px solid #dce2e9;border-radius:5px;padding:9px;color:var(--ink)}#portfolio-client-form small{font-size:10px;line-height:1.7}body:has(#portfolio-client-form) dialog{width:min(1000px,94vw)}.portfolio-actions~.subtabs{overflow:auto}.panel:has(.portfolio-row-note) td.name{max-width:270px;white-space:normal;min-width:220px;line-height:1.5}#annual-source-filter{min-width:160px}#annual-source{max-width:180px}#content:has(.portfolio-actions) .kpi-value{font-size:25px;overflow-wrap:anywhere}.filterbar:has(#annual-source-filter:not(.hidden)){flex-wrap:wrap}@media(max-width:680px){.portfolio-month-inputs{grid-template-columns:repeat(2,1fr)}.portfolio-actions .button.primary{margin-left:0}.portfolio-actions .button{font-size:9px}.portfolio-sections{gap:6px}}
