.loading{padding:50px;color:var(--muted)}
.report-filters{margin-bottom:18px}.report-filters .filters{margin-bottom:10px}.report-checkbox{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:12px}.report-period{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.report-period input{font-size:12px;max-width:160px}.report-range-presets{display:flex;gap:12px;margin-left:5px}.report-range-presets button{background:none;border:0;padding:4px 0;font-size:12px;color:var(--primary)}.report-scope{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 15px;font-size:11px;color:var(--muted)}.report-scope select{font-size:12px;min-height:32px}.report-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.report-stat{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;text-align:left;min-width:0}.report-stat .stat-value{font-size:24px}.report-stat .stat-note{min-height:18px}.report-stat:nth-child(4n){border-right:0}.report-stat:nth-last-child(-n+4){border-bottom:0}.report-stat:is(button):hover{background:#f1f7f4}.report-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}.report-chart-grid>*{min-width:0}.report-chart-grid .section{margin-top:22px}.report-chart-section{min-width:0;padding-bottom:16px}.report-chart-section .empty{min-height:175px;display:grid;place-items:center}.report-bars{display:flex;flex-direction:column;gap:11px;padding:6px 0}.report-bar-row{display:grid;grid-template-columns:minmax(70px,130px) minmax(40px,1fr) minmax(32px,100px);align-items:center;gap:12px;width:100%;text-align:left;border:0;background:none;padding:4px 0;font-size:12px}.report-bar-row:is(button):hover{background:#eaf2ee}.report-bar-label{overflow-wrap:anywhere;line-height:1.5}.report-bar-track{height:10px;background:#e8eeeb;border-radius:2px;overflow:hidden}.report-bar-track>span{display:block;height:100%;border-radius:2px}.report-bar-row strong{text-align:right;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.report-donut-layout{display:flex;align-items:center;gap:26px;min-height:220px;padding:12px 0}.report-donut{width:164px;height:164px;flex:none;border-radius:50%;display:grid;place-items:center}.report-donut>div{width:110px;height:110px;border-radius:50%;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center}.report-donut strong{font-size:27px;font-weight:600}.report-donut span{font-size:11px;color:var(--muted)}.report-legend{flex:1;min-width:0;display:flex;flex-direction:column;gap:13px}.report-legend-row{display:grid;grid-template-columns:9px minmax(50px,1fr) 30px 45px;align-items:center;gap:8px;font-size:12px;border:0;background:none;padding:0;text-align:left;width:100%}.report-legend-row:is(button):hover{color:var(--primary)}.report-legend-row i,.report-series-key i{display:inline-block;width:9px;height:9px;border-radius:2px;flex:none}.report-legend-row small{color:var(--muted);text-align:right;font-size:10px}.report-legend-row strong{text-align:right}.report-series-scroll{overflow-x:auto;padding:22px 6px 0;max-width:100%}.report-series{display:grid;gap:16px;min-width:0}.report-series-column{min-width:0}.report-series-bars{height:170px;display:flex;align-items:flex-end;justify-content:center;gap:5px;border-bottom:1px solid var(--line);padding:0 8px}.report-series-bar{position:relative;width:18px;max-width:28px;border-radius:2px 2px 0 0;flex:1}.report-series-bar span{display:none;position:absolute;bottom:100%;left:50%;transform:translateX(-50%);font-size:10px;white-space:nowrap;background:#fff;border:1px solid var(--line);padding:3px 6px;color:var(--ink);z-index:2}.report-series-bar:hover span,.report-series-bar:focus span{display:block}.report-series-label{display:block;font-size:10px;color:var(--muted);text-align:center;padding-top:9px;white-space:nowrap}.report-series-key{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-top:14px}.report-series-key span{display:flex;align-items:center;gap:7px}.report-money{font-variant-numeric:tabular-nums;white-space:nowrap}.report-definitions{margin-top:30px;padding-top:14px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.report-definitions summary{cursor:pointer}.report-definitions p{margin-top:10px;line-height:1.9}.report-tabs{margin-bottom:16px}
@media(max-width:1100px){.report-chart-grid{gap:0 22px}.report-donut-layout{gap:14px}.report-donut{width:138px;height:138px}.report-donut>div{width:94px;height:94px}.report-bar-row{grid-template-columns:minmax(65px,100px) minmax(35px,1fr) minmax(25px,90px);gap:8px}}
@media(max-width:900px){.report-chart-grid{grid-template-columns:1fr}.report-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.report-stat:nth-child(2n){border-right:0}.report-stat:nth-last-child(-n+4){border-bottom:1px solid var(--line)}.report-stat:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:650px){.report-period{gap:7px}.report-period>span:first-child{width:100%}.report-period input{max-width:145px;flex:1}.report-range-presets{width:100%;margin:0;gap:20px}.report-filters select{max-width:100%;flex:1}.report-filters .filters{gap:8px}.report-checkbox{font-size:11px}.report-scope{align-items:flex-start}.report-stat .stat-value{font-size:20px}.report-donut-layout{gap:18px}.report-donut{width:132px;height:132px}.report-donut>div{width:90px;height:90px}.report-donut strong{font-size:24px}.report-legend-row{grid-template-columns:8px minmax(35px,1fr) 22px 36px;gap:5px;font-size:11px}.report-bar-row{grid-template-columns:minmax(65px,100px) minmax(30px,1fr) minmax(24px,90px)}.report-series-bars{height:150px}.report-chart-section{padding-bottom:4px}}
.priority-mark{display:inline-flex;vertical-align:-2px;color:#b42318}.priority-mark svg{width:14px;height:14px;fill:currentColor;stroke:currentColor}.priority-project td,.priority-project td .sub,.priority-project td .row-title{color:#b42318;font-weight:700}.priority-project td{background:#fff8f7}.priority-project td:first-child{box-shadow:inset 3px 0 #b42318}.priority-project .link-button{color:#b42318;font-weight:700}.project-name-line{display:flex;align-items:center;gap:6px}.project-name-line .priority-toggle{flex:none}.priority-toggle.is-priority{color:#b42318}.priority-toggle.is-priority svg{fill:currentColor;stroke:currentColor}.priority-toggle:disabled{opacity:.5;cursor:wait}.priority-heading h1,.priority-heading p{color:#b42318;font-weight:700}.priority-project-banner{color:#b42318;font-weight:700;background:#fff1f0;border:1px solid #f2c4bf;border-left:3px solid #b42318;padding:9px 12px;border-radius:4px}.priority-project-banner .plain-note{color:#b42318;font-weight:700}.priority-project-banner .badge{font-weight:700}
.field[hidden]{display:none}.table-wrap td{overflow-wrap:anywhere}
.report-checkbox input[type=checkbox]{min-width:0;max-width:none;flex:none;width:14px;height:14px;margin:0}.report-priority-link{color:#b42318;font-weight:700}.report-filters .filters select{min-width:110px;max-width:260px}
.report-bars{max-height:390px;overflow-y:auto;padding-right:6px}
@media(max-width:650px){.report-filters .filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.report-filters .filters select{width:100%;min-width:0;max-width:100%}.report-filters .filters>.button{justify-self:end}.report-checkbox{min-width:0}}
.monthly-value-row{display:grid;grid-template-columns:minmax(140px,1fr) 130px minmax(140px,1fr);gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.monthly-value-row label{font-size:12px}.monthly-value-row small{display:block;font-size:10px;color:var(--muted)}.monthly-value-row input{width:100%;text-align:right}.monthly-section{margin-top:24px}.monthly-top{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin-bottom:18px}.monthly-history{margin:12px 0;border-bottom:1px solid var(--line);padding:10px 0}.monthly-history summary{cursor:pointer;margin-bottom:12px}.upload-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:15px}.upload-row input{max-width:100%;min-width:0;flex:1}.tier-row{display:grid;grid-template-columns:minmax(120px,1.4fr) minmax(80px,.8fr) minmax(110px,1fr) 34px;gap:9px;margin:10px 0}.tier-row input,.tier-row select{width:100%;min-width:0}.tier-head{display:grid;grid-template-columns:1.4fr .8fr 1fr;gap:9px;font-size:10px;color:var(--muted);margin:16px 43px 0 0}.check-label input{width:auto}#monthlyWarnings{margin-top:18px}.contract-row-actions{flex-wrap:wrap}
.tier-row{grid-template-columns:minmax(120px,1.4fr) minmax(80px,.8fr) minmax(205px,1.5fr) 34px}.tier-head{grid-template-columns:1.4fr .8fr 1.5fr}
.monthly-net-row{border-top:2px solid var(--line);margin-top:8px}.monthly-net-row>label{font-weight:600}.monthly-net-actions{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:10px}.monthly-net-actions span{font-size:11px;color:var(--muted);overflow-wrap:anywhere}
@media(max-width:650px){.monthly-value-row{grid-template-columns:minmax(110px,1fr) 125px;gap:8px}.monthly-value-row input{grid-column:1/-1;text-align:left}.tier-row{grid-template-columns:minmax(80px,1fr) 70px 34px}.tier-row select{grid-column:1/3;grid-row:2}.tier-row button{grid-column:3;grid-row:1}.tier-head{grid-template-columns:1fr 70px;margin-right:43px}.tier-head span:last-child{display:none}.upload-row input{flex-basis:100%}}
.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:30px 20px;background:#f5f8f6}
.auth-form{width:420px;max-width:100%;padding:30px;background:#fff;border:1px solid var(--line);border-radius:6px}
.auth-form .brand{padding:0 0 26px}.auth-form h1{font-size:21px;margin-bottom:8px}.auth-form p{font-size:12px;color:var(--muted);margin-bottom:22px}.auth-form .field{margin-top:15px}.auth-form .button.primary{width:100%;margin-top:18px;min-height:40px}.auth-foot{font-size:10px!important;margin:20px 0 0!important}
.password-input{position:relative}.password-input input{width:100%;padding-right:42px}.password-input button{position:absolute;right:3px;top:3px;border:0;width:31px;height:31px}
.stage-tag{font-size:10px;color:var(--muted);padding:2px 7px;background:#f1f4f2;border-radius:3px;white-space:nowrap}.account-name{font-size:12px;display:inline-flex;align-items:center;gap:7px;margin-left:auto;white-space:nowrap}
.topbar .top-search{margin-left:auto}.topbar .account-name{margin-left:0}.access-note{font-size:12px;color:var(--muted);padding:18px 0}.section-actions{display:flex;gap:8px;flex-wrap:wrap}.plain-note{font-size:11px;color:var(--muted)}
.form-section{font-size:13px;font-weight:600;margin:0 0 15px;border-bottom:1px solid var(--line);padding-bottom:9px}.field textarea{width:100%}.field input,.field select{width:100%}.field .check-label{display:flex;align-items:center;gap:8px;min-height:36px}.field input[type=checkbox]{width:auto}.dialog-form .form-grid+.form-section{margin-top:26px}.auth-form label{font-size:12px}.error-panel{padding:15px;border-left:3px solid var(--red);background:var(--red-bg);color:var(--red)}
.required::after{content:' *';color:var(--red)}.contact-actions{white-space:nowrap}.table-wrap td .icon-button{width:29px;height:29px}.stack-row{display:flex;justify-content:space-between;gap:14px;align-items:center}.stack-row .section-actions{flex:none}.history-detail{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;background:#f7f9f8;padding:10px;margin-top:9px}.project-summary{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:15px}.count-note{font-size:11px;color:var(--muted)}.dialog-footer .busy{opacity:.6}.field .muted-value{padding:9px 0}.section .table-wrap{margin-top:12px}.form-grid .subhead{grid-column:1/-1;border-bottom:1px solid var(--line);font-size:13px;font-weight:600;padding:12px 0 7px;margin-bottom:0}.contract-row-actions{display:flex;gap:10px;white-space:nowrap}
@media(max-width:650px){.topbar .top-search{max-width:170px}.topbar .account-name{font-size:11px;max-width:105px;white-space:normal;line-height:1.4}.topbar .icon-button.account-button{display:inline-flex}.topbar .stage-tag{display:none}.auth-form{padding:24px 20px}.auth-page{align-items:flex-start;padding-top:60px}.stack-row{flex-wrap:wrap}.table-wrap table{min-width:700px}.dialog-footer .button{min-height:36px}.filters select{max-width:100%}.project-summary{gap:6px}.section-title{align-items:flex-start}.contract-row-actions{gap:8px}}
.module-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 20px}.finance-link-row{display:flex;gap:8px;align-items:center;margin:8px 0}.finance-link-row select{min-width:0;flex:1}.finance-link-row input{width:130px;min-width:90px}.json-detail{font-size:12px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;max-height:420px;overflow:auto}.finance-number{font-size:23px!important}.sidebar-bottom{position:static!important;margin-top:auto}#sidebar{overflow-y:auto}.nav-item{min-height:40px}.section-actions{flex-wrap:wrap}.info-cell dd{overflow-wrap:anywhere}@media(max-width:650px){.finance-link-row{flex-wrap:wrap}.finance-link-row select{flex-basis:100%}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-number{font-size:18px!important}.heading-actions{flex-wrap:wrap}}
