:root{--contalink-primary: #1E3A5F;--contalink-primary-light: #4A90E2;--contalink-success: #2E8B57;--contalink-warning: #F59E0B;--contalink-danger: #DC2626;--contalink-bg: #F8FAFC;--contalink-surface: #FFFFFF;--contalink-text: #1F2937;--contalink-text-muted: #6B7280;--contalink-border: #E5E7EB;--aura-accent-color-light: var(--contalink-primary);--aura-accent-color-dark: var(--contalink-primary)}.login-view{background: var(--contalink-bg)}.login-wrapper{background: var(--contalink-bg);gap: 0;padding: var(--vaadin-padding-l,1.5rem)}.login-card{background: var(--contalink-surface);border-radius: 12px;box-shadow: 0 4px 6px -1px rgba(0,0,0,0.08),0 2px 4px -1px rgba(0,0,0,0.04);padding: 2.5rem 2rem;width: 100%;max-width: 420px;box-sizing: border-box}.login-brand{text-align: center;margin-bottom: 1.75rem}.login-logo-text{display: block;font-size: 1.875rem;font-weight: 700;color: var(--contalink-primary);letter-spacing: -0.03em;margin-bottom: 0.375rem}.login-tagline{font-size: 0.875rem;color: var(--contalink-text-muted);text-align: center;margin: 0;line-height: 1.5}.login-card vaadin-login-form{width: 100%}.login-signup-text{font-size: 0.875rem;color: var(--contalink-text-muted);text-align: center;margin-top: 1rem;margin-bottom: 0}.login-signup-text a{color: var(--contalink-primary-light);font-weight: 500;text-decoration: none}.login-signup-text a:hover{text-decoration: underline}.login-back-link{display: block;font-size: 0.875rem;color: var(--contalink-primary-light);text-decoration: none;margin-top: 1.25rem;text-align: center}.login-back-link:hover{text-decoration: underline}.reset-title{color: var(--contalink-text);font-size: 1.5rem;font-weight: 600;margin-top: 0;margin-bottom: 0.5rem}.reset-description{font-size: 0.875rem;color: var(--contalink-text-muted);margin: 0 0 1rem 0;line-height: 1.5}.reset-confirmation{padding: 1rem;background: #E8F5E9;border-radius: 8px;color: var(--contalink-success);font-size: 0.9rem;line-height: 1.5}.reset-confirmation p{margin: 0}.register-card{max-width: 480px}.register-error{padding: 0.75rem 1rem;background: #FEF2F2;border: 1px solid #FCA5A5;border-radius: 8px;color: var(--contalink-danger);font-size: 0.875rem;line-height: 1.5;margin-bottom: 1rem}.navbar-brand{font-size: 1.125rem;font-weight: 700;color: var(--contalink-primary);margin: 0;padding: 0 var(--lumo-space-s,0.5rem)}.navbar-workspace-switcher{font-weight: 500;color: var(--contalink-text)}.navbar-workspace-name{font-weight: 600;color: var(--contalink-text);font-size: 0.875rem}.navbar-spacer{flex: 1}.navbar-avatar{cursor: pointer;margin-right: var(--lumo-space-s,0.5rem)}.drawer-header{display: flex;align-items: center;padding: var(--lumo-space-m,1rem) var(--lumo-space-m,1rem) var(--lumo-space-s,0.5rem);border-bottom: 1px solid var(--contalink-border);margin-bottom: var(--lumo-space-s,0.5rem)}.drawer-brand{font-size: 1rem;font-weight: 700;color: var(--contalink-primary);letter-spacing: -0.02em}.drawer-footer{flex: 1}.side-nav{width: 100%}.home-view{background: var(--contalink-bg);min-height: 100%}.home-hint{color: var(--contalink-text-muted);font-size: 0.875rem}.workspace-selector-view{background: var(--contalink-bg);display: flex;flex-direction: column}.workspace-selector-header{display: flex;align-items: center;justify-content: space-between;padding: 0.875rem 2rem;background: var(--contalink-surface);border-bottom: 1px solid var(--contalink-border);flex-shrink: 0}.workspace-selector-brand{font-size: 1.125rem;font-weight: 700;color: var(--contalink-primary);letter-spacing: -0.02em}.workspace-selector-user-menu{display: flex;align-items: center;gap: 0.75rem}.workspace-selector-email{font-size: 0.875rem;color: var(--contalink-text-muted)}.workspace-selector-content{max-width: 960px;width: 100%;margin: 0 auto;padding: 2.5rem 2rem}.workspace-selector-title-section{margin-bottom: 1.75rem}.workspace-selector-title{font-size: 1.5rem;font-weight: 600;color: var(--contalink-text);margin: 0 0 0.375rem}.workspace-selector-subtitle{font-size: 0.875rem;color: var(--contalink-text-muted);margin: 0;line-height: 1.5}.workspace-action-bar{display: flex;justify-content: flex-end;gap: 0.5rem;margin-bottom: 1rem}.workspace-grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(260px,1fr));gap: 1rem}.workspace-card{background: var(--contalink-surface);border: 1.5px solid var(--contalink-border);border-radius: 12px;padding: 1.25rem;cursor: pointer;transition: border-color 0.15s ease,box-shadow 0.15s ease,transform 0.1s ease}.workspace-card:hover{border-color: var(--contalink-primary-light);box-shadow: 0 6px 16px rgba(0,0,0,0.08);transform: translateY(-2px)}.workspace-card-top{display: flex;align-items: flex-start;gap: 0.875rem;margin-bottom: 1rem}.workspace-card-initials{width: 2.75rem;height: 2.75rem;border-radius: 8px;background: #EFF6FF;color: var(--contalink-primary);font-weight: 700;font-size: 0.875rem;display: flex;align-items: center;justify-content: center;flex-shrink: 0;letter-spacing: -0.02em}.workspace-card-info{display: flex;flex-direction: column;gap: 0.2rem;overflow: hidden}.workspace-card-name{display: block;font-weight: 600;font-size: 0.9375rem;color: var(--contalink-text);white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.workspace-card-legal{display: block;font-size: 0.8125rem;color: var(--contalink-text-muted);white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.workspace-card-footer{display: flex;align-items: center;justify-content: space-between;padding-top: 0.75rem;border-top: 1px solid var(--contalink-border)}.workspace-role-badge{font-size: 0.75rem;font-weight: 500;padding: 0.2rem 0.625rem;border-radius: 999px;background: #EFF6FF;color: var(--contalink-primary)}.workspace-role-badge.role-owner{background: #FEF3C7;color: #92400E}.workspace-role-badge.role-accountant,.workspace-role-badge.role-accountant_assistant{background: #F0FDF4;color: #166534}.workspace-member-count{font-size: 0.75rem;color: var(--contalink-text-muted)}.workspace-empty-state{text-align: center;padding: 5rem 2rem;background: var(--contalink-surface);border-radius: 12px;border: 1.5px dashed var(--contalink-border)}.workspace-empty-icon{display: flex;justify-content: center;margin-bottom: 1.25rem;color: var(--contalink-text-muted)}.workspace-empty-icon svg,.workspace-empty-icon vaadin-icon{width: 2.5rem;height: 2.5rem}.workspace-empty-title{font-size: 1.125rem;font-weight: 600;color: var(--contalink-text);margin: 0 0 0.5rem}.workspace-empty-subtitle{font-size: 0.875rem;color: var(--contalink-text-muted);margin: 0 0 2rem;max-width: 380px;margin-left: auto;margin-right: auto;line-height: 1.6}.create-workspace-card{max-width: 520px}.create-workspace-title-section{margin-bottom: 1.5rem}.create-workspace-title{font-size: 1.375rem;font-weight: 600;color: var(--contalink-text);margin: 0 0 0.375rem}.create-workspace-subtitle{font-size: 0.875rem;color: var(--contalink-text-muted);margin: 0;line-height: 1.5}.home-view{background: var(--contalink-bg);min-height: 100%;display: flex;flex-direction: column}.dashboard-page-header{background: var(--contalink-surface);border-bottom: 1px solid var(--contalink-border);padding: 1.5rem 2rem 1.25rem;flex-shrink: 0}.dashboard-title-row{display: flex;align-items: center;justify-content: space-between;gap: 1rem;margin-bottom: 0.25rem}.dashboard-page-title{font-size: 1.5rem;font-weight: 700;color: var(--contalink-text);margin: 0;line-height: 1.2;letter-spacing: -0.02em}.dashboard-page-meta{font-size: 0.875rem;color: var(--contalink-text-muted);margin: 0;line-height: 1.5}.dashboard-content{flex: 1;max-width: 1200px;width: 100%;margin: 0 auto;padding: 2rem;display: flex;flex-direction: column;gap: 1.5rem;box-sizing: border-box}.dashboard-metrics-grid{display: grid;grid-template-columns: repeat(4,1fr);gap: 1rem}@media (max-width: 1024px){.dashboard-metrics-grid{grid-template-columns: repeat(2,1fr)}}@media (max-width: 640px){.dashboard-metrics-grid{grid-template-columns: 1fr}}.metric-card{background: var(--contalink-surface);border-radius: 12px;box-shadow: 0 1px 3px rgba(0,0,0,0.06),0 1px 2px rgba(0,0,0,0.04);padding: 1.25rem;display: flex;align-items: flex-start;gap: 1rem;border: 1px solid var(--contalink-border);border-left-width: 4px;transition: box-shadow 0.15s ease,transform 0.1s ease}.metric-card:hover{box-shadow: 0 4px 12px rgba(0,0,0,0.09);transform: translateY(-1px)}.metric-icon-bubble{width: 2.75rem;height: 2.75rem;border-radius: 10px;display: flex;align-items: center;justify-content: center;flex-shrink: 0}.metric-icon{width: 1.25rem;height: 1.25rem}.metric-card.metric-success{border-left-color: var(--contalink-success)}.metric-card.metric-success .metric-icon-bubble{background: #F0FDF4;color: var(--contalink-success)}.metric-card.metric-danger{border-left-color: var(--contalink-danger)}.metric-card.metric-danger .metric-icon-bubble{background: #FEF2F2;color: var(--contalink-danger)}.metric-card.metric-warning{border-left-color: #D97706}.metric-card.metric-warning .metric-icon-bubble{background: #FFFBEB;color: #D97706}.metric-card.metric-info{border-left-color: var(--contalink-primary-light)}.metric-card.metric-info .metric-icon-bubble{background: #EFF6FF;color: var(--contalink-primary-light)}.metric-body{display: flex;flex-direction: column;gap: 0.2rem;min-width: 0}.metric-value{display: block;font-size: 1.625rem;font-weight: 700;color: var(--contalink-text);letter-spacing: -0.03em;line-height: 1.1}.metric-label{display: block;font-size: 0.8125rem;font-weight: 500;color: var(--contalink-text);line-height: 1.4}.metric-hint{display: block;font-size: 0.75rem;color: var(--contalink-text-muted);line-height: 1.4;margin-top: 0.125rem}.dashboard-mid-section{display: grid;grid-template-columns: 1fr 1.5fr;gap: 1rem}@media (max-width: 900px){.dashboard-mid-section{grid-template-columns: 1fr}}.dash-card{background: var(--contalink-surface);border-radius: 12px;border: 1px solid var(--contalink-border);box-shadow: 0 1px 3px rgba(0,0,0,0.06);overflow: hidden;display: flex;flex-direction: column}.dash-card-header{display: flex;align-items: center;gap: 0.625rem;padding: 1rem 1.25rem;border-bottom: 1px solid var(--contalink-border);background: #FAFAFA}.dash-card-header-icon{width: 1rem;height: 1rem;color: var(--contalink-text-muted);flex-shrink: 0}.dash-card-header-title{font-size: 0.875rem;font-weight: 600;color: var(--contalink-text);letter-spacing: -0.01em}.accountant-card{min-height: 240px}.accountant-empty{display: flex;flex-direction: column;align-items: center;justify-content: center;text-align: center;padding: 2rem 1.5rem;flex: 1;gap: 0.5rem}.accountant-empty-icon-wrap{width: 3rem;height: 3rem;border-radius: 50%;background: #F3F4F6;display: flex;align-items: center;justify-content: center;margin-bottom: 0.375rem;color: var(--contalink-text-muted)}.accountant-empty-icon-wrap vaadin-icon{width: 1.375rem;height: 1.375rem}.accountant-empty-title{font-size: 0.9375rem;font-weight: 600;color: var(--contalink-text);margin: 0}.accountant-empty-text{font-size: 0.8125rem;color: var(--contalink-text-muted);line-height: 1.55;margin: 0 0 0.75rem;max-width: 240px}.quick-actions-card{min-height: 240px}.quick-actions-grid{display: grid;grid-template-columns: 1fr 1fr;gap: 0.75rem;padding: 1.25rem;flex: 1}.quick-action{display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 0.625rem;padding: 1.25rem 0.75rem;border-radius: 10px;border: 1.5px solid var(--contalink-border);cursor: not-allowed;opacity: 0.65;transition: opacity 0.15s ease,border-color 0.15s ease,transform 0.1s ease;text-align: center}.quick-action-icon{width: 2.25rem;height: 2.25rem;border-radius: 8px;display: flex;align-items: center;justify-content: center}.quick-action-icon vaadin-icon{width: 1.125rem;height: 1.125rem}.quick-action-label{font-size: 0.8125rem;font-weight: 500;color: var(--contalink-text);line-height: 1.3}.quick-action-soon{font-size: 0.6875rem;color: var(--contalink-text-muted);font-style: italic;line-height: 1}.quick-action.qa-primary .quick-action-icon{background: #EFF6FF;color: var(--contalink-primary-light)}.quick-action.qa-warning .quick-action-icon{background: #FFFBEB;color: #D97706}.quick-action.qa-info .quick-action-icon{background: #F0F9FF;color: #0284C7}.quick-action.qa-success .quick-action-icon{background: #F0FDF4;color: var(--contalink-success)}.activity-card{}.activity-empty{display: flex;flex-direction: column;align-items: center;justify-content: center;padding: 3.5rem 2rem;text-align: center;gap: 0.5rem}.activity-empty-icon{width: 3.5rem;height: 3.5rem;border-radius: 50%;background: #F3F4F6;display: flex;align-items: center;justify-content: center;margin-bottom: 0.5rem;color: var(--contalink-text-muted)}.activity-empty-icon vaadin-icon{width: 1.5rem;height: 1.5rem}.activity-empty-title{font-size: 1rem;font-weight: 600;color: var(--contalink-text);margin: 0}.activity-empty-text{font-size: 0.875rem;color: var(--contalink-text-muted);margin: 0;max-width: 360px;line-height: 1.6}.accountant-view{background: var(--contalink-bg);min-height: 100%;display: flex;flex-direction: column}.accountant-role-badge{display: inline-flex;align-items: center;font-size: 0.75rem;font-weight: 500;padding: 0.25rem 0.75rem;border-radius: 999px;background: #F0FDF4;color: #166534;border: 1px solid #BBF7D0;flex-shrink: 0;white-space: nowrap}.fiscal-alerts-card{min-height: 200px}.fiscal-alerts-empty{display: flex;flex-direction: column;align-items: center;justify-content: center;text-align: center;padding: 2rem 1.5rem;flex: 1;gap: 0.5rem}.fiscal-alerts-icon-ok{background: #F0FDF4;color: #166534}.accountant-quick-actions-grid{grid-template-columns: repeat(3,1fr) !important}.client-health-card{min-height: 220px}.client-health-empty{display: flex;flex-direction: column;align-items: center;justify-content: center;padding: 3.5rem 2rem;text-align: center;gap: 0.5rem}.client-health-invite-btn{margin-top: 0.75rem}.client-status-badge{font-size: 0.75rem;font-weight: 500;padding: 0.2rem 0.625rem;border-radius: 999px;display: inline-block}.client-status-badge.status-healthy{background: #F0FDF4;color: #166534}.client-status-badge.status-at-risk{background: #FFFBEB;color: #92400E}.client-status-badge.status-overdue{background: #FEF2F2;color: #B91C1C}.client-status-badge.status-pending{background: #EFF6FF;color: #1D4ED8}.page-header{background: var(--contalink-surface);border-bottom: 1px solid var(--contalink-border);padding: 1.5rem 2rem 1.25rem;flex-shrink: 0}.page-header-title-row{display: flex;align-items: center;gap: 0.75rem;margin-bottom: 0.25rem;flex-wrap: wrap}.page-title{font-size: 1.5rem;font-weight: 700;color: var(--contalink-text);margin: 0;line-height: 1.2;letter-spacing: -0.02em}.page-subtitle{font-size: 0.875rem;color: var(--contalink-text-muted);margin: 0;line-height: 1.5}.page-header-action{margin-left: auto}.page-back-btn{flex-shrink: 0}.page-title-spacer{flex: 1}.page-title-badge{margin-left: 0.5rem}.status-badge{display: inline-block;font-size: 0.75rem;font-weight: 500;padding: 0.2rem 0.625rem;border-radius: 999px;white-space: nowrap}.status-badge--draft{background: #F3F4F6;color: #374151;border: 1px solid #D1D5DB}.status-badge--issued{background: #EFF6FF;color: #1D4ED8;border: 1px solid #BFDBFE}.status-badge--paid{background: #F0FDF4;color: #166534;border: 1px solid #BBF7D0}.status-badge--partial{background: #FFFBEB;color: #92400E;border: 1px solid #FDE68A}.status-badge--cancelled{background: #F9FAFB;color: #6B7280;border: 1px solid #E5E7EB;text-decoration: line-through}.status-badge--overdue{background: #FEF2F2;color: #B91C1C;border: 1px solid #FCA5A5}.status-badge--active{background: #F0FDF4;color: #166534;border: 1px solid #BBF7D0}.status-badge--inactive{background: #F9FAFB;color: #6B7280;border: 1px solid #E5E7EB}.supplier-list-view{display: flex;flex-direction: column;min-height: 100%;background: var(--contalink-bg)}.list-toolbar{padding: 0 1.5rem 0.75rem;display: flex;align-items: flex-end;gap: 0.75rem}.list-search{min-width: 280px}.invoice-list-view{background: var(--contalink-bg);min-height: 100%;display: flex;flex-direction: column}.invoice-toolbar{display: flex;align-items: center;gap: 1rem;padding: 0.875rem 2rem;background: var(--contalink-surface);border-bottom: 1px solid var(--contalink-border);flex-wrap: wrap}.invoice-status-filters{display: flex;gap: 0.375rem;flex-wrap: wrap;flex: 1}.filter-chip{font-size: 0.8125rem !important;font-weight: 500 !important;padding: 0 0.75rem !important;height: 2rem !important;border-radius: 999px !important;border: 1.5px solid var(--contalink-border) !important;background: transparent !important;color: var(--contalink-text-muted) !important;transition: all 0.12s ease !important;cursor: pointer !important;min-width: 0 !important}.filter-chip:hover{border-color: var(--contalink-primary-light) !important;color: var(--contalink-primary) !important;background: #EFF6FF !important}.filter-chip--active{background: var(--contalink-primary) !important;border-color: var(--contalink-primary) !important;color: #FFFFFF !important}.invoice-search-field{min-width: 260px}.invoice-grid{flex: 1;margin: 0;border: none;border-top: 1px solid var(--contalink-border)}.workspace-accountant-badge{font-size: 0.7rem;font-weight: 500;padding: 0.15rem 0.5rem;border-radius: 999px;background: #F0FDF4;color: #166534;border: 1px solid #BBF7D0}.ncf-chip{display: inline-block;font-size: 0.75rem;font-weight: 600;font-family: monospace;padding: 0.2rem 0.625rem;border-radius: 6px;background: #F0F9FF;color: #0369A1;border: 1px solid #BAE6FD;letter-spacing: 0.05em}.ncf-type-chip{display: inline-block;font-size: 0.75rem;font-weight: 500;padding: 0.2rem 0.625rem;border-radius: 6px;background: #F5F3FF;color: #5B21B6;border: 1px solid #DDD6FE}.invoice-detail-meta{display: flex;align-items: center;gap: 0.5rem;margin-top: 0.375rem;flex-wrap: wrap}.invoice-form-view{background: var(--contalink-bg);min-height: 100%;display: flex;flex-direction: column}.form-section{background: var(--contalink-surface);border: 1px solid var(--contalink-border);border-radius: 12px;margin: 0 2rem 1rem;overflow: hidden}.form-section-header{display: flex;align-items: center;gap: 0.625rem;padding: 0.875rem 1.25rem;background: #FAFAFA;border-bottom: 1px solid var(--contalink-border)}.form-section-icon{width: 1rem;height: 1rem;color: var(--contalink-text-muted);flex-shrink: 0}.form-section-title{font-size: 0.9375rem;font-weight: 600;color: var(--contalink-text);margin: 0;letter-spacing: -0.01em}.form-section-header--collapsible{cursor: pointer;user-select: none}.form-section-header--collapsible:hover{background: #F3F4F6}.form-section-chevron{width: 1rem;height: 1rem;color: var(--contalink-text-muted);margin-left: auto;flex-shrink: 0;transition: transform 0.15s ease}.form-section-chevron--collapsed{transform: rotate(-90deg)}.form-section vaadin-form-layout{padding: 1.25rem}.reference-ncf-section{padding: 0 1.25rem 1rem;background: #FFFBEB;border-top: 1px solid #FDE68A}.reference-ncf-section vaadin-form-layout{padding: 1rem 0 0}.invoice-line-headers{display: grid;grid-template-columns: 80px 140px 1fr 70px 80px 100px 80px 90px 90px 90px 90px 50px;gap: 0.375rem;padding: 0.5rem 1.25rem;background: #F9FAFB;border-bottom: 1px solid var(--contalink-border)}.invoice-line-header-cell{font-size: 0.75rem;font-weight: 600;color: var(--contalink-text-muted);text-transform: uppercase;letter-spacing: 0.05em;white-space: nowrap}.invoice-lines-container{padding: 0.5rem 1.25rem;gap: 0.375rem !important}.invoice-line-row{display: grid;grid-template-columns: 80px 140px 1fr 70px 80px 100px 80px 90px 90px 90px 90px 50px;gap: 0.375rem;align-items: center;padding: 0.375rem 0;border-bottom: 1px solid var(--contalink-border);width: 100%}.invoice-line-row--product{background: #F9FEFF}.invoice-line-row:last-child{border-bottom: none}.line-type-badge{font-size: 0.6875rem;font-weight: 600;padding: 0.15rem 0.4rem;border-radius: 4px;white-space: nowrap;text-transform: uppercase;letter-spacing: 0.04em}.line-type-badge--product{background: #E0F2FE;color: #075985}.line-type-badge--service{background: #F0FDF4;color: #166534}.line-product-selector{min-width: 0}.invoice-line-row vaadin-text-field,.invoice-line-row vaadin-big-decimal-field,.invoice-line-row vaadin-select,.invoice-line-row vaadin-combo-box{font-size: 0.8125rem;width: 100%;min-width: 0}.line-calculated{font-size: 0.8125rem;font-family: monospace;color: var(--contalink-text-muted);text-align: right;padding-right: 0.375rem}.line-total{font-weight: 600;color: var(--contalink-text) !important}.add-line-buttons{padding: 0.875rem 1.25rem;border-top: 1px solid var(--contalink-border)}.invoice-totals-grid{padding: 1.25rem;display: flex;flex-direction: column;gap: 0.25rem;max-width: 460px;margin-left: auto}.total-row{display: flex;justify-content: space-between;align-items: center;padding: 0.3rem 0}.total-row--grand{border-top: 2px solid var(--contalink-text);margin-top: 0.375rem;padding-top: 0.625rem}.total-row-label{font-size: 0.875rem;color: var(--contalink-text-muted)}.total-row--grand .total-row-label{color: var(--contalink-text);font-weight: 700}.total-row-value{font-size: 0.875rem;font-family: monospace;color: var(--contalink-text);font-weight: 500;text-align: right;min-width: 120px}.total-row-value--grand{font-size: 1.125rem;font-weight: 700;color: var(--contalink-primary)}.invoice-action-bar{position: sticky;bottom: 0;background: var(--contalink-surface);border-top: 1px solid var(--contalink-border);padding: 1rem 2rem;display: flex;align-items: center;gap: 0.75rem;justify-content: flex-end;z-index: 10;box-shadow: 0 -2px 8px rgba(0,0,0,0.06)}.issue-btn{background-color: var(--contalink-primary) !important;color: #fff !important}.invoice-detail-view{background: var(--contalink-bg);min-height: 100%;display: flex;flex-direction: column}.invoice-detail-actions{margin-left: auto}.invoice-detail-layout{display: grid;grid-template-columns: 340px 1fr;gap: 1.5rem;padding: 1.5rem 2rem;align-items: start;flex: 1}@media (max-width: 900px){.invoice-detail-layout{grid-template-columns: 1fr}}.invoice-detail-left,.invoice-detail-right{display: flex;flex-direction: column;gap: 1rem}.detail-card{background: var(--contalink-surface);border: 1px solid var(--contalink-border);border-radius: 12px;padding: 1.25rem;overflow: hidden}.detail-card--full{overflow: auto}.detail-card--totals{}.detail-card__title{font-size: 0.875rem;font-weight: 600;color: var(--contalink-text-muted);text-transform: uppercase;letter-spacing: 0.06em;margin: 0 0 0.875rem}.detail-customer-name{font-size: 1.0625rem;font-weight: 600;color: var(--contalink-text);margin-bottom: 0.75rem}.detail-fields{display: flex;flex-direction: column;gap: 0.5rem}.detail-field-row{display: flex;justify-content: space-between;align-items: flex-start;gap: 0.5rem;font-size: 0.875rem}.detail-field-label{color: var(--contalink-text-muted);flex-shrink: 0;min-width: 100px}.detail-field-value{color: var(--contalink-text);font-weight: 500;text-align: right}.detail-notes-text{font-size: 0.875rem;color: var(--contalink-text);line-height: 1.6;margin: 0}.invoice-lines-grid{width: 100%;border: none}.totals-row{display: flex;justify-content: space-between;align-items: center;padding: 0.3rem 0;font-size: 0.875rem}.totals-row--highlight{font-weight: 700;color: var(--contalink-primary);border-top: 2px solid var(--contalink-text);margin-top: 0.375rem;padding-top: 0.625rem}.totals-label{color: var(--contalink-text-muted)}.totals-row--highlight .totals-label{color: var(--contalink-text)}.totals-value{font-family: monospace;color: var(--contalink-text);min-width: 120px;text-align: right}.totals-separator{border: none;border-top: 1px solid var(--contalink-border);margin: 0.25rem 0}.product-list-view{background: var(--contalink-bg);min-height: 100%;display: flex;flex-direction: column}.product-toolbar{display: flex;align-items: center;gap: 1rem;padding: 0.875rem 2rem;background: var(--contalink-surface);border-bottom: 1px solid var(--contalink-border);flex-wrap: wrap}.product-search-field{min-width: 260px;flex: 1;max-width: 400px}.product-grid{flex: 1;margin: 0;border: none;border-top: 1px solid var(--contalink-border)}.product-dialog-content{gap: 0.75rem !important}.ncf-config-view{background: var(--contalink-bg);min-height: 100%;display: flex;flex-direction: column}.ncf-info-banner{display: flex;align-items: flex-start;gap: 0.75rem;padding: 0.875rem 2rem;background: #EFF6FF;border-bottom: 1px solid #BFDBFE}.ncf-info-banner__icon{width: 1.125rem;height: 1.125rem;color: var(--contalink-primary-light);flex-shrink: 0;margin-top: 0.125rem}.ncf-info-banner__text{font-size: 0.875rem;color: #1D4ED8;line-height: 1.5}.ncf-series-grid{flex: 1;margin: 0;border: none;border-top: 1px solid var(--contalink-border)}.ncf-type-cell{display: flex;flex-direction: column;gap: 0.125rem;padding: 0.25rem 0}.ncf-type-code{font-size: 0.875rem;font-weight: 700;font-family: monospace;color: var(--contalink-primary);letter-spacing: 0.05em}.ncf-type-desc{font-size: 0.8rem;color: var(--contalink-text-muted)}.ncf-seq-cell{display: flex;flex-direction: column;gap: 0.1rem}.ncf-seq-current{font-size: 0.875rem;font-family: monospace;color: var(--contalink-text)}.ncf-seq-remaining{font-size: 0.75rem;color: var(--contalink-text-muted)}.ncf-seq-remaining--low{color: var(--contalink-warning);font-weight: 600}.ncf-block-cell{align-items: center;gap: 0.375rem !important;font-size: 0.8125rem}.ncf-block-icon--lock{width: 0.875rem;height: 0.875rem;color: var(--contalink-danger)}.ncf-block-icon--bell{width: 0.875rem;height: 0.875rem;color: var(--contalink-warning)}.ncf-edit-dialog-content{gap: 0.875rem !important}.ncf-block-checkbox{margin-top: 0.25rem}.customer-list-view{padding: var(--page-content-padding,1.5rem)}.customer-toolbar{display: flex;gap: 0.75rem;align-items: flex-end;margin-bottom: 1rem;flex-wrap: wrap}.customer-search-field{width: 320px}.customer-grid{border: 1px solid var(--lumo-contrast-10pct);border-radius: var(--lumo-border-radius-m)}.customer-code{font-family: monospace;font-size: 0.85rem}.dgii-result-panel{background: var(--lumo-success-color-10pct);border: 1px solid var(--lumo-success-color-50pct);border-radius: var(--lumo-border-radius-m);padding: 0.75rem;margin-top: 0.5rem}.dgii-result-panel__title{font-weight: 600;font-size: 0.85rem;color: var(--lumo-success-text-color);margin-bottom: 0.5rem}.dgii-result-panel__field{font-size: 0.85rem;margin-bottom: 0.25rem}.dgii-result-panel__label{color: var(--lumo-secondary-text-color);margin-right: 0.25rem}.customer-search-row{margin-bottom: 1rem;padding: 1rem 1.25rem 0.75rem;border-bottom: 1px solid var(--lumo-contrast-10pct)}.expense-list-view{background: var(--contalink-bg);min-height: 100%;display: flex;flex-direction: column}.expense-toolbar{display: flex;align-items: center;gap: 1rem;padding: 0.875rem 2rem;background: var(--contalink-surface);border-bottom: 1px solid var(--contalink-border);flex-wrap: wrap}.expense-status-filters{display: flex;gap: 0.375rem;flex-wrap: wrap;flex: 1}.expense-search-field{min-width: 260px}.expense-grid{flex: 1;margin: 0;border: none;border-top: 1px solid var(--contalink-border)}.expense-empty-state{display: flex;flex-direction: column;align-items: center;justify-content: center;text-align: center;padding: 5rem 2rem;flex: 1}.expense-receipt-section{background: var(--contalink-surface);border: 1px solid var(--contalink-border);border-radius: 12px;margin: 0.5rem 0 0;overflow: hidden}.expense-receipt-existing{display: flex;align-items: center;gap: 0.5rem;padding: 0.5rem 0.75rem;background: #F0F9FF;border-radius: 8px;margin-bottom: 0.75rem;font-size: 0.875rem;color: #0369A1}.expense-receipt-filename{font-weight: 500;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.expense-receipt-upload{width: 100%}.expense-receipt-info{display: block;margin-top: 0.5rem;font-size: 0.8125rem;color: var(--contalink-success);font-weight: 500}.payment-list-view{display: flex;flex-direction: column;height: 100%;padding: var(--contalink-page-padding);gap: 0}.customer-account-view{display: flex;flex-direction: column;padding: var(--contalink-page-padding);gap: 1.5rem}.balance-summary-row{display: grid;grid-template-columns: repeat(4,1fr);gap: 1rem}@media (max-width: 900px){.balance-summary-row{grid-template-columns: repeat(2,1fr)}}@media (max-width: 500px){.balance-summary-row{grid-template-columns: 1fr}}.balance-card{display: flex;flex-direction: column;gap: 0.4rem;padding: 1.25rem 1.5rem;border-radius: var(--lumo-border-radius-l);border: 1px solid var(--lumo-contrast-10pct);background: var(--lumo-base-color)}.balance-card__icon{width: 1.5rem;height: 1.5rem;margin-bottom: 0.25rem}.balance-card__label{font-size: 0.8125rem;color: var(--lumo-secondary-text-color);font-weight: 500;text-transform: uppercase;letter-spacing: 0.03em}.balance-card__value{font-size: 1.5rem;font-weight: 700;color: var(--lumo-body-text-color);font-variant-numeric: tabular-nums}.balance-card--neutral{border-left: 3px solid var(--lumo-contrast-30pct)}.balance-card--success{border-left: 3px solid var(--contalink-success)}.balance-card--success .balance-card__icon,.balance-card--success .balance-card__value{color: var(--contalink-success)}.balance-card--warning{border-left: 3px solid var(--contalink-warning)}.balance-card--warning .balance-card__icon,.balance-card--warning .balance-card__value{color: var(--contalink-warning)}.balance-card--info{border-left: 3px solid var(--lumo-primary-color)}.balance-card--info .balance-card__icon,.balance-card--info .balance-card__value{color: var(--lumo-primary-color)}.account-section{display: flex;flex-direction: column;gap: 0.75rem}.account-section__title-row{display: flex;align-items: center;gap: 0.625rem;padding-bottom: 0.5rem;border-bottom: 1px solid var(--lumo-contrast-10pct)}.account-section__title{font-size: 1.125rem;font-weight: 600;color: var(--lumo-body-text-color);margin: 0}.account-section__count{display: inline-flex;align-items: center;justify-content: center;min-width: 1.5rem;padding: 0.1rem 0.5rem;border-radius: 999px;background: var(--lumo-contrast-10pct);color: var(--lumo-secondary-text-color);font-size: 0.75rem;font-weight: 600;font-variant-numeric: tabular-nums;transition: background 0.15s}.account-filter-bar{display: flex;flex-direction: column;gap: 0.5rem;padding: 0.875rem 1rem;background: var(--lumo-contrast-5pct);border: 1px solid var(--lumo-contrast-10pct);border-radius: 10px}.account-filter-row{display: flex;flex-wrap: wrap;align-items: center;gap: 0.75rem}.account-filter-group{display: flex;align-items: center;gap: 0.375rem;flex-wrap: wrap}.account-filter-group>span:first-child{font-size: 0.8125rem;font-weight: 600;color: var(--lumo-secondary-text-color);white-space: nowrap;text-transform: uppercase;letter-spacing: 0.04em}.account-filter-date{width: 135px}.account-filter-sep{font-size: 0.875rem;color: var(--lumo-secondary-text-color)}.account-filter-amount{width: 110px}.account-filter-clear{margin-left: auto}@media (max-width: 700px){.account-filter-clear{margin-left: 0}.account-filter-date{width: 120px}.account-filter-amount{width: 90px}}.grid-actions{display: flex;gap: 0.5rem;align-items: center}.reconciliation-view{height: 100%}.reconciliation-left-panel{height: 100%;display: flex;flex-direction: column;background: var(--lumo-contrast-5pct);border-right: 1px solid var(--contalink-border)}.reconciliation-left-header{padding: 1.25rem 1.25rem 0.5rem;flex-shrink: 0}.reconciliation-left-title{font-size: 0.875rem;font-weight: 600;color: var(--contalink-text-muted);text-transform: uppercase;letter-spacing: 0.06em;margin: 0}.reconciliation-search{padding: 0 1rem 0.75rem;flex-shrink: 0}.reconciliation-cards-container{flex: 1;overflow-y: auto;padding: 0.5rem 0.75rem 1rem;gap: 0.5rem !important}.reconciliation-list-empty{display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 0.5rem;padding: 2rem 1rem;color: var(--contalink-text-muted);text-align: center;font-size: 0.875rem}.payment-card{background: var(--contalink-surface);border: 1px solid var(--contalink-border);border-radius: 10px;padding: 0.875rem 1rem;cursor: pointer;transition: border-color 0.15s,box-shadow 0.15s,background 0.15s;display: flex;flex-direction: column;gap: 0.5rem}.payment-card:hover{border-color: var(--lumo-primary-color-50pct);box-shadow: 0 2px 8px rgba(0,0,0,0.07)}.payment-card--selected{border-color: var(--lumo-primary-color);border-left: 3px solid var(--lumo-primary-color);background: var(--lumo-primary-color-10pct);box-shadow: 0 2px 12px rgba(0,0,0,0.09)}.payment-card--reconciled{opacity: 0.55}.payment-card__top{display: flex;align-items: center;justify-content: space-between;gap: 0.5rem}.payment-card__customer{font-weight: 600;font-size: 0.875rem;color: var(--contalink-text);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.payment-card__balance-row{display: flex;flex-direction: column;gap: 0.125rem}.payment-card__balance-label{font-size: 0.75rem;color: var(--contalink-text-muted);text-transform: uppercase;letter-spacing: 0.04em}.payment-card__balance-amount{font-size: 1.125rem;font-weight: 700;color: var(--lumo-primary-color);font-variant-numeric: tabular-nums}.payment-card--selected .payment-card__balance-amount{color: var(--lumo-primary-color)}.payment-card__meta{display: flex;align-items: center;gap: 0.375rem;font-size: 0.75rem;color: var(--contalink-text-muted);flex-wrap: wrap}.payment-card__meta-sep{color: var(--contalink-border)}.payment-card__ref{color: var(--contalink-text-muted);font-style: italic}.reconciliation-right-panel{height: 100%;overflow-y: auto;background: var(--contalink-surface)}.reconciliation-right-content{display: flex;flex-direction: column;gap: 1.25rem;padding: 1.5rem 2rem 2rem;max-width: 1100px}.reconciliation-empty-state{display: flex;flex-direction: column;align-items: center;justify-content: center;height: 100%;gap: 1rem;padding: 3rem 2rem;text-align: center;color: var(--contalink-text-muted)}.reconciliation-empty-icon{width: 3rem;height: 3rem;color: var(--lumo-contrast-30pct)}.reconciliation-empty-msg{font-size: 1.25rem;font-weight: 600;color: var(--contalink-text);margin: 0}.reconciliation-empty-sub{font-size: 0.9375rem;max-width: 420px;line-height: 1.5;margin: 0}.reconciliation-payment-header{background: var(--lumo-primary-color-10pct);border: 1px solid var(--lumo-primary-color-50pct);border-radius: 12px;padding: 1.25rem 1.5rem;display: flex;flex-direction: column;gap: 1rem}.reconciliation-header-title-row{display: flex;align-items: center;gap: 0.75rem}.reconciliation-header-customer{font-size: 1.25rem;font-weight: 700;color: var(--contalink-text)}.reconciliation-header-metrics{display: flex;gap: 1.5rem;flex-wrap: wrap}.reconciliation-metric{display: flex;flex-direction: column;gap: 0.125rem}.reconciliation-metric__label{font-size: 0.75rem;color: var(--contalink-text-muted);text-transform: uppercase;letter-spacing: 0.04em}.reconciliation-metric__value{font-size: 1rem;font-weight: 600;color: var(--contalink-text);font-variant-numeric: tabular-nums}.metric--available .reconciliation-metric__value{color: var(--lumo-primary-color);font-size: 1.125rem}.metric--zero .reconciliation-metric__value{color: var(--contalink-text-muted)}.reconciliation-balance-section{display: flex;flex-direction: column;gap: 0.75rem}.reconciliation-balance-cards{display: grid;grid-template-columns: repeat(2,1fr);gap: 1rem}.reconciliation-balance-card{display: flex;flex-direction: column;gap: 0.25rem;padding: 1.25rem 1.5rem;border-radius: 12px;border: 1px solid var(--contalink-border);background: var(--contalink-surface)}.balance-card--deudor{border-left: 4px solid var(--contalink-warning)}.balance-card--deudor .balance-card__value,.balance-card--deudor .balance-card__icon{color: var(--contalink-warning)}.balance-card--favor{border-left: 4px solid var(--lumo-primary-color)}.balance-card--favor .balance-card__value,.balance-card--favor .balance-card__icon{color: var(--lumo-primary-color)}.balance-card__sub{font-size: 0.75rem;color: var(--contalink-text-muted);margin-top: 0.125rem}.reconciliation-section-title{font-size: 0.875rem;font-weight: 600;color: var(--contalink-text-muted);text-transform: uppercase;letter-spacing: 0.06em;margin: 0}.reconciliation-section-title-row{display: flex;align-items: baseline;gap: 1rem;flex-wrap: wrap}.reconciliation-hint{font-size: 0.8125rem;color: var(--contalink-text-muted);font-style: italic}.reconciliation-docs-section{display: flex;flex-direction: column;gap: 0.5rem}.reconciliation-doc-header,.reconciliation-doc-row{display: grid;grid-template-columns: 90px 110px 110px 100px 120px 120px 1fr;align-items: center;gap: 0.75rem;padding: 0.5rem 0.875rem}.reconciliation-doc-header{background: var(--lumo-contrast-5pct);border-radius: 8px 8px 0 0;border: 1px solid var(--contalink-border)}.reconciliation-col-header{font-size: 0.75rem;font-weight: 600;color: var(--contalink-text-muted);text-transform: uppercase;letter-spacing: 0.04em}.reconciliation-doc-body{border: 1px solid var(--contalink-border);border-top: none;border-radius: 0 0 8px 8px;overflow: hidden}.reconciliation-doc-row{border-bottom: 1px solid var(--contalink-border);background: var(--contalink-surface);transition: background 0.1s}.reconciliation-doc-row:last-child{border-bottom: none}.reconciliation-doc-row:hover{background: var(--lumo-contrast-5pct)}.col-type{}.col-num{font-weight: 600;font-size: 0.875rem;color: var(--contalink-text)}.col-status{}.col-date{font-size: 0.8125rem;color: var(--contalink-text-muted)}.col-total{font-size: 0.875rem;text-align: right;font-variant-numeric: tabular-nums}.col-due{font-size: 0.875rem;text-align: right;font-variant-numeric: tabular-nums}.col-due--highlight{font-weight: 700;color: var(--contalink-warning)}.col-apply{display: flex;align-items: center;gap: 0.5rem}.reconciliation-amount-input{flex: 1;min-width: 0;max-width: 130px}.reconciliation-apply-btn{flex-shrink: 0}.reconciliation-docs-empty{display: flex;align-items: center;gap: 0.5rem;padding: 1rem 0.875rem;font-size: 0.875rem;color: var(--contalink-text-muted);border: 1px solid var(--contalink-border);border-radius: 8px;background: var(--lumo-contrast-5pct)}.reconciliation-history-section{display: flex;flex-direction: column;gap: 0.5rem}.reconciliation-history-list{display: flex;flex-direction: column;gap: 0.375rem}.reconciliation-history-item{display: flex;align-items: center;gap: 0.75rem;padding: 0.625rem 0.875rem;background: var(--lumo-contrast-5pct);border-radius: 8px;font-size: 0.875rem}.history-item__doc{flex: 1;font-weight: 600;color: var(--contalink-text)}.history-item__amount{font-weight: 700;color: var(--lumo-primary-color);font-variant-numeric: tabular-nums}.history-item__date{color: var(--contalink-text-muted);font-size: 0.8125rem}@media (max-width: 900px){.reconciliation-doc-header,.reconciliation-doc-row{grid-template-columns: 80px 90px 1fr 90px 180px}.col-date,.col-total{display: none}.reconciliation-balance-cards{grid-template-columns: 1fr}.reconciliation-right-content{padding: 1rem}}.receivables-view{display: flex;flex-direction: column;background: var(--contalink-bg);min-height: 100%}.receivables-metrics-row{display: grid;grid-template-columns: repeat(3,1fr);gap: 1rem;padding: 1.5rem 2rem 0}@media (max-width: 800px){.receivables-metrics-row{grid-template-columns: 1fr}}.receivables-metric-card{display: flex;align-items: flex-start;gap: 1rem;padding: 1.25rem 1.5rem;border-radius: 12px;border: 1px solid var(--contalink-border);background: var(--contalink-surface);border-left-width: 4px;box-shadow: 0 1px 3px rgba(0,0,0,0.05);transition: box-shadow 0.15s}.receivables-metric-card:hover{box-shadow: 0 4px 12px rgba(0,0,0,0.08)}.receivables-metric-icon{width: 2rem;height: 2rem;flex-shrink: 0;margin-top: 0.125rem}.receivables-metric-body{display: flex;flex-direction: column;gap: 0.2rem;min-width: 0}.receivables-metric-value{display: block;font-size: 1.5rem;font-weight: 700;color: var(--contalink-text);font-variant-numeric: tabular-nums;letter-spacing: -0.02em}.receivables-metric-label{display: block;font-size: 0.8125rem;font-weight: 600;color: var(--contalink-text);text-transform: uppercase;letter-spacing: 0.04em}.receivables-metric-sub{display: block;font-size: 0.75rem;color: var(--contalink-text-muted)}.metric-card--outstanding{border-left-color: var(--contalink-primary-light)}.metric-card--outstanding .receivables-metric-icon,.metric-card--outstanding .receivables-metric-value{color: var(--contalink-primary-light)}.metric-card--overdue{border-left-color: var(--contalink-danger)}.metric-card--overdue .receivables-metric-icon,.metric-card--overdue .receivables-metric-value{color: var(--contalink-danger)}.metric-card--collected{border-left-color: var(--contalink-success)}.metric-card--collected .receivables-metric-icon,.metric-card--collected .receivables-metric-value{color: var(--contalink-success)}.metric-card--neutral{border-left-color: var(--contalink-border)}.receivables-aging-section{padding: 1.5rem 2rem 0;display: flex;flex-direction: column;gap: 0.875rem}.receivables-section-title-row{display: flex;align-items: baseline;gap: 1rem}.receivables-section-title{font-size: 1rem;font-weight: 600;color: var(--contalink-text);margin: 0;text-transform: uppercase;letter-spacing: 0.04em}.receivables-section-hint{font-size: 0.8125rem;color: var(--contalink-text-muted);font-style: italic}.receivables-aging-row{display: grid;grid-template-columns: 140px repeat(4,1fr);gap: 0.875rem}@media (max-width: 900px){.receivables-aging-row{grid-template-columns: repeat(3,1fr)}}@media (max-width: 600px){.receivables-aging-row{grid-template-columns: 1fr 1fr}}.aging-bucket-card{display: flex;flex-direction: column;align-items: flex-start;gap: 0.375rem;padding: 1rem 1.25rem;border-radius: 10px;border: 1.5px solid var(--contalink-border);background: var(--contalink-surface);cursor: pointer;transition: border-color 0.15s,box-shadow 0.15s,transform 0.1s;user-select: none}.aging-bucket-card:hover{box-shadow: 0 3px 10px rgba(0,0,0,0.08);transform: translateY(-1px)}.aging-bucket-card--all{justify-content: center;align-items: center;background: var(--lumo-contrast-5pct);border-style: dashed}.aging-bucket-card--current{border-left: 4px solid var(--contalink-success)}.aging-bucket-card--current .aging-bucket-amount{color: var(--contalink-success)}.aging-bucket-card--warn{border-left: 4px solid var(--contalink-warning)}.aging-bucket-card--warn .aging-bucket-amount{color: var(--contalink-warning)}.aging-bucket-card--orange{border-left: 4px solid #EA580C}.aging-bucket-card--orange .aging-bucket-amount{color: #EA580C}.aging-bucket-card--danger{border-left: 4px solid var(--contalink-danger)}.aging-bucket-card--danger .aging-bucket-amount{color: var(--contalink-danger)}.aging-bucket-amount{font-size: 1.25rem;font-weight: 700;font-variant-numeric: tabular-nums;line-height: 1.1}.aging-bucket-label{font-size: 0.8125rem;font-weight: 600;color: var(--contalink-text);text-transform: uppercase;letter-spacing: 0.03em}.aging-bucket-count{font-size: 0.75rem;color: var(--contalink-text-muted)}.aging-bucket-btn{margin-top: 0.5rem;align-self: flex-end}.receivables-customer-section{display: flex;flex-direction: column;flex: 1;padding: 1.25rem 2rem 0;gap: 0.75rem}.receivables-toolbar{display: flex;align-items: center;gap: 1rem;flex-wrap: wrap}.receivables-status-chips{display: flex;gap: 0.375rem;flex-wrap: wrap;flex: 1}.receivables-search{min-width: 240px}.receivables-grid{border: 1px solid var(--contalink-border);border-radius: 10px;overflow: hidden;flex: 1;margin-bottom: 1.5rem}.view-metrics-row{display: grid;grid-template-columns: repeat(4,1fr);gap: 1rem;padding: 0 2rem 1.5rem}@media (max-width: 1100px){.view-metrics-row{grid-template-columns: repeat(2,1fr)}}@media (max-width: 600px){.view-metrics-row{grid-template-columns: 1fr}}.view-metric-card{display: flex;align-items: flex-start;gap: 0.875rem;padding: 1.125rem 1.25rem;border-radius: 12px;border: 1px solid var(--contalink-border);background: var(--contalink-surface);border-left-width: 4px;box-shadow: 0 1px 3px rgba(0,0,0,0.05);transition: box-shadow 0.15s}.view-metric-card:hover{box-shadow: 0 4px 12px rgba(0,0,0,0.08)}.view-metric-icon{width: 1.75rem;height: 1.75rem;flex-shrink: 0;margin-top: 0.125rem}.view-metric-body{display: flex;flex-direction: column;gap: 0.15rem;min-width: 0}.view-metric-value{display: block;font-size: 1.3rem;font-weight: 700;color: var(--contalink-text);font-variant-numeric: tabular-nums;letter-spacing: -0.02em;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.view-metric-label{display: block;font-size: 0.75rem;font-weight: 600;color: var(--contalink-text);text-transform: uppercase;letter-spacing: 0.04em}.view-metric-sub{display: block;font-size: 0.75rem;color: var(--contalink-text-muted);white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.metric-card--info{border-left-color: var(--contalink-primary-light)}.metric-card--info .view-metric-icon,.metric-card--info .view-metric-value{color: var(--contalink-primary-light)}.metric-card--warning{border-left-color: #f59e0b}.metric-card--warning .view-metric-icon,.metric-card--warning .view-metric-value{color: #f59e0b}.metric-card--overdue .view-metric-icon,.metric-card--overdue .view-metric-value{color: var(--contalink-danger)}.metric-card--collected .view-metric-icon,.metric-card--collected .view-metric-value{color: var(--contalink-success)}.customer-balance--debt{color: var(--contalink-danger);font-weight: 600}.customer-balance--credit{color: var(--contalink-success);font-weight: 600}.customer-balance--zero{color: var(--contalink-text-muted)}.customer-dialog-balance{padding: 0.875rem 1rem;background: var(--contalink-contrast-5pct,var(--lumo-contrast-5pct));border: 1px solid var(--contalink-border);border-radius: 10px;margin-bottom: 0.5rem}.customer-dialog-balance__title{display: flex;align-items: center;gap: 0.5rem;font-size: 0.8125rem;font-weight: 600;color: var(--contalink-text-muted);text-transform: uppercase;letter-spacing: 0.04em;margin-bottom: 0.75rem}.customer-dialog-balance__icon{width: 1rem;height: 1rem;color: var(--contalink-primary-light)}.customer-dialog-balance__stats{display: grid;grid-template-columns: repeat(4,1fr);gap: 0.5rem}@media (max-width: 480px){.customer-dialog-balance__stats{grid-template-columns: repeat(2,1fr)}}.customer-dialog-stat{display: flex;flex-direction: column;gap: 0.1rem}.customer-dialog-stat__label{font-size: 0.6875rem;color: var(--contalink-text-muted);text-transform: uppercase;letter-spacing: 0.03em}.customer-dialog-stat__value{font-size: 0.9375rem;font-weight: 700;color: var(--contalink-text);font-variant-numeric: tabular-nums}.stat--positive{color: var(--contalink-success)}.stat--warning{color: #f59e0b}.customer-dialog-balance__net{margin-top: 0.625rem;padding-top: 0.5rem;border-top: 1px solid var(--contalink-border);font-size: 0.875rem}.metrics-container{display: flex;flex-direction: column}.metrics-period-selector{display: flex;align-items: center;flex-wrap: wrap;gap: 0.375rem;padding: 0.5rem 1.5rem 0.5rem;background: transparent}.metrics-period-custom{display: flex;align-items: flex-end;flex-wrap: wrap;gap: 0.75rem;padding: 0 1.5rem 1.25rem}.period-selector-hint{font-size: 0.75rem;color: var(--contalink-text-muted);font-weight: 600;text-transform: uppercase;letter-spacing: 0.04em;margin-right: 0.25rem}.period-pill{cursor: pointer !important;padding: 0 0.75rem !important;border: 1px solid var(--contalink-border) !important;border-radius: 999px !important;background: transparent !important;color: var(--contalink-text-muted) !important;font-size: 0.75rem !important;font-weight: 500 !important;transition: background 0.15s,border-color 0.15s,color 0.15s !important;height: 28px !important;min-height: 28px !important}.period-pill:hover{background: #EFF6FF !important;border-color: var(--contalink-primary-light) !important;color: var(--contalink-primary) !important}.period-pill--active{background: var(--contalink-primary) !important;border-color: var(--contalink-primary) !important;color: #FFFFFF !important;font-weight: 600 !important}.period-pill--active:hover{background: var(--contalink-primary) !important;border-color: var(--contalink-primary) !important;color: #FFFFFF !important}.period-date-picker{--vaadin-field-default-width: 160px}.closing-list-view{padding: 1.5rem;max-width: 960px}.closing-start-card{background: var(--contalink-surface);border: 1px solid var(--contalink-border);border-radius: var(--contalink-radius-lg);padding: 1.5rem;margin-bottom: 2rem;box-shadow: var(--contalink-shadow-sm)}.closing-start-card-title{font-size: 1.125rem;font-weight: 700;color: var(--contalink-text-primary);margin: 0 0 0.25rem}.closing-start-card-desc{font-size: 0.875rem;color: var(--contalink-text-muted);margin: 0 0 1.25rem}.closing-start-row{display: flex;align-items: flex-end;gap: 0.75rem;flex-wrap: wrap}.closing-month-selector,.closing-year-selector{--vaadin-field-default-width: 160px}.closing-start-btn{align-self: flex-end;margin-bottom: 2px}.closing-history-title{font-size: 1rem;font-weight: 700;color: var(--contalink-text-primary);margin: 0 0 1rem}.closing-history-card{display: flex;align-items: center;justify-content: space-between;background: var(--contalink-surface);border: 1px solid var(--contalink-border);border-radius: var(--contalink-radius-md);padding: 1rem 1.25rem;margin-bottom: 0.625rem;transition: box-shadow 0.15s}.closing-history-card:hover{box-shadow: var(--contalink-shadow-md)}.closing-history-left{display: flex;align-items: center;gap: 0.875rem;flex-wrap: wrap}.closing-history-period{font-size: 1rem;font-weight: 600;color: var(--contalink-text-primary)}.closing-history-step{font-size: 0.75rem;color: var(--contalink-text-muted);background: var(--contalink-bg-secondary);padding: 2px 8px;border-radius: 999px}.closing-empty-state{color: var(--contalink-text-muted);font-size: 0.875rem;text-align: center;padding: 2rem}.closing-wizard-view{display: flex;flex-direction: column;height: 100%}.closing-wizard-header{padding: 1rem 1.5rem 0}.closing-wizard-title-row{display: flex;align-items: center;gap: 0.875rem;flex-wrap: wrap}.closing-wizard-title{font-size: 1.375rem;font-weight: 700;color: var(--contalink-text-primary);margin: 0}.wizard-step-indicator{display: flex;align-items: center;padding: 1.25rem 1.5rem 1rem;flex-wrap: nowrap;overflow-x: auto;gap: 0}.wizard-step-chip{display: flex;align-items: center;gap: 0.5rem;padding: 0.375rem 0.75rem;border-radius: 999px;border: 1.5px solid var(--contalink-border);background: var(--contalink-surface);color: var(--contalink-text-muted);font-size: 0.8125rem;font-weight: 500;white-space: nowrap;transition: background 0.15s,border-color 0.15s,color 0.15s;flex-shrink: 0}.wizard-step-chip--active{background: var(--contalink-primary) !important;border-color: var(--contalink-primary) !important;color: #fff !important;font-weight: 700}.wizard-step-chip--done{background: #dcfce7 !important;border-color: #22c55e !important;color: #166534 !important}.wizard-step-num{display: inline-flex;align-items: center;justify-content: center;width: 20px;height: 20px;border-radius: 50%;background: currentColor;color: #fff;font-size: 0.6875rem;font-weight: 700;flex-shrink: 0}.wizard-step-chip--active .wizard-step-num{background: rgba(255,255,255,0.25);color: #fff}.wizard-step-chip--done .wizard-step-num{background: #22c55e;color: #fff}.wizard-step-check{color: #22c55e;width: 16px;height: 16px}.wizard-step-chip--done .wizard-step-check{color: #166534}.wizard-step-label{font-size: 0.8125rem}.wizard-step-connector{flex: 1;min-width: 20px;height: 2px;background: var(--contalink-border);margin: 0 4px}.wizard-step-connector--done{background: #22c55e}.wizard-content-area{flex: 1;padding: 0 1.5rem;overflow-y: auto}.wizard-step-content{max-width: 900px}.wizard-step-title{font-size: 1.125rem;font-weight: 700;color: var(--contalink-text-primary);margin: 0 0 0.25rem}.wizard-step-desc{font-size: 0.875rem;color: var(--contalink-text-muted);margin: 0 0 1.25rem}.wizard-metrics-row{display: flex;gap: 0.75rem;flex-wrap: wrap;margin-bottom: 1.25rem}.wizard-mini-card{display: flex;flex-direction: column;padding: 0.875rem 1.125rem;border-radius: var(--contalink-radius-md);border: 1px solid var(--contalink-border);background: var(--contalink-surface);min-width: 140px}.wizard-mini-card--blue{border-left: 3px solid var(--contalink-primary)}.wizard-mini-card--green{border-left: 3px solid #22c55e}.wizard-mini-card--orange{border-left: 3px solid #f59e0b}.wizard-mini-card--neutral{border-left: 3px solid var(--contalink-border)}.wizard-mini-value{font-size: 1.125rem;font-weight: 700;color: var(--contalink-text-primary)}.wizard-mini-label{font-size: 0.75rem;color: var(--contalink-text-muted);font-weight: 500;text-transform: uppercase;letter-spacing: 0.04em;margin-top: 2px}.wizard-grid{margin-bottom: 1.5rem}.wizard-warning-banner{display: flex;align-items: center;gap: 0.5rem;background: #fffbeb;border: 1px solid #fcd34d;border-radius: var(--contalink-radius-md);padding: 0.75rem 1rem;margin-bottom: 1rem;font-size: 0.875rem;color: #92400e}.wizard-warning-icon{color: #f59e0b;flex-shrink: 0;width: 20px;height: 20px}.wizard-checklist{display: flex;flex-direction: column;gap: 0.5rem;background: var(--contalink-surface);border: 1px solid var(--contalink-border);border-radius: var(--contalink-radius-md);padding: 1rem 1.25rem;margin-bottom: 1rem}.wizard-check-item{display: flex;align-items: center;gap: 0.625rem;font-size: 0.875rem}.wizard-check-item--warning{color: #92400e}.wizard-check-icon--ok{color: #22c55e;width: 18px;height: 18px;flex-shrink: 0}.wizard-check-icon--warn{color: #f59e0b;width: 18px;height: 18px;flex-shrink: 0}.wizard-check-icon--pending{color: var(--contalink-text-muted);width: 18px;height: 18px;flex-shrink: 0}.wizard-check-label{flex: 1}.wizard-check-value{font-weight: 700;color: var(--contalink-text-primary)}.wizard-validation-ok,.wizard-validation-warn{display: flex;align-items: center;gap: 0.5rem;padding: 0.875rem 1.125rem;border-radius: var(--contalink-radius-md);font-size: 0.875rem;font-weight: 500;margin-bottom: 1.5rem}.wizard-validation-ok{background: #dcfce7;color: #166534;border: 1px solid #bbf7d0}.wizard-validation-warn{background: #fffbeb;color: #92400e;border: 1px solid #fcd34d}.wizard-validation-icon{width: 20px;height: 20px;flex-shrink: 0}.wizard-review-summary{background: var(--contalink-surface);border: 1px solid var(--contalink-border);border-radius: var(--contalink-radius-md);padding: 1rem 1.25rem;margin-bottom: 1.25rem;display: flex;flex-direction: column;gap: 0.5rem}.wizard-summary-row{display: flex;justify-content: space-between;align-items: center;font-size: 0.875rem;padding: 0.25rem 0;border-bottom: 1px solid var(--contalink-border)}.wizard-summary-row:last-child{border-bottom: none}.wizard-summary-label{color: var(--contalink-text-muted)}.wizard-summary-value{font-weight: 600;color: var(--contalink-text-primary)}.wizard-review-notes-title{font-size: 0.9375rem;font-weight: 600;color: var(--contalink-text-primary);margin: 0 0 0.5rem}.wizard-notes-field{margin-bottom: 0.75rem}.wizard-reviewer-info{font-size: 0.8125rem;color: var(--contalink-text-muted);margin: 0 0 1.5rem}.wizard-awaiting-review{display: flex;flex-direction: column;align-items: center;text-align: center;padding: 2.5rem 1.5rem;background: var(--contalink-bg-secondary);border: 1px dashed var(--contalink-border);border-radius: var(--contalink-radius-lg);margin: 1rem 0}.wizard-awaiting-icon{color: var(--contalink-primary);width: 48px;height: 48px;margin-bottom: 0.75rem}.wizard-awaiting-text{font-size: 0.875rem;color: var(--contalink-text-muted);max-width: 420px;margin: 0}.wizard-reviewed-by{font-size: 0.8125rem;color: #22c55e;font-weight: 600;margin-bottom: 1rem}.wizard-final-summary{display: flex;gap: 1rem;flex-wrap: wrap;margin-bottom: 1.5rem}.wizard-final-card{display: flex;align-items: center;gap: 0.875rem;background: var(--contalink-surface);border: 1px solid var(--contalink-border);border-radius: var(--contalink-radius-md);padding: 1rem 1.25rem;min-width: 200px;flex: 1}.wizard-final-icon{color: var(--contalink-primary);width: 28px;height: 28px;flex-shrink: 0}.wizard-final-body{display: flex;flex-direction: column}.wizard-final-amount{font-size: 1.125rem;font-weight: 700;color: var(--contalink-text-primary)}.wizard-final-label{font-size: 0.75rem;color: var(--contalink-text-muted);text-transform: uppercase;font-weight: 500;letter-spacing: 0.04em}.wizard-final-count{font-size: 0.75rem;color: var(--contalink-text-muted)}.wizard-final-checklist{background: var(--contalink-surface);border: 1px solid var(--contalink-border);border-radius: var(--contalink-radius-md);padding: 1rem 1.25rem;margin-bottom: 1.25rem;display: flex;flex-direction: column;gap: 0.625rem}.wizard-final-check-item{display: flex;align-items: center;gap: 0.625rem;font-size: 0.875rem;color: var(--contalink-text-primary)}.wizard-confirm-note{font-size: 0.8125rem;color: var(--contalink-text-muted);font-style: italic;margin-bottom: 1.5rem}.wizard-success-state{display: flex;flex-direction: column;align-items: center;text-align: center;padding: 3rem 1.5rem}.wizard-success-icon{color: #22c55e;width: 64px;height: 64px;margin-bottom: 1rem}.wizard-success-title{font-size: 1.5rem;font-weight: 700;color: var(--contalink-text-primary);margin: 0 0 0.5rem}.wizard-success-desc{font-size: 0.9375rem;color: var(--contalink-text-muted);margin: 0 0 1.5rem}.wizard-nav-buttons{display: flex;align-items: center;gap: 0.625rem;padding: 1rem 1.5rem;border-top: 1px solid var(--contalink-border);background: var(--contalink-surface);flex-shrink: 0}.wizard-save-btn{margin-right: auto}.wizard-next-btn{min-width: 160px}.workspace-members-view{display: flex;flex-direction: column;gap: 2rem;padding: 1.5rem;max-width: 1100px;margin: 0 auto;width: 100%}.members-page-header{display: flex;align-items: flex-start;justify-content: space-between;gap: 1rem;flex-wrap: wrap}.members-header-left{display: flex;flex-direction: column;gap: 0.25rem}.members-page-title{font-size: 1.5rem;font-weight: 700;color: var(--contalink-text-primary);margin: 0;line-height: 1.25}.members-page-subtitle{font-size: 0.9375rem;color: var(--contalink-text-muted);margin: 0}.members-header-right{display: flex;align-items: center;gap: 0.75rem;padding-top: 0.25rem}.members-section{background: var(--contalink-surface);border: 1px solid var(--contalink-border);border-radius: var(--contalink-radius-lg);overflow: hidden}.members-section-title-row{display: flex;align-items: center;gap: 0.625rem;padding: 1rem 1.25rem 0.75rem;border-bottom: 1px solid var(--contalink-border)}.members-section-title{font-size: 1rem;font-weight: 600;color: var(--contalink-text-primary);margin: 0}.members-count-badge{display: inline-flex;align-items: center;justify-content: center;min-width: 1.375rem;height: 1.375rem;padding: 0 0.375rem;border-radius: 999px;background: var(--contalink-border);color: var(--contalink-text-muted);font-size: 0.75rem;font-weight: 600}.members-empty-msg{padding: 1.25rem 1.25rem;color: var(--contalink-text-muted);font-size: 0.9375rem;margin: 0}.members-grid{--lumo-border-radius-m: 0;border: none;border-radius: 0}.member-cell{display: flex;align-items: center;gap: 0.75rem;padding: 0.25rem 0}.member-avatar{width: 2rem;height: 2rem;border-radius: 50%;background: var(--lumo-primary-color-10pct);color: var(--lumo-primary-text-color);font-size: 0.75rem;font-weight: 700;display: flex;align-items: center;justify-content: center;flex-shrink: 0;text-transform: uppercase;letter-spacing: 0.02em}.member-name-block{display: flex;flex-direction: column;gap: 0.1rem}.member-name{font-size: 0.875rem;font-weight: 600;color: var(--contalink-text-primary);line-height: 1.3}.member-email{font-size: 0.8125rem;color: var(--contalink-text-muted);line-height: 1.3}.members-action-cell{display: flex;align-items: center;gap: 0.125rem}.role-badge{display: inline-flex;align-items: center;padding: 0.25rem 0.625rem;border-radius: 999px;font-size: 0.75rem;font-weight: 600;white-space: nowrap}.role-badge--owner{background: #fef3c7;color: #92400e}.role-badge--admin{background: #ede9fe;color: #5b21b6}.role-badge--operator{background: #dbeafe;color: #1d4ed8}.role-badge--viewer{background: var(--contalink-border);color: var(--contalink-text-muted)}.role-badge--accountant{background: #dcfce7;color: #166534}.role-badge--accountant-assistant{background: #d1fae5;color: #065f46}.invitation-expiry{font-size: 0.8125rem;color: var(--contalink-text-muted)}.invitation-expired{font-size: 0.8125rem;color: var(--lumo-error-color);font-weight: 600}.members-invite-form{padding: 0.25rem 0}.edit-role-member-label{font-size: 0.9375rem;color: var(--contalink-text-muted);margin: 0 0 0.75rem}.invite-accountant-view{display: flex;flex-direction: column;gap: 1.5rem;padding: 2rem;max-width: 1100px;margin: 0 auto;width: 100%;box-sizing: border-box}.invite-accountant-header{display: flex;flex-direction: column;gap: 0.5rem}.invite-accountant-back-btn{align-self: flex-start;margin-bottom: 0.25rem}.invite-accountant-title{margin: 0;font-size: 1.75rem;font-weight: 700;color: var(--contalink-text);line-height: 1.2}.invite-accountant-subtitle{margin: 0;font-size: 0.9375rem;color: var(--contalink-text-muted);max-width: 640px}.accountant-exists-banner{display: flex;align-items: flex-start;gap: 0.75rem;padding: 1rem 1.25rem;background: #fffbeb;border: 1px solid #fbbf24;border-radius: 8px;color: #92400e}.accountant-exists-icon{flex-shrink: 0;color: #f59e0b;width: 1.25rem;height: 1.25rem;margin-top: 0.1rem}.accountant-exists-text{font-size: 0.9rem;line-height: 1.5}.invite-accountant-main{display: grid;grid-template-columns: 420px 1fr;gap: 1.5rem;align-items: start}@media (max-width: 860px){.invite-accountant-main{grid-template-columns: 1fr}}.invite-accountant-card{background: var(--contalink-surface);border: 1px solid var(--contalink-border);border-radius: 10px;padding: 1.5rem;display: flex;flex-direction: column;gap: 1rem}.invite-accountant-card-title{margin: 0;font-size: 1.0625rem;font-weight: 600;color: var(--contalink-text)}.invite-accountant-form{padding: 0}.invite-accountant-send-btn{align-self: flex-end;margin-top: 0.5rem}.quick-action--clickable{cursor: pointer;transition: transform 0.1s ease,box-shadow 0.1s ease}.quick-action--clickable:hover{transform: translateY(-2px);box-shadow: 0 4px 12px rgba(0,0,0,0.1)}.quick-action--disabled{opacity: 0.6;cursor: not-allowed}.reports-view{display: flex;flex-direction: column;gap: 0;padding: 2rem;max-width: 1200px;margin: 0 auto;width: 100%;box-sizing: border-box}.reports-page-header{display: flex;align-items: flex-start;justify-content: space-between;gap: 1.5rem;flex-wrap: wrap;margin-bottom: 1.5rem}.reports-header-left{display: flex;flex-direction: column;gap: 0.25rem}.reports-page-title{margin: 0;font-size: 1.75rem;font-weight: 700;color: var(--contalink-text);line-height: 1.2}.reports-page-subtitle{margin: 0;font-size: 0.9375rem;color: var(--contalink-text-muted)}.reports-header-right{display: flex;align-items: center;gap: 0.75rem;flex-wrap: wrap}.reports-range-label{font-size: 0.875rem;color: var(--contalink-text-muted);font-weight: 500}.reports-range-buttons{display: flex;border: 1px solid var(--contalink-border);border-radius: 8px;overflow: hidden}.reports-range-btn{background: var(--contalink-surface);border: none;border-right: 1px solid var(--contalink-border);border-radius: 0 !important;padding: 0.4rem 0.9rem;font-size: 0.8125rem;color: var(--contalink-text-muted);cursor: pointer;transition: background 0.15s;box-shadow: none !important}.reports-range-btn:last-child{border-right: none}.reports-range-btn:hover{background: var(--lumo-contrast-5pct);color: var(--contalink-text)}.reports-range-btn--active{background: var(--contalink-primary) !important;color: #fff !important;font-weight: 600}.reports-tabs-wrapper{border-bottom: 2px solid var(--contalink-border);margin-bottom: 1.5rem}.reports-tabs{--lumo-primary-color: var(--contalink-primary)}.reports-content-area{display: flex;flex-direction: column;gap: 1.5rem}.report-metrics-row{display: grid;grid-template-columns: repeat(auto-fit,minmax(220px,1fr));gap: 1rem}.report-section{background: var(--contalink-surface);border: 1px solid var(--contalink-border);border-radius: 10px;padding: 1.25rem 1.5rem;display: flex;flex-direction: column;gap: 1rem}.report-section-title{margin: 0;font-size: 1.0625rem;font-weight: 600;color: var(--contalink-text)}.report-bar-chart{display: flex;flex-direction: column;gap: 0.5rem;padding: 0.5rem 0}.report-chart-row{display: flex;align-items: center;gap: 0.75rem}.report-chart-month{width: 80px;flex-shrink: 0;font-size: 0.8125rem;color: var(--contalink-text-muted);text-transform: capitalize}.report-chart-bars{flex: 1;display: flex;flex-direction: column;gap: 3px}.report-bar{height: 10px;border-radius: 4px;min-width: 4px;transition: width 0.3s ease}.report-bar--revenue{background: #2e8b57}.report-bar--expenses{background: #dc2626}.report-chart-net{width: 120px;flex-shrink: 0;font-size: 0.8125rem;font-weight: 600;text-align: right}.report-chart-net--positive{color: var(--contalink-success)}.report-chart-net--negative{color: var(--contalink-danger)}.report-chart-legend{display: flex;align-items: center;gap: 0.5rem;font-size: 0.8125rem;color: var(--contalink-text-muted)}.legend-dot{width: 10px;height: 10px;border-radius: 50%}.legend-dot--revenue{background: #2e8b57}.legend-dot--expenses{background: #dc2626}.report-grid{border: none}.amount-positive{color: var(--contalink-success);font-weight: 600}.amount-negative{color: var(--contalink-danger);font-weight: 600}.report-pct-bar-wrapper{position: relative;height: 20px;background: var(--lumo-contrast-5pct);border-radius: 4px;overflow: hidden;width: 100%}.report-pct-bar-fill{position: absolute;top: 0;left: 0;height: 100%;background: var(--contalink-primary-light);border-radius: 4px;transition: width 0.3s ease}.report-pct-label{position: absolute;right: 6px;top: 50%;transform: translateY(-50%);font-size: 0.75rem;font-weight: 600;color: var(--contalink-text);z-index: 1}.report-notice{background: var(--lumo-contrast-5pct);border-radius: 8px;padding: 1rem 1.25rem;display: flex;align-items: center;justify-content: space-between;gap: 1rem;flex-wrap: wrap}.report-notice-text{margin: 0;font-size: 0.9rem;color: var(--contalink-text-muted)}.report-empty-state{text-align: center;padding: 3rem;color: var(--contalink-text-muted)}.report-export-bar{display: flex;gap: 0.5rem;justify-content: flex-end;padding-top: 0.25rem}.metric-info .metric-icon-bubble{background: #dbeafe}.metric-info .metric-icon{color: #1d4ed8}.request-access-view{display: flex;flex-direction: column;min-height: 100vh;background: var(--contalink-bg-subtle,#f8fafc)}.request-access-header{display: flex;align-items: center;justify-content: space-between;padding: 1rem 2rem;background: white;border-bottom: 1px solid var(--contalink-border,#e2e8f0);position: sticky;top: 0;z-index: 10}.request-access-brand{font-size: 1.25rem;font-weight: 700;color: var(--contalink-primary,#1e3a5f);letter-spacing: -0.5px}.request-access-card{max-width: 480px;width: calc(100% - 2rem);margin: 3rem auto;padding: 2.5rem 2rem;background: white;border-radius: 12px;box-shadow: 0 4px 24px rgba(0,0,0,0.07)}.request-access-icon{width: 56px;height: 56px;background: #dbeafe;border-radius: 12px;display: flex;align-items: center;justify-content: center;margin-bottom: 1.25rem;color: #1d4ed8;font-size: 1.5rem}.request-access-icon vaadin-icon{font-size: 1.5rem;color: #1d4ed8}.request-access-title{font-size: 1.25rem;font-weight: 700;color: var(--contalink-text,#1e293b);margin: 0 0 0.5rem}.request-access-subtitle{font-size: 0.875rem;color: var(--contalink-text-muted,#64748b);margin: 0 0 1.75rem;line-height: 1.5}.request-access-form{width: 100% !important}.request-access-submit-btn{margin-top: 0.5rem}.request-access-success{text-align: center;padding-top: 1rem}.request-access-success-icon{width: 64px;height: 64px;background: #dcfce7;border-radius: 50%;display: flex;align-items: center;justify-content: center;margin: 0 auto 1rem;font-size: 2rem;color: #16a34a}.request-access-success-icon vaadin-icon{font-size: 2rem;color: #16a34a}.request-access-success-title{font-size: 1.25rem;font-weight: 700;color: var(--contalink-text,#1e293b);margin: 0 0 0.5rem}.request-access-success-msg{font-size: 0.875rem;color: var(--contalink-text-muted,#64748b);margin: 0 0 1.5rem;line-height: 1.6}.access-requests-section{border-top: 2px solid #fef3c7;margin-top: 0.5rem;padding-top: 0.25rem}.access-requests-grid{--lumo-font-size-s: 0.8125rem}.access-requests-toolbar{display: flex;align-items: center;justify-content: flex-end;padding: 0.25rem 0 0.5rem 0;gap: 0.5rem}.access-requests-bulk-approve-btn{transition: opacity 0.15s}.members-count-badge--pending{background: #fef3c7 !important;color: #92400e !important;font-weight: 700}.access-request-message-preview{font-size: 0.8125rem;color: var(--contalink-text-muted,#64748b);font-style: italic}.access-request-no-message{color: var(--contalink-text-muted,#64748b);opacity: 0.5}.access-request-dialog-info{color: var(--contalink-text,#1e293b);margin-bottom: 1rem;font-size: 0.9rem}.workspace-settings-view{background: var(--contalink-bg);min-height: 100%;display: flex;flex-direction: column}.settings-page-header{display: flex;align-items: center;gap: 1rem;background: var(--contalink-surface);border-bottom: 1px solid var(--contalink-border);padding: 1.5rem 2rem 1.25rem;flex-shrink: 0}.settings-page-icon-wrap{width: 2.75rem;height: 2.75rem;border-radius: 10px;background: #EFF6FF;color: var(--contalink-primary);display: flex;align-items: center;justify-content: center;flex-shrink: 0}.settings-page-icon-wrap vaadin-icon{width: 1.375rem;height: 1.375rem}.settings-page-title-group{display: flex;flex-direction: column;gap: 0.125rem}.settings-page-title{font-size: 1.5rem;font-weight: 700;color: var(--contalink-text);margin: 0;line-height: 1.2;letter-spacing: -0.02em}.settings-page-subtitle{font-size: 0.875rem;color: var(--contalink-text-muted);margin: 0;line-height: 1.5}.settings-body{flex: 1;padding: 1.5rem 2rem;overflow-y: auto}.settings-content{display: flex;flex-direction: column;gap: 1.25rem;max-width: 860px;margin: 0 auto}.settings-section{background: var(--contalink-surface);border: 1px solid var(--contalink-border);border-radius: 12px;overflow: hidden;box-shadow: 0 1px 3px rgba(0,0,0,0.05)}.settings-section-header{display: flex;align-items: center;gap: 0.625rem;padding: 0.875rem 1.25rem;background: #FAFAFA;border-bottom: 1px solid var(--contalink-border)}.settings-section-icon{width: 1rem;height: 1rem;color: var(--contalink-text-muted);flex-shrink: 0}.settings-section-title{font-size: 0.9375rem;font-weight: 600;color: var(--contalink-text);margin: 0;letter-spacing: -0.01em}.settings-section-body{padding: 1.25rem;display: flex;flex-direction: column;gap: 0.875rem}.settings-field-grid{display: grid;grid-template-columns: 1fr 1fr;gap: 0.875rem}.settings-field-grid--mt{margin-top: 0.875rem}@media (max-width: 600px){.settings-field-grid{grid-template-columns: 1fr}}.settings-address-row{margin-top: 0}.settings-address-row vaadin-text-area{width: 100%}.settings-module-row{display: flex;align-items: flex-start;gap: 1rem;padding: 0.25rem 0}.settings-module-icon-wrap{width: 2.5rem;height: 2.5rem;border-radius: 8px;background: #EFF6FF;color: var(--contalink-primary-light);display: flex;align-items: center;justify-content: center;flex-shrink: 0;margin-top: 0.125rem}.settings-module-icon-wrap vaadin-icon{width: 1.125rem;height: 1.125rem}.settings-module-info{display: flex;flex-direction: column;gap: 0.25rem}.settings-module-title{font-size: 0.9375rem;font-weight: 600;color: var(--contalink-text)}.settings-module-desc{font-size: 0.8125rem;color: var(--contalink-text-muted);line-height: 1.5;margin: 0 0 0.5rem 0}.settings-branding-row{display: flex;align-items: flex-start;gap: 1.5rem}.settings-branding-preview{width: 140px;height: 90px;border: 1px dashed var(--contalink-border);border-radius: 8px;display: flex;align-items: center;justify-content: center;flex-shrink: 0;background: #F9FAFB;overflow: hidden}.settings-branding-logo{max-width: 100%;max-height: 100%;object-fit: contain}.settings-branding-placeholder{width: 2rem;height: 2rem;color: var(--contalink-text-muted)}.settings-branding-controls{display: flex;flex-direction: column;align-items: flex-start;gap: 0.625rem}.settings-branding-note{font-size: 0.8125rem;color: var(--contalink-text-muted);margin: 0}.settings-branding-proforma-wrapper{margin-top: 1.25rem;padding-top: 1.25rem;border-top: 1px solid var(--contalink-border)}.settings-branding-subtitle{font-size: 0.8125rem;font-weight: 600;color: var(--contalink-text);margin: 0 0 0.75rem 0}.settings-info-banner{display: flex;align-items: flex-start;gap: 0.625rem;padding: 0.75rem 1rem;background: #EFF6FF;border: 1px solid #BFDBFE;border-radius: 8px;margin-bottom: 0.125rem}.settings-info-banner__icon{width: 1.125rem;height: 1.125rem;color: var(--contalink-primary-light);flex-shrink: 0;margin-top: 0.125rem}.settings-info-banner__text{font-size: 0.8125rem;color: #1D4ED8;line-height: 1.55;margin: 0}.settings-action-bar{position: sticky;bottom: 0;background: var(--contalink-surface);border-top: 1px solid var(--contalink-border);padding: 1rem 2rem;display: flex;align-items: center;justify-content: flex-end;z-index: 10;box-shadow: 0 -2px 8px rgba(0,0,0,0.06);flex-shrink: 0}.settings-read-only-notice{font-size: 0.875rem;color: var(--contalink-text-muted);font-style: italic;padding: 0.75rem 0;text-align: center}.subscription-plan-card{display: flex;flex-direction: column;gap: 0.875rem}.subscription-plan-row{display: flex;align-items: center;justify-content: space-between;gap: 1rem}.subscription-plan-info{display: flex;flex-direction: column;gap: 0.125rem}.subscription-plan-name{font-size: 1.125rem;font-weight: 700;color: var(--contalink-text)}.subscription-plan-price{font-size: 0.875rem;color: var(--contalink-text-muted)}.subscription-status-badge{display: inline-flex;align-items: center;padding: 3px 10px;border-radius: 12px;font-size: 0.75rem;font-weight: 600;white-space: nowrap}.subscription-status-badge--trial{background: #FFFBEB;color: #B45309;border: 1px solid #FDE68A}.subscription-status-badge--active{background: #ECFDF5;color: #047857;border: 1px solid #A7F3D0}.subscription-status-badge--expired{background: #FEF2F2;color: #B91C1C;border: 1px solid #FECACA}.subscription-expired-banner{display: flex;align-items: flex-start;gap: 0.625rem;padding: 0.75rem 1rem;background: #FEF2F2;border: 1px solid #FECACA;border-radius: 8px;color: #B91C1C;font-size: 0.8125rem;line-height: 1.55}.subscription-expired-banner vaadin-icon{width: 1.125rem;height: 1.125rem;flex-shrink: 0;margin-top: 0.125rem}.subscription-contact-row{display: flex;align-items: center;justify-content: space-between;gap: 1rem;padding-top: 0.625rem;border-top: 1px solid var(--contalink-border)}.subscription-contact-text{font-size: 0.8125rem;color: var(--contalink-text-muted)}.subscription-usage-grid{display: grid;grid-template-columns: 1fr 1fr;gap: 1.25rem}@media (max-width: 600px){.subscription-usage-grid{grid-template-columns: 1fr}}.subscription-usage-meter{display: flex;flex-direction: column;gap: 0.375rem}.subscription-usage-meter__title{font-size: 0.8125rem;font-weight: 600;color: var(--contalink-text)}.subscription-usage-meter__bar{width: 100%}.subscription-usage-meter__bar--full::part(value){background: #DC2626}.subscription-usage-meter__label{font-size: 0.75rem;color: var(--contalink-text-muted)}.subscription-member-list{display: flex;flex-direction: column;gap: 0.25rem}.subscription-member-row{display: flex;align-items: center;gap: 0.75rem;padding: 0.625rem 0;border-bottom: 1px solid var(--contalink-border)}.subscription-member-row:last-child{border-bottom: none}.subscription-member-avatar{width: 2.25rem;height: 2.25rem;border-radius: 50%;background: var(--contalink-primary);color: white;display: flex;align-items: center;justify-content: center;font-size: 0.75rem;font-weight: 700;flex-shrink: 0}.subscription-member-info{display: flex;flex-direction: column;gap: 0.0625rem;flex: 1;min-width: 0}.subscription-member-name{font-size: 0.875rem;font-weight: 600;color: var(--contalink-text)}.subscription-member-email{font-size: 0.75rem;color: var(--contalink-text-muted);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.subscription-member-toggle{flex-shrink: 0}.user-profile-view{display: block;padding: var(--lumo-space-l);max-width: 800px}.profile-page-header{margin-bottom: var(--lumo-space-l)}.profile-page-title{font-size: var(--lumo-font-size-xxl);font-weight: 700;color: var(--contalink-text,#1f2937);margin: 0 0 0.25rem 0}.profile-page-subtitle{color: var(--contalink-text-muted,#6b7280);margin: 0;font-size: var(--lumo-font-size-m)}.profile-content{display: flex;flex-direction: column;gap: var(--lumo-space-l)}.profile-section{background: var(--contalink-surface,#fff);border: 1px solid var(--contalink-border,#e5e7eb);border-radius: var(--lumo-border-radius-l);padding: var(--lumo-space-l)}.profile-section-title{font-size: var(--lumo-font-size-l);font-weight: 600;color: var(--contalink-text,#1f2937);margin: 0 0 0.5rem 0}.profile-section hr{border: none;border-top: 1px solid var(--contalink-border,#e5e7eb);margin: 0 0 var(--lumo-space-m) 0}.profile-field-grid{display: grid;grid-template-columns: 1fr 1fr;gap: var(--lumo-space-m);margin-bottom: var(--lumo-space-m)}.profile-password-grid{display: grid;grid-template-columns: 1fr 1fr 1fr;gap: var(--lumo-space-m);margin-bottom: var(--lumo-space-m)}@media (max-width: 768px){.profile-field-grid,.profile-password-grid{grid-template-columns: 1fr}}.profile-password-hint{color: var(--contalink-text-muted,#6b7280);font-size: var(--lumo-font-size-s);margin: 0 0 var(--lumo-space-m) 0}.profile-action-bar{display: flex;justify-content: flex-end;padding-top: var(--lumo-space-s)}.role-management-view{display: flex;flex-direction: column;gap: 1.5rem;padding: 1.5rem;max-width: 1100px;margin: 0 auto;width: 100%}.roles-page-header-row{gap: 1rem;flex-wrap: wrap}.roles-page-header-main{gap: 1rem}.roles-page-icon-wrap{width: 2.75rem;height: 2.75rem;border-radius: 10px;background: #EFF6FF;color: var(--contalink-primary);display: flex;align-items: center;justify-content: center;flex-shrink: 0}.roles-page-icon-wrap vaadin-icon{width: 1.375rem;height: 1.375rem}.roles-page-title-group{display: flex;flex-direction: column;gap: 0.125rem}.roles-page-title{font-size: 1.5rem;font-weight: 700;color: var(--contalink-text);margin: 0;line-height: 1.2;letter-spacing: -0.02em}.roles-page-subtitle{font-size: 0.875rem;color: var(--contalink-text-muted);margin: 0;line-height: 1.5}.roles-section{display: flex;flex-direction: column;gap: 1rem}.roles-empty{color: var(--contalink-text-muted);font-style: italic;padding: 1.5rem 0}.role-card{background: var(--contalink-surface);border: 1px solid var(--contalink-border);border-radius: 12px;overflow: hidden;box-shadow: 0 1px 3px rgba(0,0,0,0.05)}.role-card-header{gap: 0.75rem;padding: 0.875rem 1.25rem;background: #FAFAFA;border-bottom: 1px solid var(--contalink-border);flex-wrap: wrap}.role-card-header-left{gap: 0.625rem !important}.role-card-badges{gap: 0.375rem !important}.role-card-actions{flex-shrink: 0}.role-card-name{font-size: 0.9375rem;font-weight: 600;color: var(--contalink-text);letter-spacing: -0.01em}.role-card-body{padding: 1rem 1.25rem 1.25rem;display: flex;flex-direction: column;gap: 0.75rem}.role-card-description{font-size: 0.8125rem;color: var(--contalink-text-muted);margin: 0;line-height: 1.5}.role-card-badge{display: inline-flex;align-items: center;font-size: 0.75rem;font-weight: 600;padding: 3px 10px;border-radius: 12px;white-space: nowrap}.role-card-badge--default{background: #FFFBEB;color: #B45309;border: 1px solid #FDE68A}.role-card-badge--members{background: var(--contalink-bg);color: var(--contalink-text-muted);border: 1px solid var(--contalink-border)}.role-permission-summary{display: flex;flex-wrap: wrap;gap: 0.375rem}.permission-chip{display: inline-flex;align-items: center;gap: 0.3125rem;font-size: 0.6875rem;font-weight: 600;padding: 0.25rem 0.5rem;border-radius: 6px;white-space: nowrap;letter-spacing: 0.01em}.permission-chip--full{background: #ECFDF5;color: #047857}.permission-chip--full::before{content: "";width: 5px;height: 5px;border-radius: 50%;background: #10B981;flex-shrink: 0}.permission-chip--partial{background: var(--contalink-bg);color: var(--contalink-text-muted)}.permission-chip--none{background: var(--contalink-bg);color: var(--contalink-text-muted);border: 1px dashed var(--contalink-border);font-style: italic}.permission-matrix{display: flex;flex-direction: column;gap: 0.75rem;border: 1px solid var(--contalink-border,#e5e7eb);border-radius: var(--lumo-border-radius-m);padding: 0.75rem;background: var(--contalink-bg,#F8FAFC);max-height: 400px;overflow-y: auto}.permission-module{display: flex;flex-direction: column;gap: 0.5rem;background: var(--contalink-surface,#fff);border: 1px solid var(--contalink-border,#e5e7eb);border-radius: 8px;padding: 0.625rem 0.875rem}.permission-module-header{gap: 0.5rem}.permission-module-title{font-size: 0.75rem;font-weight: 700;color: var(--contalink-text-muted,#6B7280);text-transform: uppercase;letter-spacing: 0.06em}.permission-module-select-all{font-size: 0.75rem !important;color: var(--contalink-text-muted,#6B7280);flex-shrink: 0}.permission-module-checkboxes{display: flex;flex-wrap: wrap;gap: 0.25rem 1.5rem}.permission-checkbox{font-size: var(--lumo-font-size-s) !important}.dialog-permissions-heading{font-size: var(--lumo-font-size-l);font-weight: 600;color: var(--contalink-text,#1f2937);margin: var(--lumo-space-s) 0 0 0}.lead-board-view{height: 100%;display: flex;flex-direction: column;overflow: hidden}.lead-search-field{width: 240px}.lead-board-scroller{flex: 1;overflow: hidden}.lead-board-container{display: flex;flex-direction: row;align-items: flex-start;gap: var(--lumo-space-m);padding: 0 var(--lumo-space-l) var(--lumo-space-l);min-height: 100%;width: fit-content}.lead-column{display: flex;flex-direction: column;width: 300px;min-width: 300px;max-width: 300px;background: #f4f5f7;border-radius: var(--lumo-border-radius-l);border: 1px solid var(--lumo-contrast-10pct,#e5e7eb);overflow: hidden;height: calc(100vh - 200px);flex-shrink: 0}.lead-column-header{display: flex;align-items: center;gap: 8px;padding: 12px 14px;background: #ffffff;border-bottom: 1px solid #e2e8f0;flex-shrink: 0}.lead-column-accent-bar{width: 4px;height: 20px;border-radius: 2px;flex-shrink: 0}.lead-column-title{font-size: 14px;font-weight: 600;color: #1e293b;flex: 1}.lead-column-count{font-size: 11px;font-weight: 700;border-radius: 6px;padding: 2px 8px;min-width: 24px;text-align: center;line-height: 1.4}.lead-column-scroller{flex: 1;overflow: hidden}.lead-column-cards{display: flex;flex-direction: column;gap: 8px;padding: 8px}.lead-add-card-button{margin: 4px 8px 8px;color: #94a3b8 !important;flex-shrink: 0;font-size: 13px !important}.col-prospecto .lead-column-accent-bar{background: #3B82F6}.col-demo .lead-column-accent-bar{background: #8B5CF6}.col-propuesta .lead-column-accent-bar{background: #F59E0B}.col-negociacion .lead-column-accent-bar{background: #F97316}.col-ganado .lead-column-accent-bar{background: #10B981}.col-perdido .lead-column-accent-bar{background: #9CA3AF}.col-prospecto .lead-column-count{background: #DBEAFE;color: #1E40AF}.col-demo .lead-column-count{background: #EDE9FE;color: #5B21B6}.col-propuesta .lead-column-count{background: #FEF3C7;color: #92400E}.col-negociacion .lead-column-count{background: #FFEDD5;color: #9A3412}.col-ganado .lead-column-count{background: #D1FAE5;color: #065F46}.col-perdido .lead-column-count{background: #F3F4F6;color: #4B5563}.col-prospecto .lead-card-avatar{background: #3B82F6}.col-demo .lead-card-avatar{background: #8B5CF6}.col-propuesta .lead-card-avatar{background: #F59E0B}.col-negociacion .lead-card-avatar{background: #F97316}.col-ganado .lead-card-avatar{background: #10B981}.col-perdido .lead-card-avatar{background: #9CA3AF}.lead-column[dragover]{background: var(--lumo-primary-color-10pct,#eff6ff);border-color: var(--lumo-primary-color,#3b82f6)}.lead-card{background: #ffffff;border-radius: 8px;border: 1px solid #e2e8f0;padding: 12px;cursor: pointer;transition: box-shadow 0.15s ease,transform 0.1s ease;display: flex;flex-direction: column;gap: 8px}.lead-card:hover{box-shadow: 0 4px 12px rgba(0,0,0,0.08);border-color: #cbd5e1;transform: translateY(-1px)}.lead-card[dragging]{opacity: 0.6;transform: rotate(2deg)}.lead-card-top{display: flex;align-items: flex-start;gap: 10px}.lead-card-avatar{width: 40px;height: 40px;min-width: 40px;border-radius: 50%;display: flex;align-items: center;justify-content: center;font-size: 13px;font-weight: 700;color: #fff;flex-shrink: 0;background: #9ca3af}.lead-card-info{flex: 1;min-width: 0;display: flex;flex-direction: column;gap: 3px;padding-top: 1px}.lead-card-company{font-size: 14px;font-weight: 600;color: #111827;line-height: 1.35;word-break: break-word}.lead-card-contact-line{font-size: 12px;color: #6b7280;line-height: 1.3}.lead-card-description{font-size: 12px;color: #6b7280;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;line-height: 1.5}.lead-card-chips{display: flex;flex-wrap: wrap;gap: 4px}.lead-card-chip{font-size: 11px;font-weight: 500;border-radius: 4px;padding: 2px 8px;background: #f1f5f9;color: #475569;white-space: nowrap;line-height: 1.5}.chip-days{background: #DBEAFE;color: #1E40AF;font-weight: 600}.chip-origin-direct{background: #F1F5F9;color: #334155}.chip-origin-partner{background: #EDE9FE;color: #5B21B6}.chip-partner{background: #FEF3C7;color: #92400E}.chip-interest{background: #DCFCE7;color: #166534}.chip-more{background: #E2E8F0;color: #64748B;font-weight: 600}.lead-card-converted-badge{font-size: 11px;font-weight: 600;color: #059669;background: #D1FAE5;border-radius: 4px;padding: 2px 8px;display: inline-block;align-self: flex-start}.lead-detail-section{display: flex;flex-direction: column;gap: var(--lumo-space-xs)}.lead-detail-row{display: flex;gap: var(--lumo-space-s);padding: var(--lumo-space-xs) 0;border-bottom: 1px solid var(--lumo-contrast-5pct,#f3f4f6)}.lead-detail-label{font-size: var(--lumo-font-size-s);font-weight: 600;color: var(--contalink-text-muted,#6b7280);min-width: 110px}.lead-detail-value{font-size: var(--lumo-font-size-s);color: var(--contalink-text,#1f2937)}.lead-history-entry{display: flex;width: 100%;justify-content: space-between;align-items: center;gap: var(--lumo-space-m);padding: var(--lumo-space-xs) 0;border-bottom: 1px solid var(--lumo-contrast-5pct,#f3f4f6)}.lead-history-text{font-size: var(--lumo-font-size-s);color: var(--contalink-text,#1f2937)}.lead-history-date{font-size: var(--lumo-font-size-xs);color: var(--contalink-text-muted,#6b7280)}.lead-conversion-info{font-size: var(--lumo-font-size-s);color: var(--contalink-text-muted,#6b7280);display: block;margin-bottom: var(--lumo-space-m)}.lead-activity-list{max-height: 400px;overflow-y: auto}.lead-activity-entry{display: flex;flex-direction: column;gap: 4px;padding: var(--lumo-space-s) 0;border-bottom: 1px solid var(--lumo-contrast-5pct,#f3f4f6)}.lead-activity-type-badge{display: inline-flex;align-items: center;padding: 2px 8px;border-radius: 10px;font-size: 0.6875rem;font-weight: 600;background: #EFF6FF;color: #1D4ED8;border: 1px solid #BFDBFE;white-space: nowrap}.lead-activity-date{font-size: var(--lumo-font-size-xs);color: var(--contalink-text-muted,#6b7280)}.lead-activity-description{font-size: var(--lumo-font-size-s);color: var(--contalink-text,#1f2937)}.lead-activity-followup-chip{display: inline-flex;align-items: center;align-self: flex-start;padding: 2px 8px;border-radius: 10px;font-size: 0.6875rem;font-weight: 600;background: #FFFBEB;color: #B45309;border: 1px solid #FDE68A;white-space: nowrap}.partner-level-badge{display: inline-block;font-size: 11px;font-weight: 600;border-radius: 4px;padding: 2px 10px;letter-spacing: 0.02em}.partner-level-badge--silver{background: #E2E8F0;color: #475569}.partner-level-badge--gold{background: #FEF3C7;color: #92400E}.partner-level-badge--platinum{background: #DBEAFE;color: #1E40AF}.partner-detail-card{background: #ffffff;border: 1px solid #e2e8f0;border-radius: 8px;padding: var(--lumo-space-m) var(--lumo-space-l);margin: 0 var(--lumo-space-m) var(--lumo-space-m)}.partner-detail-grid{flex-wrap: wrap;gap: var(--lumo-space-l)}.partner-detail-info-group{min-width: 140px}.partner-detail-info-label{font-size: var(--lumo-font-size-xs);color: var(--contalink-text-muted,#6b7280);text-transform: uppercase;letter-spacing: 0.05em;font-weight: 600;display: block;margin-bottom: 2px}.partner-detail-info-value{font-size: var(--lumo-font-size-s);color: var(--contalink-text,#1f2937);font-weight: 500;display: block}.partner-detail-notes{margin-top: var(--lumo-space-m);padding-top: var(--lumo-space-m);border-top: 1px solid #e2e8f0;font-size: var(--lumo-font-size-s);color: var(--contalink-text,#1f2937)}.partner-detail-notes-label{font-weight: 600}.partner-detail-tabs-section{margin: 0 var(--lumo-space-m) var(--lumo-space-m)}.partner-leads-grid{margin-top: var(--lumo-space-s)}.project-board-container{gap: 1rem;padding: 1rem;align-items: flex-start !important}.project-column{display: flex;flex-direction: column;width: 300px;min-width: 300px;max-width: 300px;background: #f4f5f7;border-radius: var(--lumo-border-radius-l);border: 1px solid var(--lumo-contrast-10pct,#e5e7eb);overflow: hidden;height: calc(100vh - 200px);flex-shrink: 0}.project-column-header{display: flex;align-items: center;gap: 8px;padding: 12px 14px;background: #ffffff;border-bottom: 1px solid #e2e8f0;flex-shrink: 0}.project-column-accent-bar{width: 4px;height: 20px;border-radius: 2px;flex-shrink: 0}.project-column-title{font-size: 14px;font-weight: 600;color: #1e293b;flex: 1}.project-column-count{font-size: 11px;font-weight: 700;border-radius: 6px;padding: 2px 8px;min-width: 24px;text-align: center;line-height: 1.4}.project-column-scroller{flex: 1;overflow: hidden}.project-column-cards{display: flex;flex-direction: column;gap: 8px;padding: 8px}.project-add-card-button{margin: 4px 8px 8px;color: #94a3b8 !important;flex-shrink: 0;font-size: 13px !important}.pcol-onboarding .project-column-accent-bar{background: #3B82F6}.pcol-onboarding .project-column-count{background: #DBEAFE;color: #1E40AF}.pcol-onboarding .project-card-avatar{background: #3B82F6}.pcol-activo .project-column-accent-bar{background: #10B981}.pcol-activo .project-column-count{background: #D1FAE5;color: #065F46}.pcol-activo .project-card-avatar{background: #10B981}.pcol-suspendido .project-column-accent-bar{background: #F59E0B}.pcol-suspendido .project-column-count{background: #FEF3C7;color: #92400E}.pcol-suspendido .project-card-avatar{background: #F59E0B}.pcol-cancelado .project-column-accent-bar{background: #9CA3AF}.pcol-cancelado .project-column-count{background: #F3F4F6;color: #4B5563}.pcol-cancelado .project-card-avatar{background: #9CA3AF}.project-column[dragover]{background: #eff6ff;border-color: #3b82f6}.project-card{background: #ffffff;border-radius: 8px;border: 1px solid #e2e8f0;padding: 12px;cursor: pointer;transition: box-shadow 0.15s ease,transform 0.1s ease;display: flex;flex-direction: column;gap: 8px}.project-card:hover{box-shadow: 0 4px 12px rgba(0,0,0,0.08);border-color: #cbd5e1;transform: translateY(-1px)}.project-card-top{display: flex;align-items: flex-start;gap: 10px}.project-card-avatar{width: 40px;height: 40px;min-width: 40px;border-radius: 50%;display: flex;align-items: center;justify-content: center;font-size: 13px;font-weight: 700;color: #fff;flex-shrink: 0;background: #9ca3af}.project-card-info{flex: 1;min-width: 0;display: flex;flex-direction: column;gap: 3px;padding-top: 1px}.project-card-name{font-size: 14px;font-weight: 600;color: #111827;line-height: 1.35;word-break: break-word}.project-card-client{font-size: 12px;color: #6b7280;line-height: 1.3}.project-card-chips{display: flex;flex-wrap: wrap;gap: 4px}.project-card-chip{font-size: 11px;font-weight: 500;border-radius: 4px;padding: 2px 7px;line-height: 1.5;white-space: nowrap}.chip-module-nomina{background: #ede9fe;color: #5b21b6}.chip-module-ia{background: #dbeafe;color: #1e40af}.chip-module-facturacion_electronica{background: #d1fae5;color: #065f46}.chip-module-clientes{background: #ffedd5;color: #9a3412}.chip-module-pagos{background: #ccfbf1;color: #0f766e}.chip-module-otro{background: #f3f4f6;color: #374151}.chip-bill-client{background: #d1fae5;color: #065f46}.chip-bill-partner{background: #ffedd5;color: #9a3412}.chip-partner-ref{background: #fef9c3;color: #713f12}.chip-days{background: #f1f5f9;color: #475569}.project-multi-banner{background: #fef3c7;border: 1px solid #fbbf24;border-radius: 6px;padding: 8px 12px;font-size: 13px;color: #92400e;margin-bottom: 12px}.project-stage-badge{display: inline-block;font-size: 11px;font-weight: 600;border-radius: 4px;padding: 2px 10px;line-height: 1.6}.stage-onboarding{background: #DBEAFE;color: #1E40AF}.stage-activo{background: #D1FAE5;color: #065F46}.stage-suspendido{background: #FEF3C7;color: #92400E}.stage-cancelado{background: #F3F4F6;color: #4B5563}.qv-row{background: #ffffff;border: 1px solid #e2e8f0;border-radius: 8px;padding: 12px 16px;margin-bottom: 6px}.qv-version{font-size: 13px;font-weight: 700;color: #1e293b;min-width: 32px}.qv-status{font-size: 11px;font-weight: 600;border-radius: 4px;padding: 2px 8px}.qv-status-draft{background: #f1f5f9;color: #475569}.qv-status-sent{background: #dbeafe;color: #1e40af}.qv-status-approved{background: #d1fae5;color: #065f46}.qv-status-rejected{background: #fee2e2;color: #991b1b}.qv-amounts{font-size: 13px;color: #374151;font-weight: 500}.qv-date{font-size: 12px;color: #9ca3af}.qv-notes{font-size: 12px;color: #6b7280;margin-top: 6px;display: block}.qv-rejection{font-size: 12px;color: #b91c1c;margin-top: 4px;display: block}.qv-items{margin-top: 10px;display: flex;flex-direction: column;gap: 4px}.qv-line-item{display: flex;gap: 12px;font-size: 12px;color: #374151;padding: 4px 8px;background: #f8fafc;border-radius: 4px}.qv-line-item span:first-child{flex: 1;font-weight: 500}.qe-header-row{display: flex;align-items: center;padding: 6px 8px;background: #f8fafc;border-radius: 6px;border: 1px solid #e2e8f0;font-size: 12px;font-weight: 600;color: #475569;gap: 6px}.qe-line-row{background: #fafafa;border: 1px solid #f0f0f0;border-radius: 6px;padding: 6px 8px}.qe-col-desc{flex: 1;min-width: 0}.qe-col-type{width: 120px;min-width: 120px}.qe-col-period{width: 110px;min-width: 110px}.qe-col-price{width: 110px;min-width: 110px}.qe-col-amount{width: 100px;min-width: 100px;text-align: right;font-size: 13px;font-weight: 500;color: #1e293b}.qe-col-del{width: 36px;min-width: 36px}.qe-totals-row{display: flex;align-items: center;justify-content: flex-end;gap: 20px;padding: 10px 12px;background: #1e293b;border-radius: 8px;margin-top: 4px}.qe-totals-label{flex: 1;font-size: 13px;font-weight: 600;color: #94a3b8}.qe-totals-amount{font-size: 15px;font-weight: 700;color: #f8fafc;min-width: 100px;text-align: right}.pc-comment-item{background: #ffffff;border: 1px solid #e2e8f0;border-radius: 8px;padding: 12px 14px;display: flex;flex-direction: column;gap: 6px}.pc-comment-author{font-size: 13px;font-weight: 600;color: #1e293b}.pc-comment-date{font-size: 11px;color: #9ca3af}.pc-comment-body{font-size: 13px;color: #374151;line-height: 1.5;white-space: pre-wrap;word-break: break-word}.project-detail-view{display: flex;flex-direction: column;width: 100%}.project-detail-tabs{flex: 1}.billing-header{background: #fff;border-bottom: 1px solid var(--contalink-border);padding: 16px 24px}.billing-targets-panel{background: #f8fafc;border-right: 1px solid var(--contalink-border);height: 100%;overflow-y: auto}.billing-panel-title{font-size: 13px;font-weight: 600;color: var(--contalink-text-muted);text-transform: uppercase;letter-spacing: 0.05em;margin: 0 0 12px 0}.billing-lines-panel{background: #fff;height: 100%;overflow-y: auto}.billing-target-card{display: flex;flex-direction: column;gap: 4px;padding: 12px 14px;border-radius: 8px;margin-bottom: 6px;cursor: pointer;border: 1.5px solid transparent;background: #fff;transition: border-color 0.15s,box-shadow 0.15s}.billing-target-card:hover{border-color: var(--contalink-primary-light);box-shadow: 0 1px 4px rgba(0,0,0,0.07)}.billing-target-card--active{border-color: var(--contalink-primary) !important;background: #eef4fb}.billing-target-name{font-weight: 600;font-size: 14px;color: #1e293b}.billing-target-count{font-size: 12px;color: var(--contalink-text-muted)}.billing-tag-client{font-size: 10px;font-weight: 700;padding: 2px 6px;border-radius: 4px;background: #dbeafe;color: #1d4ed8;letter-spacing: 0.04em}.billing-tag-partner{font-size: 10px;font-weight: 700;padding: 2px 6px;border-radius: 4px;background: #ede9fe;color: #7c3aed;letter-spacing: 0.04em}.billing-no-targets{padding: 24px 12px;color: var(--contalink-text-muted);font-size: 13px;text-align: center}.billing-empty-state{padding: 40px 24px;color: var(--contalink-text-muted);font-size: 14px;text-align: center}.billing-lines-title{display: block;font-weight: 700;font-size: 16px;color: #1e293b;margin-bottom: 16px;padding-bottom: 10px;border-bottom: 1px solid var(--contalink-border)}.billing-project-header{font-size: 12px;font-weight: 700;color: var(--contalink-text-muted);text-transform: uppercase;letter-spacing: 0.06em;padding: 10px 0 4px;border-top: 1px solid #f1f5f9;margin-top: 8px}.billing-project-header:first-of-type{border-top: none;margin-top: 0}.billing-line-row{display: flex;align-items: center;gap: 10px;padding: 10px 8px;border-radius: 6px;border-bottom: 1px solid #f1f5f9}.billing-line-row:hover{background: #f8fafc}.billing-line-desc{font-size: 13px;font-weight: 500;color: #1e293b}.billing-line-annotation{font-size: 11px;color: var(--contalink-text-muted)}.billing-line-amount{font-size: 14px;font-weight: 700;color: #1e293b;min-width: 90px;text-align: right}.billing-line-type-once{font-size: 10px;font-weight: 700;padding: 2px 7px;border-radius: 10px;background: #f3e8ff;color: #7c3aed;white-space: nowrap}.billing-line-type-recurring-monthly{font-size: 10px;font-weight: 700;padding: 2px 7px;border-radius: 10px;background: #dbeafe;color: #1d4ed8;white-space: nowrap}.billing-line-type-recurring-annual-prorata{font-size: 10px;font-weight: 700;padding: 2px 7px;border-radius: 10px;background: #fef3c7;color: #92400e;white-space: nowrap}.billing-line-type-recurring-annual-renewal{font-size: 10px;font-weight: 700;padding: 2px 7px;border-radius: 10px;background: #d1fae5;color: #065f46;white-space: nowrap}.billing-footer{display: flex;align-items: center;justify-content: space-between;margin-top: 20px;padding: 16px 12px;background: #1e293b;border-radius: 8px;color: #fff;gap: 16px}.billing-footer-label{font-size: 14px;color: #94a3b8}.billing-footer-total{font-size: 20px;font-weight: 800;color: #fff}.ecf-badge{display: inline-flex;align-items: center;padding: 2px 8px;border-radius: 10px;font-size: 0.75rem;font-weight: 600;white-space: nowrap}.ecf-badge--lg{padding: 4px 12px;font-size: 0.8125rem;border-radius: 12px}.ecf-badge--pending{background: #FEF3C7;color: #92400E}.ecf-badge--accepted{background: #D1FAE5;color: #065F46}.ecf-badge--rejected{background: #FEE2E2;color: #991B1B}.ecf-badge--contingency{background: #FED7AA;color: #7C2D12}.ecf-badge--none{background: #F1F5F9;color: #64748B}.detail-card__title-row{display: flex;align-items: center;gap: 0.75rem;margin-bottom: 0.75rem}.detail-card__title-row .detail-card__title{margin-bottom: 0}.ecf-action-btn--retry{background: #FED7AA;color: #7C2D12;border: 1px solid #FDBA74}.ecf-contingency-banner{margin-top: 0.5rem;padding: 0.625rem 0.875rem;background: #FED7AA;border: 1px solid #FDBA74;border-radius: 8px;font-size: 0.8125rem;color: #7C2D12;line-height: 1.5}.credit-debit-note-view{display: flex;flex-direction: column;min-height: 100%;background: var(--contalink-bg)}.note-form-grid{display: grid;grid-template-columns: 1fr 1fr;gap: 1rem;margin-bottom: 1rem}.note-form-field{width: 100%}.note-lines-header{display: flex;align-items: center;gap: 0.75rem;margin-bottom: 0.75rem}.note-lines-header .detail-card__title{flex: 1;margin-bottom: 0}.expense-fiscal-hint{font-size: 0.8125rem;color: var(--contalink-text-muted);margin: 0 1.25rem 0.5rem;line-height: 1.5}.expense-fiscal-badge{display: inline-flex;align-items: center;padding: 2px 8px;border-radius: 10px;font-size: 0.6875rem;font-weight: 600;background: #EFF6FF;color: #1D4ED8;border: 1px solid #BFDBFE;white-space: nowrap}.calendar-legend{display: flex;flex-wrap: wrap;gap: 1.25rem;padding: 0 1.5rem 1rem}.calendar-legend-item{display: inline-flex;align-items: center;gap: 0.5rem;font-size: 0.8125rem;color: var(--contalink-text-muted)}.calendar-legend-dot{width: 10px;height: 10px;border-radius: 50%;flex-shrink: 0}.calendar-empty-banner{margin: 0 1.5rem 1rem;padding: 0.75rem 1rem;border-radius: 8px;background: var(--contalink-surface-muted,#F8FAFC);color: var(--contalink-text-muted);font-size: 0.875rem}.calendar-toolbar{padding: 0 1.5rem 1rem;align-items: center}.calendar-wrapper{padding: 0 1.5rem 1.5rem}.calendar-entry-resolved{opacity: 0.55}