@custom-variant dark (&:is(.dark *));@theme inline{--color-background:var(--background);--color-foreground:var(--foreground);--font-sans:var(--font-geist-sans);--font-mono:var(--font-geist-mono);--font-heading:var(--font-sans);--color-sidebar-ring:var(--sidebar-ring);--color-sidebar-border:var(--sidebar-border);--color-sidebar-accent-foreground:var(--sidebar-accent-foreground);--color-sidebar-accent:var(--sidebar-accent);--color-sidebar-primary-foreground:var(--sidebar-primary-foreground);--color-sidebar-primary:var(--sidebar-primary);--color-sidebar-foreground:var(--sidebar-foreground);--color-sidebar:var(--sidebar);--color-chart-5:var(--chart-5);--color-chart-4:var(--chart-4);--color-chart-3:var(--chart-3);--color-chart-2:var(--chart-2);--color-chart-1:var(--chart-1);--color-ring:var(--ring);--color-input:var(--input);--color-border:var(--border);--color-destructive:var(--destructive);--color-accent-foreground:var(--accent-foreground);--color-accent:var(--accent);--color-muted-foreground:var(--muted-foreground);--color-muted:var(--muted);--color-secondary-foreground:var(--secondary-foreground);--color-secondary:var(--secondary);--color-primary-foreground:var(--primary-foreground);--color-primary:var(--primary);--color-popover-foreground:var(--popover-foreground);--color-popover:var(--popover);--color-card-foreground:var(--card-foreground);--color-card:var(--card);--radius-sm:calc(var(--radius) * 0.6);--radius-md:calc(var(--radius) * 0.8);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) * 1.4);--radius-2xl:calc(var(--radius) * 1.8);--radius-3xl:calc(var(--radius) * 2.2);--radius-4xl:calc(var(--radius) * 2.6)}body{font-family:var(--font-geist-sans),Arial,Helvetica,sans-serif}:root{--background:#f7faf8;--foreground:#15364c;--card:oklch(1 0 0);--card-foreground:oklch(0.145 0 0);--popover:oklch(1 0 0);--popover-foreground:oklch(0.145 0 0);--primary:#145b84;--primary-foreground:oklch(0.985 0 0);--secondary:oklch(0.97 0 0);--secondary-foreground:oklch(0.205 0 0);--muted:oklch(0.97 0 0);--muted-foreground:oklch(0.556 0 0);--accent:oklch(0.97 0 0);--accent-foreground:oklch(0.205 0 0);--destructive:oklch(0.577 0.245 27.325);--border:oklch(0.922 0 0);--input:oklch(0.922 0 0);--ring:oklch(0.708 0 0);--chart-1:oklch(0.87 0 0);--chart-2:oklch(0.556 0 0);--chart-3:oklch(0.439 0 0);--chart-4:oklch(0.371 0 0);--chart-5:oklch(0.269 0 0);--radius:0.55rem;--sidebar:oklch(0.985 0 0);--sidebar-foreground:oklch(0.145 0 0);--sidebar-primary:oklch(0.205 0 0);--sidebar-primary-foreground:oklch(0.985 0 0);--sidebar-accent:oklch(0.97 0 0);--sidebar-accent-foreground:oklch(0.205 0 0);--sidebar-border:oklch(0.922 0 0);--sidebar-ring:oklch(0.708 0 0)}.dark{--background:oklch(0.145 0 0);--foreground:oklch(0.985 0 0);--card:oklch(0.205 0 0);--card-foreground:oklch(0.985 0 0);--popover:oklch(0.205 0 0);--popover-foreground:oklch(0.985 0 0);--primary:oklch(0.922 0 0);--primary-foreground:oklch(0.205 0 0);--secondary:oklch(0.269 0 0);--secondary-foreground:oklch(0.985 0 0);--muted:oklch(0.269 0 0);--muted-foreground:oklch(0.708 0 0);--accent:oklch(0.269 0 0);--accent-foreground:oklch(0.985 0 0);--destructive:oklch(0.704 0.191 22.216);--border:oklch(1 0 0/10%);--input:oklch(1 0 0/15%);--ring:oklch(0.556 0 0);--chart-1:oklch(0.87 0 0);--chart-2:oklch(0.556 0 0);--chart-3:oklch(0.439 0 0);--chart-4:oklch(0.371 0 0);--chart-5:oklch(0.269 0 0);--sidebar:oklch(0.205 0 0);--sidebar-foreground:oklch(0.985 0 0);--sidebar-primary:oklch(0.488 0.243 264.376);--sidebar-primary-foreground:oklch(0.985 0 0);--sidebar-accent:oklch(0.269 0 0);--sidebar-accent-foreground:oklch(0.985 0 0);--sidebar-border:oklch(1 0 0/10%);--sidebar-ring:oklch(0.556 0 0)}@layer base{*{@apply border-border outline-ring/50}body{@apply bg-background text-foreground}html{@apply font-sans}}.workspace{max-width:1440px;margin:auto;padding:0 40px 60px}.topbar{height:82px;justify-content:space-between;border-bottom:1px solid #dce3ec}.brand,.topbar{display:flex;align-items:center}.brand{gap:12px;font-size:19px;font-weight:700}.brand svg{color:#174ed0}.identity{font-size:14px;color:#526174}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:38px 0 28px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;color:#526174;margin-bottom:9px}h1{font-size:32px;font-weight:650;letter-spacing:-1px;line-height:1.25}.subtle{color:#5b6879;font-size:14px}.page-heading p.subtle{font-size:16px;margin-top:8px}.actions{display:flex;gap:10px}.actions button{min-height:42px;font-size:14px}.totals{display:grid;grid-template-columns:1.2fr 1fr 1fr;margin-bottom:30px;border:1px solid #dce3ec;background:white;border-radius:12px;overflow:hidden}.totals>div{padding:25px 28px;border-right:1px solid #e4e9ef}.totals>div:last-child{border:0}.totals span{font-size:14px;color:#526174}.totals strong{display:block;font-size:29px;font-weight:650;letter-spacing:-.7px;margin-top:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.totals small{font-size:14px;font-weight:500;letter-spacing:0}.totals p{font-size:14px;margin-top:6px;color:#d8e5ff}.totals .balance{background:#173c93;color:white}.balance span{color:#d8e5ff}.account-table{background:white;border:1px solid #dce3ec;border-radius:12px;overflow:hidden}.section-heading{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;gap:12px}h2{font-size:19px;font-weight:650}th{background:#f8fafc;color:#526174!important;font-size:14px!important;height:46px!important}td{padding:16px 24px!important;font-size:15px!important}th{padding-left:24px!important;padding-right:24px!important}td b{font-weight:550}.numeric{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.description-column{min-width:230px}.description-cell{max-width:340px;line-height:1.45;overflow-wrap:anywhere}.metadata{font-size:13px;color:#6b7787;margin-top:4px}.missing{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:#996006;background:#fff7e6;padding:5px 8px;border-radius:5px}.payment{color:#16714d}a,button,input{touch-action:manipulation}@media(max-width:760px){.workspace{padding:0 16px 35px}.topbar{height:auto;min-height:72px;gap:15px;flex-wrap:wrap;padding:15px 0}.identity{font-size:13px;overflow-wrap:anywhere}.page-heading{align-items:flex-start;flex-direction:column;padding:26px 0 22px}h1{font-size:28px}.totals{grid-template-columns:1fr}.totals>div{padding:20px 24px;border-right:0;border-bottom:1px solid #e4e9ef}.totals strong{font-size:27px}.section-heading{flex-wrap:wrap;padding:18px}.actions{flex-wrap:wrap}td,th{padding:13px 16px!important}.account-table{overflow:auto}.description-column{min-width:220px}.description-cell{max-width:280px}}[data-slot=button]{box-shadow:0 1px 1px rgba(15,23,42,.04);transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease}[data-slot=button]:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,23,42,.09)}[data-slot=button]:not(:disabled):active{transform:translateY(0);box-shadow:0 2px 6px rgba(15,23,42,.08)}.identity button{border-radius:6px;padding:3px 5px;transition:background-color .16s ease,color .16s ease}.identity button:hover{background:#eef3fb;color:#14283e!important}@media(prefers-reduced-motion:reduce){.identity button,[data-slot=button]{transition:none}[data-slot=button]:not(:disabled):active,[data-slot=button]:not(:disabled):hover{transform:none}}.gate{max-width:560px;margin:12vh auto;padding:32px}.gate p{margin:18px 0;font-size:16px}.primary-link{display:inline-block;background:#174ed0;color:white;padding:12px 20px;border-radius:8px}.identity{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.file-reference a,.identity a,.invoice-links a{color:#174ed0}.role{text-transform:capitalize;background:#e9effa;padding:4px 9px;border-radius:5px}.source-note{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.6;margin:-6px 0 24px;color:#536173}.source-note svg{flex-shrink:0;margin-top:3px}.filters{display:flex;align-items:center;gap:10px}.nowrap{white-space:nowrap}.invoice-links{display:flex;gap:10px;margin-top:6px;font-size:14px}.file-reference a,.invoice-links a{display:inline-flex;gap:5px;align-items:center}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e4e9ef;background:#fbfcfe}.footnote{font-size:13px;color:#637184;margin:20px 0;line-height:1.6}.entry-dialog{max-width:660px!important;max-height:90vh;overflow-y:auto;padding:26px!important}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px;margin:20px 0}.field{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:500}.field input,.field select,.field textarea{border:1px solid #c8d3e0;border-radius:7px;background:white;padding:10px 12px;font-size:16px;color:#14283e;width:100%;min-width:0;min-height:44px}.field select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #174ed0;outline-offset:2px}.full{grid-column:1/-1}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.file-reference{margin:12px 0;font-size:14px}.form-error{color:#b42318;background:#fff0ed;padding:12px;border-radius:6px;margin-top:16px}.notice{padding:12px;background:#e9f2ff;font-size:14px;margin-bottom:16px}.view-label{font-size:14px;border:1px solid #cbd5e1;border-radius:6px;padding:10px 14px}fieldset:disabled input,fieldset:disabled select,fieldset:disabled textarea{background:#f3f6fa;opacity:1}fieldset:disabled button{opacity:1!important}.dark{--background:#111d30;--foreground:#eaf1fd;--primary:#7ba5ff;--card:#172640;--card-foreground:#eaf1fd}@media(max-width:600px){.form-grid{grid-template-columns:1fr}.entry-dialog{padding:20px!important}.gate{margin:8vh 16px;padding:24px}.identity{gap:8px}.pagination{justify-content:space-between;padding:14px 16px}.pagination .metadata{display:none}}.inbox-panel{background:white;border:1px solid #dce3ec;border-radius:12px;overflow:hidden;margin:0 0 24px}.empty-inbox{padding:0 24px 22px;color:#637184;font-size:14px}.email-preview{margin-top:8px;color:#637184;font-size:13px;line-height:1.45;max-width:420px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.confidence{display:inline-flex;margin-top:7px;padding:3px 7px;border-radius:5px;font-size:12px;text-transform:capitalize;background:#eef3fb;color:#46576d}.confidence.medium{background:#e8f7ef;color:#14623d}.confidence.low{background:#fff7e6;color:#996006}.attachment-link{display:inline-flex;align-items:center;gap:5px;color:#174ed0;font-size:14px;max-width:220px;overflow-wrap:anywhere}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.guide-page{min-height:100vh;background:#f4f7fb;padding:32px 20px 60px;color:#14283e}.guide-actions{max-width:800px;margin:0 auto 18px;display:flex;align-items:center;justify-content:space-between;gap:14px}.guide-back{color:#174ed0;font-size:14px}.guide-sheet{max-width:800px;margin:auto;background:white;border:1px solid #dce3ec;border-radius:10px;padding:42px 48px;box-shadow:0 18px 48px rgba(15,23,42,.08)}.guide-kicker{text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.12em;color:#526174;margin-bottom:8px}.guide-sheet h1{font-size:32px;margin-bottom:10px}.guide-intro{font-size:16px;color:#526174;margin-bottom:22px}.guide-sheet h2{font-size:17px;margin:20px 0 8px}.guide-sheet li,.guide-sheet p{font-size:14px;line-height:1.55}.guide-sheet p{margin:8px 0}.guide-sheet ul{margin:8px 0 10px 20px}.guide-sheet li{margin:4px 0}@media print{.guide-page,body{background:white}.guide-page{padding:0}.guide-actions{display:none}.guide-sheet{max-width:none;border:0;border-radius:0;box-shadow:none;padding:0}.guide-sheet h1{font-size:26px}.guide-sheet h2{page-break-after:avoid;break-after:avoid}.guide-sheet li,.guide-sheet p{font-size:12px;line-height:1.42}@page{size:A4;margin:14mm}}.modal-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:rgba(15,23,42,.32);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.entry-dialog{width:min(720px,calc(100vw - 32px));max-width:none!important;max-height:min(92vh,900px);overflow:auto;background:white;border:1px solid #dce3ec;border-radius:12px;box-shadow:0 24px 70px rgba(15,23,42,.26);padding:24px!important}.review-dialog{width:min(1120px,calc(100vw - 32px));padding:0!important;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 24px;border-bottom:1px solid #e4e9ef;background:white}.modal-header h2{line-height:1.25}.modal-header button{flex:0 0 auto}.review-layout{display:grid;grid-template-columns:minmax(360px,1fr) minmax(320px,440px);min-height:620px;max-height:calc(92vh - 88px)}.review-dialog .review-form-pane{padding:22px 24px;overflow:auto}.document-preview{border-left:1px solid #e4e9ef;background:#f8fafc;display:flex;flex-direction:column;min-width:0}.preview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid #e4e9ef;background:white}.preview-header h3{font-size:16px;font-weight:650;line-height:1.25}.preview-frame{flex:1 1;border:0}.preview-frame,.preview-image{width:100%;min-height:520px;background:white}.preview-image{height:100%;object-fit:contain;padding:12px}.preview-empty{flex:1 1;min-height:320px;display:grid;place-items:center;align-content:center;grid-gap:12px;gap:12px;text-align:center;color:#637184;padding:28px}.preview-empty p{max-width:280px;font-size:14px;line-height:1.5}@media(max-width:900px){.modal-backdrop{padding:10px}.review-dialog{max-height:94vh;overflow:auto}.review-layout{grid-template-columns:1fr;min-height:0;max-height:none}.review-dialog .review-form-pane{overflow:visible}.document-preview{border-left:0;border-top:1px solid #e4e9ef;min-height:360px}.preview-frame,.preview-image{min-height:340px}}.topbar-link{color:#174ed0;text-decoration:underline;font-size:14px}.users-dialog{width:min(980px,calc(100vw - 32px));padding:0!important;overflow:hidden}.user-create-form{display:grid;grid-template-columns:minmax(220px,1fr) 180px auto;align-items:end;grid-gap:14px;gap:14px;padding:22px 24px;border-bottom:1px solid #e4e9ef}.users-table-wrap{max-height:58vh;overflow:auto}.password-status{display:inline-flex;align-items:center;border-radius:5px;padding:5px 8px;font-size:13px}.password-status.ready{background:#e8f7ef;color:#14623d}.password-status.pending{background:#fff7e6;color:#996006}@media(max-width:760px){.users-dialog{max-height:94vh;overflow:auto}.user-create-form{grid-template-columns:1fr;padding:18px}.user-create-form button{width:100%}.users-table-wrap{max-height:none;overflow:auto}}.gate,.workspace{position:relative}.gate>:not(.casa-doodles),.workspace>:not(.casa-doodles){position:relative;z-index:1}.casa-doodles{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}.casa-doodles .doodle{position:absolute;color:#174ed0;opacity:.15;filter:drop-shadow(0 1px 0 rgba(255,255,255,.6))}.casa-doodles svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}.casa-doodles .doodle-key,.casa-doodles .doodle-pencil{color:#9b6a21}.casa-doodles .doodle-home{color:#16714d}.casa-doodles.gate .doodle-ledger{width:132px;height:132px;left:max(32px,8vw);top:22vh;transform:rotate(-7deg)}.casa-doodles.gate .doodle-pencil{width:150px;height:96px;right:max(28px,9vw);top:18vh;transform:rotate(9deg)}.casa-doodles.gate .doodle-receipt{width:112px;height:132px;left:max(36px,14vw);bottom:12vh;transform:rotate(6deg)}.casa-doodles.gate .doodle-key{width:128px;height:92px;right:max(42px,16vw);bottom:14vh;transform:rotate(-8deg)}.casa-doodles.gate .doodle-home{display:none}.casa-doodles.workspace .doodle-ledger{width:104px;height:104px;right:6vw;top:128px;transform:rotate(6deg);opacity:.11}.casa-doodles.workspace .doodle-pencil{width:132px;height:86px;left:3vw;top:310px;transform:rotate(-10deg);opacity:.09}.casa-doodles.workspace .doodle-receipt{width:92px;height:112px;right:4vw;top:620px;transform:rotate(-5deg);opacity:.08}.casa-doodles.workspace .doodle-key{display:none}.casa-doodles.workspace .doodle-home{width:106px;height:94px;left:8vw;bottom:150px;transform:rotate(5deg);opacity:.07}@media(max-width:900px){.casa-doodles.workspace{display:none}.casa-doodles.gate .doodle{opacity:.1}.casa-doodles.gate .doodle-ledger{left:18px;top:10vh;width:96px;height:96px}.casa-doodles.gate .doodle-pencil{right:12px;top:auto;bottom:7vh;width:112px;height:72px}.casa-doodles.gate .doodle-key,.casa-doodles.gate .doodle-receipt{display:none}}@media(max-width:560px){.casa-doodles.gate{display:none}}.casa-logo{display:inline-flex;align-items:center;gap:12px;color:#145b84}.casa-logo.full{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:18px}.casa-logo.compact{gap:9px}.casa-logo.mark-only{display:inline-flex}.casa-mark{width:58px;height:48px;overflow:visible}.casa-logo.full .casa-mark{width:142px;height:118px;margin-left:-10px;margin-bottom:2px}.casa-mark path{fill:none;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}.casa-logo.compact .casa-mark path{stroke-width:8}.logo-blue{stroke:#145b84}.logo-green{stroke:#4f7a52}.logo-amber{stroke:#c87935}.logo-slate{stroke:#667384}.casa-wordmark{display:inline-flex;gap:.18em;align-items:baseline;font-weight:520;line-height:1;letter-spacing:0}.casa-logo.full .casa-wordmark{font-size:58px}.casa-logo.compact .casa-wordmark{font-size:24px}.word-casa{color:#145b84}.word-ledger{color:#4f7a52}.casa-tagline{font-size:20px;line-height:1.3;color:#667384;font-weight:420}.gate .casa-logo.full+p{margin-top:12px}.brand .casa-logo.compact{min-width:max-content}.guide-page,.workspace{background:#f7faf8}.topbar{border-bottom-color:#d9e2df}.brand svg{color:inherit}.footnote,.identity,.metadata,.subtle{color:#667384}.guide-sheet h1,.page-heading h1,h1{color:#102f44;letter-spacing:0}.page-heading p.subtle{color:#667384}.totals{border-color:#d9e2df}.totals .balance{background:#145b84}.balance span,.totals p{color:#dbe9ec}.account-table,.entry-dialog,.guide-sheet,.inbox-panel,.users-panel{border-color:#d9e2df;box-shadow:0 10px 30px rgba(20,91,132,.05)}th{background:#f4f8f6!important;color:#667384!important}.role{background:#e8f0ea;color:#416c49}.attachment-link,.file-reference a,.guide-back,.identity a,.invoice-links a,.topbar-link{color:#145b84}.payment{color:#4f7a52}.confidence.low,.missing,.password-status.pending{background:#fff5e9;color:#9b632c}.confidence.medium,.password-status.ready{background:#e9f4ec;color:#3f7046}.brand .casa-mark,.source-note svg{color:#145b84}.field input,.field select,.field textarea{border-color:#cbd9d7;color:#15364c}.field input:focus,.field select:focus,.field textarea:focus{outline-color:#145b84}[data-slot=button]:not(:disabled):hover{box-shadow:0 8px 18px rgba(20,91,132,.12)}.primary-link{background:#145b84}.casa-doodles .doodle{color:#145b84}.casa-doodles .doodle-key,.casa-doodles .doodle-pencil{color:#c87935}.casa-doodles .doodle-home{color:#4f7a52}@media(max-width:760px){.casa-logo.full .casa-wordmark{font-size:44px}.casa-logo.full .casa-mark{width:118px;height:98px}.casa-tagline{font-size:17px}.casa-logo.compact .casa-wordmark{font-size:21px}.casa-logo.compact .casa-mark{width:50px;height:42px}}@media(max-width:420px){.casa-logo.compact .casa-wordmark{display:none}.casa-logo.full .casa-wordmark{font-size:38px}}