@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Roboto+Condensed:wght@400;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#3c3c3b;--ink-soft:#6e6e6d;--line:#d9d9d9;--line-soft:#e6e6e3;--paper:#f2f2ef;--surface:#fff;--accent:#95c11f;--accent-soft:#f2f5ea;--accent-text:#5c7a14;--bad:#a8402f;--bad-soft:#fbecea;--amber:#8a5a00;--amber-soft:#fdf1d6;--blue:#1d5b96;--blue-soft:#dbeeff;--sidebar-bg:#23241f;--radius:10px;--radius-lg:14px;--radius-sm:7px;--shadow-sm:0 1px 2px #1e1e140d;--shadow-md:0 1px 3px #1e1e140f, 0 8px 20px #1e1e140f;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-heading:"Roboto Condensed", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", "SFMono-Regular", Menlo, Consolas, monospace;font-family:var(--font-body)}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3,.sidebar .brand,thead th,.th-sort,.admin-rail-btn{font-family:var(--font-heading)}h1{border-bottom:2.5px solid var(--accent);letter-spacing:-.01em;margin:0 0 16px;padding-bottom:7px;font-size:1.45rem;font-weight:700;display:inline-block}h2{letter-spacing:-.005em;margin:0 0 14px;font-size:1.08rem;font-weight:700}h3{color:var(--ink-soft);margin:0;font-size:.95rem;font-weight:600}button{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--radius-sm);padding:7px 13px;transition:border-color .13s,background .13s,box-shadow .13s,color .13s}button:hover{border-color:var(--accent)}button:active{transform:translateY(.5px)}button:disabled{opacity:.5;cursor:default;transform:none}button.danger:hover{border-color:var(--bad);color:var(--bad)}button svg{vertical-align:-2px;margin-right:4px}.btn-approve:hover{border-color:var(--accent);color:var(--accent-text)}button.active{background:var(--accent-soft);border-color:var(--accent)}.btn-primary-solid{background:var(--accent);color:var(--ink);border:1px solid var(--accent);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:9px 18px;font-size:.95rem;font-weight:700}.btn-primary-solid:hover{background:var(--accent-text);border-color:var(--accent-text);color:#fff;box-shadow:var(--shadow-md)}.btn-primary-solid:disabled{opacity:.5;cursor:default;box-shadow:none}.btn-ghost{box-shadow:var(--shadow-sm);padding:9px 16px;font-size:.84rem;font-weight:700}.btn-ghost:hover{box-shadow:var(--shadow-md)}.btn-small{padding:4px 10px;font-size:.74rem}a{color:var(--accent-text)}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 12px;font-size:.92rem;transition:border-color .13s,box-shadow .13s}input:not([type=checkbox]):not([type=radio]):not([type=file]):hover,select:hover,textarea:hover{border-color:#c2c2be}input:not([type=checkbox]):not([type=radio]):not([type=file]):focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:15px;height:15px}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236e6e6d' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;padding-right:30px}.amount-field{align-items:center;display:inline-flex;position:relative}.amount-field .currency-prefix{color:var(--ink-soft);pointer-events:none;position:absolute;left:11px}.amount-field input:not([type=checkbox]):not([type=radio]):not([type=file]){width:110px;padding-left:26px}input[type=date]{cursor:text}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.55;filter:invert(24%)sepia(6%)saturate(300%);border-radius:4px;margin-right:-2px;padding:2px}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:.9;background:var(--accent-soft)}.card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:20px;padding:22px 26px}.card:last-child{margin-bottom:0}.card h2:first-child,.card h1:first-child{margin-top:0}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--sidebar-bg);color:#c9c9c2;flex-direction:column;flex-shrink:0;align-self:flex-start;width:220px;height:100vh;padding:18px 14px;transition:width .16s;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar.collapsed{align-items:center;width:64px;padding:18px 10px}.sidebar .brand{color:#f2f2ee;font-family:var(--font-heading);white-space:nowrap;align-items:center;gap:9px;padding:4px 6px 22px;font-size:1.02rem;font-weight:700;display:flex}.sidebar.collapsed .brand{justify-content:center;padding:4px 0 22px}.sidebar.collapsed .brand .word{display:none}.brand-icon{flex-shrink:0;width:26px;height:26px;display:block}.sidebar nav{flex-direction:column;flex:1;gap:2px;width:100%;display:flex}.sidebar nav a{color:#a9a9a1;border-radius:var(--radius-sm);align-items:center;gap:10px;padding:9px 10px;font-size:.88rem;text-decoration:none;transition:background .13s,color .13s;display:flex}.sidebar.collapsed nav a{justify-content:center;padding:10px}.sidebar.collapsed nav a .label{display:none}.sidebar nav a:hover{color:#e6e6e2;background:#ffffff12}.sidebar nav a.active{color:#d7ecb0;background:#95c11f29;font-weight:600}.sidebar nav a svg{flex-shrink:0}.user-box{color:#9c9c95;border-top:1px solid #ffffff14;align-items:center;gap:10px;width:100%;margin-top:10px;padding-top:14px;font-size:.85rem;display:flex}.sidebar.collapsed .user-box{flex-direction:column;gap:8px;padding-top:14px}.user-box .who{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sidebar.collapsed .user-box .who{display:none}.sidebar button{color:#c9c9c2;background:0 0;border-color:#ffffff29}.sidebar button:hover{border-color:var(--accent);color:#fff;background:0 0}.sidebar.collapsed .user-box button{padding:6px 8px;font-size:.74rem}.sidebar-toggle{border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-self:flex-start;align-items:center;width:30px;height:30px;margin-top:12px;display:inline-flex;padding:0!important}.sidebar.collapsed .sidebar-toggle{align-self:center;transform:scaleX(-1)}.content{flex:1;min-width:0;padding:28px 32px 64px}.login-page{text-align:center;max-width:420px;margin:90px auto}.login-card{padding:40px 36px}.login-mark{width:44px;height:44px;margin-bottom:14px}.login-card h1{border:none;margin-bottom:8px;padding-bottom:0;display:block}.login-card p{color:var(--ink-soft);margin:0 0 20px}.btn-primary{background:var(--accent);color:var(--ink);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:10px 22px;font-weight:700;text-decoration:none;display:inline-block}.btn-primary:hover{background:var(--accent-text);color:#fff;box-shadow:var(--shadow-md)}.page-head{background:var(--surface);border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:16px;margin:-28px -32px 20px;padding:18px 32px;display:flex}.page-head h1{border:none;margin:0;padding-bottom:0;font-size:1.25rem}.page-head-back{margin:0 0 6px;font-size:.8rem}.page-head-back a{color:var(--ink-soft)}.page-head-back a:hover{color:var(--accent-text)}.page-head.page-head-embedded{background:0 0;margin:0 0 16px;padding:0 0 14px}.filters{flex-wrap:wrap;gap:6px;margin:18px 0 16px;display:flex}.filters button{font-family:var(--font-heading);border:1px solid var(--line-soft);background:var(--surface);color:var(--ink-soft);border-radius:999px;padding:7px 14px;font-size:.84rem;font-weight:600}.filters button:hover{border-color:var(--line-soft);color:var(--ink)}.filters button.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.hint{color:var(--accent-text);font-size:.9rem}.error{color:var(--bad);background:var(--bad-soft);border-radius:var(--radius-sm);padding:9px 13px}.loading{text-align:center;color:var(--ink-soft);padding:40px}.table-wrap{overflow-x:auto}.table-wrap-card{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface)}.table-wrap-card tbody tr.clickable-row:hover:not(.muted){background:var(--accent-soft)}table{border-collapse:collapse;width:100%;font-size:.91rem}th,td{text-align:left;border-bottom:1px solid var(--line-soft);white-space:nowrap;padding:10px 12px}thead th{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.02em;background:var(--paper);font-size:.78rem;font-weight:600}thead tr:first-child th:first-child{border-top-left-radius:var(--radius-sm)}thead tr:first-child th:last-child{border-top-right-radius:var(--radius-sm)}tbody tr:last-child td{border-bottom:none}.status-badge{white-space:nowrap;border-radius:999px;padding:4px 11px;font-size:.76rem;font-weight:600;display:inline-block}.status-awaiting{color:#8a5a00;background:#fdf1d6}.status-approved{background:var(--accent-soft);color:var(--accent-text)}.status-paid{color:#1d5b96;background:#dbeeff}.status-rejected{background:var(--bad-soft);color:var(--bad)}.status-neutral{color:var(--ink-soft);background:#efefee}.action-bar{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--accent-soft);box-shadow:var(--shadow-sm);max-width:440px;margin:16px 0;padding:12px 14px;font-size:.84rem}.action-bar textarea{width:100%;min-height:44px;margin-bottom:8px;padding:7px 10px;font-size:.84rem}.action-bar .hint{margin-bottom:8px;font-size:.78rem}.action-bar-buttons{gap:8px;display:flex}.action-bar-buttons button{padding:6px 11px;font-size:.82rem}.redirect-row{border-top:1px solid var(--line-soft);align-items:center;gap:8px;margin-top:10px;padding-top:10px;display:flex}.redirect-row select{flex:0 220px;padding:6px 9px;font-size:.8rem}.redirect-row button{padding:6px 11px;font-size:.82rem}.table-search{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);max-width:480px;color:var(--ink-soft);box-shadow:var(--shadow-sm);align-items:center;gap:8px;margin-bottom:14px;padding:8px 12px;display:flex}.table-search input{font:inherit;background:0 0;outline:none;flex:1;box-shadow:none!important;border:none!important;padding:0!important}.th-sort{font:inherit;text-transform:uppercase;letter-spacing:.02em;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:0;font-size:.78rem;font-weight:600}.th-sort:hover{color:var(--accent-text)}.filter-row th{background:var(--accent-soft);text-transform:none;padding:6px 12px 12px;font-weight:400}.filter-row input,.filter-row select{width:100%}.kpi-row{flex-wrap:wrap;gap:14px;margin:18px 0 20px;display:flex}.kpi-tile{background:var(--surface);border:1px solid var(--line-soft);border-left:3px solid var(--accent);border-radius:var(--radius-sm);min-width:160px;padding:13px 16px}.kpi-value{font-family:var(--font-heading);font-size:1.35rem;font-weight:700;line-height:1.15}.kpi-label{color:var(--ink-soft);margin-top:2px;font-size:.74rem}.kpi-sub{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:.76rem;overflow:hidden}.kpi-tile-clickable{cursor:pointer;text-align:left;font:inherit;color:inherit}.kpi-tile-clickable:hover{border-color:var(--accent-text)}.kpi-tile-clickable.active{border-color:var(--accent-text);background:var(--accent-soft)}.kpi-tile-clickable:focus-visible{outline:2px solid var(--accent-text);outline-offset:1px}.approval-flow{white-space:nowrap;font-size:.85rem}.flow-step{text-align:center;border-radius:50%;width:18px;height:18px;font-size:.62rem;font-weight:700;line-height:18px;display:inline-block}.flow-done{background:var(--accent-soft);color:var(--accent-text)}.flow-current{background:var(--accent);color:var(--ink);box-shadow:0 0 0 2px var(--accent-soft)}.flow-pending{color:var(--ink-soft);background:#efefee}.flow-pending-you{background:var(--paper);color:var(--accent-text);border:2px dashed var(--accent-text);line-height:14px}.flow-arrow,.flow-empty{color:var(--ink-soft)}.flow-redirected{outline:2px dashed var(--accent-text);outline-offset:1px}.rule-form{flex-wrap:wrap;align-items:flex-start;gap:10px;margin-top:12px;display:flex}.rule-form .description-field{flex:260px}.tier-builder{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--paper);flex-basis:100%;padding:14px}.tier-builder-head{color:var(--ink-soft);align-items:center;margin:0 0 10px;font-size:.85rem;font-weight:600;display:flex}.tier-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.tier-row select{min-width:160px}.tier-row input[type=number]{width:140px}.tier-index{color:var(--ink-soft);min-width:46px;font-size:.8rem}.checkbox-label{cursor:pointer;align-items:center;gap:6px;padding:6px 4px;font-size:.9rem;display:inline-flex}.excluded-accounts-list{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--paper);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:3px 14px;max-height:340px;padding:12px 14px;display:grid;overflow-y:auto}.excluded-accounts-list.expense-accounts-list{grid-template-columns:1fr;max-width:560px}.expense-account-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.expense-account-row .checkbox-label{flex:1;min-width:0}.default-tax-select{background-position:right 8px center;max-width:220px;padding:5px 26px 5px 9px;font-size:.82rem}.age{font-family:var(--font-mono);white-space:nowrap;font-size:.74rem}.age.hot{color:var(--amber);font-weight:600}.clickable-row{cursor:pointer}tr.clickable-row:hover{background:var(--accent-soft)}.split-view{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface);align-items:stretch;display:flex;overflow:hidden}.split-list{border-right:1px solid var(--line-soft);flex:0 0 320px;max-height:72vh;overflow-y:auto}.split-detail{flex:1;min-width:0;max-height:72vh;padding:24px 28px;overflow-y:auto}.split-list-item{border-bottom:1px solid var(--line-soft);cursor:pointer;border-left:3px solid #0000;padding:14px 16px}.split-list-item:last-child{border-bottom:none}.split-list-item:hover:not(.active){background:var(--paper)}.split-list-item.active{background:var(--accent-soft);border-left-color:var(--accent)}.split-list-item.muted{opacity:.6}.split-list-item.muted:hover{opacity:.8}.split-list-item-title{margin-bottom:3px;font-size:.92rem;font-weight:600}.split-list-item-flow{justify-content:space-between;align-items:center;gap:8px;margin:3px 0;display:flex}.split-list-item-ref{min-width:0;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.78rem;overflow:hidden}.split-list-item-upcoming{color:var(--ink-soft);white-space:nowrap;font-size:.74rem;font-style:italic}.split-list-item .approval-flow{flex-shrink:0;font-size:.68rem}.split-list-item .flow-step{width:15px;height:15px;font-size:.55rem;line-height:15px}.split-list-item-meta{color:var(--ink-soft);justify-content:space-between;align-items:baseline;gap:10px;font-size:.82rem;display:flex}.split-empty-list{margin:0;padding:24px 16px}.split-empty{color:var(--ink-soft);text-align:center;margin:0;padding:40px 0}@media (width<=860px){.split-view{flex-direction:column}.split-list{border-right:none;border-bottom:1px solid var(--line-soft);flex:none;max-height:260px}.split-detail{max-height:none}}.top-row{flex-wrap:wrap;align-items:flex-start;gap:20px;margin-top:14px;display:flex}.attached-files-col{flex:260px;min-width:260px;max-width:640px}.attached-files-col:only-child{margin-left:auto}.bill-details-section{margin-top:20px}.history-section{border-top:1px solid var(--line-soft);margin-top:24px;padding-top:18px}.history-list-row{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.kv-table{width:auto;margin-bottom:14px;font-size:.87rem}.kv-table th,.kv-table td{padding:5px 12px 5px 0}.kv-table th{color:var(--ink-soft);white-space:nowrap;background:0 0;padding-right:16px;font-weight:600}.kv-table td{white-space:normal}.totals-table{margin-top:8px;font-size:.82rem}.totals-table th{background:0 0}.totals-table th,.totals-table td{border-bottom:none;padding:3px 12px}.totals-table tr:last-child th,.totals-table tr:last-child td{border-top:1px solid var(--line-soft);padding-top:7px;font-size:.95rem;font-weight:700}.top-row h2,.bill-details-section h2{margin-bottom:10px;font-size:.98rem}.top-row h3,.bill-details-section h3{margin:14px 0 8px;font-size:.86rem}.attachment-list{flex-wrap:wrap;gap:8px;margin:8px 0 12px;display:flex}.attachment-list button.active{background:var(--accent-soft);border-color:var(--accent)}.attachment-preview{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);padding:14px}.attachment-preview img{border-radius:6px;max-width:100%;display:block}.attachment-preview iframe{border:none;border-radius:6px;width:100%;height:600px}.history-list{gap:10px;padding:0;list-style:none;display:grid}.history-item{border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface);padding:11px 13px}.history-item-head{justify-content:space-between;gap:10px;font-size:.92rem;display:flex}.history-item-meta{color:var(--ink-soft);margin-top:2px;font-size:.82rem}.history-item-comment{margin:6px 0 0;font-size:.88rem}.section-toggle{text-align:left;width:100%;margin-bottom:8px;font-weight:600;display:block}.admin-layout{align-items:flex-start;gap:28px;margin-top:4px;display:flex}.admin-rail{flex-direction:column;flex-shrink:0;gap:3px;min-width:190px;display:flex}.admin-rail-btn{border-radius:var(--radius-sm);text-align:left;color:var(--ink-soft);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:11px;padding:10px 13px;font-size:.92rem;transition:background .12s,color .12s;display:flex}.admin-rail-btn:hover{background:var(--accent-soft);color:var(--ink)}.admin-rail-btn.active{background:var(--accent-soft);border-color:var(--line-soft);color:var(--ink);box-shadow:var(--shadow-sm);font-weight:600}.admin-panel{flex:1;min-width:0}.info-tip{vertical-align:middle;margin-left:7px;display:inline-flex;position:relative}.info-tip-trigger{border:1px solid var(--line);background:var(--surface);width:18px;height:18px;color:var(--ink-soft);cursor:help;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.info-tip-trigger:hover,.info-tip-trigger:focus-visible{border-color:var(--accent-text);color:var(--accent-text)}.info-tip-bubble{z-index:30;background:var(--ink);color:#f2f2ee;width:300px;max-width:min(340px,70vw);font-family:var(--font-body);letter-spacing:normal;text-transform:none;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);opacity:0;visibility:hidden;pointer-events:none;padding:11px 13px;font-size:.82rem;font-weight:400;line-height:1.5;transition:opacity .12s,visibility .12s;position:absolute;top:calc(100% + 9px);left:50%;transform:translate(-50%)}.info-tip-bubble:before{content:"";border:6px solid #0000;border-bottom-color:var(--ink);position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.info-tip:hover .info-tip-bubble,.info-tip:focus-within .info-tip-bubble{opacity:1;visibility:visible}h2 .info-tip,h3 .info-tip{font-family:var(--font-body);font-weight:400}.rule-row{cursor:pointer}.rule-row:hover{background:var(--accent-soft)}.rule-row.editing{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.rule-form-head{justify-content:space-between;align-items:center;gap:12px;margin-top:20px;margin-bottom:4px;display:flex}.rule-form-head h3{margin:0}.rule-order-cell{flex-direction:column;gap:2px;display:flex}.order-btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;color:var(--ink-soft);border-radius:4px;padding:1px 6px;font-size:.65rem;line-height:1.4}.order-btn:hover:not(:disabled){background:var(--accent-soft);color:var(--ink)}.order-btn:disabled{opacity:.3;cursor:default}
