.app-layout{min-height:100vh;display:flex;flex-direction:column}.header{display:flex;align-items:center;gap:1rem;padding:.75rem 1.25rem;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.menu-toggle{display:none;flex-direction:column;gap:5px;padding:.5rem}.menu-toggle span{width:22px;height:2px;background:var(--text);border-radius:1px}.logo{font-size:1.25rem;font-weight:700;flex:1}.header-mode-switch{display:flex;align-items:center;gap:0;background:var(--surface-hover);border-radius:var(--radius);padding:2px}.mode-btn{padding:.4rem .85rem;font-size:.85rem;font-weight:500;color:var(--text-muted);background:transparent;border:none;border-radius:calc(var(--radius) - 1px);cursor:pointer;transition:background .2s,color .2s}.mode-btn:hover:not(:disabled){color:var(--text)}.mode-btn:disabled{cursor:wait;opacity:.8}.mode-btn-active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0000000f}.header-user{display:flex;align-items:center;gap:1rem}.user-name{color:var(--text-muted);font-size:.9rem;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-logout{padding:.5rem 1rem;background:var(--surface-hover);color:var(--text);border-radius:var(--radius);font-size:.9rem}.btn-logout:hover{background:var(--danger);color:#fff}.nav{display:flex;gap:.25rem;padding:.5rem 1.25rem;background:var(--surface);border-bottom:1px solid var(--border)}.nav-link{padding:.6rem 1rem;color:var(--text-muted);border-radius:var(--radius);font-weight:500;transition:background .2s,color .2s}.nav-link-content{display:inline-flex;align-items:center;justify-content:center;gap:.4rem}.nav-icon{display:none}.nav-icon svg{width:18px;height:18px}.nav-label{display:inline-block}.nav-link:hover{background:var(--surface-hover);color:var(--text)}.nav-link.active{background:var(--primary);color:#fff}.main{flex:1;padding:1.25rem;max-width:1200px;margin:0 auto;width:100%}.encryption-notice-banner{background:#00ba7c1a;border:1px solid var(--success, #00ba7c);border-radius:var(--radius);padding:.75rem 1rem;margin-bottom:1rem;font-size:.9rem;color:var(--text)}.encryption-notice-banner p{margin:0}.verify-email-banner{background:#1d9bf01f;border:1px solid var(--primary);border-radius:var(--radius);padding:1rem;margin-bottom:1rem}.verify-email-text{font-size:.9rem;margin-bottom:.75rem;color:var(--text)}.verify-email-form{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.verify-email-input{width:6ch;padding:.5rem .75rem;font-size:1.1rem;letter-spacing:.2em;text-align:center;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text)}.verify-email-form .btn-verify,.verify-email-form .btn-resend{padding:.5rem .75rem;font-size:.9rem}.verify-email-message{margin-top:.5rem;font-size:.85rem;color:var(--text-muted)}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--text-muted)}@media (max-width: 768px){.menu-toggle{display:none}.nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;padding:.25rem .5rem env(safe-area-inset-bottom);border-top:1px solid var(--border);border-bottom:none;background:var(--surface);display:flex;justify-content:space-between;gap:.25rem;z-index:150}.nav-link{flex:1;padding:.45rem .4rem .3rem;text-align:center;font-size:.78rem;white-space:nowrap;background:transparent;color:var(--text-muted);position:relative}.nav-link-content{flex-direction:column;gap:.15rem}.nav-icon{display:block}.nav-link.active{background:transparent;color:var(--primary)}.nav-link.active:before{content:"";position:absolute;top:0;left:22%;right:22%;height:3px;border-radius:999px;background:var(--primary)}.header-user .user-name{display:none}.main{padding:1rem 1rem 4rem}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.25rem;border-radius:var(--radius);font-weight:600;transition:background .2s,opacity .2s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--surface-hover);color:var(--text)}.btn-secondary:hover:not(:disabled){background:var(--border)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){opacity:.9}.btn-ghost{background:transparent;color:var(--text)}.btn-ghost:hover:not(:disabled){background:var(--surface-hover)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:linear-gradient(145deg,var(--bg) 0%,var(--surface) 100%)}.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow)}.auth-card h1{font-size:1.5rem;margin-bottom:.25rem;text-align:center}.auth-subtitle{color:var(--text-muted);font-size:.95rem;text-align:center;margin-bottom:1.5rem}.auth-card .error-message{color:var(--danger);font-size:.9rem;margin-bottom:1rem;text-align:center}.auth-submit{width:100%;margin-top:.5rem;padding:.75rem!important}.auth-footer{margin-top:1.5rem;text-align:center;color:var(--text-muted);font-size:.9rem}.auth-footer a{font-weight:600}.auth-forgot{margin-top:.75rem;text-align:center;font-size:.9rem}.auth-forgot a{color:var(--primary)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}.card-title{font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--text)}.dashboard-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.dashboard-header h2{font-size:1.5rem;font-weight:700}.month-year-select{display:flex;gap:.5rem}.month-year-select select{width:auto;min-width:120px;padding:.5rem .75rem}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem}.summary-card{text-align:center;padding:1.25rem!important}.dashboard-section-title{font-size:1.1rem;font-weight:600;margin-top:1.5rem;margin-bottom:.25rem}.summary-card.revenue .summary-value{color:var(--primary)}.summary-card.expense .summary-value{color:var(--danger)}.summary-card.saving .summary-value{color:var(--success)}.summary-card.growth .summary-value{color:var(--text)}.summary-card.tax-collected .summary-value{color:var(--primary)}.summary-card.tds-deducted .summary-value{color:var(--warning, #b8860b)}.summary-card.net-after-tds .summary-value,.summary-card.net-profit-after-tds .summary-value{color:var(--success)}.summary-value.negative{color:var(--danger)!important}.summary-label{display:block;font-size:.85rem;color:var(--text-muted);margin-bottom:.35rem}.summary-value{font-size:1.5rem;font-weight:700}.dashboard-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:1.5rem}.chart-card{min-height:320px}.trends-card{margin-bottom:1rem}.page-loading,.page-error{text-align:center;padding:2rem;color:var(--text-muted)}.page-error{color:var(--danger)}.dashboard-error-banner{background:#f4212e1a;border:1px solid var(--danger);border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:1.25rem;color:var(--text);font-size:.9rem}.dashboard-error-banner strong{color:var(--danger)}.dashboard-error-hint{display:block;margin-top:.5rem;font-size:.85rem;color:var(--text-muted)}.dashboard-hint{color:var(--text-muted);font-size:.9rem;margin-top:1rem}@media (max-width: 640px){.summary-cards{grid-template-columns:1fr}.summary-value{font-size:1.25rem}}.budget-page .budget-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.budget-page .budget-header-controls{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.budget-page .month-year-select{display:flex;gap:.5rem}.budget-page .month-year-select select{width:auto;min-width:120px}.budget-section{margin-bottom:1.5rem}.budget-row{display:grid;grid-template-columns:1fr 140px;gap:1rem;align-items:center;margin-bottom:.75rem}.budget-row label,.budget-row span{font-weight:500;color:var(--text-muted)}.budget-row input{text-align:right}.budget-row.total{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.budget-category{margin-bottom:1rem}.budget-category h4{font-size:.95rem;color:var(--text);margin-bottom:.5rem}.success-message{color:var(--success);margin-bottom:1rem}.budget-page .save-budget-wrapper{position:sticky;bottom:4.5rem;padding-top:.75rem;padding-bottom:.5rem}.budget-page .save-budget-wrapper .btn{width:100%;justify-content:center;box-shadow:0 10px 25px #0006}@media (max-width: 640px){.budget-row{grid-template-columns:1fr 100px;gap:.5rem}}.searchable-select{position:relative;width:100%}.searchable-select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font:inherit;font-size:1rem;text-align:left;cursor:pointer;min-height:42px}.searchable-select-trigger:hover{border-color:var(--text-muted)}.searchable-select-value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchable-select-chevron{color:var(--text-muted);font-size:.7rem;flex-shrink:0}.searchable-select-dropdown{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:100;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;min-width:200px}.searchable-select-search-wrap{padding:.5rem;border-bottom:1px solid var(--border);background:var(--surface)}.searchable-select-search{width:100%;padding:.5rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font:inherit;font-size:.95rem}.searchable-select-search::placeholder{color:var(--text-muted)}.searchable-select-search:focus{outline:none;border-color:var(--primary)}.searchable-select-list{max-height:min(50vh,280px);overflow-y:auto;padding:.25rem 0;-webkit-overflow-scrolling:touch}.searchable-select-empty{padding:1rem .75rem;color:var(--text-muted);text-align:center;font-size:.9rem}.searchable-select-group{padding:.25rem 0}.searchable-select-group-label{padding:.35rem .75rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);background:#00000026}.searchable-select-option{display:block;width:100%;padding:.5rem .75rem;text-align:left;background:none;border:none;color:var(--text);font:inherit;font-size:.95rem;cursor:pointer}.searchable-select-option:hover{background:var(--surface-hover)}.searchable-select-option.selected{background:#1d9bf033;color:var(--primary)}@media (max-width: 640px){.searchable-select-dropdown{max-height:min(60vh,320px);display:flex;flex-direction:column}.searchable-select-list{max-height:min(45vh,240px)}}.date-picker{position:relative;width:100%}.date-picker-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font:inherit;font-size:1rem;text-align:left;cursor:pointer;min-height:42px}.date-picker-trigger:hover{border-color:var(--text-muted)}.date-picker-value{flex:1}.date-picker-chevron{color:var(--text-muted);font-size:.7rem}.date-picker-dropdown{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:100;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:.75rem;width:100%;max-width:320px;margin:0 auto}.date-picker-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.date-picker-title{font-weight:600;font-size:.95rem}.date-picker-nav{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:1.25rem;cursor:pointer;line-height:1}.date-picker-nav:hover{background:var(--surface-hover)}.date-picker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;font-size:.7rem;font-weight:600;color:var(--text-muted)}.date-picker-weekday{text-align:center;padding:.25rem 0}.date-picker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.date-picker-day{aspect-ratio:1;max-width:44px;max-height:44px;width:100%;margin:0 auto;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:var(--text);font:inherit;font-size:.85rem;cursor:pointer}.date-picker-day.empty{cursor:default;visibility:hidden}.date-picker-day:hover:not(.empty){background:var(--surface-hover)}.date-picker-day.today{border:1px solid var(--primary);color:var(--primary)}.date-picker-day.selected{background:var(--primary);color:#fff}.date-picker-day.selected.today{border-color:var(--primary)}.date-picker-actions{margin-top:.75rem;padding-top:.5rem;border-top:1px solid var(--border)}.date-picker-today{width:100%;padding:.4rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--primary);font:inherit;font-size:.9rem;cursor:pointer}.date-picker-today:hover{background:var(--surface-hover)}@media (max-width: 640px){.date-picker-dropdown{max-width:100%;padding:.5rem}.date-picker-day{max-width:36px;max-height:36px;font-size:.8rem}.date-picker-title{font-size:.9rem}.date-picker-nav{width:32px;height:32px;font-size:1.1rem}}.entries-page .entries-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.entries-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.entries-controls select{width:auto;min-width:110px;padding:.5rem .75rem}.entries-summary{margin-bottom:1rem;padding:1rem!important}.entries-summary strong{color:var(--success)}.entries-table-wrap{overflow-x:auto}.entries-table{width:100%;border-collapse:collapse;font-size:.9rem}.entries-table th,.entries-table td{padding:.6rem .75rem;text-align:left;border-bottom:1px solid var(--border)}.entries-table th{color:var(--text-muted);font-weight:600}.entries-table td:has(.btn-link){white-space:nowrap}.btn-link{background:none;border:none;color:var(--primary);cursor:pointer;padding:.25rem .5rem;font-size:.85rem;margin-right:.5rem}.btn-link.danger{color:var(--danger)}.btn-link:hover{text-decoration:underline}.no-entries{color:var(--text-muted);padding:1rem 0;text-align:center}.hint{color:var(--text-muted);margin-bottom:1rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;max-width:400px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow)}.form-group-select{position:relative;overflow:visible}.modal h3{margin-bottom:1rem;font-size:1.1rem}.modal-actions{display:flex;gap:.75rem;margin-top:1.25rem}.modal-actions .btn:last-child{margin-left:auto}@media (max-width: 640px){.entries-table th:nth-child(5),.entries-table td:nth-child(5){display:none}}.settings-page h2{margin-bottom:.5rem}.settings-desc{color:var(--text-muted);font-size:.95rem;margin-bottom:1.5rem}.settings-tabs{display:flex;gap:.25rem;margin-bottom:1.5rem}.settings-tabs button{padding:.6rem 1rem;background:var(--surface-hover);color:var(--text);border-radius:var(--radius);font-weight:500}.settings-tabs button.active{background:var(--primary);color:#fff}@media (max-width: 768px){.settings-tabs{flex-direction:column;gap:.5rem}.settings-tabs button{width:100%;justify-content:space-between;display:flex;align-items:center;border-radius:999px;padding-inline:1.1rem;font-size:.9rem}.settings-tabs button:after{content:"›";font-size:1.1rem;opacity:.6}}.settings-list{list-style:none;margin-bottom:1rem}.settings-list li{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid var(--border);gap:.5rem}.settings-list .btn-link{background:none;border:none;color:var(--primary);cursor:pointer;font-size:.85rem;padding:.25rem .5rem}.settings-list .btn-link.danger{color:var(--danger)}.inline-form{display:flex;gap:.5rem;flex-wrap:wrap;flex:1}.inline-form input{flex:1;min-width:120px}.add-form{display:flex;gap:.5rem;margin-top:.5rem}.add-form input{flex:1;max-width:240px}.settings-hint{color:var(--text-muted);font-size:.9rem;margin-bottom:1rem}.expense-category-block{margin-bottom:1.25rem}.expense-category-block h4{font-size:.95rem;margin-bottom:.5rem;color:var(--text)}.line-items{list-style:none;padding-left:1rem;color:var(--text-muted);font-size:.9rem}.line-items li{padding:.25rem 0;border:none;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.add-expense-type-form{margin-top:.5rem}.settings-toggle{padding:.35rem .75rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-hover);color:var(--text-muted);font-size:.85rem;font-weight:500;cursor:pointer}.settings-toggle.on{background:var(--primary);color:#fff;border-color:var(--primary)}.settings-toggle:disabled{opacity:.7;cursor:not-allowed}.business-page{padding:1rem 0}.business-page .card{max-width:56rem}.business-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1.25rem}.business-filter{display:flex;flex-direction:column;gap:.25rem}.business-filter label,.business-form-modal label{font-size:.85rem;font-weight:500;color:var(--text-muted, #666)}.business-filter-inline{flex-direction:row;align-items:center}.business-filter-inline input[type=date]{padding:.5rem;border-radius:var(--radius, 6px);border:1px solid var(--border, #ddd)}.business-loading,.business-empty{color:var(--text-muted, #666);padding:1.5rem 0}.business-list{list-style:none;padding:0;margin:0}.business-list-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--border, #eee)}.business-list-item:last-child{border-bottom:none}.business-list-item-readonly .business-list-actions{display:none}.business-revenue-section{margin-bottom:1.5rem}.business-revenue-section-title{font-size:.95rem;margin:0 0 .5rem;color:var(--text-secondary, #666)}.business-revenue-subtotal{margin:.5rem 0 0;font-size:.9rem;color:var(--text-muted, #666)}.business-revenue-total{margin:1rem 0 0;padding-top:.75rem;border-top:1px solid var(--border, #333);font-size:1rem}.business-list-main{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;flex:1;min-width:0}.business-list-main strong{font-weight:600}.business-meta{font-size:.9rem;color:var(--text-muted, #666)}.business-badge{font-size:.75rem;padding:.2rem .5rem;background:var(--surface-hover, #f0f0f0);border-radius:999px;color:var(--text-muted, #666)}.business-list-actions{display:flex;gap:.25rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--surface, #fff);border-radius:var(--radius, 8px);max-width:32rem;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0003;padding:1.5rem}.business-encryption-notice{margin:0 0 1rem;padding:.6rem .75rem;background:#fff8e6;border:1px solid #e6c84a;border-radius:6px;font-size:.9rem;color:#6b5a00}.business-form-modal h3{margin:0 0 1rem;font-size:1.25rem}.business-form-modal form{display:flex;flex-direction:column;gap:1rem}.business-form-modal .form-group{display:flex;flex-direction:column;gap:.35rem}.business-form-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.business-form-modal input[type=text],.business-form-modal input[type=number],.business-form-modal input[type=email],.business-form-modal textarea{padding:.5rem .75rem;border:1px solid var(--border, #ddd);border-radius:var(--radius, 6px);font-size:1rem}.business-form-modal .form-check label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.business-form-modal .form-check input[type=checkbox],.business-form-modal .checkbox-label input[type=checkbox]{width:1.1rem;height:1.1rem}.business-form-modal .checkbox-label{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer}.form-hint{display:block;font-size:.8rem;color:var(--text-muted);margin-top:.25rem}.form-readonly-value{padding:.5rem .6rem;background:var(--surface, #f5f5f5);border-radius:var(--radius, 6px);font-weight:500;min-height:2.25rem;display:flex;align-items:center}.business-contract-upload{display:flex;flex-direction:column;gap:.5rem}.business-contract-upload input[type=file]{font-size:.9rem}.business-contract-link{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.business-contract-link a{color:var(--primary, #2563eb);text-decoration:none}.business-contract-link a:hover{text-decoration:underline}.business-contract-current{background:var(--bg-secondary, rgba(255, 255, 255, .06));border:1px solid var(--border, rgba(255, 255, 255, .12));border-radius:6px;padding:.75rem 1rem;margin-bottom:.75rem}.business-contract-label{display:block;font-size:.9rem;color:var(--text-muted);margin-bottom:.5rem}.business-contract-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.business-contract-link-btn{display:inline-block;padding:.35rem .75rem;font-size:.875rem;color:var(--primary, #2563eb);background:transparent;border:1px solid var(--primary, #2563eb);border-radius:4px;text-decoration:none}.business-contract-link-btn:hover{background:var(--primary, #2563eb);color:#fff}.business-settings-page .business-form-modal{max-width:none}.business-settings-title{font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.business-asset-upload{display:flex;flex-direction:column;gap:.75rem}.business-asset-upload input[type=file]{font-size:.9rem}.business-asset-preview{max-width:200px;max-height:120px}.business-asset-preview img{max-width:100%;max-height:120px;object-fit:contain;border:1px solid var(--border, #ddd);border-radius:var(--radius, 6px)}.business-asset-preview.signature-preview{max-width:280px;max-height:80px}.business-asset-preview.signature-preview img{max-height:80px}.business-more-page{padding-bottom:.5rem}.business-more-title{font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.business-more-intro{font-size:.9rem;color:var(--text-muted);margin:0 0 1.25rem;line-height:1.4}.business-more-card{padding:0!important;overflow:hidden}.business-more-card .card-title{padding:1rem 1.25rem .75rem;margin:0;font-size:1rem;color:var(--text-muted);font-weight:600}.business-more-list{list-style:none;padding:0;margin:0}.business-more-list li{border-bottom:1px solid var(--border, #eee)}.business-more-list li:last-child{border-bottom:none}.business-more-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;color:var(--text);text-decoration:none;transition:background .2s}.business-more-item:hover{background:var(--surface-hover)}.business-more-item-text{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;min-width:0}.business-more-label{font-weight:600;font-size:1rem}.business-more-desc{font-size:.85rem;color:var(--text-muted)}.business-more-chevron{flex-shrink:0;color:var(--text-muted)}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--border, #eee)}.business-invoice-modal .modal-content{max-width:52rem}.invoice-lines-stacked .invoice-line-headers{display:grid;grid-template-columns:1fr 4.75rem 5.5rem 5rem 5.25rem 2.25rem;gap:.5rem;align-items:end;margin-bottom:.25rem;padding:0 .15rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted, #666)}.invoice-line-headers .il-h-del{min-width:2.25rem}.invoice-lines-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.invoice-lines-actions{display:flex;gap:.5rem;align-items:center}.invoice-lines{display:flex;flex-direction:column;gap:.5rem}.invoice-line{display:flex;flex-direction:column;gap:.35rem;padding-bottom:.65rem;margin-bottom:.35rem;border-bottom:1px solid var(--border, #eee)}.invoice-line:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.invoice-line-main{display:grid;grid-template-columns:1fr 4.75rem 5.5rem 5rem 5.25rem 2.25rem;gap:.5rem;align-items:center}.invoice-line-extra{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;align-items:center}.invoice-line-desc,.invoice-line-hsn,.invoice-line-duration,.invoice-line-rate,.invoice-line-amount{min-width:0;padding:.4rem .5rem;border:1px solid var(--border, #ddd);border-radius:var(--radius, 4px);font-size:.9rem}.invoice-line-muted{min-width:0;padding:.35rem .45rem;border:1px solid var(--border, #e8e8e8);border-radius:var(--radius, 4px);font-size:.8rem;background:var(--surface-hover, #fafafa)}.invoice-additional-summary-field{margin-top:.75rem}.invoice-additional-summary-input{width:100%;padding:.5rem .65rem;border:1px solid var(--border, #ddd);border-radius:var(--radius, 4px);font-size:.9rem;font-family:inherit;resize:vertical;min-height:4rem}.invoice-totals{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border, #eee);font-size:.95rem}.invoice-totals strong{font-size:1.05rem}.invoice-auto-number{display:block;padding:.5rem .75rem;background:var(--surface-hover);border-radius:var(--radius);font-weight:500;font-family:monospace}.invoice-view-additional-summary{margin:1rem 0 .75rem;padding:.75rem 1rem;background:var(--surface-hover, #f5f5f5);border-radius:var(--radius, 6px);font-size:.88rem}.invoice-view-additional-summary-text{margin:.4rem 0 0;white-space:pre-wrap;line-height:1.45}.invoice-view-line-details{margin:.75rem 0 1rem;font-size:.85rem}.invoice-view-line-details-list{margin:.35rem 0 0;padding-left:1.1rem;line-height:1.5}@media (max-width: 900px){.invoice-lines-stacked .invoice-line-headers{display:none}.invoice-line-main{grid-template-columns:1fr 1fr}.invoice-line-main .invoice-line-desc{grid-column:1 / -1}.invoice-line-extra{grid-template-columns:1fr 1fr}}@media (max-width: 640px){.invoice-line-extra{grid-template-columns:1fr}}.business-invoice-view-modal .modal-content{max-width:52rem;max-height:90vh;overflow-y:auto}.invoice-view-doc{text-align:left;padding:.5rem 0}.invoice-view-format .invoice-view-brand{text-align:center;margin-bottom:.75rem}.invoice-view-logo{max-height:48px;margin-bottom:.5rem}.invoice-view-brand-text{font-size:.9rem}.invoice-view-company-main{display:block;font-size:1.1rem;font-weight:700;letter-spacing:.02em;margin-bottom:.25rem}.invoice-view-legal-name{display:block;font-size:.95rem;font-weight:600;margin-bottom:.5rem}.invoice-view-company-details{display:flex;flex-wrap:wrap;justify-content:center;gap:0 1.25rem;margin-bottom:.35rem;font-size:.85rem}.invoice-view-address{margin:0 0 .35rem;font-size:.85rem}.invoice-view-contact{display:flex;flex-wrap:wrap;justify-content:center;gap:0 1rem;font-size:.85rem}.invoice-view-divider{border:none;border-top:1px solid var(--border, #333);margin:.5rem 0 1rem}.invoice-view-two-col{display:flex;justify-content:space-between;gap:1.5rem;margin-bottom:1rem}.invoice-view-billto-wrap{flex:0 0 auto;font-size:.9rem}.invoice-view-billto-wrap>strong{display:block;margin-bottom:.35rem}.invoice-view-billto-box{border:1px solid var(--border, #333);padding:.5rem .65rem;min-width:220px;max-width:280px;font-size:.85rem;line-height:1.4}.invoice-view-billto-box p{margin:0 0 .35rem;word-wrap:break-word;overflow-wrap:break-word}.invoice-view-billto-box p:last-child{margin-bottom:0}.invoice-view-address-line{white-space:pre-line}.invoice-view-billto-box .invoice-view-project{font-weight:600;margin-bottom:.35rem}.invoice-view-invoice-meta{text-align:right;font-size:.9rem;min-width:0;flex:1;max-width:50%}.invoice-view-invoice-meta p{margin:0 0 .35rem}.invoice-view-invoice-no-value{word-break:break-all;overflow-wrap:anywhere;font-weight:400}.invoice-view-table{width:100%;border-collapse:collapse;font-size:.85rem;margin:.5rem 0 1rem}.invoice-view-table th,.invoice-view-table td{padding:.4rem .5rem;text-align:left;border:1px solid var(--border, #ddd)}.invoice-view-table th{font-weight:600;background:var(--surface-hover, #f0f0f0)}.invoice-view-table td:nth-child(5),.invoice-view-table td:nth-child(6),.invoice-view-table th:nth-child(5),.invoice-view-table th:nth-child(6){text-align:right}.invoice-view-summary-row td,.invoice-view-total-row td{border-top:1px solid var(--border, #333)}.invoice-view-total-row td{font-weight:600}.invoice-view-ac-section{margin-top:1rem;font-size:.9rem}.invoice-view-ac-section>strong{display:block;margin-bottom:.4rem}.invoice-view-ac-table{width:100%;max-width:400px;border-collapse:collapse;font-size:.85rem}.invoice-view-ac-table td{padding:.3rem .5rem;border:1px solid var(--border, #ddd)}.invoice-view-ac-table td:first-child{font-weight:600;width:140px;background:var(--surface-hover, #f8f8f8)}.invoice-view-signature{margin-top:1.5rem;text-align:right;font-size:.9rem}.invoice-view-sig-img{display:block;max-height:40px;margin-bottom:.25rem;margin-left:auto}.business-toolbar-wrap{flex-wrap:wrap;justify-content:space-between;align-items:flex-end}.business-toolbar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.working-days-summary{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem}.working-days-summary .summary-chip{padding:.75rem 1rem;background:var(--surface-hover, #f5f5f5);border-radius:var(--radius, 6px);min-width:120px}.working-days-summary .summary-chip.highlight{background:var(--primary-muted, rgba(37, 99, 235, .1));border:1px solid var(--primary, #2563eb)}.summary-chip-label{display:block;font-size:.8rem;color:var(--text-muted, #666);margin-bottom:.25rem}.summary-chip-value{font-size:1.1rem;font-weight:600}.working-days-grid-wrap{margin-top:.5rem}.working-days-calendar{display:flex;flex-direction:column;gap:.35rem}.working-days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.working-days-grid-header{margin-bottom:.15rem}.working-day-header-cell{aspect-ratio:1;min-width:36px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:var(--text-muted, #8b98a5);text-transform:uppercase;letter-spacing:.02em}.working-day-cell-empty{aspect-ratio:1;min-width:36px;pointer-events:none;background:transparent;border:1px solid transparent;opacity:0}.working-day-cell{aspect-ratio:1;min-width:36px;border:1px solid var(--border, #374151);border-radius:var(--radius, 6px);background:var(--surface-hover, #243044);color:var(--text, #e7e9ea);cursor:pointer;font-size:.9rem;font-weight:600;transition:background .15s,border-color .15s,color .15s}.working-day-cell:hover{background:var(--surface-hover, #243044);border-color:var(--primary, #2563eb);color:var(--text, #e7e9ea)}.working-day-cell.marked{background:var(--primary, #2563eb);color:#fff;border-color:var(--primary, #2563eb)}.working-day-cell.marked:hover{background:var(--primary-dark, #1d4ed8);color:#fff}.working-day-cell:disabled{opacity:.7;cursor:not-allowed}.project-employees-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border, #eee)}.project-employees-list{list-style:none;padding:0;margin:0 0 .75rem}.project-employee-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--border, #eee);font-size:.9rem}.project-employee-item:last-child{border-bottom:none}.project-employees-add{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.project-employees-add select{min-width:200px;padding:.5rem;border-radius:var(--radius, 6px);border:1px solid var(--border, #ddd)}.project-employee-payment-add-input,.project-employee-payment-input{width:120px;padding:.4rem .5rem;border-radius:var(--radius, 6px);border:1px solid var(--border, #ddd)}.project-employee-payment{display:inline-flex;align-items:center;gap:.35rem;margin-left:.25rem;font-weight:400}.project-employee-payment .project-employee-payment-input{margin-left:.25rem}.employee-project-earnings{margin-bottom:1rem;padding:.75rem;background:var(--surface, #f8f9fa);border-radius:var(--radius, 6px)}.employee-project-earnings-list{margin:.5rem 0 0;padding-left:1.25rem;list-style:disc}.employee-project-earnings-list li{margin:.2rem 0}.business-earning{font-weight:600;color:var(--success, #0a0)}.business-vendor-network-page .card{max-width:none}.business-vn-form-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6rem;margin-bottom:1rem}.business-vn-form-grid input,.business-vn-form-grid select{padding:.5rem .65rem;border:1px solid var(--border, #ddd);border-radius:var(--radius, 6px)}.invoice-alert-banner{max-width:56rem;margin-bottom:.75rem;padding:.6rem 1rem;background:#ffd40014;border:1px solid rgba(255,212,0,.3);border-radius:var(--radius);display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.88rem}.invoice-alert-info{display:flex;align-items:center;gap:.6rem}.invoice-alert-dot{width:8px;height:8px;border-radius:50%;background:var(--warning, #ffd400);flex-shrink:0}.invoice-alert-action{background:none;border:none;color:var(--primary);font-weight:600;cursor:pointer;font-size:.88rem;white-space:nowrap;padding:0}.invoice-stats-row{display:flex;gap:.75rem;margin-bottom:1.25rem;flex-wrap:wrap}.invoice-stat-card{flex:1;min-width:7rem;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.75rem 1rem;background:var(--surface-hover);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;transition:border-color .15s}.invoice-stat-card:hover{border-color:var(--primary)}.invoice-stat-card.invoice-stat-active{border-color:var(--primary);background:#1d9bf014}.invoice-stat-num{font-size:1.4rem;font-weight:700;color:var(--text);line-height:1}.invoice-stat-num-due{color:var(--warning, #ffd400)}.invoice-stat-lbl{font-size:.78rem;color:var(--text-muted);font-weight:500}.invoice-tab-strip{display:flex;border-bottom:1px solid var(--border);margin-bottom:1rem;gap:0}.invoice-tab-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1rem;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;font-size:.9rem;font-weight:500;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s}.invoice-tab-btn:hover{color:var(--text)}.invoice-tab-btn.invoice-tab-active{color:var(--primary);border-bottom-color:var(--primary)}.invoice-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.2rem;height:1.2rem;padding:0 .25rem;background:var(--primary);color:#fff;border-radius:99px;font-size:.7rem;font-weight:700}.invoice-due-list{list-style:none;padding:0;margin:0}.invoice-due-item{display:flex;align-items:center;gap:.75rem;padding:.85rem 0;border-bottom:1px solid var(--border)}.invoice-due-item:last-child{border-bottom:none}.invoice-proj-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.invoice-due-body{flex:1;display:flex;flex-direction:column;gap:.2rem;min-width:0}.invoice-due-name{font-weight:600;font-size:.95rem}.invoice-due-client{font-size:.82rem;color:var(--text-muted)}.invoice-cycle-pill{display:inline-block;padding:.1rem .45rem;background:var(--surface-hover);border-radius:99px;font-size:.72rem;color:var(--text-muted);align-self:flex-start}.invoice-due-when{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem;min-width:8rem;text-align:right}.invoice-due-status{font-size:.78rem;font-weight:600;padding:.15rem .55rem;border-radius:99px}.inv-overdue{background:#f4212e26;color:var(--danger, #f4212e)}.inv-urgent{background:#ffd40026;color:#c9a800}.inv-upcoming{background:#00ba7c1f;color:var(--success, #00ba7c)}.inv-upcoming-soon{background:#64748b26;color:#94a3b8}.invoice-due-dt{font-size:.78rem;color:var(--text-muted)}.invoice-due-pay-note{font-size:.73rem;color:var(--text-muted);opacity:.75}.invoice-list-item-proj{position:relative;padding-left:.85rem!important}.invoice-proj-stripe{position:absolute;left:0;top:.5rem;bottom:.5rem;width:3px;border-radius:3px;background:var(--proj-color, var(--primary))}.invoice-item-top{display:flex;align-items:center;gap:.5rem;margin-bottom:.1rem}.invoice-status-pill{display:inline-block;padding:.1rem .5rem;border-radius:99px;font-size:.73rem;font-weight:600}.inv-status-draft{background:#8b98a52e;color:var(--text-muted)}.inv-status-sent{background:#1d9bf01f;color:var(--primary)}.inv-status-paid{background:#00ba7c1f;color:var(--success, #00ba7c)}.invoice-period-tag{color:var(--text-muted);font-size:.8em}.invoice-view-period{margin-top:.25rem;font-size:.88rem}.invoice-pay-due{font-size:.8rem;color:var(--text-muted);margin-top:.15rem}.invoice-pay-due.inv-overdue{color:var(--danger, #f4212e);font-weight:500;background:none;padding:0;border-radius:0}.invoice-pay-due.inv-urgent{color:#c9a800;font-weight:500;background:none;padding:0;border-radius:0}@media (max-width: 640px){.invoice-stats-row{gap:.5rem}.invoice-stat-card{padding:.6rem .75rem}.invoice-due-item{flex-wrap:wrap}.invoice-due-when{align-items:flex-start;text-align:left}}:root{--bg: #0f1419;--surface: #1a2332;--surface-hover: #243044;--border: #2d3a4d;--text: #e7e9ea;--text-muted: #8b98a5;--primary: #1d9bf0;--primary-hover: #1a8cd8;--success: #00ba7c;--danger: #f4212e;--warning: #ffd400;--radius: 12px;--shadow: 0 4px 20px rgba(0, 0, 0, .25);--font: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}#root{min-height:100vh;overflow-x:hidden}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}input,select,button,textarea{font-family:inherit;font-size:1rem}button{cursor:pointer;border:none;background:none}input,select,textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);transition:border-color .2s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary)}label{display:block;margin-bottom:.35rem;font-weight:500;color:var(--text-muted)}.form-group{margin-bottom:1rem}.error-message{color:var(--danger);font-size:.875rem;margin-top:.25rem}.toast-container{position:fixed;bottom:4.5rem;left:50%;transform:translate(-50%);z-index:999;display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:480px;padding:0 1rem;pointer-events:none}.toast{pointer-events:auto;border-radius:999px;padding:.6rem 1.1rem;font-size:.9rem;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 30px #00000080;background:var(--surface);border:1px solid var(--border)}.toast-success{border-color:var(--success);color:var(--success)}.toast-error{border-color:var(--danger);color:var(--danger)}@media (max-width: 640px){:root{--radius: 10px}}
