:root{--background:#f4f7fb;--surface:#fff;--text:#162d43;--text-muted:#587086;--primary:#123c64;--primary-hover:#1d517e;--accent:#50d3d1;--border:#dbe4ee;--input-border:#ccd8e4;--focus:#238bb0;--soft-blue:#edf4f8;--selected:#e3edf6;--border-light:#edf1f5;--success-bg:#e6f4ee;--success-text:#1f6b52;--danger:#b52732;--danger-bg:#fff0f0;--warning-bg:#fff7e6;--warning-text:#7a5300;--radius:10px;--tap:48px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--background);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{min-height:100dvh;margin:0}h1,h2,h3,p{margin:0}h1{letter-spacing:-.5px;font-size:26px;font-weight:650;line-height:1.25}h2{font-size:19px;font-weight:650}h3{font-size:16px;font-weight:650}a{color:inherit}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.muted{color:var(--text-muted)}.small{font-size:13px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.topbar{padding:10px 16px;padding-top:max(10px, env(safe-area-inset-top));background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:12px;display:flex}.brand{align-items:center;gap:10px;min-height:44px;font-size:18px;font-weight:750;text-decoration:none;display:flex}.brand img{width:34px;height:34px}.tabbar{z-index:10;padding:6px max(4px, env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(4px, env(safe-area-inset-left));background:var(--surface);border-top:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a{min-height:54px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:12px;font-weight:500;text-decoration:none;display:flex}.tab-icon{border-radius:16px;padding:3px 18px;display:flex}.tabbar a[aria-current=page]{color:var(--primary);font-weight:700}.tabbar a[aria-current=page] .tab-icon{background:var(--selected)}.sidebar{display:none}.avatar{background:var(--selected);width:44px;height:44px;color:var(--primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:17px;font-weight:700;display:flex}.workspace{max-width:1200px;padding:20px 16px calc(96px + env(safe-area-inset-bottom));margin:0 auto;container-type:inline-size}.page-heading{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.page-heading .actions{flex-wrap:wrap;gap:8px;display:flex}.back-link{color:var(--text-muted);align-items:center;gap:4px;margin-bottom:8px;font-size:14px;text-decoration:none;display:inline-flex}.button{border:1px solid var(--input-border);background:var(--surface);min-height:44px;color:var(--primary);font:inherit;cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.button:hover{background:var(--soft-blue)}.button.primary{background:var(--primary);border-color:var(--primary);color:#fff}.button.primary:hover{background:var(--primary-hover)}.button.danger{color:var(--danger);border-color:#f1c8cb}.button.link{color:#236787;background:0 0;border:0;min-height:0;padding:6px 8px}.button.link.icon-button{width:44px;height:44px;color:var(--text-muted);padding:0}.button:disabled{opacity:.55;cursor:not-allowed}.message{border-radius:8px;margin-bottom:16px;padding:12px 14px;font-size:15px}.message.error{background:var(--danger-bg);color:#9b2732;border:1px solid #f1c8cb}.message.success{background:var(--success-bg);color:var(--success-text)}.message.warning{background:var(--warning-bg);color:var(--warning-text)}.message.info{background:var(--soft-blue);color:#2d566f}.update-banner{padding:10px 16px;padding-top:max(10px, env(safe-area-inset-top));background:var(--primary);color:#fff;text-align:center;font-size:15px}.update-banner .button.link{color:var(--accent);min-height:auto;padding:0;font-weight:600}.entry-home{flex-direction:column;gap:16px;max-width:640px;margin:0 auto;padding-top:8px;display:flex}.entry-actions{gap:12px;display:grid}.entry-action{background:var(--surface);width:100%;min-height:92px;color:var(--primary);border:1px solid #cddce9;border-radius:14px;align-items:center;gap:18px;padding:18px 20px;text-decoration:none;display:flex;box-shadow:0 4px 14px #123c6408}.entry-action strong{font-size:21px;line-height:1.3;display:block}.entry-action span span{margin-top:4px;font-size:15px;display:block}.entry-action.invoice{background:var(--primary);border-color:var(--primary);color:#fff}.entry-action.invoice svg{color:var(--accent)}.fullscreen-form{background:var(--background);flex-direction:column;min-height:100dvh;display:flex}.fullscreen-form>header{z-index:5;padding:12px 16px;padding-top:max(12px, env(safe-area-inset-top));background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:12px;display:flex;position:sticky;top:0}.fullscreen-form>header h1{flex:1;font-size:20px}.fullscreen-form>header .button.link{width:44px;height:44px;padding:0}.form-body{flex-direction:column;flex:1;gap:18px;width:100%;max-width:760px;margin:0 auto;padding:18px 16px 24px;display:flex}.form-footer{padding:12px 16px;padding-bottom:max(12px, env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);gap:10px;display:flex;position:sticky;bottom:0}.form-footer .button{min-height:var(--tap);flex:1}.form-footer .button.cancel{display:none}.form-footer .button.primary{white-space:normal;text-align:center}.field{flex-direction:column;gap:6px;min-width:0;font-size:15px;font-weight:500;display:flex}.field .hint{color:var(--text-muted);font-size:13px;font-weight:400}.field .optional{color:var(--text-muted);font-weight:400}.field.flag-read input,.field.flag-read select{background:#f3fbfa;border-color:#6fbfb5}.field.flag-unread input,.field.flag-unread select{background:var(--warning-bg);border-color:#e0a400}.field .flag{font-size:13px;font-weight:400}.field.flag-read .flag{color:#236b60}.field.flag-unread .flag{color:var(--warning-text)}input,select,textarea{width:100%;min-height:var(--tap);border:1px solid var(--input-border);background:var(--surface);color:var(--text);font:inherit;border-radius:8px;padding:10px 12px;font-size:16px}textarea{resize:vertical;min-height:90px}input:focus,select:focus,textarea:focus{outline:2px solid var(--focus);outline-offset:1px}.two-columns{grid-template-columns:1fr;gap:18px;display:grid}.date-pair{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:0 12px;display:grid}.date-pair>.field{grid-row:span 5;grid-template-rows:subgrid;row-gap:0;display:grid}.date-pair>.field>*+*{margin-top:6px}.date-pair input{min-width:0}.amount-input{border:1px solid var(--input-border);background:var(--surface);border-radius:8px;align-items:center;gap:8px;min-height:56px;padding:0 12px;display:flex}.amount-input:focus-within{outline:2px solid var(--focus);outline-offset:1px}.amount-currency{color:var(--text-muted);font-size:16px;font-weight:600}.amount-input input{background:0 0;border:0;flex:1;min-width:0;min-height:54px;padding:0;font-size:22px;font-weight:650}.amount-input input:focus{outline:none}.field.flag-read .amount-input{background:#f3fbfa;border-color:#6fbfb5}.field.flag-unread .amount-input{background:var(--warning-bg);border-color:#e0a400}.field.invalid input,.field.invalid select,.field.invalid textarea,.field.invalid .amount-input,.upload-box.invalid{border-color:var(--danger)}.password-input{display:flex;position:relative}.password-input input{padding-right:calc(4.75em + 2px)}.password-input input::-ms-reveal{display:none}.password-input input::-ms-clear{display:none}.password-input .password-toggle{min-width:4em;min-height:44px;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.field-error{color:var(--danger);font-size:14px;font-weight:500}.reimbursed-line{flex-direction:column;gap:6px;display:flex}.reimbursed-line p{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-items:center;gap:10px;padding:0 4px 0 14px;font-size:15px;display:flex}.reimbursed-line p span{flex:1}.reimbursed-line .button.link{min-height:44px;font-weight:650}.reimbursed-line.flag-read p{background:#f3fbfa;border-color:#6fbfb5}.reimbursed-line .flag{color:#236b60;font-size:13px}.form-main,.receipt-pane,.amount-pair,.field-pair{display:contents}.more-details{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:0 14px}.more-details>summary{cursor:pointer;align-items:center;gap:6px;min-height:52px;font-size:15px;font-weight:600;list-style:none;display:flex}.more-details>summary::-webkit-details-marker{display:none}.more-details>summary .muted{min-width:0;font-weight:400}.more-details-title{white-space:nowrap;flex-shrink:0}.more-details .chevron{color:var(--text-muted);flex-shrink:0;margin-left:auto}.more-details[open] .chevron{transform:rotate(180deg)}.more-details-body{flex-direction:column;gap:16px;padding:4px 0 16px;display:flex}.preview{color:#236b60;background:#edf7f5;border-radius:8px;padding:12px 14px;font-size:15px}.upload-box{border-radius:var(--radius);background:#f4f8fc;border:1px dashed #adc4d8;flex-direction:column;gap:10px;padding:16px;display:flex}.upload-actions{flex-wrap:wrap;gap:10px;display:flex}.upload-actions label{flex:1}.upload-actions label:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.upload-box.invalid .upload-actions label:focus-within{outline:3px solid var(--focus);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.page-tiles{grid-template-columns:repeat(auto-fill,minmax(66px,1fr));gap:14px 8px;margin:0;padding:10px 0 0;list-style:none;display:grid}.page-tile{position:relative}.page-thumb,.page-add{aspect-ratio:76/100;border-radius:8px;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.page-thumb{border:1px solid var(--border);background:var(--surface)}.page-thumb img{object-fit:cover;width:100%;height:100%}.page-doc{color:var(--text-muted);flex-direction:column;align-items:center;gap:4px;font-size:12px;font-weight:700;display:flex}.page-tile.waiting .page-thumb>*,.page-tile.uploading .page-thumb>*,.page-tile.failed .page-thumb>*{opacity:.5}.page-tile.failed .page-thumb{border:2px solid var(--danger)}.page-progress{background:#fffc;border-radius:3px;height:6px;position:absolute;bottom:8px;left:8px;right:8px;overflow:hidden}.page-progress>span{background:var(--primary);border-radius:3px;height:100%;transition:width .2s;display:block}.page-progress.indeterminate>span{width:40%;animation:1.2s ease-in-out infinite page-progress}@keyframes page-progress{0%{transform:translate(-100%)}to{transform:translate(250%)}}.page-retry{background:var(--surface);min-height:44px;color:var(--danger);font:inherit;cursor:pointer;border:1px solid #f1c8cb;border-radius:6px;justify-content:center;align-items:center;gap:4px;font-size:13px;font-weight:650;display:flex;position:absolute;bottom:4px;left:4px;right:4px}.page-remove{border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:-10px;right:-8px}.page-add{color:var(--primary);text-align:center;cursor:pointer;background:#f4f8fc;border:1px dashed #adc4d8;flex-direction:column;gap:6px;font-size:13px;font-weight:600}.page-add:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.upload-box.invalid .page-add:focus-within,.upload-box.invalid .page-retry:focus{outline:3px solid var(--focus);outline-offset:2px}.page-add:has(input:disabled){opacity:.55;cursor:not-allowed}.reading-status{align-items:center;gap:8px;display:flex}.spin{flex-shrink:0;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spin,.page-progress.indeterminate>span{animation:none}.page-progress.indeterminate>span{opacity:.35;width:100%}}.file-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.file-list li{background:var(--surface);border:1px solid var(--border);overflow-wrap:anywhere;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:6px 6px 6px 12px;font-size:14px;display:flex}.stats{grid-template-columns:1fr;gap:12px;margin-bottom:24px;display:grid}.stat{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:18px 20px}.stat p{color:var(--text-muted);font-size:14px}.stat strong{letter-spacing:-.5px;margin:2px 0;font-size:26px;font-weight:650;display:block}.stat.main{background:var(--primary);border-color:var(--primary);color:#fff}.stat.main p,.stat.main span{color:#c5dce9}.card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:14px;display:grid}.card{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:18px;text-decoration:none;display:block}a.card:hover{border-color:#a9c2d6}.card-title{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.card-balance{margin-top:12px;font-size:24px;font-weight:650}.badge{background:var(--soft-blue);color:#2d566f;border-radius:20px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.badge.voided{color:var(--danger);background:#f3e1e2}.lots{margin:0;padding:0;list-style:none}.lots li{border-bottom:1px solid #edf1f5;justify-content:space-between;gap:10px;padding:10px;font-size:14px;display:flex}.lots li:last-child{border-bottom:0}.section{margin-top:28px}.section>h2{margin-bottom:12px}.movement-list{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin:0;padding:0;list-style:none;overflow:hidden}.movement-list a:not(.row-action){border-bottom:1px solid #edf1f5;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:2px 12px;padding:12px 14px;text-decoration:none;display:grid}.movement-list li:last-child a:not(.row-action){border-bottom:0}.movement-list a:not(.row-action):hover{background:#f9fbfe}.movement-list .label{display:contents}.movement-list .label strong{overflow-wrap:anywhere;grid-area:1/1;font-weight:600}.movement-list .label .muted{text-overflow:ellipsis;white-space:nowrap;grid-area:2/1/auto/3;min-width:0;overflow:hidden}.movement-list a:has(.badge) .label .muted{grid-column:1}.movement-list a>.money{text-align:right;grid-area:1/2}.movement-list a>.badge{grid-area:2/2;justify-self:end}.movement-list a>svg{grid-area:1/3/3}.movement-list .label.voided>*,.movement-list .voided{opacity:.55;text-decoration:line-through}.money.incoming{color:var(--success-text)}.day-heading{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:20px 0 8px;font-size:13px;font-weight:650}.day-group:first-of-type .day-heading{margin-top:0}.empty{text-align:center;color:var(--text-muted);border:1px dashed #cad9e6;border-radius:12px;padding:32px 16px}.filters{grid-template-columns:1fr;align-items:end;gap:12px;margin-bottom:18px;display:grid}.filters-inline{display:none}.button.filters-button{border-radius:22px}.filter-count{background:var(--primary);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:12px;display:inline-flex}.filter-chips{flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.filter-chips button{background:var(--selected);min-height:44px;color:var(--primary);font:inherit;cursor:pointer;border:0;border-radius:22px;align-items:center;gap:6px;padding:0 12px 0 14px;font-size:14px;font-weight:600;display:inline-flex}.button.export-button{width:44px;padding:0}.export-text{display:none}.sheet{background:var(--surface);width:100%;max-width:560px;max-height:90dvh;color:var(--text);border:0;border-radius:16px 16px 0 0;margin:auto auto 0;padding:0}.sheet[open]{flex-direction:column;display:flex}.sheet::backdrop{background:#162d4366}html:has(dialog:modal){overflow:hidden}.sheet-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:6px 6px 6px 20px;display:flex}.sheet-body{overscroll-behavior:contain;flex-direction:column;gap:16px;padding:16px 20px;display:flex;overflow-y:auto}.sheet-footer{padding:12px 20px;padding-bottom:calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border-light);gap:10px;display:flex}.sheet-footer .button{min-height:var(--tap);flex:1}.details{border:1px solid var(--border);background:var(--surface);border-radius:12px;grid-template-columns:1fr;gap:2px 16px;margin:0;padding:16px;display:grid}.details dt{color:var(--text-muted);margin-top:10px;font-size:13px}.details dd{overflow-wrap:anywhere;margin:0}.admin-cards{grid-template-columns:minmax(0,1fr);gap:10px;margin:0;padding:0;list-style:none;display:grid}.admin-cards .card-title{flex-wrap:wrap}.admin-cards .card-title h3{overflow-wrap:break-word;min-width:0}.admin-cards .badge{flex-shrink:0}.admin-cards .card p{overflow-wrap:anywhere}.admin-table{display:none}.link-row{cursor:pointer;position:relative}.link-row td a{font-weight:600;text-decoration:none}.link-row td a:after{content:"";position:absolute;inset:0}.link-row td a:focus-visible{outline:none}.link-row:hover{background:#f9fbfe}.link-row:has(a:focus-visible){outline:3px solid var(--focus);outline-offset:-3px}.admin-forms{grid-template-columns:minmax(0,1fr);gap:16px;max-width:640px;margin-top:16px;display:grid}.admin-form,.account-password{gap:12px;display:grid}.admin-form>h2{font-size:17px}.admin-form .message{margin-bottom:0}.admin-form .button{white-space:normal;text-align:center}.correction-changes{overflow-wrap:anywhere;margin:6px 0;padding:0;list-style:none}.history-item{background:#f2f6fa;border-left:3px solid #5894ac;border-radius:6px;margin-bottom:10px;padding:12px 14px;font-size:14px}.detail-summary{border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:18px 20px}.detail-panel .detail-summary{border:0;padding:0}.detail-summary h1,.detail-summary h2{margin:2px 0 8px}.detail-amount{letter-spacing:-.5px;margin-bottom:6px;font-size:32px;font-weight:700;line-height:1.2}.detail-amount.voided{opacity:.55;text-decoration:line-through}.detail-summary .badge{margin-bottom:6px;display:inline-block}.detail-actions{bottom:calc(69px + env(safe-area-inset-bottom));z-index:5;border-top:1px solid var(--border);background:var(--surface);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px -16px 0;padding:12px 16px;display:grid;position:sticky}.workspace:has(>.detail-actions){padding-bottom:calc(69px + env(safe-area-inset-bottom))}.detail-panel .detail-actions{margin:20px 0 -20px;padding:12px 0 20px;bottom:-20px}.detail-receipts{margin-top:20px}.receipt-pages{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;max-width:440px;margin:0;padding:0;list-style:none;display:grid}.receipt-pages a{text-decoration:none}.detail-rows{border:1px solid var(--border);background:var(--surface);border-radius:12px;grid-template-columns:max-content minmax(0,1fr);margin:20px 0 0;padding:0 16px;display:grid}.detail-rows dt,.detail-rows dd{border-bottom:1px solid var(--border-light);padding:12px 0}.detail-rows dt{color:var(--text-muted);padding-right:16px}.detail-rows dd{text-align:right;overflow-wrap:anywhere;margin:0}.detail-rows>div:last-child>*{border-bottom:0}.detail-line{display:block}.table-wrap{border:1px solid var(--border);background:var(--surface);border-radius:12px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid #edf1f5;padding:12px 14px}th{color:var(--text-muted);font-size:13px;font-weight:600}.movement-table td{vertical-align:top;font-size:15px}.movement-table .date{color:var(--text-muted);white-space:nowrap}.movement-table td a{overflow-wrap:anywhere;font-weight:600;text-decoration:none;display:block}.movement-row{position:relative}.movement-table td a:after{content:"";position:absolute;inset:0}.movement-table td a:focus-visible{outline:none}.movement-row:has(a:focus-visible){outline:3px solid var(--focus);outline-offset:-3px}.movement-table td .muted.small{display:block}.movement-table .amount{text-align:right;font-weight:650}.movement-table th.amount{white-space:nowrap;font-weight:600}.movement-table .voided a,.movement-table .amount.voided{opacity:.55;text-decoration:line-through}.movement-row{cursor:pointer}.movement-row:hover{background:#f9fbfe}.movement-row.selected{background:var(--selected);box-shadow:inset 3px 0 0 var(--primary)}.movement-row.selected :is(.date,.muted){color:#4d6378}.movement-table .day-row th{letter-spacing:.06em;text-transform:uppercase;background:var(--background);padding:16px 14px 8px;font-size:13px;font-weight:650}.movements-layout.with-panel{grid-template-columns:minmax(0,1fr) minmax(300px,360px);align-items:start;gap:24px;display:grid}.detail-panel{border:1px solid var(--border);background:var(--surface);border-radius:12px;max-height:calc(100dvh - 32px);margin-bottom:-40px;padding:16px 20px 20px;position:sticky;top:16px;overflow-y:auto;container-type:inline-size}.detail-panel .panel-close{float:right;margin:-6px -10px 0 0}.detail-panel h2{font-size:20px}.detail-panel .section>h3{margin-bottom:10px}.detail-panel :is(h2,h3):focus{outline:none}.more-page{flex-direction:column;gap:18px;max-width:640px;margin:0 auto;display:flex}.profile-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:12px;padding:14px;display:flex}.profile-card>span:last-child{flex-direction:column;display:flex}.menu-section{flex-direction:column;gap:8px;display:flex}.menu-section h2{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:13px}.menu-list{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin:0;padding:0;list-style:none;overflow:hidden}.menu-list li+li{border-top:1px solid var(--border-light)}.menu-list a{min-height:52px;color:var(--text);align-items:center;gap:12px;padding:0 14px;font-size:16px;text-decoration:none;display:flex}.menu-list a:hover{background:var(--soft-blue)}.menu-list a:focus-visible{outline-offset:-3px}.menu-list a span{flex:1}.menu-list svg{color:var(--text-muted);flex-shrink:0}.button.sign-out{border-radius:12px;width:100%;min-height:52px;font-size:16px;font-weight:650}.confirm-dialog{background:var(--surface);width:min(400px,100% - 32px);color:var(--text);border:0;border-radius:14px;padding:0;box-shadow:0 12px 40px #123c6433}.confirm-dialog::backdrop{background:#162d4366}.confirm-dialog-body{flex-direction:column;gap:10px;padding:20px;display:flex}.confirm-dialog-actions{gap:10px;margin-top:10px;display:flex}.confirm-dialog-actions .button{flex:1}.startup{min-height:100dvh;color:var(--primary);flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:20px;font-weight:750;display:flex}.startup img{width:72px;height:72px}.skeleton-list{border:1px solid var(--border);background:var(--surface);border-radius:12px;overflow:hidden}.skeleton-row{border-bottom:1px solid var(--border-light);flex-direction:column;justify-content:center;gap:8px;min-height:72px;padding:14px;display:flex}.skeleton-row:last-child{border-bottom:0}.skeleton-card{flex-direction:column;gap:12px;min-height:150px;display:flex}.skeleton-line{background:linear-gradient(90deg,#e9eff5 25%,#f4f7fb 50%,#e9eff5 75%) 0 0/200% 100%;border-radius:6px;height:12px;animation:1.4s ease-in-out infinite skeleton;display:block}.skeleton-line.wide{width:70%}.skeleton-line.short{width:35%}.skeleton-line.tall{height:24px}@keyframes skeleton{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.skeleton-line{animation:none}}.stale-balances{flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:16px;display:flex}.stale-balances .button.link{min-height:44px;color:var(--warning-text);padding:0;font-weight:650;text-decoration:underline}.login{flex-direction:column;gap:18px;max-width:420px;margin:0 auto;padding:48px 16px;display:flex}.login .brand{margin-bottom:8px;font-size:22px}.login-form{flex-direction:column;gap:18px;display:flex}@media (width<=699.98px){.page-heading .wide-only{display:none}}@media (width>=700px){html{scrollbar-gutter:stable}#root{flex-direction:column;min-height:100dvh;display:flex}.login{width:100%}.topbar,.tabbar{display:none}.detail-actions{padding:12px 0 max(12px, env(safe-area-inset-bottom));margin:20px 0 0;bottom:0}.workspace:has(>.detail-actions){padding-bottom:0}.detail-panel .detail-actions{margin:20px 0 -20px;padding:12px 0 20px}.app-shell{flex:1;grid-template-columns:232px minmax(0,1fr);align-items:start;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;align-self:stretch;padding:0 12px;display:flex}.sidebar-top{padding-top:16px;position:sticky;top:0}.sidebar .brand{padding:4px 8px 18px;font-size:17px}.sidebar .brand img{width:32px;height:32px}.sidebar nav{flex-direction:column;gap:2px;display:flex}.sidebar nav a{min-height:44px;color:var(--text);border-radius:8px;align-items:center;gap:10px;padding:0 10px;font-size:15px;text-decoration:none;display:flex}.sidebar nav a svg{color:var(--text-muted);flex-shrink:0}.sidebar nav a:hover{background:var(--soft-blue)}.sidebar nav a[aria-current=page]{background:var(--selected);color:var(--primary);font-weight:650}.sidebar nav a[aria-current=page] svg{color:currentColor}.sidebar-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:18px 10px 6px;font-size:12px;font-weight:650}.sidebar-user{background:var(--surface);border-top:1px solid var(--border-light);align-items:center;gap:10px;margin-top:auto;padding:12px 0 16px 8px;display:flex;position:sticky;bottom:0}.sidebar-user .avatar{width:36px;height:36px;font-size:15px}.sidebar-user-name{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.sidebar-user-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.workspace{width:100%;padding:28px 32px 56px}.fullscreen-form .two-columns{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1.3fr 1fr 1fr}.form-footer{justify-content:flex-end}.form-footer .button{flex:none;min-width:200px}.form-footer .button.cancel{display:inline-flex}.form-footer .button.primary{min-width:300px}}@container (width>=636px){.admin-cards{display:none}.admin-table{display:block}.page-heading{flex-direction:row;justify-content:space-between;align-items:flex-end}.two-columns{grid-template-columns:1fr 1fr}.filters{grid-template-columns:repeat(4,1fr) auto}.filters-inline{display:grid}.button.filters-button,.filter-chips{display:none}.button.export-button{width:auto;padding:10px 16px}.export-text{display:inline}.details{grid-template-columns:max-content 1fr}.detail-actions{grid-template-columns:repeat(2,max-content)}.details dt{margin-top:0;padding:6px 0}.details dd{padding:6px 0}}#root:has(>.invoice-layout){height:100dvh}.fullscreen-form.invoice-layout{flex:1 1 0;height:100dvh;min-height:0}.invoice-layout .form-body{--receipt-width:max(360px, 100% - 820px);max-width:none;min-height:0;padding:0 0 0 var(--receipt-width);flex:1 1 0;margin:0;display:block;position:relative;overflow:hidden}.invoice-layout .form-main{flex-direction:column;gap:18px;height:100%;padding:20px 28px 32px;display:flex;overflow-y:auto}.invoice-layout .receipt-pane{width:var(--receipt-width);border-right:1px solid var(--border);--text-muted:#4f667c;background:#e9eef4;flex-direction:column;padding:16px 20px 20px;display:flex;position:absolute;top:0;bottom:0;left:0;overflow-y:auto}.upload-box.with-viewer{background:0 0;border-style:solid;border-color:#0000;flex:auto;padding:0}.upload-box.with-viewer.invalid{border-color:var(--danger);padding:8px}.page-viewer{flex-direction:column;flex:auto;gap:10px;min-height:280px;display:flex}.page-viewer-bar{align-items:center;gap:8px;display:flex}.page-viewer-bar>span{color:var(--text-muted);flex:1;font-size:14px}.page-viewer-bar .button{width:44px;min-height:44px;padding:0}.page-viewer-frame{contain:size;background:var(--surface);min-height:0;box-shadow:inset 0 0 0 1px var(--border);border-radius:8px;flex:auto;display:flex;overflow:hidden}.page-viewer-frame.zoomed{overflow:auto}.page-viewer-frame img{flex:none;max-width:calc(100% - 24px);max-height:calc(100% - 24px);margin:auto;display:block}.page-viewer-doc{color:var(--text-muted);flex-direction:column;align-items:center;gap:8px;margin:auto;padding:24px;font-weight:700;text-decoration:none;display:flex}a.page-viewer-doc{color:var(--primary)}.page-viewer-open{font-size:14px;font-weight:600;text-decoration:underline}.with-viewer .page-tiles{grid-template-columns:repeat(auto-fill,64px);gap:12px 10px;padding:12px 8px 0 0}button.page-thumb{font:inherit;cursor:pointer;padding:0}.page-thumb[aria-current=true]{box-shadow:0 0 0 2px var(--primary)}.invoice-layout :is(.amount-pair,.field-pair,.more-details-body){grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:0 16px;display:grid}.invoice-layout .more-details-body{grid-template-columns:repeat(3,minmax(0,1fr))}.invoice-layout .date-pair{column-gap:16px}.invoice-layout :is(.amount-pair,.field-pair,.more-details-body)>.field{grid-row:span 5;grid-template-rows:subgrid;row-gap:0;display:grid}.invoice-layout :is(.amount-pair,.field-pair,.more-details-body)>.field>*+*{margin-top:6px}.invoice-layout .amount-pair>.reimbursed-line{grid-area:2/2/span 4;margin-top:6px}.invoice-layout .amount-pair>.reimbursed-line p{min-height:56px}.invoice-layout .amount-pair>.preview{grid-column:2;margin-top:12px}.invoice-layout .receipt-pane>.upload-box.drop-zone{text-align:center;flex:auto;justify-content:center;align-items:center;gap:14px;padding:32px 24px}.upload-box.drop-zone .upload-actions{flex-direction:column;align-items:stretch;width:min(280px,100%)}.drop-hint{color:var(--text-muted);font-size:14px}.upload-box.dragging{border-style:solid;border-color:var(--primary);background:#e8f1fa}.saved-region:empty{position:absolute}.saved-message{align-items:center;gap:10px;min-height:48px;margin-bottom:0;padding:4px 6px 4px 14px;display:flex}.saved-message>svg{flex-shrink:0}.saved-text{flex:1;min-width:0}.saved-actions{flex-shrink:0;display:flex}.saved-actions .button.link{min-height:44px;color:var(--success-text);font-weight:650;text-decoration:underline}.saved-actions .button.link.delete{color:var(--danger)}.saved-region.spaced .saved-message{margin-bottom:16px}.envelope-page{gap:24px;display:grid}.envelope-main{flex-direction:column;gap:12px;min-width:0;display:flex}.envelope-entries{grid-template-columns:3fr 2fr;gap:12px;display:grid}.envelope-entries .button{min-height:52px;font-size:16px}.envelope-entries .button.primary svg{color:var(--accent)}.envelope-main .more-details-body .actions{flex-wrap:wrap;gap:8px;display:flex}.lots-fold>summary{padding:8px 0}.lots-summary{flex-direction:column;gap:2px;min-width:0;display:flex}.lots-export{align-self:flex-start}.lots-empty{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:14px}.envelope-latest .list-heading{margin-top:0}.latest-transactions{border:1px solid var(--border);background:var(--surface);border-radius:12px;overflow:hidden}.latest-transactions .movement-list{border:0;border-radius:0}.see-all{border-top:1px solid var(--border-light);min-height:52px;color:var(--primary);justify-content:center;align-items:center;font-weight:600;text-decoration:none;display:flex}.see-all:hover{background:#f9fbfe}.see-all:focus-visible,.movement-list a:not(.row-action):focus-visible{outline-offset:-3px}.list-heading{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:8px 0;font-size:13px;font-weight:650}.entry-lists{gap:8px;display:grid}.movement-list li.with-action{border-bottom:1px solid var(--border-light);align-items:center;display:flex}.movement-list li.with-action:last-child{border-bottom:0}.movement-list li.with-action>a:not(.row-action){border-bottom:0;flex:1;min-width:0}.movement-list .row-action{flex-shrink:0;min-height:44px;margin-right:12px}@container (width>=760px){.entry-home{max-width:1000px}.entry-actions,.entry-lists{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.envelope-detail{max-width:1000px}.envelope-page{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;column-gap:20px}}
