@charset "UTF-8";
/* Login card: one aligned column and a quiet, separated footer. */
.login-wrap:has(.login){min-height:100svh;padding:24px 16px}
.login.glass{width:min(420px,100%);padding:32px;border-radius:24px}
.login.glass .brand{margin-bottom:28px;font-size:16px;letter-spacing:0}
.login.glass h1{font-size:28px;line-height:1.2;letter-spacing:-.03em;margin-bottom:28px}
.login.glass form{display:grid;gap:18px}
.login.glass .field{margin:0;gap:8px;font-size:14px}
.login.glass input{min-height:48px;font-size:16px;padding:12px 14px}
.login.glass .password-field input{padding-right:48px}
.login.glass .eye-btn{top:50%;right:6px;transform:translateY(-50%);width:36px;height:36px}
.login.glass .login-error{margin:0;min-height:20px;font-size:13px;line-height:20px}
.login.glass button[type=submit]{min-height:46px;margin:0}
.login.glass .login-footer{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:6px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line);font-size:11px;line-height:1.5}
.login.glass .login-footer .build-badge,.login.glass .login-footer .database-badge{margin:0}
@media(max-width:600px){.login.glass{padding:24px}.login.glass h1{font-size:25px}.login.glass .brand{margin-bottom:24px}}
/* Keep editable text readable on phones without focus-triggered magnification. */
@media (max-width:900px), (hover:none) and (pointer:coarse){
 :root body input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=button]):not([type=submit]):not([type=reset]):not([type=color]):not([type=file]),
 :root body select,:root body textarea,:root body [contenteditable=true]{font-size:16px!important}
}
:root{color-scheme:dark;--bg:#090d14;--text:#edf3fc;--muted:#9aa8bd;--line:rgba(198,216,244,.13);--glass:rgba(24,32,46,.67);--blue:#a4c6ff;--green:#86ddbc;--orange:#f0b998;--radius:23px;font:16px/1.5 "Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);min-height:100vh}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{cursor:default}button,a,input,select{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--blue)}[hidden]{display:none!important}.ambient{position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 16% 5%,#22334d80 0,transparent 44%),radial-gradient(ellipse at 94% 54%,#173f493e 0,transparent 41%)}
.glass{background:linear-gradient(130deg,#ffffff04,transparent 60%),var(--glass);border:1px solid var(--line);border-radius:var(--radius);backdrop-filter:blur(24px);box-shadow:inset 0 1px 0 #ffffff09,0 22px 50px #00000017}
.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;color:var(--muted);font-weight:600}.money{font-variant-numeric:tabular-nums;white-space:nowrap}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.65rem,2.4vw,2.3rem);font-weight:650;letter-spacing:-.04em}h2{font-size:1.08rem;font-weight:600;letter-spacing:-.02em}h3{font-size:1rem}svg{width:21px;height:21px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.brand{display:flex;align-items:center;gap:11px;font-size:1.1rem;font-weight:800;letter-spacing:.09em}.brandmark{display:grid;place-items:center;width:38px;height:38px;border:1px solid #b6d8ff34;border-radius:12px;background:linear-gradient(135deg,#99c4ff30,#ffffff04);box-shadow:inset 0 1px 0 #ffffff20;color:var(--blue);font-size:.8rem;letter-spacing:-.06em;font-weight:800}.brand small{display:block;color:var(--muted);font-size:.69rem;letter-spacing:.11em;font-weight:400;margin-top:1px}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:1px solid var(--line);background:#ffffff05;border-radius:12px;padding:10px 14px;font-size:.875rem;line-height:1.4;font-weight:500;min-height:42px;transition:background .16s,border-color .16s}.btn:hover:not(:disabled){background:#ffffff10;border-color:#ffffff33}.btn.primary{background:linear-gradient(150deg,#bad5ff,#91b5f4);border-color:#c0d9ff;color:#101b2d;font-weight:650;box-shadow:0 6px 22px #6f99e521}.btn.primary:hover{background:#c4dbff}.btn.accept{background:#80dfb911;border-color:#80dfb92a;color:var(--green)}.btn.dispute{color:var(--orange)}.btn.selected{background:#ffffff12}.full{width:100%}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:28px}.login{width:min(444px,100%);padding:38px}.login .brand{margin-bottom:48px}.login h1{font-size:1.9rem}.login .intro{margin:9px 0 28px;color:var(--muted)}.field{display:grid;gap:8px;font-size:.875rem;margin-bottom:20px}input,select{background:#0a111ab0;border:1px solid #bdcee627;border-radius:12px;color:var(--text);padding:13px 14px;min-height:46px;min-width:0;width:100%}input::placeholder{color:#718199}input:focus,select:focus{border-color:#a4c6ff80;outline:none;box-shadow:0 0 0 3px #a4c6ff13}.password-field{position:relative}.password-field input{padding-right:52px}.eye-btn{position:absolute;right:6px;top:5px;border:0;background:transparent;padding:8px;color:var(--muted);display:grid;place-items:center}.demo-hint{font-size:.8rem;color:var(--muted);border-top:1px solid var(--line);margin-top:26px;padding-top:19px;display:flex;justify-content:space-between;gap:12px}.demo-hint code{font-family:inherit;color:#c2d4ee}.login-error{font-size:.875rem;color:#f6b6b1;min-height:24px;margin:-5px 0 15px}.login-footer{text-align:center;font-size:.75rem;color:#788aa3;margin:22px 0 0}
.shell{max-width:1540px;min-height:100vh;display:grid;grid-template-columns:224px minmax(0,1fr);gap:34px;margin:auto;padding:26px 34px 38px}.sidebar{display:flex;flex-direction:column;position:sticky;top:26px;align-self:start;height:calc(100vh - 52px);padding:25px 16px}.sidebar .brand{padding:0 8px;margin-bottom:48px}.navigation{display:grid;gap:7px}.navlink{display:flex;align-items:center;gap:11px;border:1px solid transparent;padding:13px 15px;color:#adbbd0;border-radius:13px;font-size:.94rem}.navlink.active{color:#d5e5ff;background:linear-gradient(110deg,#accdff1a,#accdff08);border-color:#accdff19}.navlink:hover{background:#ffffff08}.sidebar-footer{margin-top:auto;border-top:1px solid var(--line);padding:18px 10px 0}.profile{display:flex;align-items:center;gap:11px}.avatar{display:grid;place-items:center;flex-shrink:0;width:39px;height:39px;border-radius:50%;font-size:.75rem;font-weight:600;color:#bcd4f6;background:linear-gradient(135deg,#bcd4f621,#c0d7ff07);border:1px solid #bcd4f623}.profile strong{font-size:.875rem;font-weight:600;display:block}.profile small{font-size:.75rem;color:var(--muted)}.logout{background:transparent;border:0;color:var(--muted);font-size:.8rem;margin-top:15px;padding:6px 0;display:flex;align-items:center;gap:8px}.logout svg{width:16px;height:16px}.main{min-width:0;padding-top:8px}.topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:32px}.workspace-label{font-size:.8rem;color:var(--muted)}.demo-badge{font-size:.75rem;border:1px solid var(--line);padding:5px 10px;border-radius:99px;color:#a6b4c9}.page-head{margin-bottom:27px;display:flex;justify-content:space-between;gap:20px;align-items:end}.page-head p{font-size:.9rem;color:var(--muted);margin-top:8px}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:28px}.summary-card{padding:22px 24px;min-width:0}.summary-card p{font-size:.875rem;color:var(--muted)}.summary-card strong{font-size:clamp(1.55rem,2.3vw,2rem);font-weight:550;display:block;margin:8px 0 4px;letter-spacing:-.03em}.summary-card small{font-size:.8rem;color:var(--muted)}.summary-card.highlight{background:linear-gradient(135deg,#8ab9ff17,#9ec9ff03),var(--glass);border-color:#b7d5ff27}.amount-green{color:var(--green)}.amount-orange{color:var(--orange)}.section-heading{display:flex;align-items:center;justify-content:space-between;padding:23px 24px 18px;gap:12px}.count{font-size:.8rem;border:1px solid var(--line);border-radius:8px;padding:3px 8px;color:var(--muted)}.project-table{width:100%;border-collapse:collapse;font-size:.875rem}.project-table thead{color:var(--muted);font-size:.75rem;font-weight:400}.project-table th{text-align:left;font-weight:500;background:#08101930}.project-table td,.project-table th{padding:16px 22px;border-bottom:1px solid var(--line);vertical-align:middle}.project-table tbody tr:last-child td{border-bottom:0}.project-table td:last-child,.project-table th:last-child{text-align:right}.project-table td:first-child{width:110px;white-space:nowrap}.project-table a{display:block;font-weight:600;padding:4px 0}.project-table a:hover{color:var(--blue)}.project-table tbody tr:hover{background:#c8e0ff04}.project-table small{display:block;color:var(--muted);font-size:.8rem;margin-top:2px}.dateblock b{font-size:1.08rem;font-weight:500}.dateblock small{font-size:.75rem}.project-table .project-amount{font-size:1rem;font-weight:600}.table-foot{border-top:1px solid var(--line);padding:17px 24px;color:var(--muted);font-size:.8rem}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;padding:13px 19px;background:#27364cf0;border:1px solid #b7d4ff36;border-radius:14px;box-shadow:0 10px 50px #0007;font-size:.875rem;z-index:10;transition:opacity .2s,transform .2s;max-width:calc(100vw - 32px)}.toast.visible{opacity:1;transform:translate(-50%,0)}
@media(max-width:1150px){.shell{padding:22px;gap:22px;grid-template-columns:200px minmax(0,1fr)}.summary-card{padding:18px}.project-table td,.project-table th{padding:14px}.project-table .managercell{max-width:150px}}
@media(max-width:850px){.shell{display:block;padding:18px}.sidebar{height:auto;position:static;padding:15px;margin-bottom:24px;display:grid;grid-template-columns:1fr auto;gap:15px;align-items:center}.sidebar .brand{margin:0;padding:0}.navigation{display:flex;grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px;gap:8px}.navlink{flex:1;justify-content:center;padding:10px}.sidebar-footer{grid-column:2;grid-row:1;border:0;padding:0}.profile .avatar,.profile div,.sidebar .logout span{display:none}.logout{margin:0;padding:9px}.logout svg{width:19px;height:19px}.topline{margin-bottom:22px}.main{padding:0}.summary-card strong{font-size:1.55rem}}
@media(max-width:600px){.login{padding:28px}.login .brand{margin-bottom:34px}.shell{padding:12px}.sidebar{border-radius:18px;padding:13px;margin-bottom:22px}.topline{margin-bottom:20px}.workspace-label{font-size:.75rem}.page-head{margin-bottom:20px}.summary-grid{gap:9px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:22px}.summary-card{padding:16px}.summary-card:first-child{grid-column:1/-1}.summary-card strong{font-size:1.6rem}.summary-card p{font-size:.875rem}.project-table,.project-table tbody,.project-table tr,.project-table td{display:block;width:auto}.project-table thead{display:none}.project-table tr{position:relative;padding:17px 17px 16px;margin:0 12px;border-top:1px solid var(--line)}.project-table td{border:0;padding:0}.project-table td:first-child{width:auto;display:flex;gap:4px;margin-bottom:7px;color:var(--muted)}.dateblock b,.dateblock small{font-size:.8rem!important;display:inline!important;margin:0!important}.project-table .projectcell{padding-right:76px}.project-table a{font-size:1rem}.project-table .managercell{margin:9px 0;color:var(--muted);max-width:none}.project-table .ratecount{position:absolute;top:49px;right:16px;text-align:right}.project-table .project-amount{margin-top:10px;text-align:left;display:flex;align-items:center;gap:10px}.section-heading{padding:19px 20px 14px}.table-foot{padding:16px 20px}.demo-hint{flex-direction:column;gap:4px}.login-error{min-height:24px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.green-card strong{color:var(--green)}.orange-card strong{color:var(--orange)}.mini-status{display:block;font-size:.75rem;font-weight:400;margin-top:4px;white-space:normal}.mini-status.accepted{color:var(--green)}.mini-status.pending{color:var(--blue)}.mini-status.disputed{color:var(--orange)}.dispute-notice{display:flex;gap:12px;align-items:center;padding:13px 18px;border:1px solid #eec09b29;background:#eec09b08;border-radius:14px;margin-bottom:22px;font-size:.875rem;color:#d3bdad}.dispute-notice svg{color:var(--orange)}.back-link{font-size:.875rem;color:var(--muted);display:inline-block;padding:6px 0;margin-bottom:18px;border-bottom:1px solid var(--line)}.back-link:hover{color:var(--blue)}.detail-head{align-items:center}.detail-head .eyebrow{display:block;margin-bottom:7px}.detail-head .mini-status{border:1px solid var(--line);padding:8px 12px;border-radius:99px;font-size:.8rem;white-space:nowrap}.project-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:21px 24px;margin-bottom:25px}.project-meta>div{display:flex;gap:13px;align-items:center;font-size:.94rem}.project-meta svg{color:var(--blue);width:21px;height:21px}.project-meta small{display:block;color:var(--muted);font-size:.8rem;margin-bottom:3px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:22px;align-items:start}.rates-panel{min-width:0}.section-note{font-size:.875rem;color:var(--muted);margin-top:5px}.rate-list{padding:0 22px 8px}.rate-card{border-top:1px solid var(--line);padding:25px 0}.rate-top{display:flex;justify-content:space-between;gap:16px;align-items:start}.rate-top>div{min-width:0}.rate-top h3{font-size:1.1rem;font-weight:550;letter-spacing:-.02em}.rate-index{font-size:.75rem;color:var(--muted);display:block;margin-bottom:5px;letter-spacing:.1em}.rate-description{font-size:.875rem;color:var(--muted);margin-top:6px;max-width:450px}.status{display:inline-flex;gap:6px;align-items:center;font-size:.75rem;padding:6px 10px;border-radius:99px;white-space:nowrap;border:1px solid var(--line)}.status svg{width:14px;height:14px}.status.pending{color:var(--blue);background:#a4c6ff09}.status.accepted{color:var(--green);background:#86ddbc0a;border-color:#86ddbc25}.status.disputed{color:var(--orange);background:#f0b9980a;border-color:#f0b99825}.rate-math{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin:23px 0;background:#08101a40;border:1px solid #cddfff08;border-radius:14px;padding:15px 18px}.rate-math dt{font-size:.8rem;color:var(--muted);margin-bottom:5px}.rate-math dd{font-size:1.12rem;font-weight:550;margin:0}.rate-math .rate-total{border-left:1px solid var(--line);padding-left:22px}.rate-math .rate-total dd{color:#d5e5ff}.rate-actions{display:flex;justify-content:space-between;align-items:center;gap:16px}.rate-actions>div{display:flex;gap:8px}.rate-actions svg{width:16px;height:16px}.rate-equation{font-size:.8rem;color:#8c9fb8;white-space:nowrap}.project-total{padding:25px 23px;position:sticky;top:26px}.project-total h2{margin-top:8px}.project-grand{display:block;font-size:2rem;font-weight:550;letter-spacing:-.04em;margin-top:20px}.total-breakdown{margin:23px 0 0;padding-top:12px;border-top:1px solid var(--line);font-size:.875rem}.total-breakdown>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0}.total-breakdown dt{color:var(--muted)}.total-breakdown dd{margin:0;font-weight:500}.total-explanation{color:var(--muted);font-size:.8rem;margin:17px 0 22px;line-height:1.65}.filters{display:grid;grid-template-columns:125px 160px minmax(190px,1fr) auto;gap:14px;align-items:end;padding:19px 22px;margin-bottom:24px}.filters label{font-size:.875rem;color:var(--muted);display:grid;gap:7px}.filters select{font-size:.875rem;padding:10px 12px;background:#0c131eba}.filters .btn{min-height:46px}.period-label{font-size:.875rem;color:#b7cbe8;border:1px solid var(--line);padding:8px 13px;border-radius:99px;white-space:nowrap}.finance-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:20px;align-items:start}.finance-main{min-width:0}.finance-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:23px}.finance-stats .summary-card{padding:19px 22px}.finance-stats strong{font-size:1.8rem}.finance-table td,.finance-table th{padding:14px 16px}.finance-table .group-row th,.finance-table .group-row td{background:#90b8ed08;font-size:.875rem;color:#bfcee2;padding-top:11px;padding-bottom:11px}.finance-table .group-row td{font-weight:600}.finance-table tfoot th,.finance-table tfoot td{font-size:1rem;background:#9bc2ff07;color:var(--text);padding:18px 16px;border:0}.month-memory{padding:23px 19px;position:sticky;top:26px}.month-heading h2{margin-top:7px}.month-heading .section-note{font-size:.8rem}.month-list{margin-top:19px;display:grid;gap:3px}.month-item{display:flex;justify-content:space-between;align-items:center;gap:9px;text-align:left;padding:10px 8px;color:#b5c3d7;background:transparent;border:1px solid transparent;border-radius:10px;font-size:.875rem}.month-item strong{font-weight:500;font-size:.875rem;color:#dce8fa}.month-item.zero strong{color:#6b809b}.month-item:hover{background:#ffffff07;border-color:#ffffff15}.month-item.active{background:#aacdff12;border-color:#aacdff27;color:var(--blue)}.month-item.active strong{color:var(--blue)}.year-total{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid var(--line);padding:18px 8px 0;margin-top:15px;font-size:.875rem}.year-total strong{font-weight:600}.memory-note{color:#879bb5;font-size:.75rem;line-height:1.65;margin:17px 8px 0}.empty-state{padding:45px 22px;text-align:center;display:grid;justify-items:center;gap:12px}.empty-state>svg{width:32px;height:32px;color:var(--muted)}.empty-state p{font-size:.875rem;color:var(--muted)}.empty-state .btn{margin-top:5px}
@media(max-width:1220px){.detail-layout{grid-template-columns:1fr 235px;gap:16px}.rate-actions{flex-wrap:wrap}.rate-actions>div{margin-left:auto}.project-meta{gap:12px;padding:18px}.finance-layout{grid-template-columns:1fr 220px;gap:15px}.finance-table td,.finance-table th{padding:12px}.month-memory{padding:21px 14px}.rate-math{padding:14px}.rate-math .rate-total{padding-left:15px}}
@media(max-width:1050px){.detail-layout{grid-template-columns:1fr}.project-total{position:static;display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.project-total .eyebrow,.project-total h2,.project-grand,.project-total>.section-note{grid-column:1}.project-total .total-breakdown{grid-column:2;grid-row:1/5;margin:0;border:0;padding:0}.project-total .total-explanation{grid-column:1/-1}.project-total .btn{grid-column:1/-1}.finance-layout{grid-template-columns:minmax(0,1fr)}.month-memory{position:static;display:block}.month-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.year-total{justify-content:space-between}.finance-table .managercell{max-width:none}.project-meta{grid-template-columns:1fr 1fr}.project-meta>div:last-child{grid-column:1/-1}}
@media(max-width:600px){.detail-head{align-items:start;flex-direction:column;gap:14px}.detail-head h1{font-size:1.65rem}.project-meta{padding:17px;grid-template-columns:1fr;gap:18px}.project-meta>div:last-child{grid-column:auto}.rate-list{padding:0 17px}.rate-top{flex-wrap:wrap;gap:12px}.rate-top h3{font-size:1rem}.rate-math{gap:8px;padding:13px 11px;margin:18px 0}.rate-math dt{font-size:.75rem}.rate-math dd{font-size:1rem}.rate-math .rate-total{padding-left:10px}.rate-actions{gap:12px}.rate-actions>div{width:100%;margin:0;display:grid;grid-template-columns:1fr 1fr}.rate-actions .btn{padding:11px 9px}.rate-equation{font-size:.8rem}.project-total{display:block;padding:22px}.project-total .total-breakdown{margin-top:23px;border-top:1px solid var(--line);padding-top:12px}.summary-card:first-child{grid-column:1/-1}.finance-stats .summary-card:first-child{grid-column:1/-1}.finance-stats .summary-card:last-child{grid-column:1/-1}.finance-stats strong{font-size:1.6rem}.filters{padding:16px;gap:13px;grid-template-columns:1fr 1fr}.filters .manager-filter{grid-column:1/-1}.filters .reset-btn{grid-column:1/-1;min-height:38px;padding:8px}.page-head:has(.period-label){align-items:start;flex-direction:column;gap:14px}.finance-table .group-row{display:flex;justify-content:space-between;gap:12px;padding:13px 17px;background:#a4c6ff09;margin:0;border:0}.finance-table .group-row th,.finance-table .group-row td{display:block;padding:0;background:none;border:0;color:#c8d8ef;font-size:.875rem}.finance-table .group-row td{margin:0;text-align:right}.finance-table tfoot{display:block;border-top:1px solid var(--line)}.finance-table tfoot tr{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:19px 17px;margin:0;border:0}.finance-table tfoot td,.finance-table tfoot th{display:block;background:none;padding:0;border:0;text-align:left;font-size:1rem}.project-table .project-amount .mini-status{margin:0;font-size:.75rem}.project-table tr.group-row+tr{border:0}.month-list{grid-template-columns:1fr 1fr;gap:5px}.month-item{padding:10px 8px;font-size:.8rem}.month-item strong{font-size:.8rem}.month-memory{padding:21px 15px}.memory-note{font-size:.8rem}.finance-table .project-amount{flex-wrap:wrap}.period-label{font-size:.8rem}}
@media(max-width:380px){.rate-actions>div{grid-template-columns:1fr}.rate-math{grid-template-columns:1fr 1fr}.rate-math .rate-total{grid-column:1/-1;border:0;border-top:1px solid var(--line);padding:10px 0 0}.month-list{grid-template-columns:1fr}.rate-equation{white-space:normal}.summary-card{padding:13px}.summary-card strong{font-size:1.45rem}}
.unified-shell{display:block;max-width:1420px;padding:24px 34px 38px}.appbar{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;gap:20px;margin-bottom:29px}.appbar-profile{display:flex;align-items:center;gap:26px}.appbar .profile div{display:block}.appbar .profile .avatar{display:grid}.appbar .logout{margin:0;padding:10px 0 10px 20px;border-left:1px solid var(--line);font-size:.875rem}.appbar .logout svg{width:18px;height:18px}.unified-shell .main{padding-top:0}.unified-shell .topline{margin-bottom:22px}.unified-shell .finance-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.unified-shell .finance-stats .summary-card{padding:19px 18px}.unified-shell .finance-stats strong{font-size:1.65rem}
@media(max-width:1150px){.unified-shell{padding:22px}.unified-shell .finance-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.unified-shell{padding:12px}.appbar{padding:14px;margin-bottom:23px;border-radius:18px}.appbar .brand{font-size:.92rem;gap:9px}.appbar .brand small{font-size:.65rem}.appbar .brandmark{width:33px;height:33px}.appbar-profile{gap:12px}.appbar .profile div,.appbar .logout span{display:none}.appbar .profile .avatar{width:33px;height:33px}.appbar .logout{padding:7px 0 7px 12px}.unified-shell .finance-stats strong{font-size:1.55rem}.unified-shell .finance-stats .summary-card{padding:16px}}
@media(max-width:380px){.appbar-profile{gap:8px}.appbar .profile{display:none}.appbar .brand small{letter-spacing:.07em}}
.card-label{display:block;font-size:.875rem;color:var(--muted)}.card-note{display:block;font-size:.8rem;color:var(--muted)}.filter-card{text-align:left;color:inherit;font:inherit;width:100%;transition:border-color .16s,background .16s,box-shadow .16s}.filter-card:hover{border-color:#b3d1ff55;background-color:#22314bba}.filter-card.is-active{border-color:var(--blue);box-shadow:inset 0 0 0 1px #a4c6ff20,0 0 25px #95baff13}.filter-card.orange-card.is-active{border-color:var(--orange);box-shadow:inset 0 0 0 1px #f0b99820,0 0 25px #f0b99810}.filter-card.is-active .card-label,.filter-card.is-active .card-note{color:var(--blue)}.filter-card.orange-card.is-active .card-label,.filter-card.orange-card.is-active .card-note{color:var(--orange)}.selection-note{display:block;color:var(--muted);font-size:.8rem;margin-top:6px}.active-status-filter{display:flex;align-items:center;gap:10px;margin-top:10px;color:var(--blue);font-size:.875rem}.clear-status{color:var(--muted);font-size:.8rem;border:0;border-bottom:1px solid var(--line);background:transparent;padding:2px}.clear-status:hover{color:var(--text)}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Shared release number and compact finance controls. */
.brand .app-version{display:inline-block;margin-left:8px;padding-left:8px;border-left:1px solid var(--line);color:#b3c8e8;font-size:.7rem;letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums;white-space:nowrap}
.mine-projects{white-space:nowrap}.mine-projects.active{color:var(--blue);border-color:#a4c6ff70;background:#a4c6ff12}
.finance-filters:has(#mine-projects){grid-template-columns:125px 160px minmax(190px,1fr) auto auto}
.person-row .row-add+.row-add{margin-left:8px}
.reimbursements .earning-group-head h2:before{background:#91d6c3}
@media(max-width:800px){.finance-filters:has(#mine-projects){grid-template-columns:1fr 1fr}.finance-filters .manager-filter{grid-column:1/-1}.finance-filters:has(#mine-projects) .reset-btn{grid-column:auto}}
@media(max-width:600px){.brand .app-version{margin-left:5px;padding-left:5px;font-size:.62rem}.brand small{letter-spacing:.03em!important}.person-row .row-add+.row-add{margin-left:6px}}

.build-badge{display:inline-flex;align-items:center;vertical-align:middle;margin-left:5px;padding:2px 6px;border:1px solid #e9bf6845;border-radius:5px;color:#e9bf68;background:#e9bf6810;font-size:10px;font-weight:500;line-height:1.3;letter-spacing:.02em;white-space:nowrap;text-transform:none}

.database-badge{display:inline-flex;align-items:center;gap:4px;vertical-align:middle;margin-left:6px;padding:2px 6px;border:1px solid #a7c8ff40;border-radius:5px;color:#a7c8ff;background:#a7c8ff08;font-size:10px;line-height:1.3;letter-spacing:0;text-transform:none;white-space:nowrap}.database-badge svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.3}


/* Searchable database fields share the existing input dimensions. */
.smart-field{display:block;position:relative;min-width:0;width:100%;color:var(--text)}
.smart-field input{width:100%;min-width:0;box-sizing:border-box}
.smart-options{position:absolute;display:flex;flex-direction:column;left:0;right:0;top:calc(100% + 5px);z-index:100;max-height:260px;overflow:auto;padding:5px;border:1px solid #a4c6ff55;border-radius:11px;background:#111b2b;box-shadow:0 12px 30px #0008;text-align:left}
.smart-options[hidden]{display:none}
.smart-options button{display:block;border:0;background:transparent;color:var(--text);text-align:left;font:inherit;line-height:1.4;padding:9px 10px;border-radius:7px;cursor:pointer;white-space:normal;flex-shrink:0}
.smart-options button:hover,.smart-options button.active{background:#a4c6ff22;color:#c9ddff}
.smart-empty{padding:10px;color:var(--muted);font-size:12px;line-height:1.5}
.manager-field:has(>.smart-tree-button){position:relative}
.manager-field:has(>.smart-tree-button)>.smart-field input{padding-right:36px}
.smart-tree-button{position:absolute!important;right:0;bottom:0;width:34px!important;height:34px;padding:5px!important;min-width:0!important;border:0!important;background:transparent!important}


.smart-options{position:fixed;inset:auto;margin:0;z-index:1000;box-sizing:border-box;max-height:300px}
.smart-options:not(:popover-open){display:none}
.smart-field>.smart-options.smart-options-inline{display:flex;position:relative;inset:auto;width:100%;margin:6px 0 0;max-height:240px;box-shadow:none;overscroll-behavior:contain;overflow-anchor:none}
.smart-field>.smart-options.smart-options-inline[hidden]{display:none!important}
.smart-field{min-width:0;align-self:stretch}
.smart-select-input{padding-right:28px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m3 4 3 3 3-3' fill='none' stroke='%23a4b5cd' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}
.manager-field:has(>.smart-tree-button) .smart-select-input{background-image:none}
.smart-group-label{padding:10px 10px 6px;color:#a4c6ff;font-size:11px;font-weight:650;border-top:1px solid #a4c6ff25;margin-top:4px;flex-shrink:0;line-height:1.5}
.smart-group-label:first-child{border-top:0;margin-top:0}
.directory-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.catalog-tag{display:inline-block;font-size:10px;font-weight:400;line-height:1.4;background:#a4c6ff12;color:#a9bedb;border:1px solid #a4c6ff24;border-radius:20px;padding:2px 7px;white-space:normal}
.tag-editor{display:grid;gap:8px;grid-column:1/-1;margin:12px 0;min-width:0}
.tag-editor-label,.tag-editor small{color:var(--muted);font-size:12px}
.tag-chips{display:flex;gap:6px;flex-wrap:wrap}
.editable-tag{display:inline-flex;border:1px solid #a4c6ff35;border-radius:20px;background:#a4c6ff12;overflow:hidden}
.editable-tag button{background:transparent;border:0;color:#c3d9f6;font:inherit;font-size:12px;padding:5px 9px;cursor:pointer}
.editable-tag button:last-child{border-left:1px solid #a4c6ff25;color:#efb994}
.tag-entry-row,.reference-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.tag-entry-row input{flex:1;min-width:120px;width:140px}
.tag-error{color:#efb994;font-size:12px}
.new-reference{margin-top:10px;border:1px solid #a4c6ff25;padding:12px;border-radius:12px;background:#a4c6ff04}
.new-reference .manager-field{width:100%;max-width:none!important}
.new-reference .reference-actions{margin-top:8px}
