:root{--bg:#f1f5f7;--surface:#fff;--ink:#20252e;--muted:#7c858f;--line:#e6ebee;--mint:#bfe9dc;--mint-strong:#55a991;--blue:#dfeefa;--blue-strong:#6ba6df;--yellow:#fff0cc;--yellow-strong:#dfad48;--lilac:#ebe7fb;--purple:#7e6bd1;--pink:#f8e3ec;--red:#df6f76;--red-soft:#fce9ea;--shadow:0 12px 32px rgba(47,67,76,.055);--radius:8px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Segoe UI","Microsoft YaHei",system-ui,sans-serif;letter-spacing:0;font-size:14px}button,input,select{font:inherit;letter-spacing:0}.app-shell{display:grid;grid-template-columns:190px minmax(0,1fr);min-height:100vh}.sidebar{background:linear-gradient(180deg,#faf9fd,#f2f0f8);border-right:1px solid #e8e5ef;padding:24px 14px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:0 10px 26px;font-size:17px;font-weight:650}.brand-mark{width:31px;height:31px;border-radius:7px;display:grid;place-items:center;background:linear-gradient(135deg,#7e6bd1,#a492eb);color:#fff;font-weight:700}.nav{display:grid;gap:5px}.nav-item{border:0;background:transparent;color:#6e7280;padding:10px 12px;border-radius:7px;text-align:left;cursor:pointer;display:flex;gap:10px;align-items:center;transition:.18s ease}.nav-item:hover{background:rgba(126,107,209,.07)}.nav-item.active{background:#e7e1fb;color:#604eb0;font-weight:600}.nav-icon{width:18px;text-align:center}.sidebar-foot{margin-top:auto;padding:13px 8px 0;border-top:1px solid #e4e0eb;display:flex;gap:9px;align-items:center}.sidebar-foot .avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:#326b5d}.sidebar-foot b,.sidebar-foot small{display:block}.sidebar-foot b{font-size:12px;font-weight:600}.sidebar-foot small{font-size:10px;color:var(--muted);margin-top:2px}.main{min-width:0}.topbar{min-height:70px;background:rgba(255,255,255,.9);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:12px 26px;gap:14px}.topbar h1{font-size:19px;margin:0 0 4px;font-weight:650}.topbar p{font-size:11px;color:var(--muted);margin:0}.top-actions{display:flex;gap:9px}.button{border:0;border-radius:6px;padding:9px 14px;cursor:pointer;white-space:nowrap}.button.primary{background:var(--purple);color:#fff}.button.primary:hover{background:#6e5bc1}.button.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.page-wrap{padding:20px 25px 36px;max-width:1500px;margin:auto}.page{display:none}.page.active{display:block}.filter-bar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:16px}.filter-bar label{font-size:11px;color:var(--muted);display:grid;gap:5px}.filter-bar select{min-width:124px;background:#fff;border:1px solid var(--line);border-radius:6px;padding:8px 28px 8px 9px;color:var(--ink)}.data-freshness{margin-left:auto;color:var(--muted);font-size:11px;display:flex;gap:7px;align-items:center;padding-bottom:8px}.data-freshness i{width:7px;height:7px;border-radius:50%;background:var(--mint-strong)}.metric-grid{display:grid;grid-template-columns:1.25fr repeat(3,minmax(155px,.75fr));gap:12px}.metric-card{border-radius:var(--radius);padding:17px;min-height:142px;position:relative;overflow:hidden}.metric-card:after{content:"";position:absolute;width:70px;height:70px;border-radius:50%;right:-24px;bottom:-26px;background:rgba(255,255,255,.45)}.metric-card.mint{background:var(--mint)}.metric-card.yellow{background:var(--yellow)}.metric-card.blue{background:var(--blue)}.metric-card.lilac{background:var(--lilac)}.metric-label{color:#606a73;font-size:12px}.metric-card strong{display:block;font-size:27px;margin:15px 0 9px;font-weight:700}.metric-card.featured strong{font-size:36px;margin:12px 0 10px}.metric-card small{color:#67717a;font-size:11px}.metric-split{display:flex;gap:22px;color:#5c716a;font-size:11px}.metric-split b{display:block;color:#263e37;font-size:14px;margin-top:3px}.risk-banner{display:none;margin-top:13px;background:#fff;border:1px solid #f0c8ca;border-left:1px solid #f0c8ca;border-radius:6px;padding:11px 14px;color:#97555a}.risk-banner.show{display:flex;justify-content:space-between}.overview-grid,.lower-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:15px;margin-top:15px}.panel{background:var(--surface);border:1px solid rgba(225,232,235,.9);border-radius:var(--radius);padding:17px;box-shadow:var(--shadow);min-width:0}.panel-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}.panel-heading h2{font-size:15px;margin:0 0 4px;font-weight:650}.panel-heading p{font-size:11px;color:var(--muted);margin:0}.legend{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:10px}.legend span{display:flex;align-items:center;gap:4px}.legend i{width:8px;height:8px;border-radius:2px}.legend .spent{background:var(--mint-strong)}.legend .pending{background:var(--yellow-strong)}.legend .future{background:var(--blue-strong)}.budget-rows{display:grid;gap:13px}.budget-row{display:grid;grid-template-columns:70px minmax(130px,1fr) 92px 66px;gap:9px;align-items:center;font-size:11px}.budget-track{height:16px;padding:2px;background:#eef2f3;border-radius:4px;display:flex;gap:2px;overflow:hidden}.budget-track i{display:block;border-radius:2px}.budget-track .spent{background:var(--mint-strong)}.budget-track .pending{background:var(--yellow-strong)}.budget-track .future{background:var(--blue-strong)}.budget-row.over{background:var(--red-soft);padding:7px;margin:-4px -7px;border-radius:6px}.budget-row.over .future{background:var(--red)}.budget-status{text-align:right;color:var(--mint-strong)}.budget-status.watch{color:#af7818}.budget-status.over{color:var(--red);font-weight:600}.category-layout{display:grid;grid-template-columns:145px minmax(0,1fr);gap:18px;align-items:center}.donut{width:142px;height:142px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--mint-strong) 0 40%,var(--blue-strong) 40% 70%,var(--yellow-strong) 70% 85%,var(--purple) 85% 100%)}.donut:after{content:"";position:absolute;inset:29px;background:#fff;border-radius:50%}.donut>div{position:relative;z-index:1;text-align:center}.donut b,.donut small{display:block}.donut b{font-size:15px}.donut small{font-size:10px;color:var(--muted);margin-top:3px}.category-list{display:grid;gap:9px}.category-item{display:grid;grid-template-columns:9px 1fr auto;gap:7px;align-items:center;font-size:11px}.category-item i{width:8px;height:8px;border-radius:2px}.category-item small{display:block;color:var(--muted);margin-top:2px}.payer-summary{border-top:1px solid var(--line);margin-top:15px;padding-top:12px;font-size:10px;color:var(--muted)}.payer-bar{height:10px;display:flex;border-radius:3px;overflow:hidden;margin:7px 0}.payer-bar i:first-child{background:var(--purple)}.payer-bar i:last-child{background:#ea96b5}.payer-label{display:flex;justify-content:space-between}.project-panel{background:linear-gradient(135deg,#fff,#f4f1ff)}.todo-panel{background:linear-gradient(135deg,#fff,#fff9e9)}.text-button{background:none;border:0;color:var(--purple);font-size:11px;cursor:pointer}.project-row{display:grid;grid-template-columns:minmax(140px,1.3fr) repeat(3,minmax(76px,.6fr));gap:10px;align-items:center;padding:11px 0;border-top:1px solid var(--line);font-size:11px}.project-row:first-child{border-top:0}.project-row b,.project-row small{display:block}.project-row b{font-weight:650}.project-row small{color:var(--muted);margin-top:2px}.project-value{text-align:right}.project-profit{color:var(--mint-strong)}.todo-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:11px}.todo-item:last-child{border:0}.todo-item i{width:8px;height:8px;border-radius:50%;background:var(--yellow-strong);box-shadow:0 0 0 4px var(--yellow)}.todo-item.danger i{background:var(--red);box-shadow:0 0 0 4px var(--red-soft)}.todo-item span{flex:1}.cash-panel{display:grid;grid-template-columns:1fr 1.15fr;gap:22px;margin-top:15px;background:linear-gradient(110deg,#fff,#effaf6)}.income-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.income-stats>span{padding:12px;border-radius:6px}.income-stats .mint{background:#e4f5ef}.income-stats .blue{background:var(--blue)}.income-stats .lilac{background:var(--lilac)}.income-stats small,.income-stats b{display:block}.income-stats small{color:var(--muted);font-size:10px}.income-stats b{margin-top:6px;font-size:16px}.forecast-box{border-left:1px solid var(--line);padding-left:22px}.forecast-box>span{font-size:11px}.forecast-box strong{display:block;font-size:28px;margin:9px 0}.forecast-box small{color:var(--muted);font-size:10px}.forecast-line{height:8px;background:#e8eeec;border-radius:3px;overflow:hidden;margin-bottom:7px}.forecast-line i{display:block;width:72%;height:100%;background:linear-gradient(90deg,var(--mint-strong),var(--blue-strong),var(--purple))}.page-toolbar{display:flex;justify-content:space-between;align-items:end;gap:12px}.filter-bar.compact{margin:0}.expense-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:15px 0}.expense-summary span{background:#fff;border:1px solid var(--line);border-radius:7px;padding:13px}.expense-summary small,.expense-summary b{display:block}.expense-summary small{font-size:10px;color:var(--muted)}.expense-summary b{font-size:18px;margin-top:6px}.table-panel{padding:0;overflow:hidden}.table-head{display:flex;justify-content:space-between;align-items:center;padding:15px 17px;border-bottom:1px solid var(--line)}.table-head h2{font-size:14px;margin:0}.table-head input{border:1px solid var(--line);border-radius:6px;padding:8px 10px;width:220px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;min-width:970px}th,td{text-align:left;padding:12px 13px;border-bottom:1px solid var(--line);font-size:11px;white-space:nowrap}th{color:var(--muted);font-weight:500;background:#fafbfc}td.amount{font-weight:650}.badge{display:inline-block;padding:4px 7px;border-radius:4px;font-size:10px}.badge.confirmed{background:#e2f4ee;color:#3d836f}.badge.pending{background:var(--yellow);color:#9b6b18}.badge.reimbursed{background:var(--blue);color:#3975a8}.badge.waiting{background:#f1f2f4;color:#68717a}.empty-row{text-align:center;color:var(--muted);padding:32px}.placeholder{background:#fff;border:1px solid var(--line);border-radius:8px;min-height:460px;display:grid;place-items:center;align-content:center;text-align:center;padding:40px}.placeholder>span{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--lilac);color:var(--purple);font-size:25px}.placeholder h2{margin:16px 0 8px}.placeholder p{color:var(--muted);max-width:430px;margin:0 0 22px}.modal-backdrop{position:fixed;inset:0;background:rgba(35,39,48,.25);display:grid;place-items:center;padding:18px;z-index:20}.modal-backdrop[hidden]{display:none}.modal{background:#fff;border-radius:8px;width:min(680px,100%);box-shadow:0 24px 80px rgba(31,38,48,.22);max-height:92vh;overflow:auto}.modal header{display:flex;justify-content:space-between;padding:20px 22px 13px;border-bottom:1px solid var(--line)}.modal h2{font-size:18px;margin:0 0 4px}.modal header p{font-size:11px;color:var(--muted);margin:0}.icon-button{border:0;background:transparent;font-size:24px;cursor:pointer;color:var(--muted)}#expense-form{padding:18px 22px}.modal label{display:grid;gap:6px;font-size:11px;color:var(--muted)}.modal input,.modal select{border:1px solid var(--line);border-radius:6px;padding:9px 10px;color:var(--ink);background:#fff}.wide{width:100%}.parse-result{background:#f4f1ff;color:#6759a7;padding:10px;border-radius:6px;margin:10px 0 15px;font-size:11px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.check-line{display:flex!important;grid-template-columns:auto 1fr;align-items:center;margin-top:15px;color:var(--ink)!important}.modal footer{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.toast{position:fixed;right:22px;bottom:22px;background:#283039;color:#fff;padding:11px 15px;border-radius:6px;opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s;z-index:30}.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(2,1fr)}.overview-grid,.lower-grid,.cash-panel{grid-template-columns:1fr}.forecast-box{border-left:0;border-top:1px solid var(--line);padding:15px 0 0}.budget-row{grid-template-columns:62px 1fr 85px}.budget-status{display:none}}
@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:12px 14px;display:block;border-right:0;border-bottom:1px solid #e8e5ef}.brand{padding:0 4px 10px}.nav{display:flex;overflow:auto;gap:5px}.nav-item{flex:0 0 auto;padding:8px 10px}.nav-icon,.sidebar-foot{display:none}.topbar{padding:11px 15px}.topbar p,.button.secondary{display:none}.page-wrap{padding:14px}.filter-bar label{width:calc(50% - 5px)}.filter-bar select{width:100%;min-width:0}.data-freshness{width:100%;margin-left:0}.metric-grid{grid-template-columns:1fr}.category-layout{grid-template-columns:1fr}.donut{margin:auto}.project-row{grid-template-columns:1fr 85px}.project-row .project-value:nth-last-child(-n+2){display:none}.income-stats,.expense-summary{grid-template-columns:repeat(2,1fr)}.page-toolbar{display:block}.page-toolbar>.button{margin-top:10px}.form-grid{grid-template-columns:1fr}.table-head{align-items:flex-start;gap:10px;flex-direction:column}.table-head input{width:100%}}

/* Refined visual system: calm white surfaces, precise spacing, restrained color. */
:root{--bg:#f6f7fb;--surface:#fff;--ink:#191c24;--muted:#9297a3;--line:#eceef3;--mint:#e9f7f1;--mint-strong:#54a88d;--blue:#edf5fb;--blue-strong:#6da5d7;--yellow:#fff7e7;--yellow-strong:#d8a84c;--lilac:#f1effd;--purple:#7863ed;--pink:#faeff4;--red:#df6f76;--red-soft:#fff1f2;--shadow:0 10px 30px rgba(48,42,91,.045);--radius:8px}
body{font-family:"Segoe UI Variable Display","Segoe UI","Microsoft YaHei UI","Microsoft YaHei",sans-serif;font-size:13px;font-weight:400;background:linear-gradient(135deg,#f8f8fc 0%,#f4f6fb 55%,#f7f6fd 100%);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.app-shell{grid-template-columns:168px minmax(0,1fr)}
.sidebar{background:rgba(255,255,255,.9);border-right:1px solid #eff0f5;padding:24px 14px 18px}
.brand{gap:9px;padding:0 8px 30px;font-size:15px;font-weight:600}.brand-mark{width:27px;height:27px;border-radius:6px;background:var(--purple);font-size:13px;box-shadow:0 7px 16px rgba(120,99,237,.18)}
.nav{gap:7px}.nav-item{color:#8b8f99;padding:9px 10px;border-radius:7px;gap:9px;font-size:12px;font-weight:400}.nav-item:hover{background:#f7f6fd;color:#5f6170}.nav-item.active{background:#f0edff;color:#6953dd;font-weight:500}.nav-icon{width:17px;height:17px;display:grid;place-items:center}.nav-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sidebar-foot{padding:15px 6px 0;border-color:#f0f1f5}.sidebar-foot .avatar{width:29px;height:29px;background:#eef8f4;color:#4d927d;font-size:11px}.sidebar-foot b{font-weight:500;font-size:11px}.sidebar-foot small{font-size:9px}
.topbar{min-height:72px;padding:13px 28px;background:rgba(255,255,255,.82);border-color:#f0f1f5;backdrop-filter:blur(12px)}.topbar h1{font-size:18px;font-weight:600;margin-bottom:5px}.topbar p{font-size:10px}.button{border-radius:7px;padding:9px 14px;font-size:11px;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--purple);box-shadow:0 7px 18px rgba(120,99,237,.18)}.button.secondary{border-color:#e9eaf0;color:#646873}
.page-wrap{padding:22px 28px 42px}.filter-bar{margin-bottom:19px;gap:12px}.filter-bar label{font-size:10px;gap:6px}.filter-bar select{border-color:#e9eaf0;border-radius:7px;padding:8px 30px 8px 10px;font-size:11px;box-shadow:0 3px 10px rgba(40,44,58,.02)}.data-freshness{font-size:10px}.data-freshness i{width:6px;height:6px}
.metric-grid{grid-template-columns:1.2fr repeat(3,minmax(155px,.8fr));gap:14px}.metric-card{background:#fff!important;border:1px solid #eceef3;border-radius:8px;min-height:128px;padding:17px 17px 16px;box-shadow:0 9px 25px rgba(48,42,91,.035);overflow:hidden}.metric-card:after{display:none}.metric-card:before{content:"";position:absolute;width:4px;height:32px;left:0;top:18px;border-radius:0 4px 4px 0}.metric-card.mint:before{background:#65b79c}.metric-card.yellow:before{background:#e7b553}.metric-card.blue:before{background:#71aee1}.metric-card.lilac:before{background:#8a72ed}.metric-label{color:#898e99;font-size:11px}.metric-card strong{font-size:25px;font-weight:600;margin:16px 0 8px;line-height:1}.metric-card.featured strong{font-size:31px;font-weight:600;margin:14px 0 11px}.metric-card small{font-size:10px;color:#a0a4ad}.metric-split{gap:24px;color:#a0a4ad;font-size:9px}.metric-split b{color:#555a65;font-size:12px;font-weight:500;margin-top:4px}
.risk-banner{margin-top:14px;border:0;border-left:1px solid #f0c8ca;background:#fff7f7;color:#985d61;border-radius:5px;font-size:10px;box-shadow:none}
.overview-grid,.lower-grid{gap:16px;margin-top:16px}.panel{border:1px solid #eceef3;border-radius:8px;padding:19px;box-shadow:var(--shadow)}.panel-heading{margin-bottom:19px}.panel-heading h2{font-size:14px;font-weight:600;margin-bottom:5px}.panel-heading p{font-size:10px}.legend{font-size:9px;gap:12px}.legend i{width:7px;height:7px;border-radius:50%}
.budget-rows{gap:15px}.budget-row{grid-template-columns:64px minmax(140px,1fr) 96px 62px;font-size:10px}.budget-track{height:9px;padding:0;gap:1px;border-radius:10px;background:#f1f2f5}.budget-track i{border-radius:10px}.budget-row.over{padding:7px 8px;margin:-5px -8px;background:#fff6f6}.budget-status{font-size:9px}.budget-track .spent{background:#65b79c}.budget-track .pending{background:#e9b85b}.budget-track .future{background:#7aafe0}
.category-layout{grid-template-columns:132px minmax(0,1fr);gap:22px}.donut{width:126px;height:126px;box-shadow:0 0 0 7px #fafafd}.donut:after{inset:26px}.donut b{font-size:14px;font-weight:600}.donut small{font-size:9px}.category-list{gap:10px}.category-item{font-size:10px}.category-item i{border-radius:50%;width:7px;height:7px}.category-item b{font-weight:500}.category-item small{font-size:9px}.payer-summary{font-size:9px;border-color:#f0f1f4}.payer-bar{height:6px;border-radius:10px}.payer-bar i:first-child{background:#8a72ed}.payer-bar i:last-child{background:#e9a1bb}
.project-panel,.todo-panel,.cash-panel{background:#fff}.text-button{font-size:10px}.project-row{font-size:10px;padding:12px 0}.project-row b{font-weight:500}.project-row small{font-size:9px}.project-profit{color:#4b9f83}.todo-item{font-size:10px;padding:11px 0}.todo-item i{width:6px;height:6px;box-shadow:0 0 0 3px #fff3d8}.todo-item.danger i{box-shadow:0 0 0 3px #ffedef}
.cash-panel{gap:28px}.income-stats{gap:10px}.income-stats>span{background:#fafafd!important;border:1px solid #f0f1f4;padding:12px 13px}.income-stats small{font-size:9px}.income-stats b{font-size:15px;font-weight:500}.forecast-box>span{font-size:10px;color:#777c87}.forecast-box strong{font-size:25px;font-weight:600}.forecast-box small{font-size:9px}.forecast-line{height:6px}.forecast-line i{background:var(--purple)}
.expense-summary{gap:12px}.expense-summary span{border-color:#eceef3;box-shadow:0 8px 22px rgba(48,42,91,.025);padding:15px}.expense-summary small{font-size:9px}.expense-summary b{font-size:17px;font-weight:500}.table-head{padding:17px 19px}.table-head h2{font-weight:600}.table-head input{font-size:10px;border-color:#e9eaf0}th,td{font-size:10px;padding:13px 14px}th{background:#fbfbfd;font-weight:400}.badge{border-radius:10px;padding:4px 8px;font-size:9px}.modal{border-radius:10px}.modal h2{font-weight:600}.parse-result{background:#f5f3ff;color:#6d60af}
@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{padding:12px 14px}.brand{padding:0 3px 11px}.nav-item{font-size:11px}.nav-icon{display:grid}.page-wrap{padding:16px}.metric-grid{grid-template-columns:1fr}.metric-card{min-height:118px}}

.filter-bar{gap:10px;padding:0 2px}.filter-bar select{min-width:116px}.data-freshness{font-size:9px}
.budget-row{grid-template-columns:58px minmax(140px,1fr) 92px 52px;font-size:9px;color:#626773}.budget-row>span:first-child{color:#454a54;font-size:10px}.budget-track{height:8px}

@media(max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}.app-shell,.sidebar,.main,.topbar,.page-wrap,.page{width:100%;min-width:0;max-width:100%}
  .nav{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.topbar{min-width:0}.top-actions{flex:0 0 auto}.topbar>div:first-child{min-width:0}
  .budget-row{grid-template-columns:46px minmax(72px,1fr) 74px;gap:7px}.budget-status{display:none}.budget-panel{padding-left:14px;padding-right:14px}
  .metric-card,.panel{max-width:100%}.filter-bar{max-width:100%}.filter-bar label{min-width:0}.risk-banner.show{gap:10px}
}

/* Executive glass system V27: one visual language across every workspace. */
:root{
  --bg:#eef2f8;
  --bg-soft:#f6f8fc;
  --glass:rgba(255,255,255,.78);
  --glass-strong:rgba(255,255,255,.9);
  --ink:#17253b;
  --ink-soft:#41516a;
  --muted:#7d8ba0;
  --line:rgba(181,194,216,.42);
  --line-strong:rgba(156,173,201,.62);
  --purple:#7868e8;
  --purple-deep:#5d50c7;
  --lavender:#eeeaff;
  --blue:#3f8de5;
  --blue-soft:#e7f2ff;
  --green:#2eaa7b;
  --green-soft:#e5f7ef;
  --amber:#d99516;
  --amber-soft:#fff2d5;
  --red:#e05262;
  --red-soft:#ffeaed;
  --shadow:0 18px 48px rgba(55,75,112,.08),0 3px 10px rgba(55,75,112,.04);
  --shadow-soft:0 10px 28px rgba(55,75,112,.06);
  --radius:16px;
}
html{background:var(--bg)}
body{
  min-width:320px;
  color:var(--ink);
  font-family:"Microsoft YaHei UI","Microsoft YaHei","Segoe UI Variable",system-ui,sans-serif;
  font-size:14px;
  line-height:1.55;
  background:
    linear-gradient(135deg,rgba(255,255,255,.76),rgba(239,242,250,.7) 48%,rgba(246,241,255,.76));
}
.app-shell{grid-template-columns:224px minmax(0,1fr);background:transparent}
.sidebar{
  position:sticky;top:0;height:100vh;z-index:12;
  padding:28px 16px 20px;
  background:rgba(250,252,255,.72);
  border-right:1px solid var(--line);
  box-shadow:8px 0 30px rgba(65,81,117,.035);
  backdrop-filter:blur(22px) saturate(120%);
}
.brand{padding:0 10px 34px;gap:12px;font-size:18px;font-weight:750;color:#203250}
.brand-mark{width:36px;height:36px;border-radius:12px;background:linear-gradient(145deg,#9b8df5,#6f5dde);box-shadow:0 10px 22px rgba(113,94,221,.22);font-size:16px}
.nav{gap:8px}
.nav-section-label{padding:14px 12px 2px;color:#9aa6b8;font-size:11px;font-weight:700;letter-spacing:.02em}
.nav-item{min-height:46px;padding:8px 12px;border-radius:12px;color:#73839a;font-size:14px;font-weight:550;gap:11px;transition:background .18s ease,color .18s ease,transform .18s ease}
.nav-item:hover{background:rgba(232,237,250,.78);color:#40516f;transform:translateX(2px)}
.nav-item.active{background:linear-gradient(135deg,#eeeaff,#e7efff);color:var(--purple-deep);font-weight:750;box-shadow:0 8px 18px rgba(107,95,210,.1)}
.nav-icon{width:30px;height:30px;border-radius:10px;background:rgba(232,237,247,.8);color:#8796ab;font-size:16px}
.nav-item.active .nav-icon{background:var(--purple);color:#fff;box-shadow:0 7px 14px rgba(113,94,221,.22)}
.sidebar-foot{padding:16px 8px 0;border-top:1px solid var(--line);color:var(--ink-soft)}
.sidebar-foot .avatar{width:36px;height:36px;background:var(--lavender);color:var(--purple-deep);font-weight:700}
.sidebar-foot b{font-size:12px}.sidebar-foot small{font-size:10px;color:var(--muted)}
.main{min-width:0;background:transparent}
.topbar{position:sticky;top:0;z-index:10;min-height:88px;padding:18px 34px;background:rgba(250,252,255,.72);border-bottom:1px solid var(--line);backdrop-filter:blur(22px) saturate(125%)}
.topbar h1{font-size:24px;line-height:1.2;font-weight:800;color:#172943;margin:0 0 5px}.topbar p{font-size:13px;color:var(--muted)}
.top-actions{gap:10px}.button{min-height:42px;padding:10px 16px;border-radius:11px;font-size:13px;font-weight:700;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.button:hover{transform:translateY(-1px)}
.button.primary{background:linear-gradient(135deg,#8c7cf0,#6d5cda);box-shadow:0 10px 20px rgba(111,92,218,.2)}
.button.primary:hover{background:linear-gradient(135deg,#7d6de8,#5f50cb)}
.button.secondary{background:rgba(255,255,255,.82);border:1px solid var(--line-strong);color:#53637a;box-shadow:var(--shadow-soft)}
.page-wrap{max-width:1640px;padding:30px 34px 56px}
.filter-bar,.expense-command-bar,.workspace-actions,.reimbursement-filter-panel{gap:12px}
.filter-bar,.expense-command-bar,.workspace-actions{align-items:end}
.filter-bar label,.reimbursement-filter-panel label{font-size:12px;font-weight:650;color:#728197;gap:7px}
.filter-bar select,.filter-bar input,.quiet-select,.reimbursement-filter-panel input,.reimbursement-filter-panel select,.table-head input,.workspace-actions input,.workspace-actions select,.expense-filter-panel input,.expense-filter-panel select,.expense-filter-panel button{
  min-height:42px;border:1px solid var(--line-strong);border-radius:12px;background:rgba(255,255,255,.76);color:var(--ink);font-size:13px;box-shadow:0 6px 16px rgba(67,84,120,.045);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease
}
.filter-bar select,.filter-bar input,.quiet-select,.reimbursement-filter-panel input,.reimbursement-filter-panel select,.workspace-actions input,.workspace-actions select,.expense-filter-panel input,.expense-filter-panel select{padding:10px 36px 10px 13px}
.filter-bar select:hover,.filter-bar input:hover,.quiet-select:hover,.reimbursement-filter-panel input:hover,.reimbursement-filter-panel select:hover,.table-head input:hover{background:#fff;border-color:#b4c1d8}
.filter-bar select:focus,.filter-bar input:focus,.quiet-select:focus,.reimbursement-filter-panel input:focus,.reimbursement-filter-panel select:focus,.table-head input:focus{border-color:#988be9;box-shadow:0 0 0 4px rgba(120,104,232,.12);outline:none}
.data-freshness{font-size:12px;padding:9px 13px;background:var(--green-soft);border:1px solid #c9eedf;border-radius:12px;color:var(--green);box-shadow:none}
.overview-snapshot,.executive-band,.school-budget-band,.management-insights,.priority-todo,.panel,.expense-summary span,.workspace-stat,.project-card,.placeholder{
  background:var(--glass);border:1px solid rgba(255,255,255,.86);box-shadow:var(--shadow);backdrop-filter:blur(18px) saturate(125%);border-radius:var(--radius)
}
.overview-snapshot{padding:26px;margin-top:18px}.snapshot-heading,.band-heading,.school-budget-heading{margin-bottom:20px}
.snapshot-heading h2,.band-heading h2,.school-budget-heading h2{font-size:20px;line-height:1.25;font-weight:800;color:#203250;margin:0 0 6px}.snapshot-heading p,.band-heading p,.school-budget-heading p{font-size:13px;color:var(--muted);margin:0}
.eyebrow{display:inline-block;color:var(--purple-deep);font-size:11px;font-weight:800;margin-bottom:7px}
.trend-status,.decision-badge{border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800}.trend-status.positive,.decision-badge.positive{background:var(--green-soft);color:#16825b}.trend-status.danger,.decision-badge.danger{background:var(--red-soft);color:#bd3343}.trend-status.neutral,.decision-badge{background:var(--lavender);color:var(--purple-deep)}
.trend-layout{gap:24px}.trend-chart-wrap{background:rgba(245,247,253,.72);border-radius:14px;padding:15px}.trend-legend{font-size:12px;color:#728197;gap:16px}.trend-chart{height:220px}.trend-highlights{gap:10px;min-width:280px}.trend-highlight{background:rgba(255,255,255,.76);border:1px solid var(--line);border-radius:13px;padding:15px}.trend-highlight b{font-size:21px;color:#233653}.trend-highlight span{font-size:11px;color:var(--muted)}
.executive-band,.school-budget-band,.management-insights,.priority-todo{margin-top:18px;padding:24px}
.executive-metrics,.forecast-metrics,.school-budget-metrics{gap:0;background:rgba(246,248,252,.68);border-radius:14px;overflow:hidden}
.executive-metric,.forecast-metrics>span,.school-budget-metrics>span{padding:18px 20px;border-right:1px solid var(--line)}.executive-metric:last-child,.forecast-metrics>span:last-child,.school-budget-metrics>span:last-child{border-right:0}
.executive-metric span,.forecast-metrics small,.school-budget-metrics small{font-size:12px;color:#75849a}.executive-metric strong,.forecast-metrics b,.school-budget-metrics b{font-size:28px;line-height:1.1;margin-top:11px;color:#1d3354}.executive-metric.income strong{color:var(--green)}.executive-metric.expense strong{color:var(--amber)}.executive-metric.result strong{color:var(--blue)}.executive-metric.result strong.negative-value,.forecast-result b.negative-value{color:var(--red)}.executive-metric small,.forecast-metrics em,.school-budget-metrics em{font-size:11px;color:var(--muted);margin-top:8px}
.forecast-metrics>span:nth-child(1) b{color:var(--blue)}.forecast-metrics>span:nth-child(2) b{color:var(--purple)}.forecast-metrics>span:nth-child(3) b{color:var(--amber)}.forecast-metrics>span:nth-child(4) b{color:var(--red)}.forecast-result{background:rgba(238,234,255,.7)}
.school-budget-band{background:linear-gradient(135deg,rgba(239,247,255,.86),rgba(247,244,255,.82))}.school-budget-metrics>span:nth-child(1) b{color:var(--blue)}.school-budget-metrics>span:nth-child(2) b{color:var(--green)}.school-budget-metrics>span:nth-child(3) b{color:var(--amber)}.school-budget-result{background:rgba(255,255,255,.62)}
.management-insights{background:linear-gradient(135deg,rgba(247,244,255,.88),rgba(246,250,255,.82))}.insight-heading h2{font-size:18px}.insight-heading p{font-size:12px;color:var(--muted)}.insight-list{gap:10px}.insight-item{border:1px solid var(--line);background:rgba(255,255,255,.66);border-radius:13px;padding:13px 15px}.insight-item b{font-size:13px}.insight-item p{font-size:12px;color:var(--muted);margin:3px 0 0}.insight-item.danger b{color:#bd3343}.insight-item.warning b{color:#ad7411}.insight-item.success b{color:#15825a}.insight-item.info b{color:var(--purple-deep)}
.risk-banner{margin-top:18px;border:1px solid #f5c5cc;border-left:1px solid #f5c5cc;background:var(--red-soft);border-radius:13px;padding:13px 16px;color:#b63243;font-size:13px}
.overview-grid,.lower-grid{gap:18px;margin-top:18px}.panel{padding:24px}.panel-heading{margin-bottom:20px}.panel-heading h2,.table-head h2{font-size:18px;line-height:1.25;color:#203250;font-weight:800}.panel-heading p,.table-head p{font-size:12px;color:var(--muted)}.panel-heading h2:before{width:5px;height:18px;border-radius:99px;background:linear-gradient(#8c7cf0,#6d5cda);margin-right:9px}
.legend{font-size:12px;color:#728197}.legend i{width:10px;height:10px;border-radius:50%}
.budget-rows{gap:15px}.budget-comparison-head{font-size:11px;color:var(--muted);padding-bottom:8px;border-bottom:1px solid var(--line)}.budget-comparison-row{padding:14px 0;border-bottom:1px solid var(--line);gap:14px}.budget-comparison-row:last-child{border-bottom:0}.team-name{font-size:13px;color:#253856}.team-name small{font-size:10px;color:var(--muted)}.team-total strong{font-size:18px;color:#233b60}.team-total small,.team-spend-values{font-size:11px;color:var(--muted)}.team-spend-track{height:15px;border-radius:99px;background:#e9eef6;padding:2px}.team-spend-track i{border-radius:99px}.team-spend-track em{width:2px;background:#263a5c}.budget-status{font-size:11px;font-weight:800}.budget-status.watch{color:#ae7411}.budget-status.over{color:#c33142}.budget-comparison-row.over{background:rgba(255,234,237,.5);border-radius:12px;padding-left:10px;padding-right:10px}.budget-comparison-row.watch{background:rgba(255,243,213,.42);border-radius:12px;padding-left:10px;padding-right:10px}
.category-layout{gap:28px}.donut{box-shadow:0 0 0 9px rgba(255,255,255,.62),0 12px 24px rgba(69,80,125,.08)}.category-list{gap:10px}.category-item{padding:4px 0}.category-item>span,.category-chip{border:1px solid #dcd6fa;background:#f3f0ff;color:#5f51b5;border-radius:999px;padding:5px 10px;font-weight:750}.category-item>span small{font-size:10px;color:#8677cc}.category-item b{font-size:13px;color:#243b5d}
.payer-summary{border-top:1px solid var(--line);font-size:12px}.payer-bar{height:11px;border-radius:99px;background:#e7edf6}.payer-label{font-size:11px;color:#718198}
.project-panel,.cash-panel{background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(244,241,255,.72))}.project-row{padding:15px 0;border-top:1px solid var(--line)}.project-row b{font-size:13px;color:#263957}.project-row small{font-size:11px}.project-value b{font-size:15px;color:#243d60}.project-profit b{color:var(--green)}
.cash-panel{padding:24px}.income-stats>span{border:1px solid var(--line);box-shadow:none!important;border-radius:13px}.income-stats b{font-size:22px}.forecast-box{border-left:1px solid var(--line)}.forecast-box strong{font-size:31px;color:var(--purple-deep)}.forecast-line{height:10px;border-radius:99px;background:#e6e8f5}.forecast-line i{background:linear-gradient(90deg,#64b998,#7b6be5);border-radius:99px}
.todo-panel{background:linear-gradient(135deg,rgba(255,251,240,.9),rgba(255,255,255,.76))}.todo-item{padding:14px 4px;border-bottom:1px solid var(--line);font-size:13px}.todo-item:hover{background:rgba(255,255,255,.62);border-radius:10px}.todo-item b{border-radius:999px}.todo-item svg{width:17px;height:17px;stroke:#8b98ab;fill:none;stroke-width:2}
.expense-command-bar{padding:16px 18px;background:var(--glass);border:1px solid rgba(255,255,255,.86);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(18px)}.expense-summary{gap:14px;margin:18px 0}.expense-summary span{padding:17px 18px}.expense-summary b{font-size:23px;color:#243b60}.expense-summary span:nth-child(1) b{color:var(--purple-deep)}.expense-summary span:nth-child(2) b{color:var(--green)}.expense-summary span:nth-child(3) b{color:var(--amber)}
.expense-filter-panel{background:rgba(255,255,255,.68);border:1px solid var(--line);border-radius:14px;padding:14px;gap:12px}.filter-toggle{min-height:42px}.table-panel{overflow:hidden;padding:0}.table-head{min-height:76px;padding:20px 24px;background:rgba(255,255,255,.46);border-bottom:1px solid var(--line)}.table-head input{width:260px;padding:10px 13px}table{min-width:1000px}th,td{padding:15px 17px;font-size:12px;border-bottom:1px solid rgba(181,194,216,.28)}th{font-size:11px;letter-spacing:.02em;background:rgba(241,245,251,.74);color:#6f7e93}tbody tr:hover td{background:rgba(238,243,252,.62)}td.amount{font-size:14px;color:#243b60}.badge{border-radius:999px;padding:5px 10px;font-size:11px;font-weight:750}.mini-button{border-radius:10px;min-height:34px;padding:7px 10px}.row-alert td{background:rgba(255,234,237,.68)}
.workspace-page>.workspace-actions{padding:16px 18px;background:var(--glass);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.86);backdrop-filter:blur(18px)}.segmented{padding:4px;border-radius:12px;background:#e9edf5}.segmented button{min-height:36px;padding:8px 14px;border-radius:9px;font-size:12px;font-weight:700}.segmented button.active{color:var(--purple-deep);box-shadow:0 6px 16px rgba(67,78,119,.1)}.workspace-stats{gap:14px;margin:18px 0}.workspace-stat{padding:19px 20px}.workspace-stat:before{display:none}.workspace-stat b{font-size:25px;color:#243b60}.workspace-stat em{font-size:11px}
.project-list{gap:16px}.project-card{padding:22px}.project-card h3{font-size:18px;color:#203250}.project-card p{font-size:11px}.project-status{border-radius:999px;background:var(--lavender);color:var(--purple-deep);font-size:11px}.project-numbers{gap:10px;margin:20px 0}.project-numbers span{background:rgba(246,248,252,.75);border:1px solid var(--line);border-radius:12px}.project-numbers b{font-size:17px;color:#243b60}.project-progress{height:9px;background:#e9edf5}.project-progress i{background:linear-gradient(90deg,#8b7bef,#6a5ad8)}
.reimbursement-filter-panel{padding:16px 18px;background:var(--glass);border:1px solid rgba(255,255,255,.86);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(18px)}
.import-layout{gap:18px}.upload-panel,.import-guide,.data-safety-panel{background:var(--glass)}.file-drop{border:1px dashed #bdc9dc!important;border-radius:14px;background:rgba(241,245,252,.64);padding:34px!important}.file-drop span{color:var(--purple-deep);font-size:14px;font-weight:750}.import-summary{background:rgba(240,244,251,.74);border-radius:12px;padding:14px;font-size:12px}.placeholder{min-height:520px}.placeholder>span{background:var(--lavender);color:var(--purple-deep)}
.import-source-note{display:grid;gap:5px;margin:0 0 18px;padding:13px 14px;border:1px solid rgba(119,101,218,.15);border-radius:12px;background:rgba(247,245,255,.78);color:#665d7a;font-size:11px;line-height:1.55}.import-source-note strong{color:var(--purple-deep);font-size:12px}.import-source-note span{color:#5f6370}.import-source-note small,.import-calculation-note,.table-note{display:block;color:var(--muted);font-size:10px;line-height:1.55}.import-calculation-note{margin-top:7px;color:#625a87}.import-preview-table td,.import-preview-table th{white-space:nowrap}
.modal-backdrop{background:rgba(35,48,74,.26);backdrop-filter:blur(8px)}.modal{border:1px solid rgba(255,255,255,.92);border-radius:18px;background:rgba(255,255,255,.9);box-shadow:0 30px 100px rgba(34,48,78,.24);backdrop-filter:blur(24px)}.modal header{padding:23px 25px 16px}.modal h2{font-size:21px}.modal header p{font-size:12px}.modal input,.modal select,.compact-modal input,.compact-modal select{min-height:42px;border-radius:12px;background:rgba(255,255,255,.82);font-size:13px}.parse-result{background:var(--lavender);color:var(--purple-deep);border-radius:12px;font-size:12px}.icon-button{width:38px;height:38px;border-radius:12px;background:rgba(236,239,247,.75);font-size:22px}.toast{border-radius:12px;padding:13px 17px;box-shadow:var(--shadow)}
input[type="date"],input[type="month"]{color-scheme:light}
*:focus-visible{outline:3px solid rgba(120,104,232,.34);outline-offset:2px}
@media(max-width:1050px){.app-shell{grid-template-columns:205px minmax(0,1fr)}.page-wrap{padding:24px}.executive-metrics{grid-template-columns:repeat(2,1fr)}.executive-metric:nth-child(2){border-right:0}.executive-metric:nth-child(-n+2){border-bottom:1px solid var(--line)}.forecast-metrics,.school-budget-metrics{grid-template-columns:repeat(2,1fr)}.forecast-metrics>span:nth-child(2),.school-budget-metrics>span:nth-child(2){border-right:0}.forecast-metrics>span:nth-child(-n+2),.school-budget-metrics>span:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:static;height:auto;padding:14px;background:rgba(250,252,255,.86)}.brand{padding:0 5px 13px;font-size:16px}.nav-section-label{display:none}.nav{display:flex;overflow-x:auto;padding-bottom:2px}.nav-item{flex:0 0 auto;min-height:42px;font-size:12px;padding:6px 9px}.nav-icon{width:25px;height:25px}.topbar{position:static;min-height:76px;padding:14px 16px}.topbar h1{font-size:20px}.top-actions .secondary{display:none}.page-wrap{padding:16px}.filter-bar,.workspace-actions,.reimbursement-filter-panel,.expense-command-bar{align-items:stretch}.filter-bar label{width:calc(50% - 6px)}.data-freshness{width:100%;margin-left:0}.overview-snapshot,.executive-band,.school-budget-band,.management-insights,.priority-todo,.panel{padding:18px;border-radius:14px}.trend-layout,.cash-panel{grid-template-columns:1fr}.trend-highlights{min-width:0}.trend-chart{height:190px}.executive-metrics,.forecast-metrics,.school-budget-metrics{grid-template-columns:1fr}.executive-metric,.forecast-metrics>span,.school-budget-metrics>span{border-right:0;border-bottom:1px solid var(--line)}.executive-metric:last-child,.forecast-metrics>span:last-child,.school-budget-metrics>span:last-child{border-bottom:0}.overview-grid,.lower-grid{grid-template-columns:1fr}.expense-command-bar{flex-wrap:wrap}.expense-command-bar .filter-bar{width:100%}.workspace-actions{flex-direction:column}.workspace-actions>div{flex-wrap:wrap}.workspace-stats{grid-template-columns:repeat(2,1fr)}.workspace-stat b{font-size:20px}.table-head{padding:17px 18px}.table-head input{width:100%}.project-list{grid-template-columns:1fr}.project-card{padding:18px}.reimbursement-filter-panel label{width:calc(50% - 6px)}.modal{max-height:94vh}.form-grid{grid-template-columns:1fr}}

.workspace-page{display:none}.workspace-actions{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:16px}.workspace-actions>div{display:flex;gap:8px}.segmented{background:#ecebf4;padding:3px;border-radius:7px}.segmented button{border:0;background:transparent;color:#858995;padding:7px 12px;border-radius:5px;font-size:10px;cursor:pointer}.segmented button.active{background:#fff;color:#5e4cc7;box-shadow:0 2px 8px rgba(52,45,91,.08)}.workspace-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.workspace-stat{background:#fff;border:1px solid var(--line);padding:15px;border-radius:8px}.workspace-stat small,.workspace-stat b{display:block}.workspace-stat small{font-size:9px;color:var(--muted)}.workspace-stat b{font-size:19px;font-weight:550;margin-top:7px}.workspace-stat em{font-style:normal;font-size:9px;color:var(--muted);display:block;margin-top:5px}.quiet-select{border:1px solid var(--line);border-radius:6px;padding:7px 9px;background:#fff;font-size:10px}.table-head p{font-size:9px;color:var(--muted);margin:4px 0 0}.row-actions{display:flex;gap:5px}.mini-button{border:1px solid var(--line);background:#fff;color:#666b76;padding:5px 7px;border-radius:5px;font-size:9px;cursor:pointer}.mini-button.primary{border-color:#ddd6ff;background:#f5f2ff;color:#6651cf}.mini-button.success{border-color:#d7eee5;background:#eff9f5;color:#478b75}.mini-button.danger{border-color:#f5dddd;background:#fff4f4;color:#b26065}.project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.project-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px;box-shadow:var(--shadow)}.project-card-head{display:flex;justify-content:space-between;gap:12px}.project-card h3{font-size:14px;margin:0 0 5px;font-weight:600}.project-card p{font-size:9px;color:var(--muted);margin:0}.project-status{font-size:9px;padding:5px 8px;border-radius:10px;background:#f1effd;color:#6f59d7;height:max-content}.project-numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:17px 0}.project-numbers span{background:#fafafd;padding:10px;border-radius:6px}.project-numbers small,.project-numbers b{display:block}.project-numbers small{font-size:8px;color:var(--muted)}.project-numbers b{font-size:13px;font-weight:550;margin-top:5px}.project-progress{height:6px;background:#f0f1f4;border-radius:8px;overflow:hidden}.project-progress i{display:block;height:100%;background:var(--purple);border-radius:8px}.project-card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:9px;color:var(--muted)}.import-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:15px}.upload-panel label{display:grid;gap:6px;font-size:10px;color:var(--muted);margin-bottom:15px}.upload-panel select{border:1px solid var(--line);padding:9px;border-radius:6px;background:#fff}.file-drop{border:1px dashed #d9d5ec!important;background:#faf9ff;padding:26px!important;border-radius:8px;text-align:center;cursor:pointer}.file-drop span{font-size:12px;color:#6856ca}.file-drop small{font-size:9px}.file-drop input{display:none}.import-summary{background:#fafafd;border-radius:6px;padding:12px;font-size:10px;color:var(--muted);margin-bottom:12px}.import-guide #confirm-import{margin-top:13px}.import-guide #confirm-import:disabled{opacity:.45;cursor:not-allowed}.import-history{margin-top:15px}.import-preview-table{width:100%;min-width:600px}.compact-modal{width:min(620px,100%)}#entity-form{padding:18px 22px}.compact-modal label{display:grid;gap:6px;font-size:10px;color:var(--muted)}.compact-modal input,.compact-modal select{border:1px solid var(--line);padding:9px;border-radius:6px;background:#fff}.compact-modal footer{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.hidden{display:none!important}
@media(max-width:1000px){.project-list{grid-template-columns:1fr}.workspace-stats{grid-template-columns:repeat(2,1fr)}.import-layout{grid-template-columns:1fr}}
@media(max-width:760px){.workspace-actions{align-items:stretch;flex-direction:column}.workspace-actions>div{flex-wrap:wrap}.workspace-stats{grid-template-columns:repeat(2,1fr)}.project-numbers{grid-template-columns:repeat(2,1fr)}.project-list{grid-template-columns:1fr}.segmented{width:max-content}.compact-modal .form-grid{grid-template-columns:1fr}}

/* Finance workflow V2 */
.balance-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.balance-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:10px 0}.balance-pair span{min-width:0}.balance-pair small{display:block;color:var(--muted);font-size:9px}.balance-pair strong{font-size:22px;margin:6px 0 0;white-space:nowrap}.activity-history{margin-top:15px}.table-sub{display:block;color:var(--muted);font-size:8px;margin-top:3px}.positive{color:var(--mint-strong)}.negative{color:var(--red)!important}.row-alert td{background:#fff9f9}.badge.rejected{background:var(--red-soft);color:#b35e65}.invoice-file-note{color:var(--muted);font-size:9px}.project-card-foot .row-actions{flex-wrap:wrap;justify-content:flex-end}.forecast-box{min-width:0}.forecast-box .text-button{padding:0}.workspace-stat b{overflow-wrap:anywhere}
@media(max-width:760px){.balance-pair{grid-template-columns:1fr 1fr}.balance-pair strong{font-size:18px}.cash-panel{gap:18px}.segmented{max-width:100%;overflow-x:auto}.project-card-foot{align-items:flex-start;flex-direction:column;gap:10px}.project-card-foot .row-actions{justify-content:flex-start}.activity-history{margin-top:12px}}

/* Visual uplift V3: stronger hierarchy, softer controls and clearer semantics. */
:root{
  --bg:#f3f5fa;--surface:#fff;--ink:#171a22;--muted:#777e8c;--line:#e5e8f0;
  --mint:#e3f6ef;--mint-strong:#239474;--blue:#e7f2fc;--blue-strong:#378aca;
  --yellow:#fff0c9;--yellow-strong:#e2a51f;--lilac:#ece9ff;--purple:#7357e8;
  --red:#e34d5d;--red-soft:#ffe3e6;--shadow:0 10px 26px rgba(38,42,72,.07);
}
body{font-size:14px;color:var(--ink);background:#f3f5fa}
.app-shell{grid-template-columns:184px minmax(0,1fr)}
.sidebar{padding:25px 15px 19px;background:#fff;border-right-color:#e9ebf2}
.brand{font-size:17px;font-weight:650;padding-bottom:28px}.brand-mark{width:32px;height:32px;font-size:15px;box-shadow:0 8px 18px rgba(115,87,232,.24)}
.nav{gap:6px}.nav-item{min-height:44px;padding:7px 10px;font-size:13px;font-weight:500;border-radius:8px;gap:10px}
.nav-icon{width:28px;height:28px;border-radius:7px;background:#f4f5f9;color:#8a909c;transition:.18s ease}.nav-icon svg{width:17px;height:17px;stroke-width:1.9}
.nav-item:hover .nav-icon{background:#ece9ff;color:#7157da}.nav-item.active{background:#efecff;color:#5d42cc;font-weight:650}.nav-item.active .nav-icon{background:#765be7;color:#fff;box-shadow:0 5px 12px rgba(115,87,232,.24)}
.sidebar-foot b{font-size:12px}.sidebar-foot small{font-size:10px}.sidebar-foot .avatar{width:34px;height:34px;font-size:12px}
.topbar{min-height:80px;padding:14px 30px}.topbar h1{font-size:21px;font-weight:680}.topbar p{font-size:12px}.page-wrap{padding:24px 30px 44px}
.button{border-radius:9px;padding:10px 16px;font-size:12px;font-weight:600}.button.primary{box-shadow:0 8px 18px rgba(115,87,232,.2)}
.filter-bar{gap:13px;margin-bottom:20px}.filter-bar label{font-size:12px;font-weight:500;gap:7px}.filter-bar select,.quiet-select,.modal select,.modal input,.compact-modal select,.compact-modal input,.upload-panel select,.table-head input{
  min-height:40px;border:1px solid #e0e4ed;border-radius:10px;padding:9px 34px 9px 12px;background-color:#fff;color:#303540;font-size:12px;box-shadow:0 5px 14px rgba(35,39,65,.04);outline:none;transition:border-color .18s ease,box-shadow .18s ease;
}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23777e8c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center}
.filter-bar select:focus,.quiet-select:focus,.modal select:focus,.modal input:focus,.compact-modal select:focus,.compact-modal input:focus,.table-head input:focus{border-color:#9f90ee;box-shadow:0 0 0 4px rgba(115,87,232,.1)}
.data-freshness{font-size:11px;padding:8px 11px;background:#e7f7f1;border:1px solid #caebdf;border-radius:9px;color:#397a67}.data-freshness i{width:8px;height:8px;background:#1f9d72;box-shadow:0 0 0 3px rgba(31,157,114,.13)}
.metric-grid{grid-template-columns:1.22fr repeat(3,minmax(170px,.8fr));gap:16px}.metric-card{min-height:154px;padding:18px 19px;border-radius:8px;box-shadow:0 10px 26px rgba(38,42,72,.07);border:1px solid rgba(255,255,255,.78)!important}.metric-card:before{display:none}
.metric-card.mint{background:#dff3ea!important}.metric-card.yellow{background:#ffedbd!important}.metric-card.blue{background:#e1f0fb!important}.metric-card.lilac{background:#ebe7ff!important}
.metric-head{display:flex;align-items:center;gap:10px}.metric-icon{width:35px;height:35px;border-radius:8px;display:grid;place-items:center;background:rgba(255,255,255,.7);box-shadow:0 5px 12px rgba(35,39,65,.06)}.metric-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.metric-card.mint .metric-icon{color:#168263}.metric-card.yellow .metric-icon{color:#b27800}.metric-card.blue .metric-icon{color:#2e7eb8}.metric-card.lilac .metric-icon{color:#654bd2}
.metric-label{font-size:13px;font-weight:600;color:#565d68}.metric-card strong{font-size:30px;font-weight:720;margin:18px 0 10px;line-height:1}.metric-card.featured strong{font-size:38px;font-weight:740;margin:15px 0 11px;color:#155f4e}.metric-card.yellow strong{color:#9a6200}.metric-card.blue strong{color:#236d9f}.metric-card.lilac strong{color:#5b43be}.metric-card small{font-size:12px;color:#656c78}.metric-split{font-size:11px;gap:26px}.metric-split b{font-size:14px;font-weight:650;color:#29463f}
.risk-banner{font-size:12px;padding:12px 15px;background:#fff0f1;color:#a52f3c;border-left:1px solid #f5c5cc;border-radius:8px}
.overview-grid,.lower-grid{gap:18px;margin-top:18px}.panel{padding:21px;border-color:#e5e8f0;box-shadow:var(--shadow);border-radius:8px}.panel-heading{margin-bottom:20px}.panel-heading h2,.table-head h2{font-size:16px;font-weight:680}.panel-heading p,.table-head p{font-size:11px;line-height:1.5}.panel-heading h2:before{content:"";display:inline-block;width:4px;height:16px;border-radius:4px;background:#7357e8;margin-right:8px;vertical-align:-2px}.legend{font-size:11px}.legend i{width:9px;height:9px}
.budget-rows{gap:16px}.budget-row{grid-template-columns:66px minmax(150px,1fr) 112px 64px;font-size:11px}.budget-row>span:first-child{font-size:12px;font-weight:600}.budget-track{height:12px;background:#edf0f4;gap:2px}.budget-track .spent{background:#23a37f}.budget-track .pending{background:#f0b22d}.budget-track .future{background:#3e93d0}.budget-status{font-size:10px;font-weight:650}.budget-status:not(.watch):not(.over){color:#087a55}.budget-status.watch{color:#9b6500}.budget-status.over{color:#bb2738}
.category-layout{grid-template-columns:150px minmax(0,1fr);gap:24px}.donut{width:144px;height:144px;box-shadow:0 0 0 8px #f7f8fb}.donut:after{inset:29px}.donut b{font-size:17px;font-weight:700}.donut small{font-size:10px}.category-list{gap:10px}.category-item{font-size:11px}.category-item>span{width:max-content;max-width:100%;border:1px solid #e1dcfb;background:#f6f3ff;color:#5b49ad;border-radius:7px;padding:5px 8px;font-weight:600}.category-item>span small{display:inline;margin-left:6px;color:#8a7bc7;font-size:10px}.category-item b{font-size:12px;font-weight:650}.payer-summary{font-size:10px}.payer-bar{height:8px}
.project-row{font-size:11px;padding:14px 0}.project-row b{font-size:12px;font-weight:650}.project-row small{font-size:10px}.project-value b{font-size:13px}.text-button{font-size:11px;font-weight:650}
.todo-item{font-size:12px;padding:12px 0}.todo-item i{width:8px;height:8px}.todo-item b{border-radius:7px;padding:5px 8px;font-size:10px;font-weight:700;background:#fff0bd;color:#8a5a00}.todo-item.warning i{background:#e3a112;box-shadow:0 0 0 4px #fff0bd}.todo-item.danger i{background:#df3f50;box-shadow:0 0 0 4px #ffdce0}.todo-item.danger b{background:#ffdce0;color:#ae2433}.todo-item.success i{background:#15976f;box-shadow:0 0 0 4px #d8f5e9}.todo-item.success b{background:#d8f5e9;color:#08714f}.todo-item.info i{background:#327fc2;box-shadow:0 0 0 4px #dbeeff}.todo-item.info b{background:#dbeeff;color:#1c639f}
.income-stats>span{padding:14px!important;border-radius:8px}.income-stats small{font-size:10px}.income-stats b{font-size:18px;font-weight:650}.income-stats .mint{background:#e0f6ed!important;border-color:#ccecdf}.income-stats .blue{background:#e3f1fb!important;border-color:#cee5f5}.income-stats .lilac{background:#ece8ff!important;border-color:#dcd5fb}.forecast-box>span{font-size:11px}.forecast-box strong{font-size:29px;font-weight:720;color:#5b43be}.forecast-box small{font-size:10px}.forecast-line{height:8px;background:#e8e5f7}.forecast-line i{background:#7357e8}
.workspace-actions{margin-bottom:18px}.segmented{padding:4px;border-radius:10px;background:#e9e8f1}.segmented button{padding:8px 13px;border-radius:7px;font-size:11px;font-weight:600}.workspace-stats{gap:14px;margin-bottom:18px}.workspace-stat{position:relative;padding:17px 17px 16px;border-radius:8px;box-shadow:0 8px 20px rgba(38,42,72,.05);overflow:hidden}.workspace-stat:before{content:"";position:absolute;inset:0 auto 0 0;width:0;background:#7357e8}.workspace-stat:nth-child(2):before{background:#249c78}.workspace-stat:nth-child(3):before{background:#e3a11c}.workspace-stat:nth-child(4):before{background:#388ac7}.workspace-stat small{font-size:10px}.workspace-stat b{font-size:22px;font-weight:700;margin-top:9px}.workspace-stat em{font-size:10px;font-weight:650;color:#996300}
.expense-summary span{padding:16px;border-radius:8px}.expense-summary small{font-size:10px}.expense-summary b{font-size:20px;font-weight:700;margin-top:8px}.table-head{padding:18px 20px}.table-head input{font-size:12px;width:240px}th,td{font-size:11px;padding:14px 15px}th{font-size:10px;font-weight:650;color:#69717e;background:#f7f8fb}td.amount{font-size:12px;font-weight:720;color:#1e674f}
.category-chip{display:inline-flex;align-items:center;min-height:25px;padding:4px 8px;border:1px solid #ded8fa;border-radius:7px;background:#f5f2ff;color:#5c49b2;font-size:10px;font-weight:650}
.badge{padding:5px 9px;border-radius:7px;font-size:10px;font-weight:700;border:1px solid transparent}.badge.confirmed{background:#d8f5e8;color:#087650;border-color:#bcebd8}.badge.pending{background:#fff0bd;color:#936000;border-color:#f5d97c}.badge.reimbursed{background:#dceeff;color:#1e639d;border-color:#c4e1fa}.badge.waiting{background:#eceef2;color:#59616d;border-color:#dee1e7}.badge.rejected{background:#ffdce0;color:#ad2635;border-color:#f7bfc6}
.positive{color:#087650!important;font-weight:650}.negative{color:#be2c3c!important;font-weight:700}.row-alert td{background:#fff3f4}.row-alert td:first-child{box-shadow:inset 3px 0 #df4050}
.mini-button{padding:6px 8px;border-radius:7px;font-size:10px;font-weight:650}.mini-button.primary{background:#eee9ff;color:#5c42c7;border-color:#d8ceff}.mini-button.success{background:#dcf5ea;color:#08714f;border-color:#bfe9d8}.mini-button.danger{background:#fff0f1;color:#b02b3a;border-color:#f4cbd0}
.project-card{padding:20px}.project-card h3{font-size:16px}.project-card p{font-size:10px}.project-status{font-size:10px;font-weight:700;padding:6px 9px;border-radius:7px;background:#ece7ff;color:#6046cb}.project-numbers small{font-size:9px}.project-numbers b{font-size:15px;font-weight:700}.project-numbers span{padding:12px}.project-card-foot{font-size:10px}.project-progress{height:8px}
.modal label,.compact-modal label{font-size:12px}.modal h2{font-size:20px}.modal header p{font-size:11px}.parse-result{font-size:12px;padding:11px;border-radius:8px}
@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){
  body{font-size:14px}.app-shell{grid-template-columns:1fr}.sidebar{padding:13px 14px}.brand{font-size:16px;padding-bottom:11px}.nav-item{font-size:12px;min-height:40px;padding:6px 9px}.nav-icon{width:25px;height:25px}.topbar{min-height:72px;padding:12px 16px}.topbar h1{font-size:19px}.page-wrap{padding:16px}.metric-grid{grid-template-columns:1fr}.metric-card{min-height:142px}.metric-card.featured strong{font-size:35px}.filter-bar{gap:10px}.filter-bar label{font-size:11px}.data-freshness{font-size:10px}.workspace-stat b{font-size:19px}.budget-row{grid-template-columns:50px minmax(72px,1fr) 84px}.budget-row>span:first-child{font-size:11px}.panel{padding:17px}.category-layout{grid-template-columns:1fr}.donut{margin:auto}.project-card{padding:17px}
}

/* Page-specific semantic colors. */
#invoice-stats .workspace-stat:nth-child(1):before{background:#7357e8}#invoice-stats .workspace-stat:nth-child(2):before{background:#df4050}#invoice-stats .workspace-stat:nth-child(3):before{background:#e2a51f}#invoice-stats .workspace-stat:nth-child(4):before{background:#229474}
#invoice-stats .workspace-stat:nth-child(2) b,#invoice-stats .workspace-stat:nth-child(2) em{color:#b32435}#invoice-stats .workspace-stat:nth-child(3) b{color:#976200}#invoice-stats .workspace-stat:nth-child(4) b{color:#087650}
#invoice-stats .workspace-stat:nth-child(2){background:#fff6f7}#invoice-stats .workspace-stat:nth-child(4){background:#f4fcf8}
#income-page-stats .workspace-stat:nth-child(1):before{background:#229474}#income-page-stats .workspace-stat:nth-child(2):before{background:#e2a51f}#income-page-stats .workspace-stat:nth-child(3):before{background:#388ac7}#income-page-stats .workspace-stat:nth-child(4):before{background:#7357e8}
#reimbursement-stats .workspace-stat:nth-child(1):before{background:#e2a51f}#reimbursement-stats .workspace-stat:nth-child(2):before{background:#388ac7}#reimbursement-stats .workspace-stat:nth-child(3):before{background:#7357e8}#reimbursement-stats .workspace-stat:nth-child(4):before{background:#229474}
#invoices-page .badge.waiting{background:#fff0bd;color:#936000;border-color:#f5d97c}#invoices-page .row-alert .badge.waiting{background:#ffdce0;color:#ad2635;border-color:#f7bfc6}

/* Layout and control system V4. */
:root{--green:#08a46d;--green-dark:#08764f;--amber:#f0ad00;--amber-dark:#7b5200;--danger:#e33d50;--danger-dark:#a91f31;--info:#287dce}
.page-wrap{max-width:1420px;padding:30px 34px 58px}.topbar{padding-left:34px;padding-right:34px}.filter-bar{margin-bottom:22px}.metric-grid{gap:18px;margin-bottom:22px}.metric-card{min-height:160px;padding:20px 21px}.overview-grid{grid-template-columns:minmax(620px,1.55fr) minmax(300px,.75fr);gap:22px;margin-top:22px}.lower-grid.project-section{display:block;margin-top:22px}.cash-panel{margin-top:22px}.panel{padding:24px}.panel-heading{margin-bottom:22px}.panel-heading h2{font-size:17px}.panel-heading p{font-size:12px;margin-top:6px}.project-panel .project-row{padding:16px 0}

/* Reference-style custom select. */
.native-control-hidden{position:absolute!important;inline-size:1px!important;block-size:1px!important;opacity:0!important;pointer-events:none!important;margin:0!important;padding:0!important;border:0!important}
.smart-select{position:relative;min-width:0;width:100%;font-size:12px;color:#20242d}.filter-bar .smart-select{min-width:142px}.filter-bar.compact .smart-select{min-width:132px}.smart-select-trigger{width:100%;min-height:42px;border:1px solid #dfe3eb;border-radius:9px;background:#fff;color:#272c35;padding:9px 12px;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;cursor:pointer;box-shadow:0 5px 14px rgba(35,39,65,.045);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.smart-select-trigger>svg{width:17px;height:17px;fill:none;stroke:#6f7580;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto;transition:transform .18s ease}.smart-select.open .smart-select-trigger{border-color:#765be7;box-shadow:0 0 0 3px rgba(118,91,231,.12),0 8px 18px rgba(38,42,72,.08)}.smart-select.open .smart-select-trigger>svg{transform:rotate(180deg)}
.smart-select-menu{display:none;position:absolute;z-index:80;top:calc(100% + 6px);left:0;right:0;min-width:max(100%,190px);max-height:280px;overflow:auto;padding:7px;background:#fff;border:1px solid #e1e3e9;border-radius:9px;box-shadow:0 18px 38px rgba(30,34,50,.16)}.smart-select.open .smart-select-menu{display:grid;gap:2px;animation:control-pop .16s ease-out}.smart-select-option{border:0;background:transparent;border-radius:7px;min-height:36px;padding:8px 10px;color:#30343c;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer;font-size:12px}.smart-select-option:hover{background:#f5f3ff;color:#5c43c5}.smart-select-option.selected{background:#ebe7ff;color:#563cc5;font-weight:700}.smart-select-option>svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;opacity:0}.smart-select-option.selected>svg{opacity:1}.smart-select-option:disabled{opacity:.45;cursor:not-allowed}@keyframes control-pop{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}

/* Reference-style single-date calendar. */
.date-control{position:relative;width:100%}.date-control>input{width:100%;padding-right:43px!important;cursor:pointer}.date-trigger{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:0;border-radius:7px;background:#f3f1ff;color:#664dcc;display:grid;place-items:center;cursor:pointer}.date-trigger svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.date-control.open>input{border-color:#765be7;box-shadow:0 0 0 3px rgba(118,91,231,.12)}.date-popover{display:none;position:absolute;z-index:90;top:calc(100% + 7px);left:0;width:min(310px,calc(100vw - 50px));padding:14px;background:#fff;border:1px solid #e1e3e9;border-radius:9px;box-shadow:0 20px 42px rgba(30,34,50,.18)}.date-control.open .date-popover{display:block;animation:control-pop .16s ease-out}.date-popover-head{display:grid;grid-template-columns:32px 1fr 32px;align-items:center;margin-bottom:10px}.date-popover-head b{text-align:center;font-size:13px}.date-popover-head button{width:32px;height:32px;border:0;border-radius:7px;background:#f7f7fa;color:#686e79;display:grid;place-items:center;cursor:pointer}.date-popover-head button:hover{background:#ebe7ff;color:#5d42cb}.date-popover-head svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.date-weekdays,.date-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.date-weekdays span{text-align:center;color:#9499a3;font-size:10px;padding:4px 0}.date-days>span,.date-days>button{aspect-ratio:1;border:0;border-radius:7px;background:transparent;color:#343943;font-size:11px;display:grid;place-items:center}.date-days>button{cursor:pointer}.date-days>button:hover{background:#f1efff;color:#6046c8}.date-days>button.today{box-shadow:inset 0 0 0 1px #9d8bea;color:#6046c8}.date-days>button.selected{background:#6d51df;color:#fff;font-weight:700;box-shadow:0 5px 12px rgba(109,81,223,.25)}input[type="month"]::-webkit-calendar-picker-indicator{opacity:.62;cursor:pointer}

/* Prominent action rail. */
.priority-todo{margin-top:0;padding:22px 24px;border-color:#dfe3ec;box-shadow:0 12px 30px rgba(38,42,72,.075)}.priority-todo .panel-heading{margin-bottom:16px}.priority-todo .panel-heading h2:before{background:var(--danger)}#todo-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.priority-todo .todo-item{display:grid;grid-template-columns:12px minmax(0,1fr);align-items:center;gap:4px 10px;min-height:76px;margin:0;padding:13px 14px;border:1px solid #e7e9ef;border-left-width:1px;border-radius:8px;background:#f8f9fb}.priority-todo .todo-item i{grid-row:1 / span 2;width:9px;height:9px}.priority-todo .todo-item span{font-size:12px;font-weight:700;color:#353a44}.priority-todo .todo-item b{width:max-content;max-width:100%;padding:4px 8px;border-radius:6px;font-size:10px}.priority-todo .todo-item.danger{background:#fff1f3;border-color:#ffc8cf;border-left-color:var(--danger)}.priority-todo .todo-item.danger i{background:var(--danger);box-shadow:0 0 0 4px #ffd7dc}.priority-todo .todo-item.danger b{background:var(--danger);color:#fff}.priority-todo .todo-item.warning{background:#fff8e5;border-color:#f7df9f;border-left-color:var(--amber)}.priority-todo .todo-item.warning i{background:var(--amber);box-shadow:0 0 0 4px #ffedbd}.priority-todo .todo-item.warning b{background:var(--amber);color:#4e3500}.priority-todo .todo-item.success{background:#ebfaf4;border-color:#bee9d9;border-left-color:var(--green)}.priority-todo .todo-item.success i{background:var(--green);box-shadow:0 0 0 4px #cdeee2}.priority-todo .todo-item.success b{background:var(--green);color:#fff}.priority-todo .todo-item.info{background:#edf6ff;border-color:#c8e2fb;border-left-color:var(--info)}.priority-todo .todo-item.info i{background:var(--info);box-shadow:0 0 0 4px #d5eaff}.priority-todo .todo-item.info b{background:var(--info);color:#fff}

/* Budget chart: stacked vertical use against each team's cap. */
.budget-rows{position:relative;display:grid;grid-template-columns:38px minmax(700px,1fr);gap:10px;overflow-x:auto;padding:4px 0 3px}.budget-chart-scale{height:170px;margin-top:47px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;color:#9a9fab;font-size:9px;padding-bottom:1px}.budget-columns{position:relative;display:grid;grid-template-columns:repeat(7,minmax(78px,1fr));gap:12px;min-width:700px}.budget-columns:before{content:"";position:absolute;left:0;right:0;top:47px;height:170px;pointer-events:none;background-image:repeating-linear-gradient(to bottom,#e9ebf1 0,#e9ebf1 1px,transparent 1px,transparent 42.5px)}.budget-column{position:relative;z-index:1;display:grid;justify-items:center;grid-template-rows:38px 170px auto auto auto;gap:7px}.budget-column-value{text-align:center;line-height:1}.budget-column-value b,.budget-column-value small{display:block}.budget-column-value b{font-size:15px;color:#272c35}.budget-column-value small{font-size:9px;color:#858b96;margin-top:5px}.budget-column-track{width:40px;height:170px;border-radius:8px 8px 4px 4px;background:rgba(236,238,244,.8);display:flex;flex-direction:column-reverse;justify-content:flex-start;overflow:hidden;box-shadow:inset 0 0 0 1px #e2e5ec}.budget-column-track i{display:block;flex:0 0 auto;width:100%;min-height:0;transition:none}.budget-column-track .spent{background:#05a976}.budget-column-track .pending{background:#ffb000}.budget-column-track .future{background:#3478f6}.budget-column.over .budget-column-track{box-shadow:0 0 0 2px #e33d50}.budget-column.over .budget-column-value b{color:#d92f43}.budget-column-team{font-size:11px}.budget-column-total{font-size:9px;color:#8a909b}.budget-column .budget-status{min-width:48px;text-align:center;border-radius:6px;padding:4px 6px;background:#08a46d;color:#fff;font-size:9px}.budget-column .budget-status.watch{background:#f0ad00;color:#4e3500}.budget-column .budget-status.over{background:#e33d50;color:#fff}

/* Strong semantic states. */
.badge.confirmed{background:#08a46d;color:#fff;border-color:#08a46d}.badge.pending{background:#f0ad00;color:#4a3300;border-color:#f0ad00}.badge.reimbursed{background:#287dce;color:#fff;border-color:#287dce}.badge.rejected{background:#e33d50;color:#fff;border-color:#e33d50}.mini-button.success{background:#08a46d;color:#fff;border-color:#08a46d}.mini-button.danger{background:#fff0f2;color:#bd283a;border-color:#f1acb5}.row-alert td{background:#fff0f2}.row-alert td:first-child{box-shadow:inset 4px 0 #e33d50}#invoices-page .badge.waiting,#invoices-page .row-alert .badge.waiting{background:#e33d50;color:#fff;border-color:#e33d50}.risk-banner{background:#fff0f2;color:#ad2134;border-left-color:#e33d50;font-weight:600}

@media(max-width:1100px){.overview-grid{grid-template-columns:1fr}.priority-todo #todo-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.page-wrap{padding:18px 16px 46px}.topbar{padding-left:16px;padding-right:16px}.panel{padding:19px}.metric-grid{gap:13px;margin-bottom:16px}.priority-todo{padding:18px;margin-top:0}.priority-todo #todo-list{grid-template-columns:1fr}.priority-todo .todo-item{min-height:66px}.overview-grid,.lower-grid.project-section,.cash-panel{margin-top:16px}.filter-bar .smart-select,.filter-bar.compact .smart-select{min-width:0}.smart-select-menu{min-width:100%}.budget-rows{grid-template-columns:32px minmax(650px,1fr)}.budget-columns{min-width:650px;gap:10px}.date-popover{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(330px,calc(100vw - 32px))}.date-control.open .date-popover{animation:none}.date-control.open:after{content:"";position:fixed;inset:0;background:rgba(27,29,38,.28);z-index:89}.date-popover{z-index:90}}
@media(prefers-reduced-motion:reduce){.smart-select-menu,.date-popover{animation:none}.budget-column-track i{transition:none}}

.month-picker{min-width:142px;min-height:42px;border:1px solid #dfe3eb;border-radius:9px;background:#fff;color:#272c35;padding:9px 11px;box-shadow:0 5px 14px rgba(35,39,65,.045);outline:0;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease}.month-picker:hover{border-color:#c9cddd}.month-picker:focus{border-color:#765be7;box-shadow:0 0 0 3px rgba(118,91,231,.12),0 8px 18px rgba(38,42,72,.08)}.month-picker::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.62;padding:5px;border-radius:6px}.month-picker::-webkit-calendar-picker-indicator:hover{background:#f1efff;opacity:1}
.todo-item{width:100%;border:0;text-align:left;font-family:inherit;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.priority-todo .todo-item{grid-template-columns:12px minmax(0,1fr) 18px}.todo-item:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(34,39,62,.09);filter:saturate(1.08)}.todo-item>svg{grid-column:3;grid-row:1 / span 2;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.5;transition:transform .16s ease}.todo-item:hover>svg{transform:translateX(3px);opacity:.9}
.budget-column:hover,.budget-column:focus-within{z-index:30}.budget-column-track{cursor:help}.budget-column-track:focus{outline:3px solid rgba(109,81,223,.18);outline-offset:3px}.budget-tooltip{position:absolute;z-index:25;left:50%;top:72px;width:210px;padding:12px 13px;border:1px solid #dedfe7;border-radius:8px;background:#fff;box-shadow:0 16px 36px rgba(25,29,45,.18);opacity:0;visibility:hidden;transform:translate(-50%,7px);pointer-events:none;transition:opacity .15s ease,transform .15s ease,visibility .15s}.budget-tooltip:after{content:"";position:absolute;left:50%;top:-6px;width:10px;height:10px;background:#fff;border-left:1px solid #dedfe7;border-top:1px solid #dedfe7;transform:translateX(-50%) rotate(45deg)}.budget-column-track:hover+.budget-tooltip,.budget-column-track:focus+.budget-tooltip{opacity:1;visibility:visible;transform:translate(-50%,0)}.budget-tooltip>b{display:block;font-size:12px;margin-bottom:8px}.budget-tooltip span{display:grid;grid-template-columns:8px 1fr auto;gap:7px;align-items:center;font-size:10px;color:#6f7580;padding:3px 0}.budget-tooltip span i{width:7px;height:7px;border-radius:2px}.budget-tooltip span i.spent{background:#05a976}.budget-tooltip span i.pending{background:#ffb000}.budget-tooltip span i.future{background:#3478f6}.budget-tooltip span strong{color:#272c35}.budget-tooltip em{display:block;border-top:1px solid #eceef2;margin-top:7px;padding-top:8px;color:#585e69;font-size:9px;font-style:normal;white-space:nowrap}
.invoice-upload-field{grid-column:1/-1;border:1px dashed #cfc8f2;border-radius:9px;background:#faf9ff;padding:15px!important}.invoice-upload-field input[type=file]{border:0!important;padding:8px 0!important;box-shadow:none!important;width:100%}.invoice-upload-field small{color:#8a8f99;font-size:10px}.existing-attachments{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:11px 12px;border-radius:8px;background:#f7f8fa;font-size:11px;color:#727884}.existing-attachments>span{font-weight:650;color:#363b45;margin-right:4px}.existing-attachments label{display:flex;align-items:center;gap:5px;color:#b62d43!important;background:#fff;border:1px solid #f0d6da;border-radius:6px;padding:5px 8px}.existing-attachments input{width:auto!important}.attachment-list{display:flex;flex-wrap:wrap;gap:5px}.attachment-link{display:inline-block;max-width:150px;overflow:hidden;text-overflow:ellipsis;color:#5e48c7;background:#f0edff;border-radius:5px;padding:4px 7px;text-decoration:none}.attachment-link:hover{text-decoration:underline}
@media(max-width:760px){.month-picker{width:100%;min-width:0}.budget-tooltip{display:none}}

.multi-select .smart-select-menu{min-width:220px}.multi-select-option{justify-content:flex-start}.multi-select-option .multi-check{width:18px;height:18px;border:1px solid #d4d8e1;border-radius:5px;background:#fff;display:grid;place-items:center;flex:0 0 auto}.multi-select-option .multi-check svg{width:13px;height:13px;fill:none;stroke:#fff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;opacity:0}.multi-select-option.selected{background:#f4f2ff;color:#5139bd}.multi-select-option.selected .multi-check{border-color:#7154df;background:#7154df}.multi-select-option.selected .multi-check svg{opacity:1}
.expense-filter-panel{display:grid;grid-template-columns:repeat(4,minmax(125px,1fr)) repeat(2,minmax(105px,.75fr)) auto;gap:11px;align-items:end;margin:14px 0;padding:16px;background:#fff;border:1px solid #e5e7ed;border-radius:8px;box-shadow:0 8px 22px rgba(38,42,72,.04)}.expense-filter-panel label{display:grid;gap:7px;color:#7e8490;font-size:11px}.expense-filter-panel input{min-height:42px;border:1px solid #dfe3eb;border-radius:9px;padding:9px 11px;outline:0}.expense-filter-panel input:focus{border-color:#765be7;box-shadow:0 0 0 3px rgba(118,91,231,.1)}.expense-filter-panel .smart-select{min-width:0}.expense-filter-panel .button{min-height:42px}
.detail-tag{display:inline-flex;align-items:center;border:1px solid #ddd9f3;background:#f4f1ff;color:#5c49ad;border-radius:6px;padding:4px 8px;font-size:10px;font-weight:650}.detail-tag.company{border-color:#bfe4d6;background:#eaf8f3;color:#087553}.detail-tag.school{border-color:#bfdbf4;background:#ebf5ff;color:#226b9f}.detail-tag.person{border-color:#f0d6df;background:#fff1f5;color:#a54165}.detail-tag.team{border-color:#d9d5f3;background:#f3f1ff;color:#5c49ad}
.data-safety-panel{margin-top:15px}.data-safety-actions{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:10px}.data-safety-panel>small{color:#7f8590}.restore-backup{display:inline-flex;align-items:center;cursor:pointer}.restore-backup input{display:none}
@media(max-width:1180px){.expense-filter-panel{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.expense-filter-panel{grid-template-columns:1fr 1fr;padding:14px}.expense-filter-panel .button{grid-column:1/-1}.data-safety-actions{display:grid}.data-safety-actions .button{width:100%;justify-content:center}}

/* Workflow clarity V4 */
.topbar h1{font-size:22px;font-weight:750}.panel-heading h2,.table-head h2{font-size:18px;font-weight:750;color:#20242d}.modal h2,.compact-modal h2{font-size:22px;font-weight:750}.parse-result{font-size:13px;font-weight:650;line-height:1.55}.recurring-tab{font-weight:750!important;color:#5f46c8!important}.payer-bar #company-bar{background:#08a46d}.payer-bar #school-bar{background:#3478f6}.payer-bar #pending-payer-bar{background:#f0ad00}.payer-label{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.invoice-actions{align-items:flex-end}.invoice-actions>.filter-bar{flex:1;flex-wrap:wrap}.invoice-actions input,.invoice-actions select{min-height:42px;border:1px solid #dfe3eb;border-radius:9px;background:#fff;padding:9px 11px}.invoice-clear-dates{min-height:42px;align-self:flex-end}.saved-attachment{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:8px 9px;border:1px solid #e3e6ed;border-radius:7px;background:#fff}.saved-attachment>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4f5560}.saved-attachment.marked-remove{border-color:#f1acb5;background:#fff0f2}.saved-attachment.marked-remove>span{text-decoration:line-through;color:#b02b3a}.detail-tag.pending{border-color:#f4d67f;background:#fff5d8;color:#8c6100}
@media(max-width:760px){.topbar h1{font-size:20px}.panel-heading h2,.table-head h2{font-size:16px}.invoice-actions>.filter-bar label{width:100%}}

/* Executive dashboard V5 */
body{font-size:16px;background:#f1f4f9;color:#181c25}.app-shell{grid-template-columns:205px minmax(0,1fr)}.sidebar{background:#edf5f3;border-right:1px solid #dce9e5;padding-left:17px;padding-right:17px}.brand{font-size:18px}.nav-item{font-size:14px;color:#5f6974}.nav-item:hover{background:#e3efeb}.nav-item.active{background:#dcd6ff;color:#5235c5;box-shadow:0 6px 16px rgba(82,53,197,.1)}.nav-icon{background:rgba(255,255,255,.7)}.sidebar-foot{font-size:13px}.sidebar-foot b{font-size:13px}.sidebar-foot small{font-size:11px}.topbar{min-height:88px;padding-left:34px;padding-right:34px}.topbar h1{font-size:25px}.topbar p{font-size:13px}.button{font-size:13px;min-height:42px}.page-wrap{max-width:1520px;padding:30px 34px 64px}.filter-bar{padding:14px 16px;border:1px solid #e1e6ef;border-left:1px solid #e1e6ef;border-radius:8px;background:#f9faff}.filter-bar label,.expense-filter-panel label,.reimbursement-filter-panel label{font-size:13px;font-weight:600;color:#687180}.smart-select,.smart-select-option,.smart-select-trigger,.month-picker,.date-control>input{font-size:14px}.smart-select-trigger,.month-picker,.date-control>input{min-height:46px}.data-freshness{font-size:12px;margin-left:auto}

.month-control{position:relative;width:100%}.month-control>input{width:100%;padding-right:43px!important;cursor:pointer}.month-control.open>input{border-color:#765be7;box-shadow:0 0 0 3px rgba(118,91,231,.12)}.month-popover{display:none;position:absolute;z-index:92;top:calc(100% + 7px);left:0;width:310px;padding:16px;background:#fff;border:1px solid #e1e3e9;border-radius:10px;box-shadow:0 20px 42px rgba(30,34,50,.18)}.month-control.open .month-popover{display:block;animation:control-pop .16s ease-out}.month-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.month-grid button,.month-popover-foot button{min-height:38px;border:0;border-radius:7px;background:#f7f8fb;color:#3d434d;font-size:13px;cursor:pointer}.month-grid button:hover{background:#efecff;color:#5f43ce}.month-grid button.selected{background:#6d51df;color:#fff;font-weight:700}.month-popover-foot{display:flex;justify-content:flex-end;margin-top:10px}.month-popover-foot button{padding:0 13px;color:#6046c8;background:#f2efff}

.executive-band{margin-bottom:18px;padding:22px 24px;border:1px solid;border-left-width:1px;border-radius:8px}.actual-band{background:#eaf7f2;border-color:#c8e8dc;border-left-color:#13966d}.forecast-band{background:#edf5fc;border-color:#cfe3f5;border-left-color:#277fc5}.band-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:19px}.band-heading h2,.insight-heading h2{margin:0;font-size:20px;font-weight:780}.band-heading p,.insight-heading p{margin:5px 0 0;font-size:13px;color:#66727d}.decision-badge{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border-radius:6px;background:#fff;color:#59616b;font-size:12px;font-weight:750}.decision-badge.positive{background:#0ba879;color:#fff}.decision-badge.danger{background:#e33d50;color:#fff}.executive-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.executive-metric{padding:5px 22px;border-right:1px solid rgba(45,87,73,.15)}.executive-metric:first-child{padding-left:0}.executive-metric:last-child{border-right:0}.executive-metric>span,.forecast-metrics small{display:block;font-size:13px;font-weight:650;color:#5f6d72}.executive-metric>strong{display:block;margin:9px 0 8px;font-size:34px;line-height:1;font-weight:800;color:#147355}.executive-metric.expense>strong{color:#b45309}.executive-metric.result>strong,.executive-metric.margin>strong{color:#1f5f96}.executive-metric small{font-size:12px;color:#6f7c82}.executive-metric small b{color:#35424a}.negative-value{color:#cf2e43!important}.forecast-metrics{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) minmax(210px,1.35fr);gap:0}.forecast-metrics>span{padding:4px 20px;border-right:1px solid rgba(39,95,139,.14)}.forecast-metrics>span:first-child{padding-left:0}.forecast-metrics>span:last-child{border-right:0}.forecast-metrics b{display:block;margin-top:8px;font-size:25px;color:#205f93}.forecast-metrics em{display:block;margin-top:5px;font-size:11px;font-style:normal;color:#738492}.forecast-result b{font-size:31px;color:#174f78}

.management-insights{display:grid;grid-template-columns:245px 1fr;gap:24px;margin:18px 0;padding:21px 24px;border:1px solid #eadfc0;border-left:1px solid #eadfc0;border-radius:8px;background:#fff8e8}.insight-heading p{line-height:1.55}.insight-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 20px}.insight-item{display:grid;grid-template-columns:9px 1fr;gap:10px;align-items:start;padding:5px 0}.insight-item>span{width:9px;height:9px;margin-top:5px;border-radius:50%;background:#2d84c5}.insight-item.danger>span{background:#e33d50}.insight-item.warning>span{background:#e0a416}.insight-item.success>span{background:#0ba879}.insight-item b{font-size:14px}.insight-item p{margin:3px 0 0;font-size:12px;line-height:1.5;color:#6e7580}.risk-banner.show{font-size:14px;padding:14px 16px;border-left-width:1px;background:#ffe9ec;color:#a41f31}

.overview-grid{grid-template-columns:minmax(690px,1.55fr) minmax(340px,.75fr)}.panel{border-color:#dfe5ed;box-shadow:0 10px 28px rgba(42,52,72,.06)}.panel-heading h2,.table-head h2{font-size:19px}.panel-heading p,.table-head p{font-size:13px}.legend{font-size:12px}.budget-rows{display:block;overflow:visible;padding:0}.budget-comparison-head,.budget-comparison-row{display:grid;grid-template-columns:90px 160px minmax(330px,1fr) 120px;gap:14px;align-items:center}.budget-comparison-head{padding:0 12px 9px;color:#89909b;font-size:11px;font-weight:650}.budget-comparison-row{min-height:86px;padding:12px;border-top:1px solid #edf0f4}.budget-comparison-row.over{background:#fff0f2}.budget-comparison-row.watch{background:#fff9e9}.team-name{font-size:15px}.team-total strong{display:block;font-size:21px;color:#222833}.team-total small{display:block;margin-top:5px;font-size:11px;color:#858d98}.team-spend-track{position:relative;display:flex;height:17px;overflow:visible;border-radius:5px;background:#e8ecf2}.team-spend-track i{height:100%;min-width:0}.team-spend-track .spent{background:#0aa779}.team-spend-track .pending{background:#e6a40f}.team-spend-track .future{background:#2e83c5}.team-spend-track em{position:absolute;top:-5px;bottom:-5px;width:2px;background:#1f2530}.team-spend-values{display:flex;gap:14px;margin-top:7px;color:#68727e;font-size:11px}.budget-comparison-row .budget-status{justify-self:start;min-width:90px;padding:6px 9px;border-radius:6px;background:#0aa779;color:#fff;font-size:11px;text-align:center}.budget-comparison-row .budget-status.watch{background:#e3a20c;color:#3c2a00}.budget-comparison-row .budget-status.over{background:#e33d50}.category-layout{grid-template-columns:158px 1fr}.donut{width:152px;height:152px}.donut b{font-size:19px}.category-item>span{font-size:12px}.category-item b{font-size:14px}.payer-summary{font-size:12px}.payer-bar{height:11px}.payer-label{font-size:11px}.priority-todo .todo-item span{font-size:14px}.priority-todo .todo-item b{font-size:12px}.income-stats small,.forecast-box small{font-size:12px}.income-stats b{font-size:21px}.forecast-box strong{font-size:28px}

.reimbursement-filter-panel{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr)) auto auto;gap:12px;align-items:end;margin-bottom:18px;padding:16px;border:1px solid #dfe5ed;border-left:1px solid #dfe5ed;border-radius:8px;background:#f7fbff}.reimbursement-filter-panel label{display:grid;gap:7px}.reimbursement-filter-panel input,.reimbursement-filter-panel select{min-height:44px;border:1px solid #dbe1ea;border-radius:9px;background:#fff;padding:9px 11px;font-size:14px}.workspace-stat small{font-size:12px}.workspace-stat b{font-size:24px}.table-head{padding:20px 22px}th,td{font-size:13px;padding:15px}th{font-size:12px}.badge,.mini-button{font-size:12px}.segmented button{font-size:13px}.modal label,.compact-modal label{font-size:14px}.modal input,.modal select,.compact-modal input,.compact-modal select{min-height:48px;font-size:15px}.parse-result{font-size:14px}.modal header p{font-size:13px}

.money-input-control{position:relative;width:100%}.money-input-control>input{width:100%;padding-right:48px!important}.calculator-trigger{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:7px;background:#edf3ff;color:#376dc4;display:grid;place-items:center;cursor:pointer}.calculator-trigger:hover{background:#dfe9ff}.calculator-trigger svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.calculator-modal{width:min(410px,100%);overflow:hidden;border-radius:8px;background:#fff;box-shadow:0 28px 80px rgba(25,30,45,.28)}.calculator-modal header{display:flex;justify-content:space-between;padding:20px 22px 15px;border-bottom:1px solid #e6e9ef}.calculator-modal h2{margin:0 0 4px;font-size:21px}.calculator-modal p{margin:0;color:#7a828e;font-size:12px}.calculator-body{padding:20px 22px}.calculator-body>input{width:100%;min-height:48px;border:1px solid #d8deea;border-radius:8px;padding:10px 12px;font-size:18px;outline:0}.calculator-body>input:focus{border-color:#7357e8;box-shadow:0 0 0 3px rgba(115,87,232,.12)}.calculator-result{display:flex;justify-content:space-between;align-items:center;margin:12px 0;padding:12px;border-radius:7px;background:#f1f5fb}.calculator-result span{font-size:12px;color:#69727f}.calculator-result strong{font-size:22px}.calculator-keys{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.calculator-keys button{min-height:46px;border:1px solid #e1e5ec;border-radius:7px;background:#fff;font-size:16px;cursor:pointer}.calculator-keys button:nth-child(4n){background:#edf3ff;color:#376dc4;font-weight:700}.calculator-modal footer{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}

@media(max-width:1100px){.executive-metrics{grid-template-columns:repeat(2,1fr);gap:18px}.executive-metric:nth-child(2){border-right:0}.forecast-metrics{grid-template-columns:repeat(3,1fr);gap:16px}.forecast-metrics>span{border-right:0;padding:0}.forecast-result{grid-column:span 2}.management-insights{grid-template-columns:1fr}.reimbursement-filter-panel{grid-template-columns:repeat(3,1fr)}.budget-comparison-head,.budget-comparison-row{grid-template-columns:80px 145px minmax(270px,1fr) 105px}}
@media(max-width:760px){body{font-size:15px}.app-shell{grid-template-columns:1fr}.page-wrap{padding:18px 14px 46px}.filter-bar{padding:12px}.executive-band{padding:18px 16px}.executive-metrics,.forecast-metrics{grid-template-columns:1fr}.executive-metric{padding:14px 0;border-right:0;border-bottom:1px solid rgba(45,87,73,.14)}.executive-metric:last-child{border-bottom:0}.forecast-metrics>span,.forecast-result{grid-column:auto;padding:9px 0}.management-insights{padding:18px 16px}.insight-list{grid-template-columns:1fr}.overview-grid{grid-template-columns:1fr}.budget-rows{overflow-x:auto}.budget-comparison-head,.budget-comparison-row{min-width:680px}.reimbursement-filter-panel{grid-template-columns:1fr 1fr}.reimbursement-filter-panel .button{width:100%}.month-popover{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(330px,calc(100vw - 32px));z-index:95}}

#calculator-backdrop{z-index:40}

@media(max-width:1350px){.overview-grid{grid-template-columns:1fr}.priority-todo #todo-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.priority-todo #todo-list{grid-template-columns:1fr}}

/* Unified restrained dashboard theme */
:root{--bg:#f5f6fa;--surface:#fff;--ink:#1d2028;--muted:#737987;--line:#e4e7ee;--purple:#704da9;--lilac:#c2c0e7;--mint-strong:#2f9270;--blue-strong:#527fc9;--yellow-strong:#d69a14;--red:#df4054;--red-soft:#fff1f3;--shadow:0 8px 22px rgba(30,34,50,.035)}
body{background:var(--bg);color:var(--ink)}
.app-shell{grid-template-columns:205px minmax(0,1fr)}
.sidebar{background:#fff;border-right:1px solid #e8e9ef;padding:26px 17px 20px}
.brand{padding:0 9px 28px;font-size:18px}.brand-mark{background:#704da9;box-shadow:none}
.nav{gap:6px}.nav-item{min-height:44px;color:#626977;border-radius:8px;padding:10px 12px}.nav-item:hover{background:#f4f2f9;color:#53377f}.nav-item.active{background:#eeeaf7;color:#583887;box-shadow:none}.nav-icon{background:#f7f7fa!important;color:#858b98}.nav-item.active .nav-icon{background:#704da9!important;color:#fff}
.sidebar-foot{border-color:#ededf2}.sidebar-foot .avatar{background:#f0ecf7;color:#704da9}
.topbar{min-height:86px;background:#fff;border-color:#e9eaf0}.topbar h1{font-size:25px}.topbar p{color:#858b98}
.page-wrap{max-width:1540px;padding:28px 34px 64px}
.button{border-radius:8px;font-weight:650}.button.primary{background:#704da9;box-shadow:0 7px 18px rgba(112,77,169,.16)}.button.primary:hover{background:#604090}.button.secondary{border-color:#dfe2e9;color:#5f6571;box-shadow:none}
.panel,.table-panel,.project-card,.workspace-stat{background:#fff;border:1px solid #e4e7ee;box-shadow:var(--shadow);border-radius:8px}
.panel-heading h2:before{background:#704da9}.table-head{background:#fff}

/* One consistent filter system */
.filter-bar,.reimbursement-filter-panel,.invoice-actions>.filter-bar{padding:14px 16px;border:1px solid #e4e7ee;border-left:0;border-radius:8px;background:#fff;box-shadow:var(--shadow)}
.filter-bar{gap:12px}.filter-bar.compact{margin:0}.filter-bar label,.expense-filter-panel label,.reimbursement-filter-panel label{font-size:12px;font-weight:650;color:#68707d;gap:7px}
.smart-select-trigger,.month-control>input,.date-control>input,.expense-filter-panel input,.reimbursement-filter-panel input,.reimbursement-filter-panel select,.quiet-select{min-height:44px;border:1px solid #dfe3eb;border-radius:8px;background:#fff;box-shadow:none;color:#272b34}
.smart-select-trigger:hover,.month-control>input:hover,.date-control>input:hover,.expense-filter-panel input:hover{border-color:#c8c1da}
.smart-select.open .smart-select-trigger,.month-control.open>input,.date-control.open>input{border-color:#8a70b5;box-shadow:0 0 0 3px rgba(112,77,169,.09)}
.date-trigger,.calculator-trigger{background:#f2eef8;color:#704da9;border-radius:7px}.date-trigger:hover,.calculator-trigger:hover{background:#eae4f3}
.smart-select-option:hover{background:#f4f1f8;color:#593a83}.smart-select-option.selected{background:#eee9f6;color:#593a83}.smart-select-menu,.date-popover,.month-popover{border-color:#e1e2e8;box-shadow:0 18px 42px rgba(35,30,47,.12)}
.month-grid button.selected,.date-days>button.selected{background:#704da9;box-shadow:none}

/* Daily expenses: compact single-line command rail */
.expense-command-bar{display:flex;align-items:flex-end;gap:12px;margin-bottom:16px;padding:15px 16px;background:#fff;border:1px solid #e4e7ee;border-radius:8px;box-shadow:var(--shadow);overflow-x:auto}
.expense-command-bar>.filter-bar,.expense-command-bar>.expense-filter-panel{display:flex;align-items:flex-end;gap:10px;flex:0 0 auto;margin:0;padding:0;border:0;background:transparent;box-shadow:none}
.expense-command-bar label{width:128px;flex:0 0 128px}.expense-command-bar label:first-child{width:150px;flex-basis:150px}.expense-command-bar .expense-add{position:sticky;right:0;flex:0 0 auto;margin-left:auto}
.expense-filter-panel .button{min-height:44px;flex:0 0 auto}.expense-summary{gap:12px;margin:0 0 16px}.expense-summary span{min-height:100px;border-color:#e4e7ee;padding:18px 20px;box-shadow:var(--shadow)}.expense-summary span:before{content:"";display:block;width:26px;height:3px;margin-bottom:14px;border-radius:3px;background:#704da9}.expense-summary span:nth-child(2):before{background:#2f9270}.expense-summary span:nth-child(3):before{background:#d69a14}.expense-summary span:nth-child(4):before{background:#8090aa}.expense-summary small{font-size:12px}.expense-summary b{font-size:24px}

/* Workspace pages share the same top-to-bottom rhythm */
.workspace-actions{align-items:center;margin-bottom:16px;padding:14px 16px;background:#fff;border:1px solid #e4e7ee;border-radius:8px;box-shadow:var(--shadow)}
.workspace-actions>.filter-bar{padding:0;border:0;box-shadow:none}.workspace-actions>div{align-items:center}.segmented{background:#f1f0f5;border-radius:8px;padding:4px}.segmented button{min-height:38px;padding:8px 14px;border-radius:6px;color:#777c88}.segmented button.active{color:#593a83;box-shadow:0 2px 8px rgba(43,35,59,.07)}
.workspace-stats{gap:12px;margin-bottom:16px}.workspace-stat{min-height:126px;padding:20px;overflow:hidden}.workspace-stat:before{width:0;background:#8c7bb1!important}.workspace-stat.accent:before{background:#704da9!important}.workspace-stat.success:before{background:#2f9270!important}.workspace-stat.warning:before{background:#d69a14!important}.workspace-stat.danger:before{background:#df4054!important}.workspace-stat.neutral:before{background:#9aa0ab!important}.workspace-stat small{font-size:12px}.workspace-stat b{font-size:27px;margin-top:15px;color:#1f232b}.workspace-stat em{font-size:11px;margin-top:8px;color:#747b87}.workspace-stat.danger{background:#fffafb;border-color:#f1d8dc}.workspace-stat.danger b,.workspace-stat.danger em{color:#c82f43}.workspace-stat.warning em{color:#946700}.workspace-stat.success em{color:#287b5f}
#budget-table-panel .table-head .month-control{width:230px;flex:0 0 230px}.table-head .month-control>input{width:100%}.table-head{gap:18px}.table-head h2{font-size:18px}.table-head p{font-size:12px}
.project-list{gap:16px}.project-card{padding:22px}.project-card h3{font-size:17px}.project-card p{font-size:11px}.project-numbers span{background:#f7f7fa;border:1px solid #ececf1}.project-progress{background:#eeedf2}.project-progress i{background:#704da9}.project-status{background:#eeeaf7;color:#593a83}

/* Overview uses white space; color is reserved for meaning */
.executive-band{background:#fff!important;border:1px solid #e4e7ee!important;border-left:1px solid #e4e7ee!important;box-shadow:var(--shadow);padding:22px 24px}.forecast-band{border-left-color:#527fc9!important}.management-insights{background:#fff;border:1px solid #e4e7ee;border-left:1px solid #e4e7ee;box-shadow:var(--shadow)}
.executive-metric{border-color:#ececf1}.executive-metric>strong{color:#2f9270}.executive-metric.expense>strong{color:#a66212}.executive-metric.result>strong,.executive-metric.margin>strong,.forecast-metrics b,.forecast-result b{color:#355f9c}.decision-badge{background:#f2f3f6}.decision-badge.positive{background:#2f9270}.decision-badge.danger{background:#df4054}.forecast-metrics>span{border-color:#ececf1}.insight-item>span{background:#527fc9}.insight-item.danger>span{background:#df4054}.insight-item.warning>span{background:#d69a14}.insight-item.success>span{background:#2f9270}.risk-banner.show{background:#fff3f4;border-color:#f0cbd0;color:#a92738}

/* Tables and status tags */
th{background:#f7f7fa;color:#68707d}td,th{border-color:#eceef2}.badge{border-radius:6px;font-weight:650}.badge.confirmed{background:#eaf5f0;color:#24785b}.badge.pending{background:#fff4d8;color:#8a6100}.badge.rejected{background:#fff0f2;color:#b72c3d}.badge.waiting{background:#f0f1f4;color:#656b76}.mini-button{border-radius:6px}

@media(max-width:1180px){.expense-command-bar{padding-bottom:16px}.workspace-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{background:#fff}.page-wrap{padding:16px 14px 44px}.expense-command-bar{display:grid;grid-template-columns:1fr;padding:14px;overflow:visible}.expense-command-bar>.filter-bar,.expense-command-bar>.expense-filter-panel{display:grid;grid-template-columns:1fr 1fr;width:100%}.expense-command-bar label,.expense-command-bar label:first-child{width:auto;flex-basis:auto}.expense-command-bar .expense-add{position:static;width:100%}.workspace-actions{align-items:stretch;padding:12px}.workspace-actions>div{justify-content:space-between}.workspace-stats{grid-template-columns:1fr 1fr}.workspace-stat{min-height:110px;padding:16px}.workspace-stat b{font-size:21px}.executive-band{padding:18px 16px}.management-insights{padding:18px 16px}}
@media(max-width:760px){.expense-command-bar .button.secondary,.workspace-actions .button.secondary,.reimbursement-filter-panel .button.secondary{display:inline-flex;align-items:center;justify-content:center}}

/* Usability pass: fixed navigation, softer accent and layered filters */
:root{--purple:#8a76b7;--lilac:#d9d4e9}
.app-shell{display:block}.sidebar{position:fixed;inset:0 auto 0 0;width:205px;height:100dvh;z-index:60;overflow-y:auto}.main{margin-left:205px;min-height:100vh}
.brand-mark,.button.primary,.nav-item.active .nav-icon,.month-grid button.selected,.date-days>button.selected{background:#8a76b7}.button.primary{box-shadow:0 7px 18px rgba(138,118,183,.15)}.button.primary:hover{background:#7b67aa}.nav-item.active{background:#f0edf7;color:#67548f}.date-trigger,.calculator-trigger{background:#f3f0f8;color:#7661a3}.date-trigger:hover,.calculator-trigger:hover{background:#ece7f4}.smart-select-option.selected{background:#f0edf7;color:#67548f}.smart-select-option:hover{background:#f5f3f8;color:#67548f}.smart-select.open .smart-select-trigger,.month-control.open>input,.date-control.open>input{border-color:#a795c8;box-shadow:0 0 0 3px rgba(138,118,183,.09)}.segmented button.active{color:#67548f}.executive-band{border-left-color:#8a76b7!important}.workspace-stat.accent:before{background:#8a76b7!important}.project-progress i{background:#8a76b7}.project-status{background:#f0edf7;color:#67548f}.panel-heading h2:before{background:#8a76b7}button:focus-visible,input:focus-visible{outline-color:rgba(138,118,183,.2)}

.expense-command-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 16px;align-items:end;overflow:visible;padding:16px}
.expense-command-bar>.filter-bar{display:grid;grid-template-columns:160px repeat(3,minmax(135px,1fr));gap:12px;width:100%}
.expense-command-bar>.expense-filter-panel{grid-column:1/-1;display:grid;grid-template-columns:repeat(8,minmax(110px,1fr)) auto;gap:12px;width:100%;padding-top:15px;border-top:1px solid #ececf1}
.expense-command-bar label,.expense-command-bar label:first-child{width:auto;min-width:0;flex:initial}.expense-command-bar .smart-select{min-width:0}.expense-command-bar .expense-add{position:static;grid-column:2;grid-row:1;margin:0}.expense-filter-panel .button{min-width:76px}

#budget-page .workspace-actions{height:90px;min-height:90px}#budget-page .workspace-actions>div:last-child{min-width:300px;justify-content:flex-end}#budget-page .workspace-stats{min-height:126px}#budget-page .workspace-stat{height:126px}

#entity-modal-backdrop .date-popover,#modal-backdrop .date-popover{position:fixed;left:50%;top:50%;width:min(340px,calc(100vw - 40px));transform:translate(-50%,-50%);z-index:120;max-height:calc(100vh - 48px);overflow:auto}

@media(max-width:1250px){.expense-command-bar>.expense-filter-panel{grid-template-columns:repeat(4,minmax(125px,1fr))}.expense-filter-panel .button{min-height:44px}.expense-command-bar>.filter-bar{grid-template-columns:repeat(2,minmax(150px,1fr))}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:static;width:auto;height:auto;overflow:visible}.main{margin-left:0}.expense-command-bar{grid-template-columns:1fr;gap:12px}.expense-command-bar>.filter-bar,.expense-command-bar>.expense-filter-panel{grid-template-columns:1fr 1fr}.expense-command-bar>.expense-filter-panel{grid-column:1;padding-top:12px}.expense-command-bar .expense-add{grid-column:1;grid-row:auto;width:100%}#budget-page .workspace-actions{height:auto;min-height:0}#budget-page .workspace-actions>div:last-child{min-width:0}#budget-page .workspace-stats{min-height:0}#budget-page .workspace-stat{height:auto}}

html,body{max-width:100%;overflow-x:hidden}#expenses-page{min-width:0;overflow:hidden}.expense-command-bar{width:100%;max-width:100%;min-width:0;scrollbar-width:thin;scrollbar-color:#cbc7d4 transparent}.expense-command-bar::-webkit-scrollbar{height:6px}.expense-command-bar::-webkit-scrollbar-thumb{background:#cbc7d4;border-radius:6px}.project-list>.placeholder{grid-column:1/-1;min-height:280px}button:focus-visible,input:focus-visible{outline:3px solid rgba(112,77,169,.18);outline-offset:2px}

/* Compact operating workspace: grouped navigation, progressive filters and contract ledger. */
.nav-section-label{display:block;margin:15px 12px 5px;color:#9a96a5;font-size:10px;font-weight:700;line-height:1;text-transform:uppercase}.nav-section-label:first-of-type{margin-top:18px}.nav-child{padding-left:20px}
.expense-command-bar{grid-template-columns:minmax(0,1fr) auto auto}.expense-command-bar>.filter-bar{grid-template-columns:160px repeat(3,minmax(130px,1fr))}.expense-command-bar .filter-toggle{grid-column:2;grid-row:1;display:inline-flex;align-items:center;gap:7px;min-height:44px}.expense-command-bar .filter-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .18s ease}.expense-command-bar .filter-toggle.is-open svg{transform:rotate(180deg)}.expense-command-bar .filter-toggle b{display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:#704da9;color:#fff;font-size:10px}.expense-command-bar .expense-add{grid-column:3;grid-row:1;min-height:44px}.expense-command-bar>.expense-filter-panel{grid-column:1/-1;overflow:visible;opacity:1}.expense-command-bar>.expense-filter-panel.is-collapsed{display:none}.expense-command-bar>.expense-filter-panel:not(.is-collapsed){animation:filter-reveal .18s ease-out}@keyframes filter-reveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.check-line{gap:10px}.check-line input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:20px;height:20px;min-width:20px;margin:0;padding:0;border:1.5px solid #c8cbd3;border-radius:6px;background:#fff;display:grid;place-items:center;cursor:pointer}.check-line input[type="checkbox"]:before{content:"";width:10px;height:6px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) scale(0);transform-origin:center}.check-line input[type="checkbox"]:checked{border-color:#704da9;background:#704da9}.check-line input[type="checkbox"]:checked:before{transform:rotate(-45deg) scale(1)}
input[readonly]{background:#f5f6f8!important;color:#5e6470!important;cursor:not-allowed}
.contract-toolbar{align-items:flex-end}.contract-toolbar>.filter-bar{flex:1;min-width:0}.contract-search-label{flex:1;min-width:220px}.contract-search-label input{width:100%;min-height:44px;border:1px solid var(--line);border-radius:9px;padding:9px 12px;background:#fff}.project-list{display:grid;grid-template-columns:1fr;gap:10px}.contract-row{background:#fff;border:1px solid #e3e6ec;border-left:1px solid #e3e6ec;border-top:2px solid #5b9f87;border-radius:8px;box-shadow:0 5px 18px rgba(37,41,60,.045);overflow:hidden}.contract-row.outcome{border-left-color:#d79725}.contract-main{display:grid;grid-template-columns:minmax(230px,1.45fr) minmax(110px,.62fr) minmax(110px,.62fr) minmax(180px,1fr) minmax(190px,1fr);gap:18px;align-items:center;padding:17px 18px}.contract-main>*{min-width:0}.contract-title-line{display:flex;align-items:center;gap:7px;min-width:0;flex-wrap:wrap}.contract-title-line h3{margin:0 2px 0 0;font-size:16px;line-height:1.35;font-weight:720;color:#252832;overflow-wrap:anywhere}.contract-identity p{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:7px 0 0;color:#7a808b;font-size:11px}.contract-identity p strong{color:#4f5560;font-size:12px}.contract-identity p span{padding-left:7px;border-left:1px solid #dfe2e8}.contract-direction,.flow-direction{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:6px;font-size:10px;font-weight:700;white-space:nowrap}.contract-direction.income,.flow-direction.income{background:#e5f5ef;color:#24795e}.contract-direction.outcome,.flow-direction.outcome{background:#fff1d6;color:#986500}.project-status{white-space:nowrap}.project-status.expected{background:#f2f0f5;color:#78717f}.contract-key-number small,.contract-key-number strong{display:block}.contract-key-number small,.contract-progress-cell span,.contract-next small{color:#858b96;font-size:10px}.contract-key-number strong{margin-top:6px;font-size:17px;font-weight:720;color:#262a32;white-space:nowrap}.contract-key-number.success strong{color:#25775e}.contract-key-number.warning strong{color:#a36a00}.contract-progress-cell>div:first-child{display:flex;justify-content:space-between;gap:8px}.contract-progress-cell b{font-size:12px}.contract-progress-track{height:7px;margin:8px 0 6px;border-radius:6px;background:#edf0f2;overflow:hidden}.contract-progress-track i{display:block;height:100%;border-radius:inherit;background:#4e9b7e}.contract-row.outcome .contract-progress-track i{background:#d99a2c}.contract-progress-cell>small{font-size:10px;color:#747b86}.contract-next{padding:10px 12px;border-radius:7px;background:#f7f8fa;border:1px solid #eceef2}.contract-next small,.contract-next b,.contract-next em{display:block}.contract-next b{margin:4px 0;font-size:11px;line-height:1.4;overflow-wrap:anywhere}.contract-next em{font-size:10px;font-style:normal;color:#717884}.contract-next.warning{background:#fff9e9;border-color:#f3dfad}.contract-next.warning em{color:#946500}.contract-next.danger{background:#fff1f2;border-color:#f0c9cf}.contract-next.danger em{color:#c12e43;font-weight:700}.contract-details{border-top:1px solid #eceef2}.contract-details summary{display:flex;align-items:center;justify-content:flex-end;gap:5px;padding:9px 18px;color:#70627f;font-size:10px;font-weight:650;cursor:pointer;list-style:none}.contract-details summary::-webkit-details-marker{display:none}.contract-details summary svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .18s}.contract-details[open] summary svg{transform:rotate(180deg)}.contract-detail-content{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:2px 18px 16px}.contract-detail-metrics{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:8px;flex:1}.contract-detail-metrics span{padding:10px 12px;border-radius:6px;background:#f7f8fa}.contract-detail-metrics small,.contract-detail-metrics b{display:block}.contract-detail-metrics small{color:#858b96;font-size:9px}.contract-detail-metrics b{margin-top:5px;font-size:12px;overflow-wrap:anywhere}.contract-actions{justify-content:flex-end;flex-wrap:wrap}.contract-empty{padding:50px 24px;text-align:center;background:#fff;border:1px dashed #d8dbe2;border-radius:8px;color:#737985}.contract-empty b{display:block;color:#363b44;font-size:15px}.contract-empty p{margin:7px 0 0;font-size:11px}.flow-direction{min-width:44px;justify-content:center}
#projects-page .workspace-stats .workspace-stat:nth-child(1){background:#fbfaff}#projects-page .workspace-stats .workspace-stat:nth-child(2){background:#f8fcfa}#projects-page .workspace-stats .workspace-stat:nth-child(3){background:#fffaf0}#projects-page .workspace-stats .workspace-stat:nth-child(4){background:#fafbfc}
@media(max-width:1250px){.contract-main{grid-template-columns:minmax(0,1.5fr) minmax(120px,1fr) minmax(120px,1fr)}.contract-progress-cell,.contract-next{grid-column:auto}.contract-identity{grid-column:1/-1}.contract-detail-content{align-items:stretch;flex-direction:column}.contract-actions{justify-content:flex-start}}
@media(max-width:900px){.expense-command-bar{grid-template-columns:1fr 1fr}.expense-command-bar>.filter-bar{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.expense-command-bar .filter-toggle{grid-column:1;grid-row:2}.expense-command-bar .expense-add{grid-column:2;grid-row:2}.contract-main{grid-template-columns:1fr 1fr}.contract-identity{grid-column:1/-1}.contract-next{grid-column:1/-1}.contract-detail-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.expense-command-bar{grid-template-columns:1fr 1fr}.expense-command-bar>.filter-bar{grid-column:1/-1}.expense-command-bar .filter-toggle{grid-column:1;grid-row:auto;width:100%;justify-content:center}.expense-command-bar .expense-add{grid-column:2;grid-row:auto}.contract-toolbar{padding:12px;align-items:stretch}.contract-toolbar>.filter-bar{display:grid;grid-template-columns:1fr 1fr}.contract-search-label{grid-column:1/-1;min-width:0}.contract-main{grid-template-columns:1fr 1fr;gap:14px;padding:15px}.contract-progress-cell,.contract-next{grid-column:1/-1}.contract-detail-metrics{grid-template-columns:1fr}.contract-details summary{justify-content:flex-start}.contract-detail-content{padding:2px 15px 15px}}

/* Company cash and school budgets use separate financial meanings. */
.school-budget-band{margin:18px 0;padding:22px 24px;background:#fff;border:1px solid #e4e7ee;border-left:1px solid #e4e7ee;border-radius:8px;box-shadow:var(--shadow)}
.school-budget-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.school-budget-heading h2{margin:0;font-size:20px}.school-budget-heading p{margin:5px 0 0;color:#707986;font-size:13px}
.school-budget-metrics{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr)) minmax(230px,1.35fr)}.school-budget-metrics>span{padding:4px 20px;border-right:1px solid #ececf1}.school-budget-metrics>span:first-child{padding-left:0}.school-budget-metrics>span:last-child{border-right:0}.school-budget-metrics small{display:block;color:#65707b;font-size:13px;font-weight:650}.school-budget-metrics b{display:block;margin-top:8px;font-size:25px;color:#8b6415}.school-budget-metrics em{display:block;margin-top:5px;color:#7a828d;font-size:11px;font-style:normal}.school-budget-result b{font-size:31px}
.team-name small{display:block;margin-top:5px;color:#8b909b;font-size:10px;font-weight:600}.project-status.expected{background:#fff3d8;color:#946600}
.contract-project-numbers{grid-template-columns:repeat(6,minmax(105px,1fr))}.project-followup{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(150px,.45fr);gap:18px;align-items:center;margin:14px 0;padding:12px 14px;border:1px solid #e6e8ee;border-radius:7px;background:#fafafd}.project-followup span small,.project-followup span b{display:block}.project-followup span small{color:#818894;font-size:10px}.project-followup span b{margin-top:4px;font-size:13px}.project-followup em{padding:5px 9px;border-radius:6px;background:#eef0f4;color:#666e79;font-size:11px;font-style:normal;font-weight:700}.project-followup.warning em{background:#fff0c8;color:#8a5d00}.project-followup.danger em{background:#ffe7ea;color:#b42538}.collection-reminder{display:inline-flex;padding:5px 8px;border-radius:6px;background:#eef0f4;color:#68707b;font-size:10px;font-weight:700}.collection-reminder.warning{background:#fff0c8;color:#8a5d00}.collection-reminder.danger{background:#ffe7ea;color:#b42538}.collection-reminder.done{background:#e6f5ef;color:#25795b}.muted{color:#979da6}

/* Daily filters stay aligned without controls crossing into neighboring fields. */
.expense-command-bar>.expense-filter-panel{grid-template-columns:repeat(5,minmax(145px,1fr));align-items:end}.expense-command-bar .expense-filter-panel label,.expense-command-bar .date-control,.expense-command-bar .month-control,.expense-command-bar .smart-select{width:100%;min-width:0}.expense-command-bar .date-control>input,.expense-command-bar .month-control>input,.expense-command-bar .expense-filter-panel input{width:100%;min-width:0}.expense-command-bar .expense-filter-panel .button{width:100%}

/* Calendar panels escape the scrollable modal instead of being clipped. */
#entity-modal-backdrop .month-popover,#modal-backdrop .month-popover,#entity-modal-backdrop .date-popover,#modal-backdrop .date-popover{position:fixed;left:50%;top:50%;width:min(340px,calc(100vw - 40px));transform:translate(-50%,-50%);z-index:120;max-height:calc(100vh - 48px);overflow:auto}

@media(max-width:1400px){.expense-command-bar>.expense-filter-panel{grid-template-columns:repeat(4,minmax(135px,1fr))}.contract-project-numbers{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1100px){.school-budget-metrics{grid-template-columns:repeat(2,1fr);gap:16px}.school-budget-metrics>span{padding:5px 14px;border-right:0}.project-followup{grid-template-columns:1fr auto}.project-followup>span:last-child{grid-column:1/-1}}
@media(max-width:760px){.school-budget-band{padding:18px 16px}.school-budget-heading{display:block}.school-budget-heading .decision-badge{margin-top:12px}.school-budget-metrics{grid-template-columns:1fr}.school-budget-metrics>span{padding:10px 0;border-bottom:1px solid #ececf1}.school-budget-metrics>span:last-child{border-bottom:0}.expense-command-bar>.expense-filter-panel{grid-template-columns:1fr 1fr}.contract-project-numbers{grid-template-columns:1fr 1fr}.project-followup{grid-template-columns:1fr}.project-followup>span:last-child{grid-column:auto}}

.modal .check-line input[type="checkbox"]{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;max-width:20px!important;max-height:20px!important;padding:0!important}
@media(max-width:760px){.sidebar{display:block;height:auto;padding:14px 14px 10px;border-right:0;border-bottom:1px solid #e5e7ec}.brand{padding:0 10px 12px}.nav{display:flex;gap:7px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav-section-label,.sidebar-foot{display:none}.nav-item,.nav-child{flex:0 0 auto;min-height:40px;padding:7px 10px;white-space:nowrap}.topbar{padding:14px 18px}.topbar p{display:none}.top-actions #import-button{display:none}}

/* Executive trend layer and shared data vocabulary. */
.overview-snapshot{margin:0 0 16px;padding:18px 20px;background:#fff;border:1px solid #e4e7ee;border-radius:10px;box-shadow:var(--shadow)}.snapshot-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:12px}.eyebrow{display:block;margin-bottom:3px;color:#8a76b7;font-size:10px;font-weight:750;text-transform:uppercase}.snapshot-heading h2{margin:0;font-size:20px;font-weight:750;color:#252936}.snapshot-heading p{margin:5px 0 0;color:#7b828e;font-size:12px}.trend-status{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border-radius:7px;background:#f2f3f6;color:#6d7480;font-size:11px;font-weight:750;white-space:nowrap}.trend-status.positive{background:#e4f5ee;color:#24785d}.trend-status.danger{background:#fff0f2;color:#c52d43}.trend-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,.8fr);gap:22px;align-items:stretch}.trend-chart-wrap{min-width:0}.trend-legend{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:3px;color:#7a818d;font-size:10px}.trend-legend span{display:inline-flex;align-items:center;gap:5px}.trend-legend i{width:18px;height:3px;border-radius:3px;background:#4d9c7e}.trend-legend .expense-line{background:#d8992b}.trend-legend .net-line{background:#806bb4}.trend-chart{height:190px;min-width:0}.trend-chart svg{display:block;width:100%;height:100%;overflow:visible}.trend-grid line{stroke:#edf0f4;stroke-width:1}.trend-chart text{fill:#9298a4;font-size:10px}.trend-path{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.trend-path.income{stroke:#4d9c7e}.trend-path.spend{stroke:#d8992b}.trend-path.net{stroke:#806bb4;stroke-dasharray:5 5}.trend-highlights{display:grid;grid-template-rows:repeat(3,1fr);gap:7px}.trend-highlight{display:grid;grid-template-columns:minmax(90px,1fr) auto;grid-template-rows:auto auto;column-gap:12px;padding:10px 12px;border:1px solid #eceef2;border-radius:7px;background:#fafbfc}.trend-highlight small{grid-column:1;color:#858b96;font-size:10px}.trend-highlight b{grid-column:2;grid-row:1 / span 2;align-self:center;font-size:16px;color:#282c35;white-space:nowrap}.trend-highlight span{grid-column:1;margin-top:4px;color:#737a86;font-size:10px}.trend-highlight.positive b{color:#24785d}.trend-highlight.danger{background:#fff7f8;border-color:#f4d9dd}.trend-highlight.danger b{color:#c52d43}.detail-tag{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid #e0e3ea;border-radius:6px;background:#f7f8fa;color:#59616d;font-size:11px;font-weight:650;white-space:nowrap}.detail-tag.team{background:#f1edfb;border-color:#e2daf4;color:#66548c}.detail-tag.company{background:#edf4ff;border-color:#d9e6fa;color:#3d6a9b}.detail-tag.school{background:#eaf7f1;border-color:#d0eee0;color:#28795e}.detail-tag.pending{background:#fff5d8;border-color:#f4d67f;color:#8c6100}.detail-tag.person{background:#f4f5f7;border-color:#e4e6eb;color:#626a76}.category-chip{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid #e6dfef;border-radius:6px;background:#f7f4fb;color:#6c568c;font-size:11px;font-weight:650;white-space:nowrap}.table-panel .table-head,.panel-heading{min-height:58px}.table-panel table tbody tr:hover{background:#faf9fd}.table-panel td{vertical-align:middle}
.nav-section-label{font-size:11px;font-weight:750;color:#9b95a6;letter-spacing:.02em}.nav-item{font-size:15px}.nav-item.nav-child{font-size:14px}.brand{font-size:20px}.brand-mark{width:34px;height:34px}.topbar h1{font-size:27px}.page-wrap>.filter-bar{margin-bottom:14px}.filter-bar label,.expense-filter-panel label,.reimbursement-filter-panel label{font-size:13px}.filter-bar .smart-select-trigger,.filter-bar .month-control>input,.filter-bar .date-control>input{font-size:14px}.workspace-actions .filter-bar{min-height:0}.workspace-actions .filter-bar label{font-size:13px}
.executive-band,.management-insights,.reimbursement-filter-panel{border-left-width:1px!important}.workspace-stat:before{width:0!important}.risk-banner{border-left-width:1px!important}
@media(max-width:1100px){.trend-layout{grid-template-columns:1fr}.trend-highlights{grid-template-columns:repeat(3,1fr);grid-template-rows:1fr}.overview-snapshot{padding:16px}.trend-chart{height:170px}}
@media(max-width:760px){.snapshot-heading{display:block}.snapshot-heading .trend-status{margin-top:10px}.trend-highlights{grid-template-columns:1fr;grid-template-rows:repeat(3,1fr)}.trend-chart{height:155px}.trend-legend{gap:10px}.overview-snapshot{padding:15px}.topbar h1{font-size:23px}.nav-item{font-size:14px}.nav-item.nav-child{font-size:13px}}

/* v26 visual refresh: spacious reference-led application shell. */
:root{--bg:#f7f7fb;--surface:#fff;--ink:#252631;--muted:#858697;--line:#e8e7ef;--purple:#836bb8;--purple-dark:#6f579f;--lilac-soft:#f1eef9;--shadow:0 10px 30px rgba(53,45,77,.045)}
body{background:var(--bg);font-family:"Microsoft YaHei","PingFang SC","Segoe UI",system-ui,sans-serif;color:var(--ink)}
.app-shell{grid-template-columns:270px minmax(0,1fr)}.sidebar{background:#fff;border-right:1px solid #e7e6ed;padding:30px 22px 22px}.brand{padding:0 8px 42px;gap:14px;font-size:24px;font-weight:750;color:#171820}.brand-mark{width:42px;height:42px;border-radius:11px;background:#8a76b7;color:#fff;font-size:21px}.nav{gap:5px}.nav-section-label{margin:28px 8px 11px;color:#9b96a9;font-size:13px}.nav-section-label:first-of-type{margin-top:4px}.nav-item,.nav-item.nav-child{min-height:52px;padding:9px 10px;gap:13px;border-radius:11px;font-size:17px;color:#636979}.nav-item.nav-child{padding-left:16px}.nav-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#f7f7fa!important;color:#8c93a1;font-size:17px}.nav-item.active{background:#f0edf8;color:#624896;font-weight:700}.nav-item.active .nav-icon{background:#7c62ad!important;color:#fff;box-shadow:0 6px 14px rgba(124,98,173,.18)}.sidebar-foot{padding:17px 8px 0}.sidebar-foot b{font-size:13px}.sidebar-foot small{font-size:11px}.main{margin-left:0}.topbar{min-height:94px;padding:20px 40px;background:#fff;border-bottom:1px solid #e8e7ed}.topbar h1{font-size:28px;font-weight:760;color:#171820}.topbar p{font-size:13px;color:#8b8b9b}.page-wrap{max-width:1600px;padding:28px 40px 70px}.button{min-height:44px;border-radius:10px;font-size:14px}.button.primary{background:#836bb8;box-shadow:0 9px 20px rgba(131,107,184,.15)}.button.primary:hover{background:#735aa5}.button.secondary{background:#fff;border-color:#dedde7;color:#666675}.filter-bar,.expense-command-bar,.reimbursement-filter-panel,.invoice-actions>.filter-bar{border:1px solid #e6e5ed;border-radius:12px;background:#fff;box-shadow:none;padding:15px 18px}.filter-bar label,.expense-filter-panel label,.reimbursement-filter-panel label{font-size:13px;color:#7a7b8a}.smart-select-trigger,.month-control>input,.date-control>input,.expense-filter-panel input,.reimbursement-filter-panel input,.reimbursement-filter-panel select,.quiet-select{min-height:46px;border-radius:10px;border-color:#dedde8}.panel,.table-panel,.workspace-stat,.overview-snapshot{border-color:#e8e7ef;border-radius:12px;box-shadow:var(--shadow)}.panel-heading h2,.table-head h2{font-size:19px;color:#272833}.panel-heading p,.table-head p{font-size:12px;color:#9293a1}
.overview-snapshot{padding:20px 22px;margin-bottom:14px}.snapshot-heading h2{font-size:22px}.executive-band{margin-bottom:12px;padding:17px 20px;border-radius:12px!important;border:1px solid #e8e7ef!important;box-shadow:var(--shadow)}.band-heading{margin-bottom:13px}.band-heading h2{font-size:17px}.band-heading p{font-size:11px}.executive-metric>strong{font-size:29px}.executive-metric>span,.forecast-metrics small{font-size:12px}.forecast-metrics b{font-size:21px}.school-budget-band{padding:17px 20px;border-radius:12px}.management-insights{margin:14px 0;padding:18px 20px;border-radius:12px!important;border:1px solid #e8e7ef!important;background:#fff}.priority-todo{margin-top:14px}.priority-todo .panel-heading{margin-bottom:5px}.todo-item{padding:13px 4px;font-size:13px}.todo-item b{font-size:12px}.overview-grid,.lower-grid{gap:14px;margin-top:14px}.budget-comparison-row{min-height:76px}.team-name{font-size:14px}.team-total strong{font-size:19px}.category-layout{grid-template-columns:142px 1fr}.cash-panel{border-radius:12px}.workspace-stats{gap:12px}.workspace-stat{min-height:112px;padding:17px}.workspace-stat b{font-size:25px}.table-head{padding:18px 20px}.table-head h2{font-size:18px}th,td{font-size:13px;padding:14px}.badge,.mini-button,.detail-tag,.category-chip{font-size:11px}
.contract-row{border-left:1px solid #e3e6ec!important;border-top:2px solid #5b9f87}.contract-row.outcome{border-top-color:#d79725}.contract-main{padding:16px 18px}.contract-title-line h3{font-size:17px}.contract-details summary{padding:10px 18px}
@media(max-width:1100px){.app-shell{grid-template-columns:230px minmax(0,1fr)}.sidebar{padding-left:16px;padding-right:16px}.topbar,.page-wrap{padding-left:26px;padding-right:26px}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:static;width:auto;height:auto;padding:15px 14px 8px;border-right:0;border-bottom:1px solid #e7e6ed}.brand{padding:0 9px 14px;font-size:20px}.brand-mark{width:36px;height:36px;font-size:18px}.nav{gap:6px}.nav-section-label,.sidebar-foot{display:none}.nav-item,.nav-item.nav-child{min-height:42px;padding:7px 10px;font-size:13px}.nav-icon{width:28px;height:28px;font-size:13px}.topbar{min-height:74px;padding:15px 18px}.topbar h1{font-size:23px}.page-wrap{padding:18px 14px 48px}.filter-bar{padding:13px}.executive-band{padding:15px}.school-budget-band{padding:15px}.management-insights{padding:15px}.workspace-stat{min-height:104px;padding:14px}.workspace-stat b{font-size:22px}}
.app-shell{display:grid!important;grid-template-columns:270px minmax(0,1fr)!important}.sidebar{position:sticky!important;inset:auto!important;width:auto!important;height:100vh!important;overflow-y:auto!important}.main{margin-left:0!important}
@media(max-width:1100px) and (min-width:761px){.app-shell{grid-template-columns:230px minmax(0,1fr)!important}}
@media(max-width:760px){.app-shell{display:block!important}.sidebar{position:static!important;width:auto!important;height:auto!important;overflow:visible!important}}

/* Frosted surface language: one material across navigation, controls and data panels. */
body{background:linear-gradient(135deg,#f8f8fc 0%,#f1f2f8 48%,#f8f7fb 100%);background-attachment:fixed}
.sidebar,.topbar{background:rgba(255,255,255,.72);backdrop-filter:blur(22px) saturate(125%);-webkit-backdrop-filter:blur(22px) saturate(125%);border-color:rgba(218,216,230,.75)}
.panel,.table-panel,.workspace-stat,.overview-snapshot,.filter-bar,.expense-command-bar,.reimbursement-filter-panel,.invoice-actions>.filter-bar,.executive-band,.school-budget-band,.management-insights,.cash-panel{background:rgba(255,255,255,.62)!important;backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%);border-color:rgba(220,219,231,.8)!important;box-shadow:0 12px 30px rgba(69,60,94,.055)}
.overview-snapshot,.executive-band,.school-budget-band,.management-insights,.cash-panel{border-radius:16px!important}.filter-bar,.expense-command-bar,.reimbursement-filter-panel,.invoice-actions>.filter-bar{border-radius:14px!important}.workspace-stat{border-radius:14px!important}
.smart-select-trigger,.month-control>input,.date-control>input,.expense-filter-panel input,.reimbursement-filter-panel input,.reimbursement-filter-panel select,.quiet-select,.table-head input{background:rgba(255,255,255,.74);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:rgba(211,209,224,.9)}
.nav-item.active{background:rgba(236,231,248,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 8px 20px rgba(111,87,159,.08)}
.trend-highlight,.contract-next,.contract-detail-metrics span,.income-stats>span{background:rgba(248,248,252,.68);border-color:rgba(224,223,233,.82)}
.table-panel{overflow:hidden}.table-head,th{background:rgba(248,248,251,.56)}
@media(prefers-reduced-transparency: reduce){.sidebar,.topbar,.panel,.table-panel,.workspace-stat,.overview-snapshot,.filter-bar,.expense-command-bar,.reimbursement-filter-panel,.invoice-actions>.filter-bar,.executive-band,.school-budget-band,.management-insights,.cash-panel{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff!important}}

/* V27 final authority: these tokens intentionally come after legacy passes. */
:root{--bg:#eef2f8!important;--ink:#17253b!important;--muted:#7d8ba0!important;--line:rgba(181,194,216,.42)!important;--purple:#7868e8!important;--purple-dark:#5d50c7!important;--lilac-soft:#eeeaff!important;--shadow:0 18px 48px rgba(55,75,112,.08),0 3px 10px rgba(55,75,112,.04)!important}
body{background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(239,242,250,.82) 48%,rgba(246,241,255,.78)) fixed!important;color:#17253b!important;font-family:"Microsoft YaHei UI","Microsoft YaHei","Segoe UI Variable",system-ui,sans-serif!important;font-size:14px!important;line-height:1.55}
.app-shell{display:grid!important;grid-template-columns:224px minmax(0,1fr)!important;background:transparent!important}.sidebar{position:sticky!important;inset:0 auto auto 0!important;width:auto!important;height:100vh!important;padding:28px 16px 20px!important;background:rgba(250,252,255,.72)!important;border-right:1px solid rgba(181,194,216,.42)!important;backdrop-filter:blur(22px) saturate(120%)!important;-webkit-backdrop-filter:blur(22px) saturate(120%)!important}.main{margin-left:0!important;background:transparent!important}
.brand{padding:0 10px 34px!important;font-size:18px!important;gap:12px!important}.brand-mark{width:36px!important;height:36px!important;border-radius:12px!important;background:linear-gradient(145deg,#9b8df5,#6f5dde)!important;font-size:16px!important}.nav{gap:8px!important}.nav-section-label{margin:14px 12px 2px!important;padding:0!important;font-size:11px!important;color:#9aa6b8!important}.nav-item,.nav-item.nav-child{min-height:46px!important;padding:8px 12px!important;border-radius:12px!important;font-size:14px!important;gap:11px!important;color:#73839a!important}.nav-item:hover{background:rgba(232,237,250,.78)!important;color:#40516f!important}.nav-item.active{background:linear-gradient(135deg,#eeeaff,#e7efff)!important;color:#5d50c7!important;box-shadow:0 8px 18px rgba(107,95,210,.1)!important}.nav-icon{width:30px!important;height:30px!important;border-radius:10px!important;background:rgba(232,237,247,.8)!important;color:#8796ab!important}.nav-item.active .nav-icon{background:#7868e8!important;color:#fff!important}.sidebar-foot{padding:16px 8px 0!important;border-color:rgba(181,194,216,.42)!important}.sidebar-foot .avatar{width:36px!important;height:36px!important;background:#eeeaff!important;color:#5d50c7!important}
.topbar{position:sticky!important;top:0!important;z-index:10!important;min-height:88px!important;padding:18px 34px!important;background:rgba(250,252,255,.72)!important;border-bottom:1px solid rgba(181,194,216,.42)!important;backdrop-filter:blur(22px) saturate(125%)!important;-webkit-backdrop-filter:blur(22px) saturate(125%)!important}.topbar h1{font-size:24px!important;line-height:1.2;font-weight:800!important;color:#172943!important}.topbar p{font-size:13px!important;color:#7d8ba0!important}.page-wrap{max-width:1640px!important;padding:30px 34px 56px!important}
.button{min-height:42px!important;border-radius:11px!important;font-size:13px!important;font-weight:700!important}.button.primary{background:linear-gradient(135deg,#8c7cf0,#6d5cda)!important;box-shadow:0 10px 20px rgba(111,92,218,.2)!important}.button.secondary{background:rgba(255,255,255,.82)!important;border:1px solid rgba(156,173,201,.62)!important;color:#53637a!important}
.filter-bar,.expense-command-bar,.reimbursement-filter-panel,.invoice-actions>.filter-bar,.workspace-page>.workspace-actions{background:rgba(255,255,255,.78)!important;border:1px solid rgba(255,255,255,.86)!important;border-radius:16px!important;box-shadow:0 18px 48px rgba(55,75,112,.08),0 3px 10px rgba(55,75,112,.04)!important;backdrop-filter:blur(18px) saturate(125%)!important;-webkit-backdrop-filter:blur(18px) saturate(125%)!important}
.filter-bar label,.expense-filter-panel label,.reimbursement-filter-panel label{font-size:12px!important;font-weight:650!important;color:#728197!important}.filter-bar select,.filter-bar input,.quiet-select,.reimbursement-filter-panel input,.reimbursement-filter-panel select,.table-head input,.expense-filter-panel input,.expense-filter-panel select{min-height:42px!important;border:1px solid rgba(156,173,201,.62)!important;border-radius:12px!important;background:rgba(255,255,255,.76)!important;color:#17253b!important;font-size:13px!important;box-shadow:0 6px 16px rgba(67,84,120,.045)!important}.filter-bar select:focus,.filter-bar input:focus,.quiet-select:focus,.table-head input:focus{border-color:#988be9!important;box-shadow:0 0 0 4px rgba(120,104,232,.12)!important;outline:none!important}
.overview-snapshot,.executive-band,.school-budget-band,.management-insights,.priority-todo,.panel,.table-panel,.workspace-stat,.project-card,.placeholder,.cash-panel{background:rgba(255,255,255,.78)!important;border:1px solid rgba(255,255,255,.86)!important;border-radius:16px!important;box-shadow:0 18px 48px rgba(55,75,112,.08),0 3px 10px rgba(55,75,112,.04)!important;backdrop-filter:blur(18px) saturate(125%)!important;-webkit-backdrop-filter:blur(18px) saturate(125%)!important}.overview-snapshot,.executive-band,.school-budget-band,.management-insights,.priority-todo,.panel{padding:24px!important}.panel-heading h2,.table-head h2,.band-heading h2,.school-budget-heading h2,.snapshot-heading h2{font-size:18px!important;font-weight:800!important;color:#203250!important}.panel-heading p,.table-head p,.band-heading p,.school-budget-heading p,.snapshot-heading p{font-size:12px!important;color:#7d8ba0!important}.panel-heading h2:before{background:linear-gradient(#8c7cf0,#6d5cda)!important;width:5px!important;height:18px!important}
.executive-metrics,.forecast-metrics,.school-budget-metrics{background:rgba(246,248,252,.72)!important;border-radius:14px!important}.executive-metric strong,.forecast-metrics b,.school-budget-metrics b{font-size:28px!important;color:#243b60!important}.executive-metric.income strong{color:#2eaa7b!important}.executive-metric.expense strong{color:#d99516!important}.executive-metric.result strong{color:#3f8de5!important}.forecast-result{background:rgba(238,234,255,.7)!important}.decision-badge,.trend-status{border-radius:999px!important}.risk-banner{border-left:1px solid #f5c5cc!important;border-radius:13px!important;background:#ffeaed!important;color:#b63243!important}
.workspace-stat:before{display:none!important}.workspace-stat b{font-size:25px!important;color:#243b60!important}.expense-summary span{background:rgba(255,255,255,.78)!important;border-radius:16px!important}.expense-summary b{font-size:23px!important;color:#243b60!important}.table-head{background:rgba(255,255,255,.46)!important;border-bottom:1px solid rgba(181,194,216,.42)!important}.table-panel th{background:rgba(241,245,251,.74)!important;color:#6f7e93!important}.table-panel td{font-size:12px!important}.table-panel td.amount{font-size:14px!important;color:#243b60!important}.table-panel tbody tr:hover td{background:rgba(238,243,252,.62)!important}.badge,.detail-tag,.category-chip{border-radius:999px!important}.project-card{padding:22px!important}.project-card h3{font-size:18px!important;color:#203250!important}.project-status{border-radius:999px!important;background:#eeeaff!important;color:#5d50c7!important}.project-progress{height:9px!important;border-radius:99px!important}.project-progress i{background:linear-gradient(90deg,#8b7bef,#6a5ad8)!important}.modal{border-radius:18px!important;background:rgba(255,255,255,.9)!important;backdrop-filter:blur(24px)!important;-webkit-backdrop-filter:blur(24px)!important;box-shadow:0 30px 100px rgba(34,48,78,.24)!important}.modal input,.modal select,.compact-modal input,.compact-modal select{min-height:42px!important;border-radius:12px!important;background:rgba(255,255,255,.82)!important;font-size:13px!important}
@media(max-width:1100px) and (min-width:761px){.app-shell{grid-template-columns:205px minmax(0,1fr)!important}.topbar,.page-wrap{padding-left:24px!important;padding-right:24px!important}}
@media(max-width:760px){.app-shell{display:block!important}.sidebar{position:static!important;width:auto!important;height:auto!important;padding:14px!important}.brand{padding:0 5px 13px!important;font-size:16px!important}.nav{display:flex!important;overflow-x:auto!important}.nav-section-label,.sidebar-foot{display:none!important}.nav-item,.nav-item.nav-child{flex:0 0 auto!important;min-height:42px!important;padding:6px 9px!important;font-size:12px!important}.topbar{position:static!important;min-height:76px!important;padding:14px 16px!important}.topbar h1{font-size:20px!important}.page-wrap{padding:16px!important}.overview-snapshot,.executive-band,.school-budget-band,.management-insights,.priority-todo,.panel{padding:18px!important;border-radius:14px!important}.workspace-page>.workspace-actions{flex-direction:column!important;align-items:stretch!important}.workspace-stats{grid-template-columns:repeat(2,1fr)!important}.workspace-stat b{font-size:20px!important}.table-head{padding:17px 18px!important}.table-head input{width:100%!important}}

/* V27.1 interaction fixes and overview sub-boards. */
@media(min-width:761px){
  .app-shell{display:block!important}
  .sidebar{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:224px!important;height:100vh!important;overflow-y:auto!important}
  .main{margin-left:224px!important;min-height:100vh}
}
.filter-bar,.expense-command-bar,.workspace-page>.workspace-actions,.reimbursement-filter-panel{position:relative!important;z-index:30!important;overflow:visible!important}
.filter-bar:has(.smart-select.open),.filter-bar:has(.month-control.open),.filter-bar:has(.date-control.open),.expense-command-bar:has(.smart-select.open),.workspace-page>.workspace-actions:has(.smart-select.open),.workspace-page>.workspace-actions:has(.month-control.open),.reimbursement-filter-panel:has(.date-control.open){z-index:100!important}
.smart-select-menu{z-index:1001!important;max-height:320px!important;border-radius:14px!important;background:rgba(255,255,255,.96)!important;box-shadow:0 22px 50px rgba(42,57,91,.2)!important;backdrop-filter:blur(22px)!important;-webkit-backdrop-filter:blur(22px)!important}
.smart-select-option{min-height:40px!important;border-radius:10px!important;font-size:13px!important}.multi-select-option .multi-check{border-radius:6px!important}.multi-select-option.selected{background:#eeeaff!important;color:#5d50c7!important}
.month-control,.date-control{z-index:31}.month-popover,.date-popover{z-index:1001!important;border-radius:14px!important;box-shadow:0 22px 50px rgba(42,57,91,.2)!important}.month-control.open .month-popover,.date-control.open .date-popover{display:block!important}
.overview-tabs{display:flex;gap:7px;align-items:center;padding:5px;margin-top:18px;width:max-content;max-width:100%;background:rgba(225,231,243,.72);border:1px solid rgba(255,255,255,.84);border-radius:14px;box-shadow:0 8px 20px rgba(55,75,112,.05);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.overview-tabs button{min-height:40px;padding:8px 17px;border:0;border-radius:10px;background:transparent;color:#718198;font-size:13px;font-weight:750;cursor:pointer;white-space:nowrap}.overview-tabs button:hover{color:#5d50c7;background:rgba(255,255,255,.5)}.overview-tabs button.active{background:rgba(255,255,255,.94);color:#5d50c7;box-shadow:0 6px 16px rgba(55,75,112,.1)}
[data-overview-section][hidden]{display:none!important}
.workspace-stat.danger b,.workspace-stat.danger em,.negative,.negative-value,.executive-metric.result strong.negative-value,.forecast-result b.negative-value,.contract-detail-metrics b.negative,.contract-key-number strong.negative{color:#d92f45!important;font-weight:800!important}.workspace-stat.danger{background:rgba(255,234,237,.86)!important;border-color:rgba(247,184,194,.82)!important}.negative-value{color:#d92f45!important}.trend-highlight.danger b{color:#d92f45!important}.risk-banner,.insight-item.danger{border-color:rgba(247,184,194,.82)!important}
.table-head h2{display:flex;align-items:center;justify-content:space-between;gap:14px}.bulk-pay-button{margin-left:auto;white-space:nowrap}.batch-check{display:inline-grid;place-items:center;cursor:pointer}.batch-check input{position:absolute;opacity:0;pointer-events:none}.batch-check span{width:20px;height:20px;border:1.5px solid #b8c4d8;border-radius:6px;background:#fff;display:grid;place-items:center;transition:.16s ease}.batch-check span:after{content:"";width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) scale(0);transition:.16s ease}.batch-check input:checked+span{background:#2eaa7b;border-color:#2eaa7b;box-shadow:0 4px 10px rgba(46,170,123,.2)}.batch-check input:checked+span:after{transform:rotate(-45deg) scale(1)}
@media(max-width:760px){.overview-tabs{width:100%;overflow-x:auto}.overview-tabs button{flex:1;padding-left:11px;padding-right:11px;font-size:12px}.workspace-page>.workspace-actions{z-index:30!important}.smart-select-menu,.month-popover,.date-popover{z-index:1001!important}.bulk-pay-button{font-size:11px;padding:6px 9px}}

/* Local operating assistant: compact conversation surface, using the same frosted material as the dashboards. */
.agent-workspace{padding:22px 24px 20px!important;margin-top:14px;background:rgba(255,255,255,.78)!important;border:1px solid rgba(255,255,255,.86)!important;border-radius:16px!important;box-shadow:0 18px 48px rgba(55,75,112,.08),0 3px 10px rgba(55,75,112,.04)!important;backdrop-filter:blur(18px) saturate(125%)!important;-webkit-backdrop-filter:blur(18px) saturate(125%)!important}
.agent-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:1px solid rgba(181,194,216,.35)}
.agent-header h2{margin:3px 0 4px;font-size:19px;font-weight:800;color:#203250}.agent-header p{margin:0;font-size:12px;color:#7d8ba0}.agent-status{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;padding:7px 11px;border-radius:999px;background:#eaf8f2;color:#238563;font-size:12px;font-weight:750}.agent-status i{width:7px;height:7px;border-radius:50%;background:#2eaa7b;box-shadow:0 0 0 4px rgba(46,170,123,.12)}
.agent-body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 18px;padding-top:16px}.agent-messages{grid-column:1/-1;display:flex;flex-direction:column;gap:9px;max-height:245px;min-height:58px;overflow:auto;padding:2px 4px 2px 0;scroll-behavior:smooth}.agent-message{display:flex;align-items:flex-start;gap:9px;max-width:min(760px,92%);font-size:13px;line-height:1.7}.agent-message-label{flex:0 0 auto;margin-top:2px;font-size:11px;font-weight:800;color:#7d8ba0}.agent-message-text{white-space:pre-line;padding:9px 13px;border-radius:12px;background:rgba(239,242,250,.84);color:#34445c;border:1px solid rgba(213,220,235,.65)}.agent-message.user{align-self:flex-end;flex-direction:row-reverse}.agent-message.user .agent-message-label{color:#5d50c7}.agent-message.user .agent-message-text{background:rgba(238,234,255,.82);border-color:rgba(190,180,238,.55);color:#40377c}.agent-prompts{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.agent-prompts button{border:1px solid rgba(156,173,201,.5);border-radius:999px;background:rgba(255,255,255,.72);padding:8px 12px;color:#65758d;font-size:12px;cursor:pointer;transition:.16s ease}.agent-prompts button:hover{border-color:#988be9;background:#f0edff;color:#5d50c7;transform:translateY(-1px)}.agent-input-row{display:flex;gap:8px;min-width:min(430px,100%)}.agent-input-row input{min-width:0;flex:1;height:42px;padding:0 13px;border:1px solid rgba(156,173,201,.62);border-radius:12px;background:rgba(255,255,255,.78);color:#203250;font-size:13px;outline:0}.agent-input-row input:focus{border-color:#988be9;box-shadow:0 0 0 4px rgba(120,104,232,.12)}.agent-input-row .button{height:42px;min-height:42px;padding:0 17px}
@media(max-width:760px){.agent-workspace{padding:18px!important}.agent-header{display:block}.agent-status{margin-top:12px}.agent-body{display:flex;flex-direction:column}.agent-prompts{order:2}.agent-input-row{order:3;min-width:0}.agent-input-row input{width:100%}.agent-message{max-width:100%;font-size:12px}}

/* Modal clarity: blur the page behind the dialog only; the form itself must stay crisp. */
.modal-backdrop{background:rgba(35,48,74,.38)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.modal-backdrop .modal,.modal-backdrop .calculator-modal{background:#fff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;opacity:1!important}
.modal-backdrop .modal header,.modal-backdrop .modal form{opacity:1!important}

/* Date and month pickers stay beside the field that opened them, including inside dialogs. */
.date-popover,.month-popover{position:fixed!important;transform:none!important;z-index:1200!important}
.date-control.open:after{display:none!important}

/* Budget composition and contract cards make the relationships scannable before detail. */
.budget-visual-summary{margin:16px 0;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.86);border-radius:16px;padding:22px 24px;box-shadow:var(--shadow)}
.budget-visual-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.budget-visual-head h2{margin:2px 0 4px;font-size:19px;color:#203250}.budget-visual-head p{margin:0;color:#7d8ba0;font-size:12px}.budget-visual-head>strong{font-size:27px;color:#243b60;white-space:nowrap}.budget-visual-grid{display:grid;grid-template-columns:170px 210px minmax(280px,1fr);gap:22px;align-items:center;margin-top:18px}.budget-donut{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#7868e8 0 var(--company),#55aa93 var(--company) calc(var(--company) + var(--school)),#edf0f6 calc(var(--company) + var(--school)) 100%);position:relative}.budget-donut:after{content:"";position:absolute;inset:27px;border-radius:50%;background:#fff}.budget-donut>div{position:relative;z-index:1;text-align:center}.budget-donut b,.budget-donut small{display:block}.budget-donut b{font-size:15px;color:#243b60}.budget-donut small{margin-top:4px;color:#7d8ba0;font-size:11px}.budget-payer-legend{display:grid;gap:15px}.budget-payer-legend>div{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:7px}.budget-payer-legend i{width:10px;height:10px;border-radius:50%}.budget-payer-legend i.company{background:#7868e8}.budget-payer-legend i.school{background:#55aa93}.budget-payer-legend span{color:#65758d;font-size:12px}.budget-payer-legend b{font-size:15px;color:#243b60}.budget-payer-legend em{grid-column:2;font-style:normal;font-size:11px;color:#9aa6b8}.budget-team-breakdown{display:grid;gap:11px;max-height:165px;overflow:auto;padding-right:5px}.budget-team-row>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#53637a}.budget-team-row b{color:#243b60}.budget-team-track{height:8px;margin:5px 0 4px;background:#edf0f5;border-radius:99px;overflow:hidden}.budget-team-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7868e8,#55aa93)}.budget-team-row small{font-size:10px;color:#9aa6b8}.budget-actions{display:flex;align-items:center;gap:8px}.inline-month-filter{display:flex;align-items:center;gap:7px;color:#718198;font-size:12px}.inline-month-filter input{min-height:42px;width:150px;border:1px solid #d8dfea;border-radius:11px;padding:0 10px;background:#fff;color:#203250}
.contract-list{display:grid}.contract-card{background:rgba(255,255,255,.82);border:1px solid rgba(220,225,235,.9);border-left:1px solid rgba(220,225,235,.9);border-top:2px solid #55aa93;border-radius:14px;padding:18px 20px;box-shadow:0 10px 28px rgba(55,75,112,.06)}.contract-card.outcome{border-left-color:#d69a2a}.contract-card header{position:relative;padding-right:150px}.contract-card h3{margin:8px 0 0;font-size:18px;color:#203250}.contract-card-tags,.contract-card-status{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.contract-client-tag,.contract-month-tag{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:750}.contract-client-tag{background:#eeeaff;color:#5d50c7}.contract-month-tag{background:#edf4ff;color:#3d6a9b}.contract-card-status{position:absolute;right:0;top:2px}.contract-card-money{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 14px}.contract-card-money span{padding:10px 12px;background:#f7f8fb;border-radius:10px}.contract-card-money small,.contract-card-money b{display:block}.contract-card-money small{color:#7d8ba0;font-size:10px}.contract-card-money b{margin-top:5px;color:#243b60;font-size:17px}.contract-card-money .success b{color:#2eaa7b}.contract-card-money .warning b{color:#d18a16}.contract-card .contract-next{margin-top:12px}.contract-card .contract-details{margin:14px -20px -18px}.contract-card .contract-details summary{padding:11px 20px}.contract-card .contract-detail-content{padding:4px 20px 17px}.contract-card .contract-detail-metrics{grid-template-columns:repeat(4,1fr)}
.agent-workspace{padding-bottom:22px!important}.agent-body{display:flex!important;flex-direction:column!important}.agent-messages{width:100%}.agent-prompts{width:100%;order:2}.agent-input-row{width:100%;min-width:0;order:3}.agent-input-row input{min-width:0;width:100%}
@media(max-width:900px){.budget-visual-grid{grid-template-columns:150px 1fr}.budget-team-breakdown{grid-column:1/-1}.contract-card header{padding-right:0}.contract-card-status{position:static;margin-top:10px}.contract-card-money{grid-template-columns:1fr 1fr}.contract-card .contract-detail-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.budget-visual-summary{padding:18px}.budget-visual-head{display:block}.budget-visual-head>strong{display:block;margin-top:12px}.budget-visual-grid{grid-template-columns:1fr 1fr;gap:15px}.budget-donut{width:130px;height:130px}.budget-team-breakdown{grid-column:1/-1}.budget-actions{flex-wrap:wrap}.inline-month-filter{width:100%}.inline-month-filter input{flex:1}.contract-card{padding:16px}.contract-card .contract-details{margin:14px -16px -16px}.contract-card .contract-details summary,.contract-card .contract-detail-content{padding-left:16px;padding-right:16px}}

/* Final interaction authority: dialogs always cover page filters; calendars stay above dialogs. */
.modal-backdrop{z-index:2000!important}.modal-backdrop .date-popover,.modal-backdrop .month-popover,.date-popover,.month-popover{z-index:2100!important}
#projects-page .project-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}.contract-card{min-width:0}
@media(max-width:1100px){#projects-page .project-list{grid-template-columns:1fr!important}}

/* Overview decision workspace: keep the judgment and the conversation in one calm, scannable frame. */
.management-suite{display:grid!important;grid-template-columns:minmax(330px,.86fr) minmax(0,1.14fr);gap:16px;align-items:stretch;margin:16px 0!important}
.management-suite>.management-insights,.management-suite>.agent-workspace{min-width:0;margin:0!important;min-height:382px;padding:22px!important}
.management-suite>.management-insights{display:flex;flex-direction:column;background:rgba(252,250,255,.78)!important}
.management-suite>.agent-workspace{display:flex;flex-direction:column}
.management-suite .insight-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:15px;border-bottom:1px solid rgba(181,194,216,.35)}
.management-suite .insight-heading h2{margin:0;font-size:20px;line-height:1.25;white-space:nowrap;color:#203250}
.management-suite .insight-heading p{margin:5px 0 0;font-size:12px;line-height:1.5;color:#7d8ba0}
.management-suite .insight-count{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#eeeaff;color:#6554c7;font-size:11px;font-weight:750;white-space:nowrap}
.management-suite .insight-list{display:grid;grid-template-columns:1fr;gap:9px;min-height:0;margin-top:15px;overflow:auto;padding-right:3px}
.management-suite .insight-item{display:grid;grid-template-columns:10px minmax(0,1fr);gap:10px;align-items:start;padding:11px 12px;border:1px solid rgba(220,223,235,.78);border-radius:12px;background:rgba(255,255,255,.74)}
.management-suite .insight-item>span{width:9px;height:9px;margin-top:5px;border-radius:50%;background:#5c83cf}
.management-suite .insight-item.danger>span{background:#df3d52}.management-suite .insight-item.warning>span{background:#d6951e}.management-suite .insight-item.success>span{background:#20a67e}.management-suite .insight-item.info>span{background:#7665d8}
.management-suite .insight-item b{display:block;font-size:13px;line-height:1.35;color:#263b5d}.management-suite .insight-item p{margin:4px 0 0;font-size:12px;line-height:1.55;color:#718097;overflow-wrap:anywhere}
.management-suite .agent-header{padding-bottom:15px}.management-suite .agent-header h2{font-size:20px;line-height:1.25}.management-suite .agent-header p{max-width:42ch;line-height:1.5}
.management-suite .agent-body{display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(185px,1fr) auto auto;gap:12px;flex:1;min-height:0;padding-top:15px}
.management-suite .agent-messages{grid-column:auto;min-height:185px;max-height:none;overflow:auto;padding:2px 5px 2px 0}
.management-suite .agent-prompts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch}
.management-suite .agent-prompts button{min-height:36px;padding:7px 10px;font-size:11px;text-align:left}
.management-suite .agent-input-row{display:flex;min-width:0;width:100%;gap:8px}.management-suite .agent-input-row input{width:auto;min-width:0;flex:1;height:44px}.management-suite .agent-input-row .button{height:44px;min-height:44px}
@media(max-width:1120px){.management-suite{grid-template-columns:1fr}.management-suite>.management-insights,.management-suite>.agent-workspace{min-height:0}.management-suite .insight-list{overflow:visible}.management-suite .agent-body{min-height:350px}}
@media(max-width:760px){.management-suite{gap:12px;margin:12px 0!important}.management-suite>.management-insights,.management-suite>.agent-workspace{padding:18px!important}.management-suite .insight-heading h2,.management-suite .agent-header h2{font-size:18px}.management-suite .agent-body{min-height:0;grid-template-rows:minmax(180px,auto) auto auto}.management-suite .agent-messages{min-height:180px}.management-suite .agent-prompts{grid-template-columns:1fr 1fr}.management-suite .agent-input-row .button{padding:0 13px}}
.project-flow-summary{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(380px,1.5fr) minmax(170px,.55fr);gap:22px;align-items:center;margin:0 0 16px;padding:20px 22px;border:1px solid rgba(255,255,255,.86);border-radius:16px;background:rgba(255,255,255,.78);box-shadow:var(--shadow)}.project-flow-summary h2{margin:2px 0 4px;font-size:18px;color:#203250}.project-flow-summary p{margin:0;color:#7d8ba0;font-size:11px}.project-flow-bars{display:grid;gap:13px}.project-flow-bars header{display:flex;justify-content:space-between;gap:12px;color:#65758d;font-size:11px}.project-flow-bars header b{color:#243b60}.flow-track{height:9px;margin:6px 0 4px;border-radius:99px;background:#edf0f5;overflow:hidden}.flow-track i{display:block;height:100%;border-radius:inherit}.flow-track i.income{background:#2eaa7b}.flow-track i.outcome{background:#d99516}.project-flow-bars small{font-size:10px;color:#8c99ac}.project-flow-result{padding:14px;border-radius:12px;background:#edf8f4}.project-flow-result small,.project-flow-result b,.project-flow-result span{display:block}.project-flow-result b{margin:5px 0;color:#238563;font-size:22px}.project-flow-result span,.project-flow-result small{font-size:10px;color:#6d887f}.project-flow-result.danger{background:#ffeaed}.project-flow-result.danger b{color:#d92f45}
@media(max-width:900px){.project-flow-summary{grid-template-columns:1fr}.project-flow-bars{order:2}.project-flow-result{order:3}}

.inline-month-filter>button,.project-month-label>button{min-height:28px;border:0;border-radius:8px;padding:4px 8px;background:#f0edff;color:#5d50c7;font-size:10px;cursor:pointer}.project-month-label{position:relative}.project-month-label>button{position:absolute;right:43px;bottom:7px;z-index:2}.project-month-label .month-control>input{padding-right:88px!important}
.detail-tag.direct{background:#eaf7f1;border-color:#ccecdf;color:#28795e}.badge.not-required{background:#eaf7f1;color:#28795e}

/* Calendar anchoring: always open beside the field, never in the page center. */
.date-control>.date-popover,.month-control>.month-popover,#entity-modal-backdrop .date-popover,#entity-modal-backdrop .month-popover,#modal-backdrop .date-popover,#modal-backdrop .month-popover{position:absolute!important;left:0;top:calc(100% + 8px);transform:none!important;z-index:2100!important}
.date-control,.month-control{position:relative!important}
.cloud-sync-status{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 12px;border:1px solid rgba(116,104,158,.16);border-radius:10px;background:rgba(255,255,255,.58);color:#665f78;font-size:13px;font-weight:700;white-space:nowrap}.cloud-sync-status i{width:8px;height:8px;border-radius:50%;background:#a8a1b5;box-shadow:0 0 0 4px rgba(168,161,181,.12)}.cloud-sync-status.online{color:#287a58}.cloud-sync-status.online i{background:#35a873;box-shadow:0 0 0 4px rgba(53,168,115,.13)}.cloud-sync-status.syncing{color:#765fa4}.cloud-sync-status.syncing i{background:#8d78bd;animation:cloud-pulse 1.2s ease-in-out infinite}.cloud-sync-status.offline,.cloud-sync-status.error{color:#b34b4b}.cloud-sync-status.offline i,.cloud-sync-status.error i{background:#dc6262;box-shadow:0 0 0 4px rgba(220,98,98,.12)}@keyframes cloud-pulse{50%{opacity:.35;transform:scale(.75)}}
