html{font-size:16px}@media only screen and (device-width>=360px) and (device-width<=360px) and (device-height>=780px) and (-webkit-device-pixel-ratio>=3) and (-webkit-device-pixel-ratio<=3){html{font-size:36px}}*,:before,:after{box-sizing:border-box}body{background:#f5f7fa;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.login-container{background:#f0f2f5;justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:#fff;border-radius:12px;width:100%;max-width:400px;padding:40px 36px;box-shadow:0 4px 24px #0000001a}.login-logo{align-items:center;gap:10px;margin-bottom:28px;display:flex}.login-form{flex-direction:column;gap:16px;display:flex}.login-info{color:#2e7d32;background:#e8f5e9;border-radius:8px;margin-bottom:4px;padding:10px 14px;font-size:13px}.login-signup-link{text-align:center;color:#888;margin:16px 0 0;font-size:13px}.login-signup-link a{color:#4a90d9;font-weight:600;text-decoration:none}.login-error{color:#c0392b;background:#fff0f0;border-radius:7px;padding:9px 13px;font-size:.88rem}.login-btn{color:#fff;cursor:pointer;background:#3b5bdb;border:none;border-radius:8px;margin-top:4px;padding:12px;font-size:1rem;font-weight:600;transition:background .2s}.login-btn:hover:not(:disabled){background:#2f4ac0}.login-btn:disabled{opacity:.6;cursor:not-allowed}.signup-container{background:linear-gradient(135deg,#f5f7fa 0%,#e8f0fe 100%);justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.signup-card{background:#fff;border-radius:20px;width:100%;max-width:420px;padding:36px 32px;box-shadow:0 4px 24px #00000014}.signup-logo{text-align:center;margin-bottom:20px}.logo-badge{color:#aaa;text-transform:uppercase;letter-spacing:1px;margin-top:2px;font-size:11px;display:block}.signup-title{color:#111;text-align:center;margin:0 0 20px;font-size:18px;font-weight:700}.signup-form{flex-direction:column;gap:14px;display:flex}.form-group{flex-direction:column;gap:5px;display:flex}.form-group label{color:#555;font-size:13px;font-weight:600}.form-group input{border:1.5px solid #ddd;border-radius:10px;outline:none;padding:11px 14px;font-size:14px;transition:border-color .2s}.form-group input:focus{border-color:#4a90d9}.form-group input:disabled{background:#f9f9f9}.signup-error{color:#c62828;background:#fdecea;border-radius:8px;padding:10px 14px;font-size:13px}.signup-btn{color:#fff;cursor:pointer;background:#4a90d9;border:none;border-radius:10px;margin-top:4px;padding:13px;font-size:15px;font-weight:700;transition:background .2s}.signup-btn:hover:not(:disabled){background:#3579c4}.signup-btn:disabled{opacity:.6;cursor:default}.signup-login-link{text-align:center;color:#888;margin:16px 0 0;font-size:13px}.signup-login-link a{color:#4a90d9;font-weight:600;text-decoration:none}.signup-success-icon{text-align:center;margin-bottom:12px;font-size:48px}.signup-card h2{text-align:center;color:#111;margin:0 0 10px;font-size:20px}.signup-card p{text-align:center;color:#555;margin:0 0 8px;font-size:14px}.signup-hint{color:#aaa!important;font-size:13px!important}.signup-resend-btn{color:#4a90d9;cursor:pointer;background:0 0;border:1.5px solid #4a90d9;border-radius:10px;width:100%;margin-top:16px;padding:11px;font-size:14px;font-weight:600;transition:all .2s;display:block}.signup-resend-btn:hover:not(:disabled){background:#f0f4ff}.signup-resend-btn:disabled{opacity:.6;cursor:default}.signup-back-btn{color:#4a90d9;cursor:pointer;background:#f0f4ff;border:none;border-radius:10px;width:100%;margin-top:20px;padding:12px;font-size:14px;font-weight:600;display:block}.sv-container{background:#f7f8fc;min-height:100vh;padding:0 0 40px}.sv-header{background:#fff;border-bottom:1px solid #eee;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:20px 28px;display:flex}.sv-logo{align-items:center;gap:10px;display:flex}.sv-logo-text{color:#4a90d9;font-size:20px;font-weight:800}.sv-badge{color:#4a90d9;text-transform:uppercase;letter-spacing:.5px;background:#f0f4ff;border-radius:6px;padding:3px 10px;font-size:11px;font-weight:700}.sv-link-meta{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.sv-link-label{color:#333;font-size:15px;font-weight:600}.sv-link-expiry{color:#aaa;font-size:12px}.sv-summary{color:#666;justify-content:space-between;align-items:center;padding:14px 28px;font-size:14px;display:flex}.sv-readonly-badge{color:#f57c00;background:#fff8e1;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600}.sv-loading,.sv-empty{text-align:center;color:#aaa;padding:60px 20px;font-size:15px}.sv-table-wrap{padding:0 20px;overflow-x:auto}.sv-table{border-collapse:collapse;background:#fff;border-radius:14px;width:100%;overflow:hidden;box-shadow:0 2px 12px #0000000f}.sv-table th{text-align:left;color:#888;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;-webkit-user-select:none;user-select:none;background:#f8f9ff;padding:12px 14px;font-size:12px;font-weight:700}.sv-th-sort{cursor:pointer}.sv-th-sort:hover{color:#444;background:#edf1f7}.sv-sort-arrow{color:#4a90d9;margin-left:4px;font-size:11px;font-weight:700;display:inline-block}.sv-sort-inactive{color:#ccc;font-weight:400}.sv-table td{color:#333;vertical-align:middle;border-top:1px solid #f2f2f2;padding:13px 14px;font-size:14px}.sv-table tr:hover td{background:#fafbff}.sv-vendor-name{color:#111;font-weight:600}.sv-tax-id{color:#aaa;margin-top:2px;font-size:11px}.sv-amount{color:#1a7f37;font-weight:700}.sv-num{font-variant-numeric:tabular-nums}.sv-type-badge{color:#555;text-transform:capitalize;background:#f0f0f0;border-radius:6px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-block}.sv-type-badge.expense{color:#c62828;background:#fff0f0}.sv-type-badge.income{color:#2e7d32;background:#f0fff4}.sv-type-badge.unknown{color:#f57f17;background:#fff8e1}.sv-cats{flex-wrap:wrap;gap:4px;display:flex}.sv-cat-pill{border:1px solid #0000;border-radius:6px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-block}.sv-no-cat{color:#ccc;font-size:13px}.sv-dl-group{flex-direction:column;gap:4px;display:flex}.sv-dl-btn{cursor:pointer;white-space:nowrap;background:0 0;border:1.5px solid #e0e0e0;border-radius:7px;padding:5px 10px;font-size:12px;transition:background .2s}.sv-dl-btn:hover{background:#f5f5f5}.sv-pagination{color:#666;justify-content:center;align-items:center;gap:16px;padding:20px;font-size:14px;display:flex}.sv-pagination button{cursor:pointer;background:#fff;border:1.5px solid #e0e0e0;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:background .2s}.sv-pagination button:disabled{opacity:.4;cursor:default}.sv-pagination button:not(:disabled):hover{background:#f5f5f5}.sv-cta-banner{color:#fff;background:linear-gradient(135deg,#4a90d9 0%,#3579c4 100%);border-radius:14px;margin:24px 20px 0;padding:20px 24px}.sv-cta-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.sv-cta-content strong{font-size:15px}.sv-cta-content span{opacity:.9;font-size:14px}.sv-cta-buttons{gap:10px;display:flex}.sv-cta-btn{white-space:nowrap;border-radius:9px;padding:10px 20px;font-size:14px;font-weight:700;text-decoration:none;transition:all .2s}.sv-cta-btn.primary{color:#3579c4;background:#fff}.sv-cta-btn.primary:hover{background:#f0f4ff}.sv-cta-btn.secondary{color:#fff;background:#ffffff26;border:1.5px solid #fff6}.sv-cta-btn.secondary:hover{background:#ffffff40}.sv-footer{text-align:center;color:#ccc;padding:30px;font-size:12px}.sv-error-card{text-align:center;background:#fff;border-radius:16px;max-width:400px;margin:100px auto;padding:40px 32px;box-shadow:0 4px 20px #00000014}.sv-error-icon{margin-bottom:12px;font-size:48px}.sv-error-card h2{color:#111;margin:0 0 10px;font-size:20px}.sv-error-card p{color:#888;margin:0;font-size:14px}.layout{background:#f5f7fa;min-height:100vh;display:flex}.sidebar{color:#fff;background:#1a1a2e;flex-direction:column;flex-shrink:0;width:220px;padding:24px 0;display:flex}.sidebar-logo{border-bottom:1px solid #ffffff14;align-items:center;gap:8px;padding:0 20px 24px;display:flex}.logo-text{color:#fff;font-size:1.2rem;font-weight:700}.logo-badge{color:#fff;letter-spacing:.04em;background:#3b5bdb;border-radius:5px;padding:2px 6px;font-size:.68rem;font-weight:700}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:16px 10px;display:flex}.nav-item{color:#ffffffa6;border-radius:8px;padding:10px 14px;font-size:.92rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:block}.nav-item:hover{color:#fff;background:#ffffff12}.nav-item.active{color:#fff;background:#3b5bdb59}.sidebar-footer{border-top:1px solid #ffffff14;padding:16px 20px 0}.sidebar-user{margin-bottom:10px}.user-email{color:#ffffff80;word-break:break-all;font-size:.78rem}.logout-btn{color:#fff9;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:6px;width:100%;padding:6px 12px;font-size:.82rem;transition:all .15s}.logout-btn:hover{color:#fff;background:#ffffff12}.main-content{flex:1;padding:32px;overflow-y:auto}.mobile-bottom-nav{display:none}.layout.is-mobile .mobile-bottom-nav{z-index:200;-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem);padding:.375rem 0 max(.375rem, env(safe-area-inset-bottom));background:#0a0f1ef7;border-top:.0625rem solid #1f2937;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.layout.is-mobile .main-content{padding:20px 16px max(4.5rem, calc(4.5rem + env(safe-area-inset-bottom)))}.layout.is-mobile .mobile-tab{cursor:pointer;color:#ffffffa3;background:0 0;border:none;border-radius:.625rem;flex-direction:column;flex:1;align-items:center;gap:.125rem;padding:.5rem .375rem;transition:background .15s;display:flex}.layout.is-mobile .mobile-tab:hover{background:#ffffff14}.layout.is-mobile .mobile-tab-icon{font-size:1.375rem;line-height:1}.layout.is-mobile .mobile-tab.active .mobile-tab-icon{filter:drop-shadow(0 0 .25rem #6366f3)}.layout.is-mobile .mobile-tab-label{color:#6b7280;font-size:.6875rem;font-weight:500}.layout.is-mobile .mobile-tab.active .mobile-tab-label{color:#a5b4fc}.dashboard{max-width:900px}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.loading{color:#888;font-size:.95rem}.error-msg{color:#c0392b;background:#fff0f0;border-radius:8px;padding:10px 14px}.empty-state{text-align:center;color:#888;padding:60px 20px}.empty-state p{margin:4px 0}.empty-state .hint{color:#aaa;font-size:.85rem}.client-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.client-card{cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:14px;padding:20px;transition:box-shadow .2s,transform .15s;display:flex;box-shadow:0 2px 8px #0000000f}.client-card:hover{transform:translateY(-1px);box-shadow:0 4px 18px #0000001f}.client-avatar{color:#fff;background:#3b5bdb;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2rem;font-weight:700;display:flex}.client-info{flex:1;min-width:0}.client-name{color:#1a1a2e;white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.client-email{color:#888;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.78rem;overflow:hidden}.client-count{color:#3b5bdb;white-space:nowrap;font-size:.78rem;font-weight:600}.cpa-modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cpa-modal{color:#e2e8f0;background:#1e2130;border-radius:12px;width:520px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080}.cpa-modal-header{border-bottom:1px solid #2d3148;justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.cpa-modal-title{color:#fff;align-items:center;gap:10px;margin:0;font-size:1.15rem;font-weight:700;display:flex}.cpa-modal-doc-type{color:#94a3b8;background:#2d3148;border-radius:4px;padding:2px 8px;font-size:.75rem;font-weight:400}.cpa-modal-header-actions{align-items:center;gap:8px;display:flex}.cpa-btn{cursor:pointer;border:none;border-radius:6px;padding:6px 14px;font-size:.85rem;font-weight:600;transition:opacity .15s}.cpa-btn:disabled{opacity:.5;cursor:not-allowed}.cpa-btn-edit{color:#e2e8f0;background:#3b4a6b}.cpa-btn-edit:hover{background:#4a5a80}.cpa-btn-close{color:#94a3b8;background:0 0;padding:4px 10px;font-size:1rem}.cpa-btn-close:hover{color:#fff}.cpa-btn-primary{color:#fff;background:#4f8ef7}.cpa-btn-primary:hover:not(:disabled){background:#3a7de0}.cpa-btn-secondary{color:#94a3b8;background:#2d3148}.cpa-btn-secondary:hover{color:#e2e8f0;background:#3b4a6b}.cpa-modal-body{padding:20px 24px}.cpa-detail-grid{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.cpa-detail-row{justify-content:space-between;align-items:center;font-size:.875rem;display:flex}.cpa-detail-row span:first-child{color:#94a3b8}.cpa-detail-row span:last-child{color:#e2e8f0;font-weight:500}.cpa-badge{text-transform:capitalize;border-radius:4px;padding:2px 8px;font-size:.75rem;font-weight:600}.cpa-badge-expense{color:#a78bfa;background:#7c3aed22}.cpa-badge-income{color:#34d399;background:#06966622}.cpa-badge-unknown{color:#94a3b8;background:#37415122}.cpa-irs-section{background:#161826;border-radius:8px;margin-bottom:16px;padding:16px}.cpa-irs-header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.cpa-irs-title{font-size:.9rem;font-weight:600}.cpa-irs-badge{border-radius:4px;padding:2px 8px;font-size:.72rem}.cpa-irs-badge-auto{color:#60a5fa;background:#1e40af22}.cpa-irs-badge-manual{color:#fbbf24;background:#78350f22}.cpa-irs-badge-pending_review{color:#fcd34d;background:#92400e22}.cpa-irs-badge-unclassified{color:#94a3b8;background:#37415122}.cpa-irs-cats{flex-direction:column;gap:6px;display:flex}.cpa-irs-cat-item{background:#1e2130;border-radius:6px;align-items:center;gap:10px;padding:6px 8px;font-size:.85rem;display:flex}.cpa-irs-cat-item.cpa-irs-pending{border-left:2px solid #f59e0b}.cpa-irs-schedule{color:#94a3b8;margin-left:auto;font-size:.75rem}.cpa-irs-capex{color:#f59e0b;font-size:.75rem}.cpa-irs-edit{flex-direction:column;gap:10px;margin-top:14px;display:flex}.cpa-irs-edit-label{color:#94a3b8;font-size:.8rem}.cpa-irs-select{color:#e2e8f0;background:#1e2130;border:1px solid #3b4a6b;border-radius:6px;width:100%;padding:8px 10px;font-size:.85rem}.cpa-irs-edit-actions{justify-content:flex-end;gap:8px;display:flex}.cpa-irs-error{color:#f87171;font-size:.8rem}.cpa-notes{margin-top:4px}.cpa-notes-label{color:#94a3b8;margin-bottom:4px;font-size:.8rem;display:block}.cpa-notes-text{color:#cbd5e1;margin:0;font-size:.85rem;line-height:1.5}.cp-page{padding:16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.cp-header{align-items:center;gap:10px;margin-bottom:16px;display:flex}.cp-header h1{flex:1;margin:0;font-size:22px;font-weight:700}.cp-back{color:#4a90d9;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:20px}.cp-count{color:#4a90d9;background:#e8f0fe;border-radius:12px;padding:2px 10px;font-size:13px;font-weight:600}.cp-report-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#4a90d9;border:none;border-radius:9px;margin-left:auto;padding:8px 16px;font-size:13px;font-weight:700;transition:background .2s}.cp-report-btn:hover{background:#3579c4}.cp-filters{gap:10px;margin-bottom:16px;display:flex}.cp-search{border:1.5px solid #ddd;border-radius:10px;outline:none;flex:1;padding:9px 14px;font-size:14px}.cp-search:focus{border-color:#4a90d9}.cp-type-filter{cursor:pointer;background:#fff;border:1.5px solid #ddd;border-radius:10px;outline:none;padding:9px 12px;font-size:14px}.cp-loading,.cp-empty{color:#888;padding:20px 0;font-size:14px}.cp-error{color:#d32f2f;background:#fdecea;border-radius:8px;padding:10px 14px;font-size:14px}.cp-badge{text-transform:capitalize;color:#555;background:#eee;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.cp-badge-income{color:#2e7d32;background:#e8f5e9}.cp-badge-expense{color:#c62828;background:#fdecea}.cp-badge-unknown{color:#f57f17;background:#fff8e1}.cp-table-wrap{display:none}.cp-cards{flex-direction:column;gap:12px;display:flex}.cp-card{background:#fff;border-left:4px solid #ddd;border-radius:14px;padding:14px 16px;box-shadow:0 1px 6px #00000012}.cp-card-income{border-left-color:#4caf50}.cp-card-expense{border-left-color:#f44336}.cp-card-unknown{border-left-color:#ffb300}.cp-card-top{justify-content:space-between;align-items:flex-start;margin-bottom:6px;display:flex}.cp-card-actions{align-items:center;gap:6px;display:flex}.cp-card-vendor{color:#111;font-size:15px;font-weight:600}.cp-card-amount{color:#222;margin-bottom:8px;font-size:20px;font-weight:700}.cp-card-meta{color:#666;flex-wrap:wrap;gap:10px;font-size:13px;display:flex}.cp-card-tax,.cp-card-notes{color:#999;margin-top:4px;font-size:12px}.cp-card-cats{flex-wrap:wrap;align-items:center;gap:4px;margin-top:8px;display:flex}.cp-card-cats-label{color:#aaa;text-transform:uppercase;letter-spacing:.5px;font-size:11px}.cp-cats{flex-wrap:wrap;gap:4px;display:flex}.cp-cat{border:1px solid #0000;border-radius:8px;padding:2px 8px;font-size:11px;font-weight:600}.cp-no-cat{color:#ccc;font-size:13px}.cp-dl-btn{cursor:pointer;white-space:nowrap;background:0 0;border:1.5px solid #ddd;border-radius:8px;padding:4px 8px;font-size:13px;transition:all .15s}.cp-dl-btn:hover:not(:disabled){background:#f0f4ff;border-color:#4a90d9}.cp-dl-btn:disabled{opacity:.5;cursor:default}.cp-dl-group{flex-direction:column;gap:4px;display:flex}@media (width>=768px){.cp-cards{display:none}.cp-table-wrap{display:block;overflow-x:auto}.cp-table{border-collapse:collapse;background:#fff;border-radius:12px;width:100%;font-size:13px;overflow:hidden;box-shadow:0 1px 6px #00000012}.cp-table thead{background:#f5f7fa}.cp-table th{text-align:left;color:#555;white-space:nowrap;-webkit-user-select:none;user-select:none;border-bottom:1px solid #eee;padding:11px 14px;font-weight:600}.cp-th-sort{cursor:pointer}.cp-th-sort:hover{color:#333;background:#edf1f7}.cp-sort-arrow{color:#4a90d9;margin-left:4px;font-size:11px;font-weight:700;display:inline-block}.cp-sort-inactive{color:#ccc;font-weight:400}.cp-table td{color:#333;vertical-align:middle;border-bottom:1px solid #f5f5f5;padding:10px 14px}.cp-table tr:last-child td{border-bottom:none}.cp-table tr:hover td{background:#fafbff}.cp-num{text-align:right;font-variant-numeric:tabular-nums}.cp-total,.cp-vendor-name{color:#111;font-weight:600}.cp-tax-id{color:#aaa;margin-top:2px;font-size:11px}}.reports-page{max-width:560px}.page-header{margin-bottom:24px}.page-header h1{color:#1a1a2e;margin:0;font-size:1.6rem;font-weight:700}.reports-card{background:#fff;border-radius:12px;padding:32px 40px;box-shadow:0 2px 8px #0000000f}.reports-form{flex-direction:column;gap:20px;display:flex}.reports-field{flex-direction:column;gap:6px;display:flex}.reports-field label{color:#555;text-transform:uppercase;letter-spacing:.04em;font-size:.82rem;font-weight:600}.reports-select,.reports-date-input{color:#1a1a2e;background:#fff;border:1.5px solid #ddd;border-radius:8px;outline:none;padding:9px 12px;font-size:.9rem;transition:border-color .15s}.reports-select:focus,.reports-date-input:focus{border-color:#3b5bdb}.reports-date-row{gap:16px;display:flex}.reports-date-row .reports-field{flex:1}.toggle-group{border:1.5px solid #ddd;border-radius:8px;width:fit-content;display:flex;overflow:hidden}.toggle-btn{cursor:pointer;color:#555;background:#fff;border:none;padding:9px 20px;font-size:.88rem;font-weight:500;transition:background .15s,color .15s}.toggle-btn:not(:last-child){border-right:1.5px solid #ddd}.toggle-btn.active{color:#fff;background:#3b5bdb}.reports-download-btn{color:#fff;cursor:pointer;background:#3b5bdb;border:none;border-radius:9px;align-self:flex-start;padding:11px 24px;font-size:.95rem;font-weight:600;transition:background .2s}.reports-download-btn:hover:not(:disabled){background:#2f4ac4}.reports-download-btn:disabled{opacity:.5;cursor:not-allowed}.reports-error{color:#c0392b;background:#fff0f0;border-radius:8px;padding:10px 14px;font-size:.88rem}
