:root{color:#17202a;background:#f4f7f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;letter-spacing:0;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit;letter-spacing:0}button,.button-link,.row-action{align-items:center;background:#fff;border:1px solid #b8c4c9;border-radius:6px;color:#17202a;cursor:pointer;display:inline-flex;gap:.45rem;justify-content:center;min-height:2.25rem;padding:.45rem .7rem;text-decoration:none;transition:background .12s ease,border-color .12s ease,color .12s ease;white-space:nowrap}button:hover,.button-link:hover,.row-action:hover{background:#e9f4f1;border-color:#3f8577}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.55}button.danger{background:#8f2d26;border-color:#8f2d26;color:#fff}input,select,textarea{background:#fff;border:1px solid #b8c4c9;border-radius:6px;color:#17202a;min-height:2.4rem;padding:.45rem .55rem;width:100%}textarea{min-height:5.5rem;resize:vertical}table{background:#fff;border-collapse:collapse;border:1px solid #d5dee2;border-radius:6px;overflow:hidden;width:100%}th,td{border-bottom:1px solid #e3eaed;padding:.75rem;text-align:left;vertical-align:middle}th{background:#edf3f2;color:#43515a;font-size:.82rem;font-weight:700}tbody tr:last-child td{border-bottom:0}h1,h2,p{margin-top:0}h1{font-size:clamp(1.75rem,3vw,2.35rem);line-height:1.05;margin-bottom:0}h2{font-size:1.05rem;margin-bottom:.9rem}label{color:#43515a;display:grid;font-size:.9rem;font-weight:700;gap:.35rem}.app-shell{display:grid;grid-template-columns:17.5rem minmax(0,1fr);min-height:100vh}.sidebar{background:#17202a;color:#fff;display:flex;flex-direction:column;min-height:100vh;padding:1rem}.brand{align-items:center;color:#fff;display:flex;font-size:1.15rem;font-weight:800;gap:.6rem;min-height:2.6rem}.brand.large{color:#17202a;font-size:1.35rem;margin-bottom:1.25rem}.nav-list{display:grid;gap:.25rem;margin-top:1rem;overflow-y:auto;padding-right:.25rem}.nav-link{border-radius:6px;color:#d8e2e4;padding:.55rem .65rem;text-decoration:none}.nav-link:hover,.nav-link.active{background:#27414b;color:#fff}.workspace{min-width:0;padding:1rem 1.25rem 2rem}.topbar,.page-header,.toolbar,.button-row,.actions,.modal-actions,.topbar-actions{align-items:center;display:flex;gap:.65rem}.topbar{background:#fff;border:1px solid #d5dee2;border-radius:6px;justify-content:space-between;margin-bottom:1rem;min-height:3.5rem;padding:.65rem .8rem}.page-header{justify-content:space-between;margin:.25rem 0 1rem}.page-actions{display:flex;gap:.5rem}.kicker{color:#5e6d73;font-size:.82rem;font-weight:800;margin-bottom:.25rem;text-transform:uppercase}.metric-grid{display:grid;gap:.8rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1rem}.metric,.panel,.wizard,.review-box{background:#fff;border:1px solid #d5dee2;border-radius:6px;padding:1rem}.metric{display:grid;gap:.35rem;min-height:6rem}.metric span,.metric small{color:#5e6d73}.metric strong{color:#173f46;font-size:1.45rem}.split{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(18rem,.6fr)}.split.wide-left{grid-template-columns:minmax(0,1.35fr) minmax(20rem,.65fr)}.toolbar{background:#fff;border:1px solid #d5dee2;border-radius:6px;margin-bottom:.8rem;max-width:34rem;padding:.55rem}.toolbar svg{color:#5e6d73;flex:0 0 auto}.money{font-variant-numeric:tabular-nums;text-align:right}.status{border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:800;line-height:1;padding:.35rem .55rem;white-space:nowrap}.status-draft,.status-pending,.status-pending-approval,.status-unmatched{background:#edf3f2;color:#43515a}.status-sent,.status-approved,.status-matched{background:#dcefe8;color:#17604d}.status-overdue,.status-manual-review,.status-second-approval-required,.status-flagged{background:#fff1cc;color:#7a4f00}.status-paid,.status-scheduled,.status-refunded{background:#dbeafe;color:#1e4e8c}.status-rejected{background:#f8d9d6;color:#8f2d26}.receipt-list{display:grid;gap:.45rem;list-style:none;margin:0;padding:0}.receipt-list li{background:#f4f7f8;border-radius:6px;padding:.55rem}.form-grid{display:grid;gap:.8rem;grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.slim{align-items:end;grid-template-columns:minmax(10rem,16rem) auto;margin-top:.9rem}.wizard{display:grid;gap:1rem;max-width:58rem}.wizard-steps{display:flex;gap:.5rem}.wizard-steps span{background:#edf3f2;border-radius:999px;color:#43515a;font-weight:800;padding:.4rem .7rem}.wizard-steps .active{background:#173f46;color:#fff}.totals{background:#f4f7f8;border:1px solid #d5dee2;border-radius:6px;display:grid;gap:.35rem;padding:.75rem}.totals strong{color:#173f46;font-size:1.15rem}.detail-grid{display:grid;gap:1rem;grid-template-columns:minmax(18rem,.45fr) minmax(0,1fr)}.facts{display:grid;gap:.7rem;margin:0}.facts div{display:grid;gap:.2rem}.facts dt{color:#5e6d73;font-size:.78rem;font-weight:800;text-transform:uppercase}.facts dd{margin:0}.button-stack{display:grid;gap:.55rem;margin-top:.8rem}.decision-panel{align-self:start}.selected-row{background:#f0f7f5}.empty{background:#f4f7f8;border:1px dashed #b8c4c9;border-radius:6px;color:#5e6d73;padding:1rem}.login-shell{align-items:center;background:linear-gradient(120deg,#173f46e0,#17202aeb),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='800' viewBox='0 0 1200 800'%3E%3Crect width='1200' height='800' fill='%23eef6f4'/%3E%3Cg fill='none' stroke='%2370a59a' stroke-width='2' opacity='.38'%3E%3Cpath d='M120 120h960M120 210h960M120 300h960M120 390h960M120 480h960M120 570h960M120 660h960'/%3E%3Cpath d='M200 90v620M380 90v620M560 90v620M740 90v620M920 90v620'/%3E%3C/g%3E%3C/svg%3E");background-size:cover;display:flex;justify-content:center;min-height:100vh;padding:1rem}.login-panel{background:#fff;border:1px solid #d5dee2;border-radius:8px;box-shadow:0 22px 60px #00000038;display:grid;gap:.8rem;max-width:28rem;padding:1.4rem;width:100%}.login-panel form{display:grid;gap:.8rem}.toast{border-radius:6px;bottom:1rem;box-shadow:0 12px 28px #0000002e;color:#fff;font-weight:800;max-width:min(32rem,calc(100vw - 2rem));padding:.8rem 1rem;position:fixed;right:1rem;z-index:30}.toast.success{background:#17604d}.toast.error{background:#8f2d26}.modal-backdrop{align-items:center;background:#17202a8c;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:1rem;position:fixed;z-index:40}.modal{background:#fff;border-radius:8px;box-shadow:0 24px 80px #00000047;max-width:28rem;padding:1.2rem;width:100%}.modal-icon{align-items:center;background:#fff1cc;border-radius:999px;color:#7a4f00;display:inline-flex;height:3rem;justify-content:center;margin-bottom:.8rem;width:3rem}.modal-actions{justify-content:flex-end;margin-top:1rem}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{min-height:auto}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;overflow:visible}.metric-grid,.split,.split.wide-left,.detail-grid{grid-template-columns:1fr}}@media(max-width:640px){.workspace{padding:.75rem}.topbar,.page-header{align-items:stretch;flex-direction:column}.topbar-actions,.page-actions,.button-row,.actions{flex-wrap:wrap}.form-grid,.form-grid.slim{grid-template-columns:1fr}table{display:block;overflow-x:auto}}
