@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{--kult-red: #e12e2e;--kult-yellow: #f0bd51;--kult-green: #5da65c;--kult-purple: #100a28;--kult-purple-muted: #2c2544;--surface: #fffaf0;--surface-strong: #ffffff;--line: #dfd7c4;--text: var(--kult-purple);--text-muted: #625b76;--focus: rgba(225, 46, 46, .22);color:var(--text);background:linear-gradient(135deg,rgba(240,189,81,.18),rgba(93,166,92,.08) 38%,transparent 70%),var(--surface);font-family:Space Grotesk,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea{font:inherit}button{min-height:48px;border:0;border-radius:8px;padding:0 18px;font-weight:700;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}input{width:100%;min-height:48px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:var(--surface-strong);color:var(--text)}input:focus{border-color:var(--kult-red);box-shadow:0 0 0 3px var(--focus);outline:none}input[aria-invalid=true]{border-color:var(--kult-red);background:#fff1f1}textarea{width:100%;min-height:140px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:var(--surface-strong);color:var(--text)}.app-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:40px 0}.page-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.eyebrow{margin:0 0 6px;color:var(--kult-red);font-size:.9rem;font-weight:700;text-transform:uppercase}h1,h2{margin:0;letter-spacing:0}h1{font-size:clamp(2rem,6vw,3.5rem);line-height:1.05;font-family:Shrimp,Impact,Arial Black,Space Grotesk,ui-sans-serif,system-ui,sans-serif;font-weight:900;text-transform:uppercase}h2{font-size:1.25rem;color:var(--kult-purple);font-weight:800}.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.form-stack,.side-panel{display:grid;gap:20px}.side-panel{position:sticky;top:24px}.panel{border:1px solid var(--line);border-radius:8px;padding:24px;background:#ffffffe0;box-shadow:0 16px 45px #100a2814}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.field{display:grid;gap:8px}.field span,.gross-cell span{color:var(--text-muted);font-size:.9rem;font-weight:700}.field-error,.form-error{color:var(--kult-red);font-size:.88rem;font-weight:700}.expense-list{display:grid;gap:16px}.add-expense-button{width:100%;margin-top:18px}.expense-row{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:12px;align-items:start;min-width:0;margin:0;border:1px solid var(--line);border-radius:8px;padding:18px;background:#fffdf8}.expense-row legend{padding:0 6px;color:var(--kult-red);font-weight:700}.gross-cell{display:grid;gap:8px}.gross-cell strong{display:flex;align-items:center;min-height:48px;color:var(--kult-purple)}.primary-button{background:var(--kult-red);color:#fff}.secondary-button{border:1px solid var(--line);background:#f0bd5133;color:var(--kult-purple)}.danger-button{align-self:end;background:#ffe2df;color:#941b1b}.receipt-import{display:grid;grid-column:1 / -1;gap:12px;border-top:1px solid var(--line);padding-top:14px}.receipt-import-button{justify-self:start}.receipt-status{display:grid;gap:8px;color:var(--text-muted);font-weight:700}.receipt-status progress{width:min(320px,100%);accent-color:var(--kult-red)}.receipt-preview{display:grid;gap:16px;border:1px solid rgba(93,166,92,.35);border-radius:8px;padding:16px;background:#5da65c14}.receipt-preview-heading,.receipt-preview-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.receipt-preview-heading span{color:var(--text-muted);font-size:.9rem;font-weight:700}.receipt-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.receipt-reasons{color:var(--text-muted);font-size:.92rem}.receipt-reasons summary{cursor:pointer;font-weight:700}.receipt-reasons ul{display:grid;gap:6px;margin:10px 0 0;padding-left:18px}.receipt-raw-text{margin-top:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.85rem}.full-width-button{width:100%}.segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.segmented-control label{cursor:pointer}.segmented-control input{position:absolute;opacity:0}.segmented-control span{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--line);border-radius:8px;font-weight:700;background:var(--surface-strong)}.segmented-control input:checked+span{border-color:var(--kult-green);background:#5da65c29;color:#2b6c2f}.payment-fields{margin-top:18px}.summary-list{display:grid;gap:12px;margin:18px 0 0}.summary-list div{display:flex;justify-content:space-between;gap:16px}.summary-list dt{color:var(--text-muted);font-weight:700}.summary-list dd{margin:0;font-weight:800}.total-row{border-top:1px solid var(--line);padding-top:14px}.pdf-panel{display:grid;gap:16px}.pdf-preview{display:grid;gap:8px;min-height:220px;border:1px solid var(--line);border-radius:4px;padding:18px;background:linear-gradient(180deg,#fffffff5,#fffaf0f5),linear-gradient(135deg,#f0bd5133,#5da65c1f);color:var(--text-muted)}.pdf-preview strong{color:var(--kult-purple);font-size:1.1rem}.pdf-preview b{align-self:end;color:var(--kult-red);font-size:1.5rem}@media (max-width: 1040px){.form-layout{grid-template-columns:1fr}.side-panel{position:static}.expense-row,.receipt-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wide-field{grid-column:1 / -1}}@media (max-width: 680px){.app-shell{width:min(100% - 20px,1180px);padding:24px 0}.page-header,.section-heading{align-items:stretch;flex-direction:column}.field-grid,.expense-row,.segmented-control,.receipt-preview-grid{grid-template-columns:1fr}.receipt-preview-actions{align-items:stretch;flex-direction:column}.panel{padding:18px}}
