*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}table{border-collapse:collapse}:root{--bg:#fafaf9;--surface:#fff;--surface-sunken:#f5f5f4;--border:#e7e5e4;--border-strong:#d6d3d1;--text:#1c1917;--text-secondary:#57534e;--text-muted:#a8a29e;--accent:#1c1917;--accent-contrast:#fff;--focus:#4f46e5;--created-bg:#f5f5f4;--created-fg:#57534e;--signed-bg:#f3e8ff;--signed-fg:#7e22ce;--assigned-bg:#fef3c7;--assigned-fg:#a16207;--partial-bg:#ffedd5;--partial-fg:#c2410c;--collected-bg:#dcfce7;--collected-fg:#15803d;--success:#15803d;--warn:#c2410c;--warn-soft:#a16207;--danger:#b91c1c;--danger-bg:#fef2f2;--danger-border:#fecaca;--hover-surface:#fdfdfc;--menu-shadow:0 8px 24px #1c191717;--radius:10px;--radius-sm:7px;--sidebar-w:236px;--page-max-w:1440px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0a0a0a;--surface:#121212;--surface-sunken:#1c1c1c;--border:#232323;--border-strong:#343434;--text:#ededed;--text-secondary:#a1a1a1;--text-muted:#6b6b6b;--accent:#ededed;--accent-contrast:#0a0a0a;--focus:#818cf8;--created-bg:#1c1c1c;--created-fg:#a1a1a1;--signed-bg:#221a30;--signed-fg:#d8b4fe;--assigned-bg:#2a2210;--assigned-fg:#fcd34d;--partial-bg:#2b1b10;--partial-fg:#fdba74;--collected-bg:#0f2618;--collected-fg:#86efac;--success:#4ade80;--warn:#fb923c;--warn-soft:#fbbf24;--danger:#f87171;--danger-bg:#241414;--danger-border:#3f1d1d;--hover-surface:#171717;--menu-shadow:0 8px 24px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5}.mono{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.num{font-variant-numeric:tabular-nums}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;gap:10px;padding:4px 8px 20px;display:flex}.brand-mark{background:var(--accent);width:30px;height:30px;color:var(--accent-contrast);letter-spacing:.02em;border-radius:8px;flex-shrink:0;place-items:center;font-size:11px;font-weight:700;display:grid}.brand-text{flex-direction:column;min-width:0;line-height:1.25;display:flex}.brand-name{letter-spacing:-.01em;font-size:13.5px;font-weight:600}.brand-sub{color:var(--text-muted);font-size:11px}.sidebar-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:14px 0 6px;padding:0 8px;font-size:10.5px;font-weight:600}.sidebar-nav{flex-direction:column;gap:1px;display:flex}.nav-item{border-radius:var(--radius-sm);color:var(--text-secondary);align-items:center;gap:10px;padding:7px 8px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:flex}.nav-item svg{opacity:.75;flex-shrink:0}.nav-item:hover{background:var(--surface-sunken);color:var(--text)}.nav-item.active{background:var(--surface-sunken);color:var(--text);font-weight:600}.nav-item.active svg{opacity:1}.nav-count{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:11.5px}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding-top:14px}.sidebar-user{align-items:center;gap:9px;min-width:0;padding:4px 8px 10px;display:flex}.user-avatar{background:var(--surface-sunken);border:1px solid var(--border);width:26px;height:26px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;place-items:center;font-size:10.5px;font-weight:600;display:grid}.user-email{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.nav-item.logout{cursor:pointer;text-align:left;background:0 0;border:none;width:100%;font-family:inherit}.nav-item.logout:hover{color:var(--danger)}.footer-actions{align-items:center;gap:4px;display:flex}.footer-actions .nav-item.logout{flex:1}.icon-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;place-items:center;padding:0;display:grid}.icon-btn:hover{background:var(--surface-sunken);color:var(--text-secondary)}.icon-btn svg{width:15px;height:15px}.main-content{flex:1;min-width:0}.page{max-width:var(--page-max-w);margin-inline:auto;padding:32px 36px 56px}.page-head{margin-bottom:26px}.page h1{letter-spacing:-.025em;margin:0;font-size:24px;font-weight:600}.page-subtitle{color:var(--text-secondary);margin:5px 0 0;font-size:13.5px}.muted{color:var(--text-muted);font-size:13.5px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:30px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:6px;padding:16px 18px 18px;display:flex}.stat-label{color:var(--text-secondary);font-size:11.5px;font-weight:500}.stat-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:27px;font-weight:600;line-height:1.1}.stat-meta{color:var(--text-muted);font-size:11.5px}.stat-accent-warn{color:var(--warn-soft)}.stat-accent-success{color:var(--success)}.section-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin:28px 0 12px;font-size:11px;font-weight:600}.person-grid{grid-template-columns:repeat(3,1fr);align-items:start;gap:14px;display:grid}.person-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .12s;overflow:hidden}a.person-card{color:inherit;padding:17px 18px 18px;display:block}a.person-card:hover{border-color:var(--border-strong);background:var(--hover-surface)}a.person-card:hover .person-chevron{color:var(--text-secondary);transform:translate(2px)}.person-top{align-items:center;gap:11px;display:flex}.person-avatar{background:var(--surface-sunken);border:1px solid var(--border);width:34px;height:34px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:600;display:grid}.person-id{flex:1;min-width:0}.person-name{letter-spacing:-.01em;font-size:14px;font-weight:600}.person-sub{color:var(--text-muted);font-size:12px}.person-headline{flex-shrink:0;margin-top:14px}.person-headline-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:600;line-height:1.2}.person-headline-value.warn{color:var(--warn)}.person-headline-value.success{color:var(--success)}.person-headline-value.muted{color:var(--text-muted)}.person-headline-label{color:var(--text-muted);font-size:11px}.person-chevron{color:var(--border-strong);flex-shrink:0;transition:transform .15s,color .15s}.person-bar{margin-top:14px}.person-bar-head{color:var(--text-muted);justify-content:space-between;align-items:baseline;margin-bottom:5px;font-size:11px;display:flex}.person-bar-pct{font-variant-numeric:tabular-nums;color:var(--text-secondary);font-weight:600}.person-body{border-top:1px solid var(--border);padding:15px 18px 16px}.metric-row{gap:8px;display:flex}.metric{flex:1;min-width:0}.metric-label{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-bottom:3px;font-size:11px;overflow:hidden}.metric-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:16px;font-weight:600;line-height:1.2}.metric-value.success{color:var(--success)}.metric-value.warn{color:var(--warn)}.metric-value.muted{color:var(--text-muted)}.person-note{color:var(--text-secondary);align-items:center;gap:7px;margin-top:14px;font-size:12px;display:flex}.person-note svg{opacity:.45;flex-shrink:0}.person-note.alert{color:var(--warn)}.person-note.alert svg{opacity:.8}.person-list-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin:16px 0 3px;font-size:11px;font-weight:600}.person-invoice{border-bottom:1px solid var(--border);color:var(--text);align-items:center;gap:10px;padding:8px 0;font-size:12.5px;display:flex}.person-invoice:last-child{border-bottom:none}.person-invoice:hover .person-invoice-no{color:var(--focus)}.person-invoice-no{color:var(--text-secondary);white-space:nowrap;font-size:11.5px}.person-invoice-cust{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.person-invoice-amt{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.person-invoice-more{color:var(--text-muted);padding-top:9px;font-size:11.5px}@media (width<=1120px){.person-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.person-grid{grid-template-columns:minmax(0,1fr)}}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.table-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:13px 18px;display:flex}.table-title{letter-spacing:-.01em;font-size:13.5px;font-weight:600}.table-scroll{overflow-x:auto}table.data{border-collapse:collapse;width:100%;min-width:720px}table.data th{text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;background:var(--surface);padding:10px 18px;font-size:11px;font-weight:600}table.data td{border-bottom:1px solid var(--border);vertical-align:middle;padding:13px 18px;font-size:13.5px}table.data tbody tr:last-child td{border-bottom:none}table.data tbody tr{cursor:pointer;transition:background .1s}table.data tbody tr:hover{background:var(--surface-sunken)}.col-right,table.data th.col-right{text-align:right}.cell-invoice{white-space:nowrap;font-size:12.5px;font-weight:500}.cell-customer{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.cell-amount{white-space:nowrap;font-weight:600}.cell-person{color:var(--text-secondary);font-size:12.5px}.cell-person.unset{color:var(--text-muted)}.status-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:2px;margin-bottom:14px;display:flex}.status-tab{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:7px;padding:9px 11px 11px;font-family:inherit;font-size:13px;font-weight:500;display:inline-flex;position:relative}.status-tab:after{content:"";background:0 0;border-radius:2px;height:2px;position:absolute;bottom:-1px;left:8px;right:8px}.status-tab:hover{color:var(--text)}.status-tab.active{color:var(--text);font-weight:600}.status-tab.active:after{background:var(--text)}.tab-count{font-variant-numeric:tabular-nums;color:var(--text-secondary);background:var(--surface-sunken);text-align:center;border-radius:999px;min-width:20px;padding:1px 6px;font-size:11px;font-weight:600}.status-tab.active .tab-count{background:var(--text);color:var(--surface)}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;display:flex}.search{flex:220px;max-width:300px;position:relative}.search>svg{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.search input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);padding:8px 30px 8px 34px;font-family:inherit;font-size:13px}.search input::placeholder{color:var(--text-muted)}.search input:focus{outline:2px solid var(--focus);outline-offset:-1px;border-color:#0000}.search-clear{background:var(--surface-sunken);width:18px;height:18px;color:var(--text-secondary);cursor:pointer;border:none;border-radius:50%;place-items:center;padding:0;font-size:12px;line-height:1;display:grid;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.search-clear:hover{background:var(--border);color:var(--text)}.chip-wrap{position:relative}.chip{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-secondary);cursor:pointer;white-space:nowrap;align-items:center;gap:7px;padding:7px 10px;font-family:inherit;font-size:12.5px;display:inline-flex}.chip:hover{border-color:var(--border-strong);color:var(--text)}.chip svg{opacity:.5;flex-shrink:0}.chip-value{color:var(--text);background:var(--surface-sunken);text-overflow:ellipsis;border-radius:5px;max-width:130px;padding:1px 6px;font-weight:500;overflow:hidden}.chip.on{border-color:var(--text);color:var(--text)}.chip.on svg{opacity:.85}.chip.on .chip-value{background:var(--text);color:var(--surface)}.chip-caret{width:13px;height:13px;margin-left:-2px;opacity:.4!important}.chip-menu{z-index:20;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);min-width:190px;max-height:280px;box-shadow:var(--menu-shadow);padding:4px;position:absolute;top:calc(100% + 5px);left:0;overflow-y:auto}.chip-menu-item{border-radius:var(--radius-sm);width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:7px 9px;font-family:inherit;font-size:13px;display:flex}.chip-menu-item:hover{background:var(--surface-sunken)}.chip-menu-item.selected{font-weight:600}.chip-menu-item .tick{opacity:0;flex-shrink:0;margin-left:auto}.chip-menu-item.selected .tick{opacity:1}.chip-menu-sep{background:var(--border);height:1px;margin:4px 2px}.clear-filters{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:7px 9px;font-family:inherit;font-size:12.5px;font-weight:500}.clear-filters:hover{background:var(--surface-sunken);color:var(--text)}.result-count{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:12.5px}.load-error{border:1px solid var(--danger-border);border-radius:var(--radius);background:var(--danger-bg);color:var(--danger);align-items:flex-start;gap:10px;margin-bottom:18px;padding:13px 15px;font-size:13px;display:flex}.load-error svg{flex-shrink:0;margin-top:1px}.load-error strong{font-weight:600}.load-error-detail{color:var(--text-secondary);margin-top:3px}.pager{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:26px;padding-top:16px;display:flex}.pager-count{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:12.5px}.pager-controls{align-items:center;gap:4px;display:flex}.pager-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-variant-numeric:tabular-nums;min-width:30px;height:30px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;padding:0 8px;font-family:inherit;font-size:12.5px;transition:border-color .12s,background .12s,color .12s;display:inline-flex}.pager-btn:hover:not(:disabled){border-color:var(--border-strong);color:var(--text)}.pager-btn.active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);font-weight:600}.pager-btn:disabled{opacity:.4;cursor:default}.pager-gap{color:var(--text-muted);padding:0 2px;font-size:12.5px}.caret-left{transform:rotate(90deg)}.caret-right{transform:rotate(-90deg)}.day-group+.day-group{margin-top:28px}.day-head{z-index:3;background:var(--bg);border-bottom:1px solid var(--border);align-items:baseline;gap:10px;margin-bottom:14px;padding:10px 0 9px;display:flex;position:sticky;top:0}.day-label{letter-spacing:-.01em;margin:0;font-size:13px;font-weight:600}.day-count{color:var(--text-muted);font-size:12px}.day-total{color:var(--text-secondary);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12.5px;font-weight:500}.tile-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.invoice-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:left;cursor:pointer;flex-direction:column;padding:17px 18px 0;transition:border-color .12s,background .12s;display:flex}.invoice-tile:hover{border-color:var(--border-strong);background:var(--hover-surface)}.tile-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:13px;display:flex}.tile-invoice-no{color:var(--text-secondary);white-space:nowrap;font-size:12px;font-weight:500}.tile-top .badge{flex-shrink:0}.tile-customer{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;margin-bottom:3px;font-size:14px;font-weight:500;overflow:hidden}.tile-amount{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:21px;font-weight:600;line-height:1.2}.tile-collected{color:var(--success);margin-top:5px;font-size:11.5px;font-weight:500}.tile-progress{background:var(--surface-sunken);border-radius:999px;height:4px;margin-top:9px;overflow:hidden}.tile-progress-fill{background:var(--success);border-radius:999px;height:100%}.tile-spacer{flex:1;min-height:15px}.tile-foot{border-top:1px solid var(--border);flex-direction:column;gap:7px;padding:12px 0 14px;display:flex}.tile-meta{color:var(--text-secondary);align-items:center;gap:7px;min-width:0;font-size:12px;display:flex}.tile-meta svg{opacity:.45;flex-shrink:0}.tile-meta span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tile-meta.unset{color:var(--text-muted)}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 9px 3px 7px;font-size:11.5px;font-weight:500;line-height:1.45;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px}.badge-created{background:var(--created-bg);color:var(--created-fg)}.badge-signed{background:var(--signed-bg);color:var(--signed-fg)}.badge-assigned_for_collection{background:var(--assigned-bg);color:var(--assigned-fg)}.badge-partially_collected{background:var(--partial-bg);color:var(--partial-fg)}.badge-collected{background:var(--collected-bg);color:var(--collected-fg)}.back-link{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:18px;padding:0;font-family:inherit;font-size:13px;font-weight:500;display:inline-flex}.back-link:hover{color:var(--text)}.detail-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;padding-bottom:22px;display:flex}.detail-head h1{margin-bottom:7px;font-size:22px}.detail-title-row{flex-wrap:wrap;align-items:center;gap:11px;display:flex}.detail-customer{color:var(--text-secondary);font-size:13.5px}.detail-amount{letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:25px;font-weight:600}.detail-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:18px;display:grid}.detail-col{flex-direction:column;gap:14px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.card-head{border-bottom:1px solid var(--border);align-items:center;gap:7px;padding:12px 16px;font-size:12.5px;font-weight:600;display:flex}.card-head svg{opacity:.55}.card-body{padding:15px 16px}.field-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin-bottom:7px;font-size:11px;font-weight:600}.field+.field{margin-top:15px}select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background-color:var(--surface);width:100%;color:var(--text);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23a8a29e' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding:8px 30px 8px 10px;font-family:inherit;font-size:13.5px}select:focus{outline:2px solid var(--focus);outline-offset:-1px;border-color:#0000}.badge-select{border:none;border-radius:999px;width:100%;padding:7px 30px 7px 11px;font-size:12px;font-weight:500}.doc-list{flex-direction:column;display:flex}.doc-row{border-bottom:1px solid var(--border);color:var(--text);align-items:center;gap:10px;padding:11px 16px;font-size:13px;text-decoration:none;display:flex}.doc-row:last-child{border-bottom:none}.doc-row svg{opacity:.5;flex-shrink:0}a.doc-row:hover{background:var(--surface-sunken)}.doc-open{color:var(--focus);margin-left:auto;font-size:11.5px;font-weight:500}.doc-row.disabled,.doc-row.disabled .doc-open{color:var(--text-muted)}.pay-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.pay-row+.pay-row{border-top:1px solid var(--border);margin-top:9px;padding-top:9px}.pay-key{color:var(--text-secondary);font-size:12.5px}.pay-val{font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:600}.pay-val.success{color:var(--success)}.pay-val.warn{color:var(--warn)}.pay-method{text-transform:capitalize;color:var(--text-secondary);font-weight:500}.progress{background:var(--surface-sunken);border-radius:999px;height:5px;margin-top:13px;overflow:hidden}.progress-fill{background:var(--success);border-radius:999px;height:100%;transition:width .3s}.empty{text-align:center;padding:56px 24px}.empty-title{color:var(--text-secondary);font-size:14px;font-weight:500}.empty-sub{color:var(--text-muted);margin-top:4px;font-size:12.5px}.login-wrap{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-box{background:var(--surface);border:1px solid var(--border);border-radius:14px;width:100%;max-width:348px;padding:34px 30px 30px}.login-box .brand-mark{border-radius:10px;width:36px;height:36px;margin-bottom:20px;font-size:12px}.login-box h2{letter-spacing:-.02em;margin:0 0 4px;font-size:18px;font-weight:600}.login-sub{color:var(--text-muted);margin:0 0 22px;font-size:13px}.login-box input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;color:var(--text);background:var(--surface);margin-bottom:9px;padding:10px 12px;font-family:inherit;font-size:13.5px}.login-box input::placeholder{color:var(--text-muted)}.login-box input:focus{outline:2px solid var(--focus);outline-offset:-1px;border-color:#0000}.login-box button{background:var(--accent);width:100%;color:var(--accent-contrast);border-radius:var(--radius-sm);cursor:pointer;border:none;margin-top:5px;padding:10px;font-family:inherit;font-size:13.5px;font-weight:500;transition:opacity .12s}.login-box button:hover{opacity:.88}.error-text{color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius-sm);margin:13px 0 0;padding:8px 11px;font-size:12.5px}@media (width<=1120px){.tile-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.tile-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=900px){.app-shell{flex-direction:column}.sidebar{border-right:none;border-bottom:1px solid var(--border);flex-direction:row;align-items:center;gap:8px;width:100%;height:auto;padding:10px 14px;position:static}.sidebar-brand{padding:0 8px 0 0}.sidebar-label{display:none}.sidebar-nav{flex-direction:row}.sidebar-footer{border:none;margin:0 0 0 auto;padding:0}.sidebar-user{display:none}.page{padding:22px 18px 40px}.stats-grid,.tile-grid{grid-template-columns:repeat(2,1fr)}.search{max-width:none}.detail-layout{grid-template-columns:minmax(0,1fr)}.detail-head{flex-direction:column;gap:12px}}.person-avatar.lg{width:44px;height:44px;font-size:14px}.detail-head .person-top{gap:13px}.detail-amount.warn{color:var(--warn)}.detail-head .person-headline{flex-direction:column;align-items:flex-end;display:flex}.card-head-count{font-variant-numeric:tabular-nums;color:var(--text-secondary);background:var(--surface-sunken);border-radius:999px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:600}table.data.compact{min-width:480px}table.data.compact th{padding:9px 16px}table.data.compact td{padding:11px 16px;font-size:13px}.stat-rows{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}.stat-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.stat-row+.stat-row{margin-top:10px}.stat-row-key{color:var(--text-secondary);font-size:12.5px}.stat-row-val{font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:600}.stat-row-val.success{color:var(--success)}.stat-row-val.warn{color:var(--warn)}.stat-row-val.muted{color:var(--text-muted)}.card .person-note{margin-top:0}.party-hero{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px;padding-bottom:20px;display:flex}.party-hero-id{min-width:0}.party-hero h1{letter-spacing:-.02em;overflow-wrap:anywhere;margin-bottom:9px;font-size:23px;line-height:1.25}.party-hero-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.party-hero-meta span{align-items:center;gap:5px;display:inline-flex}.party-hero-meta svg{opacity:.5}.party-tag{color:var(--text-secondary);background:var(--surface-sunken);border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:500}.party-hero-amount{text-align:right;margin-left:auto}.party-amount{letter-spacing:-.035em;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:30px;font-weight:600;line-height:1.1}.party-amount.owing{color:var(--warn)}.party-amount-label{color:var(--text-secondary);white-space:nowrap;margin-top:5px;font-size:12.5px}.party-strip{background:var(--border);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;margin-bottom:20px;display:grid;overflow:hidden}.party-stat{background:var(--surface);flex-direction:column;gap:4px;min-width:0;padding:14px 16px;display:flex}.party-stat-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:600}.party-stat-value{font-variant-numeric:tabular-nums;letter-spacing:-.02em;overflow-wrap:anywhere;font-size:18px;font-weight:600}.party-stat-value.warn{color:var(--warn)}.party-stat-meta{color:var(--text-muted);font-size:12px}.age-pill{font-variant-numeric:tabular-nums;color:var(--text-secondary);background:var(--surface-sunken);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11.5px;font-weight:600;display:inline-block}.age-pill.old{color:var(--warn);background:color-mix(in srgb, var(--warn) 12%, transparent)}.age-pill.done{color:var(--success);background:color-mix(in srgb, var(--success) 12%, transparent)}.doc-row-wrap{align-items:flex-start}.doc-row-wrap span{overflow-wrap:anywhere;line-height:1.5}.doc-row-wrap svg{margin-top:2px}.muted.small{margin:10px 0 0;font-size:12px;line-height:1.5}@media (width<=720px){.party-hero-amount{text-align:left;margin-left:0}}.row-settled td{color:var(--text-muted)}.row-settled .cell-invoice{color:var(--text-secondary)}.party-stat-sub{color:var(--text-muted);letter-spacing:0;font-size:13px;font-weight:500}td.num.success{color:var(--success)}table.data.items{min-width:460px}table.data.items td{vertical-align:top;padding:10px 16px}table.data.items tbody tr{cursor:default}table.data.items tbody tr:hover{background:0 0}.item-name{font-size:13px;font-weight:500;line-height:1.4}.item-sub{color:var(--text-muted);margin-top:1px;font-size:11.5px;line-height:1.4}.item-unit{color:var(--text-muted);font-variant-numeric:normal;margin-top:1px;font-size:11px;line-height:1.4}table.data.items tfoot td{border-top:none;border-bottom:none;padding:3px 16px;font-size:12.5px}table.data.items tfoot tr:first-child td{border-top:1px solid var(--border);padding-top:11px}table.data.items tfoot tr:last-child td{padding-bottom:13px}.item-foot-key{color:var(--text-secondary)}.item-foot-val{font-weight:600}.item-foot-val.strong{color:var(--text);font-size:14px}.field-link{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--text);justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;text-decoration:none;display:flex}.field-link:hover{border-color:var(--border-strong)}.field-link .muted{color:var(--text-muted)}.field-locked{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-sunken);color:var(--text-secondary);justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;display:flex}.field-locked .doc-open{color:var(--text-muted)}
