:root{--color-indigo: #1a1440;--color-amber: #ffb627;--color-violet: #6c5ce7;--color-grey-50: #f7f7f9;--color-grey-100: #ededf2;--color-grey-200: #d8d8e2;--color-grey-300: #b6b6c6;--color-grey-400: #8c8ca0;--color-grey-500: #66667a;--color-grey-600: #4a4a5c;--color-grey-700: #333342;--color-grey-800: #22222e;--color-grey-900: #14141c;--color-success: #1f9254;--color-danger: #d64545;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 9999px;--font-stack: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-size-xs: 12px;--line-height-xs: 16px;--font-size-sm: 14px;--line-height-sm: 20px;--font-size-base: 16px;--line-height-base: 24px;--font-size-lg: 20px;--line-height-lg: 28px;--font-size-xl: 24px;--line-height-xl: 32px;--font-size-2xl: 32px;--line-height-2xl: 40px;--font-size-3xl: 40px;--line-height-3xl: 48px}*{box-sizing:border-box}body{margin:0;font-family:var(--font-stack);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-indigo);background:var(--color-grey-50)}.app-shell{min-height:100vh;display:flex;align-items:center;justify-content:center}.screen{min-height:100vh;padding:var(--space-6)}.screen-centered{display:flex;flex-direction:column;align-items:stretch;justify-content:center;max-width:420px;margin:0 auto;gap:var(--space-4)}.stack{display:flex;flex-direction:column;gap:var(--space-3)}.welcome-logo{height:40px;width:auto;align-self:center;margin-bottom:var(--space-2)}.legal-content{max-width:640px}.legal-content h2{margin-top:var(--space-5);margin-bottom:0}.legal-content table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.legal-content th,.legal-content td{text-align:left;padding:var(--space-2);border-bottom:1px solid var(--color-grey-300)}.legal-callout{background:var(--color-amber-50, #fff8ea);border:1px solid var(--color-amber);border-radius:var(--radius-md);padding:var(--space-4)}.legal-callout h2{margin-top:0}.notice-callout{background:var(--color-amber-50, #fff8ea);border:1px solid var(--color-amber);border-radius:var(--radius-md);padding:var(--space-3);font-size:var(--font-size-sm)}.btn{font:inherit;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-grey-300);background:#fff;cursor:pointer}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-amber);border-color:var(--color-amber);color:var(--color-indigo);font-weight:600}.btn-secondary{background:#fff;color:var(--color-indigo)}.btn-danger{background:#fff;border-color:var(--color-danger);color:var(--color-danger)}input,select{font:inherit;padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-grey-300)}.chip-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chip{font:inherit;padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);border:1px solid var(--color-grey-300);background:#fff;cursor:pointer}.chip-selected{background:var(--color-violet);border-color:var(--color-violet);color:#fff}.option-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.radio-row{display:flex;align-items:center;gap:var(--space-2)}.hint{color:var(--color-grey-600);font-size:var(--font-size-sm)}.error{color:var(--color-danger);font-size:var(--font-size-sm)}.fab{position:fixed;left:50%;bottom:28px;transform:translate(-50%);width:64px;height:64px;border-radius:var(--radius-full);border:none;background:var(--color-amber);color:var(--color-indigo);font-size:var(--font-size-2xl);font-weight:700;cursor:pointer;box-shadow:0 4px 12px #0003;z-index:15}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-content{padding-bottom:96px}.bottom-nav{position:fixed;left:0;right:0;bottom:0;height:64px;background:#fff;border-top:1px solid var(--color-grey-200);display:flex;align-items:center;justify-content:space-around;z-index:10}.nav-link{color:var(--color-grey-500);text-decoration:none;font-size:var(--font-size-sm)}.nav-link-active{color:var(--color-indigo);font-weight:600}.nav-spacer{width:64px}.home-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.home-greeting{font-size:var(--font-size-lg);font-weight:600;margin:0}.month-selector{display:flex;align-items:center;gap:var(--space-2)}.month-selector button{background:none;border:none;font-size:var(--font-size-xl);cursor:pointer;color:var(--color-indigo);line-height:1}.home-numbers{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-6)}.home-number{display:flex;justify-content:space-between;align-items:baseline;padding:var(--space-4);border-radius:var(--radius-lg);background:#fff;border:1px solid var(--color-grey-200)}.home-number-label{color:var(--color-grey-600)}.home-number-value{font-size:var(--font-size-2xl);font-weight:700}.home-number-in .home-number-value{color:var(--color-success)}.home-number-out .home-number-value{color:var(--color-danger)}.home-number-leftover .home-number-value{color:var(--color-indigo)}.chip-static{cursor:default}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14141c80;display:flex;align-items:flex-end;z-index:20}.sheet{background:#fff;width:100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);max-height:90vh;overflow-y:auto}.sheet-choice{font-size:var(--font-size-lg);padding:var(--space-4)}.amount-pad{display:flex;flex-direction:column;gap:var(--space-4)}.amount-display{font-size:var(--font-size-3xl);font-weight:700;text-align:center}.pad-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.pad-key{font:inherit;font-size:var(--font-size-xl);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-grey-300);background:#fff;cursor:pointer}.more-section label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--font-size-sm)}.toast{position:fixed;left:50%;bottom:var(--space-8);transform:translate(-50%);background:var(--color-indigo);color:#fff;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);display:flex;align-items:center;gap:var(--space-4);z-index:30}.list-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.list-header h1{margin:0}.contact-row{padding:var(--space-3) 0;border-bottom:1px solid var(--color-grey-200)}.contact-link{display:flex;justify-content:space-between;align-items:center;color:inherit;text-decoration:none}.badge{font-size:var(--font-size-xs);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full)}.badge-owed{background:var(--color-amber);color:var(--color-indigo)}.toast-undo{background:none;border:none;color:var(--color-amber);font-weight:600;cursor:pointer;font:inherit}.tab-row{display:flex;gap:var(--space-2);margin-bottom:var(--space-4);border-bottom:1px solid var(--color-grey-200)}.tab{background:none;border:none;padding:var(--space-2) var(--space-3);cursor:pointer;color:var(--color-grey-500);border-bottom:2px solid transparent}.tab-active{color:var(--color-indigo);border-bottom-color:var(--color-amber);font-weight:600}.invoice-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--color-grey-200)}.invoice-row-right{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-1)}.status-pill{font-size:var(--font-size-xs);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);background:var(--color-grey-100);color:var(--color-grey-600);text-transform:capitalize}.status-viewed{background:var(--color-violet);color:#fff}.status-partial{background:var(--color-amber);color:var(--color-grey-900)}.status-paid{background:var(--color-success);color:#fff}.status-overdue{background:var(--color-danger);color:#fff}.status-void{background:var(--color-grey-200);color:var(--color-grey-500);text-decoration:line-through}.button-row{display:flex;gap:var(--space-2)}.button-row .btn{flex:1}.receipt-review-badge{position:fixed;right:var(--space-4);bottom:calc(var(--space-4) + 64px);z-index:5}.receipt-low-confidence{color:var(--color-amber);font-weight:600}.needs-review{outline:2px solid var(--color-amber);outline-offset:1px}.chip-suggested{border-color:var(--color-violet)}.overdue{color:var(--color-danger);font-size:var(--font-size-xs)}.invoice-line{padding:var(--space-3);border:1px solid var(--color-grey-200);border-radius:var(--radius-md)}.invoice-total{text-align:right}.invoice-row-button{width:100%;background:none;border:none;cursor:pointer;font:inherit;color:inherit;text-align:left;padding:0}.pdf-preview{font-size:var(--font-size-lg)}.public-invoice{max-width:480px;margin:0 auto}.public-invoice-logo{height:28px;width:auto}.public-invoice-footer{text-align:center;margin-top:var(--space-8)}
