*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--green: #16a34a;--green-dark: #15803d;--navy: #1e293b;--navy-dark: #0f172a;--copper: #c4845c;--copper-dark: #a96d45;--bg: #faf7f4;--surface: #ffffff;--text: #0f172a;--text-muted: #64748b;--border: #e2e8f0;--red: #dc2626;--red-light: #fef2f2;--green-light: #f5f0eb;--radius: 10px;--safe-bottom: env(safe-area-inset-bottom, 0px)}.brand-ledger{font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.brand-suffix{font-weight:400;opacity:.85}.landing-hero-title .brand-suffix{font-weight:500;opacity:1;color:var(--green)}.header-title .brand-suffix{font-weight:400}html{position:fixed;overflow:hidden;width:100%;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;width:100%;height:100%;margin:0;overflow:hidden}#app{max-width:500px;margin:0 auto;height:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding-bottom:calc(48px + env(safe-area-inset-bottom,0px))}.app-header{display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top,0px) + 14px) 16px 14px;background:var(--green);color:#fff;position:sticky;top:0;z-index:100}.header-title{font-size:18px;font-weight:700;letter-spacing:-.3px}.header-settings{background:none;border:none;color:#fff;cursor:pointer;padding:4px;border-radius:6px}.header-settings:active{background:#fff3}.tab-bar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:500px;display:flex;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0px);z-index:100}.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 0 8px;background:none;border:none;color:var(--text-muted);font-size:11px;font-weight:500;cursor:pointer;transition:color .15s}.tab.active{color:var(--green)}.tab svg{transition:stroke .15s}.install-banner{display:flex;align-items:center;gap:8px;background:var(--green-light);border-bottom:1px solid var(--green);padding:10px 16px}.install-banner-text{flex:1;font-size:13px;line-height:1.4;color:var(--text)}.install-share-icon{display:inline-block;vertical-align:-2px;color:var(--green)}.install-banner-close{background:none;border:none;font-size:20px;color:var(--text-muted);cursor:pointer;padding:0 4px;line-height:1}.install-screen{text-align:center;padding:calc(env(safe-area-inset-top,0px) + 60px) 24px 40px;max-width:360px;margin:0 auto}.install-checkmark{margin-bottom:12px}.install-title{font-size:28px;font-weight:800;letter-spacing:-.5px;margin-bottom:8px}.install-tagline{font-size:15px;color:var(--text-muted);line-height:1.5;margin-bottom:32px}.install-steps{list-style:none;text-align:left;margin-bottom:40px}.install-steps li{display:flex;align-items:center;gap:12px;font-size:16px;padding:12px 0;border-bottom:1px solid var(--border)}.install-steps li:last-child{border-bottom:none}.install-step-num{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--green);color:#fff;border-radius:50%;font-size:14px;font-weight:700;flex-shrink:0}.install-steps .install-share-icon{display:inline-block;vertical-align:-3px;color:var(--green)}.install-continue{background:none;border:none;color:var(--text-muted);font-size:15px;cursor:pointer;text-decoration:underline;padding:8px}#main-content{padding:16px}.screen-title{font-size:22px;font-weight:700;margin-bottom:16px;letter-spacing:-.3px}.field-group{margin-bottom:14px}.field-group label{display:block;font-size:13px;font-weight:600;color:var(--text-muted);margin-bottom:4px}input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date]{width:100%;padding:12px 14px;font-size:16px;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);outline:none;transition:border-color .15s;-webkit-appearance:none}input:focus{border-color:var(--green)}.line-item{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:12px}.line-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.line-item-label{font-size:14px;font-weight:700;color:var(--green-dark)}.line-remove{background:none;border:none;font-size:22px;color:var(--text-muted);cursor:pointer;padding:0 4px;line-height:1}.line-row{display:flex;gap:10px;align-items:flex-end}.flex-1{flex:1}.line-subtotal-wrap{min-width:80px;text-align:right}.line-subtotal{font-size:16px;font-weight:700;color:var(--green);padding:12px 0}.line-item .field-group{margin-bottom:10px}.line-item .field-group label{font-size:12px}.line-item input{padding:10px 12px;font-size:15px}.line-item select{width:100%;padding:10px 32px 10px 12px;font-size:15px;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface) url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2364748b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center;color:var(--text);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .15s}.line-item select:focus{border-color:var(--green)}.photo-picker input[type=file]{display:none}.photo-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:14px;color:var(--text-muted);border:1.5px dashed var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color .15s,color .15s}.photo-btn:active{border-color:var(--green);color:var(--green)}.photo-icon{font-size:18px}.photo-preview{width:100%;max-height:160px;object-fit:cover;border-radius:var(--radius);margin-top:8px}.photo-remove{position:absolute;top:4px;right:4px;background:#0009;color:#fff;border:none;border-radius:50%;width:26px;height:26px;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}.photo-picker{position:relative}.invoice-total-bar{display:flex;justify-content:space-between;align-items:center;background:var(--green-light);border:1.5px solid var(--green);border-radius:var(--radius);padding:14px 16px;margin:16px 0;font-weight:600}.total-amount{font-size:22px;font-weight:800;color:var(--green-dark)}.btn-primary{display:block;width:100%;padding:16px;font-size:17px;font-weight:700;color:#fff;background:var(--green);border:none;border-radius:var(--radius);cursor:pointer;transition:background .15s;-webkit-appearance:none}.btn-primary:active{background:var(--green-dark)}.btn-primary:disabled{opacity:.6;cursor:default}.btn-secondary{display:block;width:100%;padding:14px;font-size:15px;font-weight:600;color:var(--green);background:var(--surface);border:1.5px solid var(--green);border-radius:var(--radius);cursor:pointer;margin-bottom:16px}.btn-secondary:active{background:var(--green-light)}.unpaid-summary{display:flex;justify-content:space-between;align-items:center;background:var(--red-light);border-radius:var(--radius);padding:12px 14px;margin-bottom:14px;font-size:14px;font-weight:600}.unpaid-count,.unpaid-amount{color:var(--red)}.all-paid{color:var(--green);text-align:center;width:100%}.invoice-list{display:flex;flex-direction:column;gap:8px}.invoice-row{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);padding:14px;cursor:pointer;transition:border-color .15s}.invoice-row:active{border-color:var(--green)}.invoice-row-main{display:flex;justify-content:space-between;align-items:center;gap:12px}.invoice-row-left{flex:1;min-width:0}.invoice-row-customer{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invoice-row-meta{font-size:12px;color:var(--text-muted);margin-top:2px}.invoice-row-right{text-align:right;flex-shrink:0}.invoice-row-total{font-size:16px;font-weight:700;margin-bottom:4px}.badge{display:inline-block;padding:3px 10px;font-size:12px;font-weight:600;border-radius:20px;border:none;cursor:pointer}.badge-unpaid{background:var(--red-light);color:var(--red)}.badge-paid{background:var(--green-light);color:var(--green)}.badge-draft{background:#fffbeb;color:#b45309}.invoice-row-draft{border-left:3px solid #b45309}.badge-disputed{background:#fff7ed;color:#c2410c}.invoice-row-disputed{border-left:3px solid #c2410c}.invoice-row.selected{border-color:var(--green);background:var(--green-light)}.invoice-row-checkbox{width:22px;height:22px;accent-color:var(--green);flex-shrink:0;margin-right:10px}.select-mode-btn{background:none;border:1.5px solid var(--border);border-radius:var(--radius);padding:6px 14px;font-size:13px;font-weight:600;color:var(--text-muted);cursor:pointer}.select-mode-btn.active{background:var(--green);color:#fff;border-color:var(--green)}.batch-action-bar{position:fixed;bottom:calc(56px + env(safe-area-inset-bottom,0px));left:0;right:0;display:flex;align-items:center;gap:8px;padding:10px 16px;background:#1e293b;color:#fff;z-index:99;font-size:14px;font-weight:600;box-shadow:0 -2px 12px #00000026}.batch-count{flex:1;white-space:nowrap}.batch-action-btn{padding:8px 14px;border:none;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer}.batch-action-btn:disabled{opacity:.4}.batch-action-btn-paid{background:var(--green);color:#fff}.batch-action-btn-unpaid{background:var(--red-light);color:var(--red)}.batch-action-btn-disputed{background:#fff7ed;color:#c2410c}.batch-action-btn-cancel{background:#ffffff26;color:#fff}.disputed-count{color:#c2410c;font-size:13px}.setup-screen{padding:calc(env(safe-area-inset-top,0px) + 40px) 16px 0;text-align:center}.setup-title{font-size:24px;font-weight:800;margin-bottom:8px}.setup-subtitle{color:var(--text-muted);margin-bottom:28px;font-size:15px}.setup-screen form{text-align:left}.logo-preview-wrap{position:relative;display:inline-block;margin-bottom:8px}.logo-preview{max-width:120px;max-height:60px;border-radius:6px;border:1.5px solid var(--border);object-fit:contain}.logo-remove{position:absolute;top:-6px;right:-6px;background:#0009;color:#fff;border:none;border-radius:50%;width:22px;height:22px;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.empty-state{text-align:center;padding:40px 16px;color:var(--text-muted)}.hidden{display:none!important}.autocomplete-wrap{position:relative}.ac-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--surface);border:1.5px solid var(--border);border-top:none;border-radius:0 0 var(--radius) var(--radius);max-height:180px;overflow-y:auto;z-index:50;box-shadow:0 4px 12px #0000001a}.ac-option{padding:10px 14px;font-size:15px;cursor:pointer}.ac-option:active,.ac-option.ac-active{background:var(--green-light);color:var(--green-dark)}.ac-dropdown.hidden{display:none}#app:has(.landing){max-width:none}body:has(.landing){padding-bottom:0}.landing{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.landing-hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-dark) 100%);color:#fff;text-align:center;padding:60px 24px 48px}.landing-hero-icon{margin-bottom:16px;opacity:.9}.landing-hero-title{font-size:32px;font-weight:800;letter-spacing:-.5px;margin-bottom:8px}.landing-hero-tagline{font-size:18px;font-weight:600;opacity:.95;margin-bottom:16px}.landing-hero-desc{font-size:15px;line-height:1.5;opacity:.9;max-width:420px;margin:0 auto 28px}.landing-cta{display:inline-block;padding:16px 40px;font-size:17px;font-weight:700;color:var(--copper);background:#fff;border:none;border-radius:var(--radius);text-decoration:none;cursor:pointer;box-shadow:0 4px 14px #00000026;transition:transform .15s,box-shadow .15s}.landing-cta:active{transform:scale(.97);box-shadow:0 2px 8px #0000001f}.landing-hero-note{font-size:13px;opacity:.75;margin-top:12px}.landing-features{padding:48px 20px;max-width:600px;margin:0 auto}.landing-section-title{font-size:22px;font-weight:800;text-align:center;margin-bottom:24px;letter-spacing:-.3px}.landing-features-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.landing-feature-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);padding:20px 16px;text-align:center}.landing-feature-icon{margin-bottom:10px}.landing-feature-card h3{font-size:14px;font-weight:700;margin-bottom:6px}.landing-feature-card p{font-size:13px;color:var(--text-muted);line-height:1.4}.landing-pricing{background:var(--green-light);padding:48px 20px}.landing-pricing-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);padding:32px 24px;max-width:400px;margin:0 auto;text-align:center}.landing-pricing-title{font-size:20px;font-weight:800;margin-bottom:8px}.landing-pricing-amount{font-size:48px;font-weight:800;color:var(--copper);margin-bottom:4px}.landing-pricing-note{font-size:14px;color:var(--text-muted);margin-bottom:24px}.landing-pricing-list{list-style:none;text-align:left;margin-bottom:28px}.landing-pricing-list li{padding:8px 0;font-size:15px;border-bottom:1px solid var(--border)}.landing-pricing-list li:before{content:"✓ ";color:var(--copper);font-weight:700}.landing-pricing-list li:last-child{border-bottom:none}.landing-cta-green{background:var(--copper);color:#fff;display:block;width:100%;text-align:center;box-shadow:none}.landing-cta-green:active{background:var(--copper-dark)}.landing-restore{text-align:center;padding:32px 20px 0;max-width:400px;margin:0 auto}.restore-toggle{background:none;border:none;color:var(--text-muted);font-size:14px;cursor:pointer;text-decoration:underline}.restore-form{margin-top:16px;text-align:left}.restore-status{font-size:13px;margin-top:8px;text-align:center}.restore-status.restore-error{color:var(--red)}.restore-code-msg{font-size:14px;color:var(--text-muted);line-height:1.5;margin-bottom:20px}.restore-code-msg strong{color:var(--text)}.restore-links{display:flex;justify-content:center;gap:20px;margin-top:16px}.restore-resend-link,.restore-back-link{background:none;border:none;color:var(--text-muted);font-size:13px;cursor:pointer;text-decoration:underline;padding:4px}.restore-resend-link:disabled{opacity:.5;cursor:default}#pwa-restore-code,#restore-code{text-align:center;font-size:24px;font-weight:700;letter-spacing:6px}.landing-footer{text-align:center;padding:24px 20px;font-size:13px;color:var(--text-muted)}.landing-footer-link{color:var(--text-muted);text-decoration:underline}.verify-screen{text-align:center;padding:calc(env(safe-area-inset-top,0px) + 80px) 24px}.verify-title{font-size:24px;font-weight:800;margin-bottom:12px}.verify-subtitle{color:var(--text-muted);font-size:15px;line-height:1.5;margin-bottom:24px}.connect-toast{background:var(--green);color:#fff;text-align:center;padding:12px 16px;font-size:14px;font-weight:600;animation:toast-fade 5s ease-in-out}@keyframes toast-fade{0%,80%{opacity:1}to{opacity:0}}.pwa-restore-screen{text-align:center;padding:calc(env(safe-area-inset-top,0px) + 80px) 24px 40px;max-width:360px;margin:0 auto}.pwa-restore-icon{color:var(--green);margin-bottom:16px}.pwa-restore-title{font-size:28px;font-weight:800;letter-spacing:-.5px;margin-bottom:8px}.pwa-restore-subtitle{font-size:15px;color:var(--text-muted);line-height:1.5;margin-bottom:28px}.pwa-restore-screen form{text-align:left}.pwa-restore-status{font-size:13px;margin-top:12px;min-height:18px}.backup-section{margin:8px 0 20px}.backup-divider{height:1.5px;background:var(--border);margin-bottom:14px}.backup-label{display:block;font-size:13px;font-weight:600;color:var(--text-muted);margin-bottom:8px}.backup-buttons{display:flex;gap:10px}.backup-btn{flex:1;margin-bottom:0;padding:12px;font-size:14px}.backup-status{font-size:13px;margin-top:8px;min-height:18px;text-align:center}.backup-status.backup-success{color:var(--green);font-weight:600}.backup-status.backup-error{color:var(--red)}.update-toast{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;background:var(--text);color:#fff;padding:calc(env(safe-area-inset-top,0px) + 10px) 16px 10px;font-size:14px;font-weight:600}.update-toast-btn{background:#fff;color:var(--text);border:none;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:700;cursor:pointer;flex-shrink:0}.update-toast-btn:active{opacity:.85}@media(min-width:768px){.landing-hero{padding:80px 32px 64px}.landing-hero-title{font-size:44px}.landing-hero-tagline{font-size:22px}.landing-hero-desc{font-size:17px}.landing-features{padding:64px 32px;max-width:700px}.landing-section-title{font-size:26px}.landing-features-grid{gap:20px}.landing-feature-card{padding:28px 20px}.landing-pricing{padding:64px 32px}}.haul-section{border:1.5px solid var(--border);border-radius:var(--radius);padding:12px 14px 8px;margin-bottom:16px;background:var(--surface)}.haul-section legend{font-size:13px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:0 6px}.toggle-row{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;padding:8px 0}.toggle-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--green);flex-shrink:0}.flex-2{flex:2}.doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.doc-slot{text-align:center}.doc-label{display:block;font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:6px}.more-menu{display:flex;flex-direction:column;gap:10px}.more-menu-item{display:flex;align-items:center;gap:14px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);padding:16px;cursor:pointer;text-align:left;width:100%;transition:border-color .15s}.more-menu-item:active{border-color:var(--green)}.more-menu-text{flex:1}.more-menu-title{font-size:15px;font-weight:600}.more-menu-desc{font-size:13px;color:var(--text-muted);margin-top:2px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:300;padding:20px}.modal-card{background:var(--surface);border-radius:var(--radius);padding:24px;max-width:400px;width:100%}.modal-card h3{font-size:18px;font-weight:700;margin-bottom:8px}.expense-summary{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);padding:12px 14px}.expense-summary-row{display:flex;justify-content:space-between;padding:6px 0;font-size:14px;border-bottom:1px solid var(--border)}.expense-summary-row:last-child{border-bottom:none}.pd-month{margin-bottom:16px}.pd-month-header{display:flex;justify-content:space-between;font-size:13px;font-weight:700;color:var(--text-muted);padding:8px 4px;text-transform:uppercase;letter-spacing:.5px}.pro-badge{display:inline-block;padding:2px 6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#fff;background:var(--green);border-radius:4px;vertical-align:middle;margin-left:6px}.tier-badge{display:inline-block;padding:4px 12px;font-size:12px;font-weight:700;border-radius:20px;text-transform:uppercase;letter-spacing:.5px}.tier-badge-basic{color:var(--text-muted);background:var(--bg);border:1.5px solid var(--border)}.tier-badge-pro{color:var(--green);background:var(--green-light);border:1.5px solid var(--green)}.upgrade-prompt{text-align:center;padding:40px 20px;max-width:360px;margin:0 auto}.upgrade-prompt-icon{margin-bottom:16px}.upgrade-prompt-title{font-size:20px;font-weight:800;margin-bottom:8px}.upgrade-prompt-desc{font-size:14px;color:var(--text-muted);margin-bottom:20px}.upgrade-prompt-list{list-style:none;text-align:left;margin-bottom:24px}.upgrade-prompt-list li{padding:6px 0;font-size:14px;border-bottom:1px solid var(--border)}.upgrade-prompt-list li:before{content:"✓ ";color:var(--green);font-weight:700}.upgrade-prompt-list li:last-child{border-bottom:none}.progress-bar{width:100%;height:12px;background:var(--border);border-radius:6px;overflow:hidden;margin:8px 0}.progress-fill{height:100%;border-radius:6px;transition:width .3s ease}.progress-green{background:var(--green)}.progress-yellow{background:#eab308}.progress-orange{background:#f97316}.progress-red{background:var(--red)}.section-divider{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:16px 4px 6px}.alert-banner{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--radius);font-size:13px;font-weight:600;margin-bottom:12px}.alert-banner-warning{background:#fffbeb;color:#b45309;border:1.5px solid #fbbf24}.alert-banner-danger{background:var(--red-light);color:var(--red);border:1.5px solid var(--red)}.alert-banner-success{background:var(--green-light);color:var(--green);border:1.5px solid var(--green)}.signature-canvas{width:100%;height:120px;border:1.5px solid var(--border);border-radius:var(--radius);background:#fff;touch-action:none;cursor:crosshair}select{width:100%;padding:12px 32px 12px 14px;font-size:16px;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface) url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2364748b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center;color:var(--text);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .15s}select:focus{border-color:var(--green)}input[type=datetime-local],input[type=url]{width:100%;padding:12px 14px;font-size:16px;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);outline:none;transition:border-color .15s;-webkit-appearance:none}.recon-line-list{max-height:60vh;overflow-y:auto;border:1.5px solid var(--border);border-radius:var(--radius);margin:12px 0}.recon-line-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s}.recon-line-row:last-child{border-bottom:none}.recon-line-row:hover{background:var(--border)}.recon-line-row.recon-cleared{background:color-mix(in srgb,var(--accent) 10%,transparent)}.recon-line-info{flex:1;font-size:13px;line-height:1.4}.recon-line-amount{font-weight:600;font-size:14px;white-space:nowrap}.modal-content{background:var(--surface);border-radius:var(--radius);padding:24px;max-width:400px;width:100%;max-height:85vh;overflow-y:auto}.modal-content h3{font-size:18px;font-weight:700;margin-bottom:8px}.csv-tx-row{border-bottom:1px solid var(--border);padding:4px 0}.csv-tx-row select{width:100%;font-size:13px;padding:4px 8px;margin-top:4px}.csv-dupe{opacity:.6}.dashboard-due-banner{background:color-mix(in srgb,var(--accent) 12%,transparent);border:1.5px solid var(--accent);border-radius:var(--radius);padding:12px 16px;margin-bottom:16px;font-size:14px;text-align:center}.ye-preview-section{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);padding:12px 14px;margin:12px 0}.form-help{font-size:13px;color:var(--text-muted);margin-bottom:12px}.error-text{color:var(--danger, #d32f2f);font-size:14px}.preview-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg);display:flex;flex-direction:column;z-index:400}.preview-header{display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top,0px) + 10px) 16px 10px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.preview-header-back{background:none;border:none;font-size:15px;font-weight:600;color:var(--green);cursor:pointer;padding:6px 0}.preview-header-title{font-size:17px;font-weight:700;position:absolute;left:50%;transform:translate(-50%)}.preview-content{flex:1;width:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;background:#e5e7eb;padding:16px 12px}.preview-invoice{margin:0 auto;background:#fff;color:#0f172a;border-radius:6px;box-shadow:0 4px 24px #0000001f,0 1px 4px #0000000f;overflow:hidden;font-size:14px;line-height:1.5}.preview-invoice-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;color:#fff}.preview-invoice-header-left{display:flex;align-items:center;gap:10px}.preview-invoice-logo{max-height:36px;max-width:90px;object-fit:contain}.preview-invoice-biz-name{font-size:20px;font-weight:700}.preview-invoice-title{font-size:26px;font-weight:700}.preview-invoice-meta{display:flex;gap:24px;padding:12px 20px;font-size:12px}.preview-invoice-parties{display:flex;border:1px solid #ddd;margin:0 20px 16px;border-radius:4px;overflow:hidden}.preview-invoice-col{flex:1;padding:12px 14px;border-right:1px solid #ddd;min-width:0}.preview-invoice-col:last-child{border-right:none}.preview-invoice-col-label{font-size:10px;font-weight:700;color:#646464;margin-bottom:3px}.preview-invoice-col-name{font-size:13px;font-weight:700;word-break:break-word}.preview-invoice-col-detail{font-size:11px;color:#444;word-break:break-word;margin-top:1px}.preview-invoice-total-col{background:#f8fafc}.preview-invoice-total-amount{font-size:22px;font-weight:800;margin-top:2px}.preview-invoice-table{width:calc(100% - 40px);margin:0 20px;border-collapse:collapse;font-size:13px}.preview-invoice-table thead{color:#fff}.preview-invoice-table th{padding:8px 10px;font-size:11px;font-weight:700;text-align:left}.preview-invoice-table td{padding:8px 10px;border-bottom:1px solid #eee}.preview-invoice-row-alt{background:#f8fafc}.preview-invoice-totals{padding:14px 20px 16px;text-align:right}.preview-invoice-subtotal{display:flex;justify-content:flex-end;gap:16px;font-size:13px;color:#505050;margin-bottom:8px}.preview-invoice-grand-total{display:flex;justify-content:flex-end;gap:16px;font-size:16px;font-weight:800;padding-top:10px;border-top:2px solid}.preview-invoice-photo{padding:10px 20px 14px}.preview-invoice-photo-label{font-size:12px;font-style:italic;color:#444;margin-bottom:6px}.preview-invoice-photo img{width:100%;border-radius:4px;display:block}.preview-invoice-footer{padding:14px 20px;font-size:11px;color:#969696;text-align:left}.preview-haul-load-details{padding:10px 20px 12px;border-top:1px solid #ddd;margin:0 20px 8px}.preview-haul-section-label{font-size:10px;font-weight:700;color:#646464;margin-bottom:6px}.preview-haul-details-grid{display:flex;flex-wrap:wrap;gap:4px 20px;font-size:12px}.preview-haul-noa{padding:12px 20px;border-top:1px solid #ddd;margin:0 20px}.preview-actions{display:flex;gap:10px;padding:12px 16px calc(env(safe-area-inset-bottom,0px) + 12px);background:var(--surface);border-top:1px solid var(--border);flex-shrink:0}.preview-actions .btn-secondary,.preview-actions .btn-primary{flex:1;margin-bottom:0}.color-picker-row{display:flex;align-items:center;gap:12px}.color-picker-row input[type=color]{width:48px;height:48px;border:1.5px solid var(--border);border-radius:var(--radius);padding:2px;cursor:pointer;background:var(--surface);-webkit-appearance:none;-moz-appearance:none;appearance:none}.color-picker-row input[type=color]::-webkit-color-swatch-wrapper{padding:2px}.color-picker-row input[type=color]::-webkit-color-swatch{border:none;border-radius:6px}.color-picker-hex{font-size:14px;font-weight:600;color:var(--text-muted);font-family:monospace}.trends-grid{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:8px 0 16px}.trends-grid table{width:100%;min-width:700px;border-collapse:collapse;font-size:13px}.trends-grid th,.trends-grid td{padding:6px 8px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--border)}.trends-grid th:first-child,.trends-grid td:first-child{text-align:left;position:sticky;left:0;background:var(--surface);z-index:1}.trends-grid thead th{font-weight:600;font-size:12px;color:var(--text-muted);text-transform:uppercase;border-bottom:2px solid var(--border)}.vendor-1099-flagged{background:#ef44440f;border-left:3px solid var(--danger)}.tax-estimate-card{min-width:120px}.quarterly-schedule{overflow-x:auto;margin-top:8px}.quarterly-schedule table{width:100%;min-width:500px}.vendor-detail{transition:max-height .2s ease}.template-picker{margin-bottom:12px;overflow-x:auto;-webkit-overflow-scrolling:touch}.template-chips{display:flex;gap:8px;padding:4px 0;white-space:nowrap}.template-chip{display:inline-block;padding:6px 14px;background:var(--green-light);border:1px solid var(--border);border-radius:20px;font-size:13px;font-weight:500;color:var(--text);cursor:pointer;white-space:nowrap;transition:background .15s}.template-chip:active{background:var(--green);color:#fff}.quick-add-section{margin:16px 0}.quick-add-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.quick-add-btn{padding:14px 8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-size:14px;font-weight:600;color:var(--text);cursor:pointer;text-align:center;transition:background .15s,border-color .15s}.quick-add-btn:active{background:var(--green-light);border-color:var(--green)}.quick-add-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200;padding:16px}.quick-add-modal{background:var(--surface);border-radius:var(--radius);padding:20px;width:100%;max-width:400px}.csv-bulk-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--navy);color:#fff;border-radius:var(--radius);margin-bottom:8px;position:sticky;top:60px;z-index:10;font-size:13px}.csv-bulk-bar select{flex:1;font-size:13px;padding:4px;border-radius:6px}.triage-stack{position:relative;min-height:200px;display:flex;flex-direction:column;align-items:center;margin:16px 0}.triage-card{width:100%;max-width:340px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:0 4px 20px #00000014;user-select:none;-webkit-user-select:none;touch-action:pan-x}.triage-card-current{position:relative;z-index:2;cursor:grab}.triage-card-current:active{cursor:grabbing}.triage-card-next{position:absolute;top:8px;transform:scale(.95);opacity:.5;z-index:1;pointer-events:none}.triage-card-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.badge-expense{background:var(--red-light);color:var(--red)}.badge-income{background:#ecfdf5;color:#059669}.triage-card-date{font-size:13px;color:var(--text-muted);margin-bottom:4px}.triage-card-desc{font-size:16px;font-weight:600;margin-bottom:4px;word-break:break-word}.triage-card-amount{font-size:22px;font-weight:700;color:var(--green);margin-bottom:4px}.triage-card-suggestion{font-size:13px;color:var(--text-muted);margin-top:4px;padding-top:8px;border-top:1px solid var(--border)}.triage-actions{display:flex;justify-content:center;gap:16px;margin:8px 0 16px}.triage-action-btn{width:64px;height:64px;border-radius:50%;border:2px solid var(--border);background:var(--surface);font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.triage-accept{border-color:var(--green);color:var(--green);font-size:22px}.triage-accept:active{background:var(--green);color:#fff}.triage-edit{border-color:var(--navy);color:var(--navy)}.triage-edit:active{background:var(--navy);color:#fff}.triage-skip{border-color:var(--text-muted);color:var(--text-muted)}.triage-skip:active{background:var(--text-muted);color:#fff}.triage-count{display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:#fff;font-size:13px;font-weight:700;min-width:22px;height:22px;border-radius:11px;padding:0 6px;margin-left:6px;vertical-align:middle}.triage-combo{text-align:center;font-size:14px;font-weight:700;color:var(--green);margin-bottom:12px}.triage-combo-pulse{animation:comboPulse .4s ease}@keyframes comboPulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.triage-edit-panel{position:fixed;bottom:0;left:0;right:0;z-index:150;background:var(--surface);border-top:1px solid var(--border);border-radius:16px 16px 0 0;box-shadow:0 -4px 20px #0000001f;transform:translateY(0);transition:transform .3s;max-width:500px;margin:0 auto}.triage-edit-panel.hidden{transform:translateY(100%)}.triage-edit-inner{padding:20px 16px calc(20px + env(safe-area-inset-bottom,0px))}.triage-flash-green{background:#dcfce7!important;border-color:var(--green)!important;transition:background .15s,border-color .15s}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table td{padding:8px 0;border-bottom:1px solid var(--border)}.admin-table tr:last-child td{border-bottom:none}.admin-table .admin-val{text-align:right;font-variant-numeric:tabular-nums;font-weight:500;white-space:nowrap}.admin-table .admin-ct{text-align:right;color:var(--text-muted);font-size:12px;padding-left:8px;white-space:nowrap}.qbo-section{margin-top:12px}.qbo-desc{font-size:14px;color:var(--text-muted);margin:0 0 12px}.btn-qbo{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:12px 16px;border:none;border-radius:var(--radius);font-size:15px;font-weight:600;cursor:pointer;background:#2ca01c;color:#fff}.btn-qbo:disabled{opacity:.6;cursor:default}.qbo-connected{display:flex;flex-direction:column;gap:10px}.qbo-badge{display:inline-block;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:600}.qbo-badge-connected{background:#e8f5e9;color:#2e7d32}.qbo-send-wrap{margin-top:12px}.qbo-send-btn{font-size:14px;padding:10px 14px}.qbo-sync-success{background:#e8f5e9;color:#2e7d32}.qbo-sync-error{background:#ffebee;color:#c62828}.qbo-sync-badge{font-size:11px;font-weight:600;padding:2px 6px;border-radius:4px;margin-left:6px}.qbo-sync-badge-synced{background:#e8f5e9;color:#2e7d32}.qbo-sync-badge-pending{background:#e3f2fd;color:#1565c0;cursor:pointer}.email-prompt{padding:12px 16px;background:var(--surface);border-top:1px solid var(--border)}.email-prompt-form{display:flex;gap:8px}.email-prompt-form input[type=email]{flex:1;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:15px}.email-prompt-send{width:auto!important;padding:10px 20px!important;white-space:nowrap}.email-prompt-save{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:13px;color:var(--text-muted);cursor:pointer}.email-prompt-success{text-align:center;color:var(--green);font-weight:600;padding:8px}.field-hint{margin:4px 0 0;font-size:12px;color:var(--text-muted)}.trial-cta{display:block;margin:12px auto 0;background:none;border:none;color:#ffffffd9;font-size:14px;cursor:pointer;text-decoration:underline}.landing-cta-green+.trial-cta{color:var(--text-muted)}.landing-trial{text-align:center;padding:32px 20px 0;max-width:400px;margin:0 auto}.trial-flow{text-align:left}.trial-flow-title{font-size:20px;font-weight:700;margin-bottom:4px;text-align:center}.trial-flow-desc{font-size:14px;color:var(--text-muted);margin-bottom:20px;text-align:center}#trial-code{text-align:center;font-size:24px;font-weight:700;letter-spacing:6px}.trial-badge{position:absolute;left:50%;transform:translate(-50%);bottom:-2px;font-size:11px;font-weight:600;color:var(--green);background:var(--green-light);padding:2px 10px;border-radius:10px;white-space:nowrap}.app-header{position:relative}.upgrade-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#0009;display:flex;align-items:center;justify-content:center;padding:24px}.upgrade-card{background:var(--surface);border-radius:16px;padding:40px 28px 32px;max-width:380px;width:100%;text-align:center}.upgrade-icon{margin-bottom:16px}.upgrade-title{font-size:22px;font-weight:800;margin-bottom:8px}.upgrade-desc{font-size:14px;color:var(--text-muted);line-height:1.5;margin-bottom:24px}.upgrade-buy-btn{margin-bottom:12px}.upgrade-dismiss{background:none;border:none;color:var(--text-muted);font-size:13px;cursor:pointer;text-decoration:underline}.pwa-trial-divider{display:flex;align-items:center;gap:12px;margin:28px 0;color:var(--text-muted);font-size:13px}.pwa-trial-divider:before,.pwa-trial-divider:after{content:"";flex:1;height:1px;background:var(--border)}.pwa-trial-link{background:none;border:none;color:var(--green);font-size:14px;font-weight:600;cursor:pointer;text-decoration:underline}
