:root{color:#27242a;font-synthesis:none;--accent:#4f7298;--muted:#625e66;--border:#dedbe0;--control-border:#7f91a4;--surface:#fdfcfd;--background:#f5f4f5;--ink:#27242a;--accent-soft:#eaf1f8;--radius-control:8px;--radius-panel:12px;--radius-sheet:16px;--ease-out:cubic-bezier(.23, 1, .32, 1);--layer-nav:10;--layer-actions:20;--layer-skip:30;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--error:#a13639;background:#f5f4f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:15px;line-height:1.6}*{box-sizing:border-box}body,h1,h2,h3,h4,p{margin:0}h1{letter-spacing:-.6px;font-size:28px;font-weight:650}h2{font-size:18px;font-weight:650}h3{font-size:16px}h4{font-size:15px}p{margin:8px 0 16px}button,input,select,textarea{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{border-radius:var(--radius-control);background:var(--surface);min-height:44px;color:inherit;cursor:pointer;white-space:nowrap;border:1px solid #dedbe0;padding:8px 16px;font-weight:550}@media (hover:hover) and (pointer:fine){button:hover:enabled{background:var(--accent-soft);border-color:var(--accent)}}button:disabled{opacity:.48;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--surface)}@media (hover:hover) and (pointer:fine){button.primary:hover:enabled{opacity:.9}}button.quiet,button.apply{color:var(--accent);background:0 0;border-color:#0000;padding:4px 8px}button.apply{min-height:44px;padding:4px 0;font-size:13px}button.text-link{color:var(--accent);text-align:left;background:0 0;border:0;padding:0;font-weight:650}button.danger,.danger{color:var(--error)}button.full{width:100%;margin-top:24px}input:not([type=checkbox]):not([type=file]),select,textarea{border-radius:var(--radius-control);background:var(--surface);width:100%;min-width:0;min-height:44px;color:inherit;border:1px solid #dedbe0;padding:9px 12px}:where(input:not([type=checkbox]):not([type=file]),select,textarea):not(:disabled){border-color:var(--control-border)}input:disabled,select:disabled{color:#625e66;opacity:1;background:#f5f4f5}input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0}input[type=file]{width:100%;max-width:460px;min-height:44px;padding-top:8px;font-size:14px}input[type=file]::file-selector-button{background:var(--surface);border-radius:var(--radius-control);color:var(--accent);cursor:pointer;border:1px solid #dedbe0;margin-right:12px;padding:8px 12px}input[aria-invalid=true]{border-color:var(--error)}:focus-visible{outline-offset:3px;outline:3px solid #4f7298}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.muted,small,dt{color:var(--muted)}small{font-size:12px}.required,.error{color:var(--error)}.field{flex-direction:column;gap:8px;min-width:0;font-size:14px;display:flex}.field>span{font-weight:550}.field+.field{margin-top:16px}.form-grid .field+.field{margin-top:0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;display:grid}.form-grid>div{min-width:0}.row{align-items:center;gap:12px;display:flex}.row.spread,.spread{justify-content:space-between}.wrap{flex-wrap:wrap}.right{text-align:right}.block{display:block}.amount{font-variant-numeric:tabular-nums;white-space:nowrap}.prominent{font-size:24px}.tag{color:#5e6872;white-space:nowrap;background:#f1f3f5;border-radius:4px;align-items:center;padding:3px 9px;font-size:12px;display:inline-flex}.reimbursement-tag.tag-not-reimbursed{color:#9c4c56;background:#fbecee}.reimbursement-tag.tag-reimbursed{color:#397252;background:#e9f4ed}.reimbursement-tag.tag-in-progress{color:#466d94;background:#eaf1f8}.reimbursement-tag.tag-not-required{color:#5e6872;background:#f1f3f5}.app-shell{min-height:100dvh}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;width:232px;padding:32px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:#27242a;align-items:center;gap:12px;padding:0 8px;font-size:19px;font-weight:650;display:flex}.brand:hover{text-decoration:none}.brand-mark{border-radius:var(--radius-control);width:36px;height:36px;color:var(--accent);background:#eaf1f8;place-items:center;font-size:20px;font-weight:650;display:grid}.brand-logo{object-fit:contain;padding:3px}.sidebar nav{flex-direction:column;gap:8px;margin-top:48px;display:flex}.sidebar nav a{border-radius:var(--radius-control);color:var(--muted);min-height:44px;padding:11px 16px}.sidebar nav a.active{color:#355a7d;background:#eaf1f8;font-weight:600}.sidebar nav a:hover{background:#f5f4f5;text-decoration:none}.sidebar-account{border-top:1px solid var(--border);align-items:center;gap:12px;margin-top:auto;padding:24px 8px 0;display:flex}.sidebar-account>a{color:inherit;word-break:break-word;min-height:44px}.sidebar-account small{display:block}.avatar{background:#f5f4f5;border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid}.main{max-width:1512px;margin-left:232px;padding:40px 48px 72px}.page-head{justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px;display:flex}.eyebrow{color:var(--muted);letter-spacing:.06em;margin:0 0 4px;font-size:12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);margin-bottom:24px;padding:24px}.section-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.card>h2{margin-bottom:24px}.filters .row{margin-top:16px}.notice{border-radius:var(--radius-control);overflow-wrap:anywhere;background:#eaf1f8;border:1px solid #dedbe0;margin:16px 0;padding:12px 16px;font-size:14px}.notice.error{background:#eaf1f8;border-color:#dedbe0}.notice button{margin-left:12px}.empty{text-align:center;padding:48px 24px}.empty h3{font-weight:550}.table-wrap{margin:0 -24px;overflow:auto}.table-wrap:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.list-card{padding-bottom:0}table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}th{color:var(--muted);white-space:nowrap;background:#f5f4f5;padding:12px 16px;font-size:12px;font-weight:500}td{border-bottom:1px solid var(--border);padding:16px}td:first-child,th:first-child{width:48px;padding-left:24px}td:last-child,th:last-child{padding-right:24px}tr:hover{background:#f5f4f5}.pagination{color:var(--muted);justify-content:flex-end;align-items:center;gap:16px;padding:20px 0;font-size:13px;display:flex}.mobile-expenses{display:none}.voided{color:#625e66;background:#f5f4f5}.voided .tag{color:#625e66;background:#dedbe0}.voided .card{background:var(--surface)}.sum-line{border-top:1px solid var(--border);font-variant-numeric:tabular-nums;justify-content:space-between;gap:16px;margin-top:24px;padding-top:20px;font-size:14px;display:flex}.receipt{margin:20px 0}.receipt h3{margin:8px 0}.upload{flex-direction:column;gap:4px;margin:12px 0;display:flex}.upload progress{width:150px;height:8px;accent-color:var(--accent)}.thumbnail{object-fit:contain;border:1px solid var(--border);background:#f5f4f5;border-radius:4px;max-width:200px;max-height:144px}.attachment{flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0;display:flex}.invoice{border:1px solid var(--border);border-radius:var(--radius-control);margin-top:16px;padding:20px}.invoice>.row:first-child{margin-bottom:16px}.invoice-editor>.form-grid{margin-top:16px}.invoice-file{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.candidates{border-radius:var(--radius-control);overflow-wrap:anywhere;background:#eaf1f8;margin-top:12px;padding:12px;font-size:13px}.candidates .row{flex-wrap:wrap;margin-top:8px}.save-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);z-index:var(--layer-actions);justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex;position:sticky;bottom:0}.actions{justify-content:flex-end;align-items:center;gap:12px;margin-top:24px;display:flex}.check{cursor:pointer;align-items:center;gap:10px;min-height:44px;font-size:14px;display:flex}.check small{word-break:break-all}fieldset{border:1px solid var(--border);border-radius:var(--radius-control);max-height:340px;margin:20px 0;padding:12px 16px;overflow:auto}legend{color:var(--muted);padding:0 8px;font-size:13px}dialog{border:1px solid var(--border);border-radius:var(--radius-panel);width:calc(100% - 32px);max-width:600px;max-height:85dvh;color:inherit;padding:24px;overflow:auto}dialog::backdrop{background:#27242a59}.dialog-head{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.dialog-head button{font-size:24px}.auth-shell{place-items:center;min-height:100dvh;padding:32px 16px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel);width:100%;max-width:400px;padding:40px}.auth-card h1,.auth-card .brand-mark{margin-bottom:28px}.auth-logo{border-radius:14px;width:56px;height:56px;margin-inline:auto;display:block}.auth-card>.muted{text-align:center;margin-top:24px;font-size:12px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0;display:grid}.detail-grid div{min-width:0}dt{margin-bottom:6px;font-size:13px}dd{overflow-wrap:anywhere;margin:0;font-size:15px}.preserve{white-space:pre-wrap}.detail-grid+.row{margin-top:20px}details{margin:12px 0}summary{cursor:pointer;min-height:44px;color:var(--accent);padding:10px 0;font-size:14px}.audit-event{border-bottom:1px solid var(--border);padding:20px 0}.audit-event time{color:var(--muted);font-size:12px}.change-values{grid-template-columns:1fr 1fr;gap:16px;display:grid}.change-values pre{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:var(--radius-control);background:#f5f4f5;max-height:240px;padding:12px;font:12px/1.7 monospace;overflow:auto}.share-row,.user-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:20px 0;display:flex}.user-row p{margin:4px 0 0;font-size:13px}.user-list{margin-top:16px}.created-link{border-radius:var(--radius-control);background:#eaf1f8;padding:16px}.created-link button{margin-top:12px}.public-shell{max-width:1000px;margin:auto;padding:40px 24px}.skip-link{background:var(--surface);z-index:var(--layer-skip);padding:12px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:16px}@media (width>=1700px){.main{max-width:1560px;margin-left:auto;margin-right:auto;padding-left:280px}}@media (width<=1100px){.sidebar{width:196px}.main{margin-left:196px;padding:32px 24px}.page-head{align-items:flex-start}.page-head>.row{justify-content:flex-end}.filters-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.user-row{flex-direction:column;align-items:flex-start}.user-row>.row{flex-wrap:wrap}}@media (width<=760px){h1{font-size:24px}.sidebar{border-right:0;border-bottom:1px solid var(--border);grid-template-columns:1fr auto;width:100%;height:auto;padding:16px;display:grid;position:static}.sidebar .brand{padding:0;font-size:17px}.sidebar .brand-mark{width:30px;height:30px;font-size:18px}.sidebar nav{display:none}.sidebar nav a{white-space:nowrap;padding:8px 12px;font-size:14px}.sidebar-account{border:0;grid-area:1/2;margin:0;padding:0}.sidebar-account small,.sidebar-account .avatar{display:none}.main{padding:24px 16px calc(104px + env(safe-area-inset-bottom));margin:0}.page-head{flex-wrap:wrap;gap:16px;margin-bottom:24px}.page-head>.row{justify-content:flex-start}.card{margin-bottom:16px;padding:20px}.section-head{flex-wrap:wrap;gap:12px;margin-bottom:20px}.form-grid{grid-template-columns:1fr;gap:16px}.filters-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filters>.row{flex-wrap:wrap;align-items:flex-start}.table-wrap{display:none}.mobile-expenses{margin:0 -20px;display:block}.mobile-expenses article{border-top:1px solid var(--border);padding:20px}.mobile-expenses article>strong{margin-top:8px;font-size:20px;display:block}.mobile-expenses article p{margin:4px 0}.list-card{padding-bottom:0}.sum-line{flex-direction:column;gap:4px}.payer .section-head>.row{flex-wrap:wrap}.invoice{padding:16px}.save-bar{margin:0 -4px;padding:12px 16px}.save-bar .muted{max-width:50%;font-size:12px}.detail-grid{gap:20px}.audit-event>.row{flex-direction:column;align-items:flex-start;gap:4px}.change-values{grid-template-columns:1fr}.auth-card{padding:28px}.public-shell{padding:24px 16px}.share-row{align-items:flex-start}.pagination{gap:12px}.notice button{margin:8px 0 0;display:block}.dialog-head{gap:16px}.attachment{gap:8px}}@media (width<=380px){.filters-grid,.detail-grid{grid-template-columns:1fr}.sidebar nav a{padding:8px 10px;font-size:13px}.sidebar-account>a{max-width:100px;font-size:13px}.card{padding:16px}.mobile-expenses{margin:0 -16px}.mobile-expenses article{padding:16px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}button,.mobile-nav a{transition:transform .16s var(--ease-out), opacity .16s var(--ease-out)}button:active:enabled,.mobile-nav a:active{transform:scale(.98)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}h1{letter-spacing:-.025em;line-height:1.2}h1,h2,h3{text-wrap:balance}.card{border-radius:var(--radius-panel)}.mobile-nav{display:none}.list-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.filter-summary{font-size:13px}.column-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;display:grid}.column-options .check{border-bottom:1px solid var(--border);padding:8px 0}.filter-voided{margin-top:20px}.first-payer{max-width:440px;margin-bottom:24px}.first-payer p{margin:8px 0 0;font-size:13px}.filters-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.purpose-cell{min-width:200px;max-width:360px}.purpose-link{overflow-wrap:anywhere;white-space:normal;line-height:1.55}.list-card>.section-head{margin-bottom:20px}.list-card table td{vertical-align:top}.list-card table td:not(.purpose-cell){overflow-wrap:anywhere;min-width:88px}.list-card table td:first-child{min-width:48px}.list-card table td:nth-child(3){min-width:112px}.list-skeleton{gap:20px;padding:24px 0 32px;display:grid}.list-skeleton span{background:var(--background);border-radius:var(--radius-control);height:44px}dialog{background:var(--surface);border-radius:var(--radius-sheet)}dialog[open]{opacity:1;transition:opacity .18s var(--ease-out), transform .22s var(--ease-out);transform:translateY(0)}@starting-style{dialog[open]{opacity:0;transform:translateY(8px)}}@media (width<=760px){.desktop-create{display:none}.main{padding-bottom:calc(104px + env(safe-area-inset-bottom))}.mobile-nav{z-index:var(--layer-nav);padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fdfcfdf0;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;min-height:76px;display:grid;position:fixed;inset:auto 0 0}.mobile-nav a{min-height:48px;color:var(--muted);border-radius:var(--radius-control);place-items:center;font-size:14px;text-decoration:none;display:grid}.mobile-nav a:first-child{grid-column:1}.mobile-nav a[href="#/users"]{grid-column:2}.mobile-nav a[href="#/profile"]{grid-column:5}.mobile-nav a[aria-current=page]{color:var(--accent);font-weight:650}.mobile-nav .mobile-add{color:var(--surface);background:var(--accent);border-radius:var(--radius-sheet);grid-area:1/3;justify-self:center;width:52px;height:52px}.mobile-nav .mobile-add[aria-current=page]{color:var(--surface)}.mobile-add span{font-size:30px;font-weight:400;line-height:1}.sidebar{background:var(--background);border-bottom:0;padding-bottom:0}.sidebar .brand-mark{display:none}.sidebar-account>a{align-items:center;font-size:13px;display:grid}.page-head{align-items:center;margin-bottom:24px}.page-head h1{font-size:24px}.list-toolbar{gap:8px;margin-bottom:16px}.list-toolbar button{flex:1}.filter-summary{display:none}.list-card{background:0 0;border:0;padding:0}.list-card>.section-head{align-items:center;margin-bottom:16px}.list-card>.section-head h2{display:none}.list-card>.section-head>.row{gap:0}.list-card>.section-head button{padding-inline:12px;font-size:13px}.mobile-expenses{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel);margin:0;overflow:hidden}.mobile-expenses article{border-top:0;border-bottom:1px solid var(--border);padding:16px}.mobile-expenses article:last-child{border-bottom:0}.mobile-record-head{grid-template-columns:28px minmax(0,1fr);align-items:start;gap:8px;display:grid}.mobile-record-head .check{margin:0}.mobile-record-head .purpose-link{width:100%;min-height:44px;font-size:16px}.mobile-record-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin:8px 0 0 36px;display:grid}.mobile-record-fields div{min-width:0}.mobile-record-fields dt{margin-bottom:2px;font-size:12px}.mobile-record-fields dd{font-size:13px}.mobile-record-fields .record-amount dd{font-size:17px;font-weight:650}.save-bar{bottom:calc(84px + env(safe-area-inset-bottom));border-radius:var(--radius-panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fdfcfdf5}dialog{border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;width:100%;max-width:none;max-height:90dvh;padding-bottom:max(24px, env(safe-area-inset-bottom));margin:auto 0 0}.pagination{justify-content:space-between;gap:8px}.pagination button{padding-inline:12px}}@media (width<=380px){.filters-grid{grid-template-columns:1fr}.section-head>.row{flex-wrap:wrap}.mobile-record-fields{gap:12px;margin-left:0}.mobile-expenses article{padding:16px}.column-options{grid-template-columns:1fr}.save-bar{gap:8px;padding-inline:12px}}:root[data-input=keyboard] button,:root[data-input=keyboard] a,:root[data-input=keyboard] dialog[open]{transition:none;transform:none}@media (prefers-reduced-motion:reduce){button,.mobile-nav a,dialog[open]{transition:opacity .1s linear;transform:none!important}@starting-style{dialog[open]{transform:none}}}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){.mobile-nav,.save-bar{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}}.invoice-count,.paid-date{white-space:nowrap}.list-card table .column-invoiceCounts{min-width:108px}.list-card table .column-paidDates{min-width:124px}.list-card table .column-payerNames{min-width:148px}@media (width<=760px){.main{padding-top:16px}.expense-list-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.expense-list-header .page-head{flex-shrink:0;margin:0}.expense-list-header .list-toolbar{flex-wrap:nowrap;gap:8px;margin:0}.expense-list-header .list-toolbar button{flex:none;padding:8px 10px;font-size:13px}.list-card>.section-head{margin-bottom:12px}.mobile-record-fields{row-gap:8px}}
