:root{--color-primary: #FF8400;--color-primary-dark: #E67600;--color-primary-light: #FFA040;--color-primary-rgb: 255, 132, 0;--color-foreground: #111111;--color-background: #F2F3F0;--color-surface: #FFFFFF;--color-border: #CBCCC9;--color-border-light: #E5E6E3;--color-sidebar-bg: #E7E8E5;--color-muted: #6B7280;--color-muted-light: #9CA3AF;--color-success: #10B981;--color-success-light: #D1FAE5;--color-warning: #F59E0B;--color-warning-light: #FEF3C7;--color-error: #EF4444;--color-error-light: #FEE2E2;--color-info: #3B82F6;--color-info-light: #DBEAFE;--font-body: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading: "JetBrains Mono", "Fira Code", monospace;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 50px rgba(0, 0, 0, .15);--sidebar-width: 280px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease}*{margin:0;padding:0;box-sizing:border-box}:root{font-family:var(--font-body);line-height:1.5;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh;background:var(--color-background);color:var(--color-foreground)}#root{min-height:100vh}.login-form-wrapper{width:100%;max-width:400px}.login-form-wrapper h2{font-family:var(--font-heading);font-size:32px;font-weight:600;color:var(--color-foreground);margin:0 0 8px}.login-subtitle{font-family:var(--font-body);font-size:16px;color:#666;margin:0 0 32px;line-height:1.5}.login-field{margin-bottom:16px}.login-field label{display:block;font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--color-foreground);margin-bottom:6px}.login-field input{width:100%;height:40px;padding:8px 16px;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-pill);font-family:var(--font-body);font-size:14px;color:var(--color-foreground);box-sizing:border-box;transition:border-color .2s ease}.login-field input::placeholder{color:#999}.login-field input:focus{outline:none;border-color:var(--color-primary)}.login-field input:disabled{opacity:.6;cursor:not-allowed}.login-options{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.login-remember{display:flex;align-items:center;gap:8px;cursor:pointer}.login-remember input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.login-remember span{font-family:var(--font-body);font-size:14px;color:#666}.login-forgot{background:none;border:none;font-family:var(--font-body);font-size:14px;color:var(--color-primary);cursor:pointer;padding:0}.login-forgot:hover{text-decoration:underline}.login-error{background:#fef2f2;border:1px solid #FECACA;color:#991b1b;padding:12px 16px;border-radius:var(--radius-pill);margin-bottom:20px;font-size:14px;text-align:center}.login-button{width:100%;padding:14px 24px;background:var(--color-primary);color:var(--color-foreground);border:none;border-radius:var(--radius-pill);font-family:var(--font-body);font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s ease,transform .2s ease}.login-button:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-footer{margin-top:32px;text-align:center;font-family:var(--font-body);font-size:14px;color:#666}.login-footer-link{background:none;border:none;font-family:var(--font-body);font-size:14px;color:var(--color-primary);font-weight:600;cursor:pointer;padding:0}.login-footer-link:hover:not(:disabled){text-decoration:underline}.login-footer-link:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.login-form-wrapper h2{font-size:24px}.login-subtitle{font-size:14px;margin-bottom:24px}}@media(max-width:480px){.login-form-wrapper h2{font-size:22px}}.legal-modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}.legal-modal-content{background:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.legal-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border);background:var(--color-primary);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.legal-modal-header h2{margin:0;font-size:1.25rem;font-weight:600;color:#fff}.legal-modal-close{background:#fff3;border:none;font-size:1.75rem;cursor:pointer;color:#fff;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s;line-height:1}.legal-modal-close:hover{background:#ffffff4d}.legal-modal-body{flex:1;overflow-y:auto;padding:1.5rem;min-height:200px}.legal-modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--color-muted)}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.legal-modal-error{text-align:center;padding:2rem;color:#dc2626}.legal-modal-error p{margin-bottom:1rem}.legal-modal-error button{background:var(--color-primary);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius-md);cursor:pointer;font-size:.9rem}.legal-modal-error button:hover{background:var(--color-primary-dark)}.legal-document-content{line-height:1.7;color:var(--color-foreground)}.markdown-content{font-size:.95rem}.markdown-content h1{font-size:1.5rem;font-weight:700;color:var(--color-foreground);font-family:var(--font-heading);margin:1.5rem 0 1rem;padding-bottom:.5rem;border-bottom:2px solid var(--color-primary)}.markdown-content h2{font-size:1.25rem;font-weight:600;color:var(--color-foreground);font-family:var(--font-heading);margin:1.5rem 0 .75rem}.markdown-content h3{font-size:1.1rem;font-weight:600;color:var(--color-muted);margin:1.25rem 0 .5rem}.markdown-content p{margin:.75rem 0}.markdown-content strong{font-weight:600;color:var(--color-foreground)}.markdown-content em{font-style:italic}.markdown-content hr{border:none;border-top:1px solid var(--color-border);margin:1.5rem 0}.markdown-content ul,.markdown-content ol{margin:.75rem 0;padding-left:1.5rem}.markdown-content li{margin:.5rem 0}.markdown-content table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.9rem}.markdown-content table td,.markdown-content table th{border:1px solid var(--color-border);padding:.75rem;text-align:left}.markdown-content table tr:first-child td{background:var(--color-background);font-weight:600}.markdown-content table tr:nth-child(2n){background:var(--color-background)}.legal-modal-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-top:1px solid var(--color-border);background:var(--color-background);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.legal-modal-version{font-size:.85rem;color:var(--color-muted)}.legal-modal-accept-btn{background:var(--color-primary);color:#fff;border:none;padding:.75rem 2rem;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:transform var(--transition-base),box-shadow var(--transition-base)}.legal-modal-accept-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.4)}@media(max-width:640px){.legal-modal-overlay{padding:0}.legal-modal-content{border-radius:0;max-height:100vh;height:100vh}.legal-modal-header{border-radius:0}.legal-modal-header h2{font-size:1.1rem}.legal-modal-body{padding:1rem}.legal-modal-footer{border-radius:0;flex-direction:column;gap:.75rem}.legal-modal-accept-btn{width:100%}.markdown-content{font-size:.9rem}.markdown-content h1{font-size:1.25rem}.markdown-content h2{font-size:1.1rem}}.register-form-wrapper{width:100%;max-width:400px}.register-form-wrapper h2{font-family:var(--font-heading);font-size:32px;font-weight:600;color:var(--color-foreground);margin:0 0 8px}.register-subtitle{font-family:var(--font-body);font-size:16px;color:#666;margin:0 0 24px;line-height:1.5}.register-field{margin-bottom:16px}.register-field label{display:block;font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--color-foreground);margin-bottom:6px}.register-optional{font-weight:400;color:#999;font-size:12px}.register-field input[type=text],.register-field input[type=email],.register-field input[type=password],.register-field input[type=tel]{width:100%;height:40px;padding:8px 16px;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-pill);font-family:var(--font-body);font-size:14px;color:var(--color-foreground);box-sizing:border-box;transition:border-color .2s ease}.register-field input::placeholder{color:#999}.register-field input:focus{outline:none;border-color:var(--color-primary)}.register-field input:disabled{opacity:.6;cursor:not-allowed}.register-hint{display:block;margin-top:4px;font-family:var(--font-body);font-size:12px;color:#999}.register-legal{display:flex;flex-direction:column;gap:10px;margin-bottom:20px;padding:12px 16px;background:var(--color-background);border-radius:var(--radius-xl);border:1px solid var(--color-border)}.register-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;font-family:var(--font-body);font-size:13px;color:#666;line-height:1.3}.register-checkbox input[type=checkbox]{width:16px;height:16px;min-width:16px;flex-shrink:0;accent-color:var(--color-primary);cursor:pointer;margin:0}.register-checkbox span{flex:1}.register-fiscal{padding:8px 10px;background:#fef3c7;border-radius:12px;border:1px solid #FCD34D;color:#92400e}.register-fiscal .register-legal-link{color:#b45309;font-weight:600}.register-legal-link{background:none;border:none;color:var(--color-primary);font-size:inherit;font-family:inherit;cursor:pointer;text-decoration:underline;padding:0;display:inline}.register-legal-link:hover:not(:disabled){color:var(--color-primary-dark)}.register-legal-link:disabled{opacity:.6;cursor:not-allowed}.register-error{background:#fef2f2;border:1px solid #FECACA;color:#991b1b;padding:12px 16px;border-radius:var(--radius-pill);margin-bottom:16px;font-size:13px;text-align:center}.register-button{width:100%;padding:14px 24px;background:var(--color-primary);color:var(--color-foreground);border:none;border-radius:var(--radius-pill);font-family:var(--font-body);font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s ease,transform .2s ease}.register-button:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.register-button:disabled{opacity:.6;cursor:not-allowed}.register-footer{margin-top:24px;text-align:center;font-family:var(--font-body);font-size:14px;color:#666}.register-footer-link{background:none;border:none;font-family:var(--font-body);font-size:14px;color:var(--color-primary);font-weight:600;cursor:pointer;padding:0}.register-footer-link:hover:not(:disabled){text-decoration:underline}.register-footer-link:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.register-form-wrapper h2{font-size:24px}.register-subtitle{font-size:14px;margin-bottom:20px}}@media(max-width:480px){.register-form-wrapper h2{font-size:22px}.register-legal{padding:10px 12px}.register-checkbox{font-size:12px}}.auth-page{position:relative;width:100%;min-height:100vh;overflow:hidden}.auth-panels{display:flex;width:100%;min-height:100vh}.auth-panel{width:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:64px;background:var(--color-surface);overflow-y:auto;min-height:100vh}.auth-overlay{position:absolute;top:0;left:0;width:50%;height:100%;background:var(--color-primary);z-index:10;transform:translate(0);transition:transform .6s cubic-bezier(.65,0,.35,1);will-change:transform}.auth-overlay.auth-overlay-right{transform:translate(100%)}.auth-overlay-content{display:flex;flex-direction:column;justify-content:space-between;height:100%;padding:64px}.auth-logo{display:flex;align-items:center;gap:12px}.auth-logo-icon{width:40px;height:40px;color:var(--color-foreground)}.auth-logo-text{font-family:var(--font-heading);font-size:48px;font-weight:700;color:var(--color-foreground);line-height:1}.auth-tagline{font-family:var(--font-body);font-size:24px;color:var(--color-foreground);opacity:.9;margin:24px 0 0;line-height:1.4}.auth-features{display:flex;flex-direction:column;gap:32px}.auth-feature{display:flex;align-items:center;gap:16px}.auth-feature-icon{width:32px;height:32px;color:var(--color-foreground);flex-shrink:0;opacity:.85}.auth-feature-text{font-family:var(--font-body);font-size:18px;color:var(--color-foreground);opacity:.9;line-height:1.4}@media(max-width:1100px){.auth-logo-text{font-size:36px}.auth-tagline{font-size:20px}.auth-feature-text{font-size:16px}.auth-overlay-content{padding:48px}.auth-panel{padding:48px 32px}}@media(max-width:768px){.auth-page{display:flex;flex-direction:column;overflow:visible}.auth-panels{flex-direction:column}.auth-panel{width:100%;min-height:auto;padding:32px 24px}.auth-panel-left{display:none}.auth-panel-right,.auth-page.auth-register-active .auth-panel-left{display:flex}.auth-page.auth-register-active .auth-panel-right{display:none}.auth-overlay{position:relative;width:100%;height:auto;transform:none!important;transition:none}.auth-overlay-content{padding:32px 24px;height:auto}.auth-features{display:none}.auth-logo-text{font-size:32px}.auth-tagline{font-size:18px;margin-top:16px}}@media(max-width:480px){.auth-overlay-content,.auth-panel{padding:24px 20px}.auth-logo-text{font-size:28px}.auth-tagline{font-size:16px}}.email-verification-container{min-height:100vh;display:flex;justify-content:center;align-items:center;background:var(--color-background);padding:2rem}.email-verification-card{background:var(--color-surface);padding:3rem 2.5rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:500px;text-align:center}.email-icon{font-size:4rem;margin-bottom:1rem}.email-verification-card h1{margin:0 0 1.5rem;color:var(--color-foreground);font-size:2rem;font-family:var(--font-heading)}.verification-message{color:#666;margin:0 0 .5rem;font-size:1rem}.user-email{color:var(--color-primary);font-weight:600;font-size:1.1rem;margin:0 0 1.5rem;word-break:break-all}.verification-instructions{color:#666;line-height:1.6;margin:0 0 2rem;font-size:.95rem}.success-message{background-color:#e8f5e9;color:#2e7d32;padding:.75rem;border-radius:var(--radius-md);margin-bottom:1rem;font-size:.9rem;border:1px solid #a5d6a7}.error-message{background-color:#fee;color:#c33;padding:.75rem;border-radius:var(--radius-md);margin-bottom:1rem;font-size:.9rem;border:1px solid #fcc}.verification-actions{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.resend-button{width:100%;padding:.75rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,opacity .3s}.resend-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.4)}.resend-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.back-button{width:100%;padding:.75rem;background:#fff;color:var(--color-primary);border:2px solid var(--color-primary);border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.back-button:hover:not(:disabled){background:#f5f7ff}.back-button:disabled{opacity:.6;cursor:not-allowed}.verification-hint{color:#999;font-size:.85rem;line-height:1.4}@media(max-width:480px){.email-verification-container{padding:1rem}.email-verification-card{padding:2rem 1.5rem}.email-verification-card h1{font-size:1.5rem}.email-icon{font-size:3rem}}.accept-invitation-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-background);padding:20px}.accept-invitation-card{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:40px;width:100%;max-width:500px}.accept-invitation-card.success-card,.accept-invitation-card.error-card{text-align:center}.invitation-header{text-align:center;margin-bottom:30px}.invitation-header h1{font-size:28px;color:var(--color-primary);margin:0 0 8px;font-weight:700;font-family:var(--font-heading)}.invitation-header h2{font-size:18px;color:#6b7280;margin:0;font-weight:400}.invitation-details{background-color:#f9fafb;border-radius:var(--radius-lg);padding:24px;margin-bottom:24px}.workspace-info{text-align:center;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #e5e7eb}.workspace-name{font-size:24px;font-weight:600;color:#1f2937;margin:0 0 8px}.invitation-from{color:#6b7280;font-size:14px;margin:0}.invitation-meta{display:flex;flex-direction:column;gap:12px}.meta-item{display:flex;justify-content:space-between;align-items:center}.meta-item .label{color:#6b7280;font-size:14px}.meta-item .value{font-weight:500;color:#1f2937;font-size:14px}.role-badge{background:var(--color-primary);color:#fff;padding:4px 12px;border-radius:20px;font-size:12px}.personal-message{margin-top:20px;padding-top:20px;border-top:1px solid #e5e7eb}.message-label{color:#6b7280;font-size:12px;text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px}.message-text{color:#374151;font-style:italic;margin:0;line-height:1.5}.acceptance-form{margin-top:24px}.form-info{background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius-md);padding:12px 16px;color:#1e40af;font-size:14px;margin-bottom:20px}.form-info.existing-user{background-color:#f0fdf4;border-color:#bbf7d0;color:#166534}.form-group label{display:block;font-weight:500;color:#374151;margin-bottom:8px;font-size:14px}.form-group input{width:100%;padding:12px 16px;border:1px solid #d1d5db;border-radius:var(--radius-md);font-size:16px;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.form-group input:disabled{background-color:#f3f4f6;cursor:not-allowed}.input-hint{display:block;font-size:12px;color:#9ca3af;margin-top:6px}.form-actions{display:flex;flex-direction:column;gap:12px;margin-top:28px}.accept-button{width:100%;padding:14px 24px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.accept-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.4)}.accept-button:disabled{opacity:.7;cursor:not-allowed}.decline-button{width:100%;padding:12px 24px;background:transparent;color:#6b7280;border:1px solid #d1d5db;border-radius:var(--radius-md);font-size:14px;cursor:pointer;transition:background-color .2s}.decline-button:hover:not(:disabled){background-color:#f3f4f6}.decline-button:disabled{opacity:.7;cursor:not-allowed}.invitation-footer{margin-top:24px;text-align:center}.invitation-footer p{color:#9ca3af;font-size:12px;margin:0;line-height:1.5}.success-icon,.error-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:40px;margin:0 auto 24px}.success-icon{background-color:#d1fae5;color:#059669}.error-icon{background-color:#fee2e2;color:#dc2626}.success-card h2,.error-card h2{font-size:24px;color:#1f2937;margin:0 0 12px}.success-card p,.error-card p{color:#6b7280;margin:0 0 24px;line-height:1.5}.success-note{font-size:14px;color:#9ca3af!important}.primary-button{padding:14px 32px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.primary-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.4)}.loading-state{text-align:center;padding:40px 0}.loading-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.loading-state p{color:#6b7280;margin:0}.error-message{background-color:#fee2e2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:var(--radius-md);font-size:14px;margin-bottom:16px}@media(max-width:480px){.accept-invitation-card{padding:24px}.invitation-header h1{font-size:24px}.workspace-name{font-size:20px}.meta-item{flex-direction:column;align-items:flex-start;gap:4px}}.dashboard-overview{display:flex;flex-direction:column;gap:24px}.dashboard-overview-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.dashboard-overview-header-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.dashboard-overview-title{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-foreground);margin:0}.dashboard-overview-company{font-family:var(--font-heading);font-size:var(--text-sm);color:var(--color-muted);padding:4px 12px;background:var(--color-border-light);border-radius:var(--radius-pill)}.dashboard-overview-period{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-surface);background:var(--color-primary);padding:4px 12px;border-radius:var(--radius-pill);text-transform:capitalize}.btn-primary{padding:10px 20px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-pill);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:background var(--transition-fast)}.btn-primary:hover{background:var(--color-primary-dark)}.btn-outline{padding:10px 20px;background:transparent;color:var(--color-foreground);border:1px solid var(--color-border);border-radius:var(--radius-pill);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:background var(--transition-fast)}.btn-outline:hover{background:var(--color-border-light)}.btn-link{background:none;border:none;color:var(--color-primary);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;padding:0}.btn-link:hover{text-decoration:underline}.metrics-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.metric-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:24px;display:flex;flex-direction:column;gap:8px}.metric-card-header{display:flex;align-items:center;justify-content:space-between}.metric-card-label{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-muted);font-weight:var(--font-medium)}.metric-badge{font-size:11px;padding:2px 8px;border-radius:var(--radius-pill);font-weight:var(--font-semibold)}.metric-badge-success{background:var(--color-success-light);color:#065f46}.metric-badge-warning{background:var(--color-warning-light);color:#92400e}.metric-icon{flex-shrink:0}.metric-card-value{font-family:var(--font-heading);font-size:32px;font-weight:var(--font-semibold);color:var(--color-foreground);line-height:1.1}.metric-value-warning{color:#92400e}.metric-card-subtitle{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-muted)}.alerts-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.alert-card{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;border-radius:var(--radius-xl);border:1px solid}.alert-warning{background:var(--color-warning-light);border-color:#f59e0b40;color:#92400e}.alert-info{background:var(--color-info-light);border-color:#3b82f640;color:#1e40af}.alert-card-icon{flex-shrink:0;margin-top:2px}.alert-card-content strong{display:block;font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-semibold);margin-bottom:4px}.alert-card-content p{font-family:var(--font-body);font-size:var(--text-sm);margin:0;opacity:.85}.content-row{display:grid;grid-template-columns:1fr 320px;gap:20px}.recent-cfdis-card,.quick-actions-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden}.card-section-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--color-border-light)}.card-section-header h3{font-family:var(--font-heading);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-foreground);margin:0}.recent-cfdis-table{width:100%;border-collapse:collapse}.recent-cfdis-table th{text-align:left;padding:12px 24px;font-family:var(--font-heading);font-size:12px;font-weight:var(--font-medium);color:var(--color-muted);background:var(--color-background);border-bottom:1px solid var(--color-border-light)}.recent-cfdis-table td{padding:14px 24px;font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-foreground);border-bottom:1px solid var(--color-border-light)}.recent-cfdis-table tr:last-child td{border-bottom:none}.font-mono{font-family:var(--font-heading);font-size:13px}.text-right{text-align:right}.text-center{text-align:center}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-pill);font-size:13px;font-weight:var(--font-normal)}.status-active{background:var(--color-success-light);color:#065f46}.status-cancelled{background:var(--color-error-light);color:#991b1b}.quick-actions-list{display:flex;flex-direction:column;padding:16px;gap:8px}.quick-action-btn{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-foreground);cursor:pointer;transition:background var(--transition-fast);text-align:left}.quick-action-btn:hover{background:var(--color-border-light)}.diot-summary{padding:16px 24px;border-top:1px solid var(--color-border-light)}.diot-summary h4{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-foreground);margin:0 0 12px}.diot-summary-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.diot-summary-row span{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-muted)}.diot-summary-row strong{font-family:var(--font-heading);font-size:var(--text-sm);color:var(--color-foreground)}.dashboard-overview-empty,.dashboard-overview-loading,.dashboard-overview-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;text-align:center;gap:16px}.dashboard-overview-empty p,.dashboard-overview-loading p,.dashboard-overview-error p{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-muted);margin:0}.dashboard-overview-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.empty-state{padding:32px 24px;text-align:center;color:var(--color-muted);font-family:var(--font-body);font-size:var(--text-sm)}@media(max-width:1024px){.metrics-row{grid-template-columns:repeat(2,1fr)}.content-row{grid-template-columns:1fr}}@media(max-width:640px){.metrics-row,.alerts-row{grid-template-columns:1fr}.metric-card-value{font-size:24px}}.search-filters{background:var(--color-surface);padding:1.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);margin-bottom:1.5rem}.filters-form{display:flex;flex-direction:column;gap:1.5rem}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;align-items:start}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group-full{grid-column:1 / -1}.filter-group label{font-size:.875rem;font-weight:600;color:var(--color-foreground)}.filter-group input,.filter-group select{padding:.625rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;font-family:inherit;transition:border-color var(--transition-base)}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.filter-group input:disabled,.filter-group select:disabled{background-color:var(--color-background);cursor:not-allowed;opacity:.6}.filter-group small{font-size:.75rem;color:var(--color-muted)}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-input-wrapper input{flex:1;padding-right:2.5rem}.btn-clear-inline{position:absolute;right:.5rem;background:transparent;border:none;color:var(--color-muted-light);font-size:1.25rem;cursor:pointer;padding:.25rem .5rem;border-radius:var(--radius-sm);transition:all var(--transition-base);line-height:1}.btn-clear-inline:hover:not(:disabled){color:var(--color-primary);background:rgba(var(--color-primary-rgb),.1)}.btn-clear-inline:disabled{opacity:.4;cursor:not-allowed}@media(max-width:768px){.filters-grid{grid-template-columns:1fr}}.cfdi-table-container{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;transition:opacity .2s}.cfdi-table-container.cfdi-table-loading{opacity:.5;pointer-events:none}.table-wrapper{overflow-x:auto;overflow-y:visible;position:relative;z-index:1}.cfdi-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:.875rem;table-layout:auto}.cfdi-table thead{background:var(--color-primary);color:#fff;position:relative;z-index:10}.cfdi-table th{padding:1rem 1.25rem;text-align:left;font-weight:600;white-space:nowrap}.cfdi-table th.checkbox-column,.cfdi-table td.checkbox-column{width:40px;text-align:center;padding:.5rem}.cfdi-table .checkbox-column input[type=checkbox]{cursor:pointer;width:16px;height:16px}.cfdi-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.cfdi-table th.sortable:hover{background-color:#ffffff1a}.sort-icon{margin-left:.5rem;font-size:.875rem;opacity:.6;transition:opacity .2s}.sort-icon.active{opacity:1;font-weight:700}.cfdi-table tbody tr{border-bottom:1px solid var(--color-border-light);transition:background-color .2s}.cfdi-table tbody tr:hover{background-color:var(--color-background)}.cfdi-table tbody tr:last-child{border-bottom:none}.cfdi-table td{padding:.875rem 1.25rem;vertical-align:middle;white-space:nowrap}.cell-uuid{min-width:150px}.cell-uuid span{display:inline-block;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:help}.cell-razonSocialEmisor,.cell-razonSocialReceptor{min-width:200px;max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-razonSocialEmisor span,.cell-razonSocialReceptor span{cursor:help;display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-total{font-weight:600;text-align:right;min-width:100px}.cell-fecha{min-width:130px}.cell-rfcEmisor,.cell-rfcReceptor{min-width:120px}.cell-moneda{min-width:80px}.cell-estado{min-width:100px}.cfdi-table .badge{display:inline-block;padding:.25rem .625rem;border-radius:var(--radius-lg);font-size:.75rem;font-weight:600;white-space:nowrap;position:static}.cfdi-table .badge-tipo{background-color:#e8eaf6;color:#3f51b5}.cfdi-table .badge-tipo-I{background-color:#e8f5e9;color:#2e7d32}.cfdi-table .badge-tipo-E{background-color:#fff3e0;color:#e65100}.cfdi-table .badge-tipo-P{background-color:#e3f2fd;color:#1565c0}.cfdi-table .badge-tipo-T{background-color:#f3e5f5;color:#6a1b9a}.cfdi-table .badge-tipo-N{background-color:#fce4ec;color:#c2185b}.cfdi-table .badge-activo{background-color:#e8f5e9;color:#2e7d32}.cfdi-table .badge-cancelado{background-color:#ffebee;color:#c62828}.error-state{padding:2rem;text-align:center}.error-message{color:#c62828;font-size:.875rem}.empty-state{padding:3rem;text-align:center;color:var(--color-muted)}.empty-state p{font-size:1rem;margin-bottom:.5rem}.empty-state small{font-size:.875rem;color:var(--color-muted-light)}.cfdi-table th.actions-column,.cfdi-table td.actions-column{width:80px;text-align:center;padding:.5rem;position:relative}.actions-menu-container{position:relative;display:inline-block}.actions-menu-button{background:transparent;border:none;cursor:pointer;padding:.5rem;font-size:1.25rem;color:var(--color-muted);border-radius:var(--radius-sm);transition:all .2s;line-height:1}.actions-menu-button:hover{background:var(--color-background);color:var(--color-foreground)}.actions-dropdown{position:absolute;left:0;top:100%;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:180px;z-index:100;overflow:hidden;animation:dropdownFadeIn .15s ease-out}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.actions-dropdown-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;border:none;background:transparent;cursor:pointer;font-size:.875rem;color:var(--color-foreground);text-align:left;transition:background .15s}.actions-dropdown-item:hover{background:var(--color-background)}.actions-dropdown-item .action-icon{font-size:1rem}@media(max-width:1200px){.cfdi-table{font-size:.8125rem}.cfdi-table th,.cfdi-table td{padding:.75rem .5rem}}@media(max-width:768px){.cfdi-table{font-size:.75rem}.uuid-cell,.razon-social-cell{max-width:120px}.cfdi-table .badge{font-size:.6875rem;padding:.2rem .5rem}}.pagination-container{background:var(--color-surface);padding:1.25rem 1.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);margin-top:1.5rem}.pagination-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border-light)}.pagination-info p{font-size:.875rem;color:var(--color-muted);margin:0}.pagination-info strong{color:var(--color-foreground);font-weight:600}.limit-selector{display:flex;align-items:center;gap:.5rem}.limit-selector label{font-size:.875rem;color:var(--color-muted)}.limit-selector select{padding:.375rem .625rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;cursor:pointer;transition:border-color var(--transition-base)}.limit-selector select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.limit-selector select:disabled{opacity:.6;cursor:not-allowed}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:.5rem}.pagination-pages{display:flex;gap:.25rem;align-items:center}.pagination-btn{padding:.5rem .875rem;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-foreground);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.pagination-btn:hover:not(:disabled):not(.active){background:var(--color-background);border-color:var(--color-primary);color:var(--color-primary)}.pagination-btn:focus{outline:none;box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.2)}.pagination-btn:focus:not(:focus-visible){box-shadow:none}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);font-weight:600}.pagination-prev,.pagination-next{font-weight:600}.pagination-page{min-width:2.5rem}.pagination-ellipsis{padding:.5rem;color:var(--color-muted-light);font-size:.875rem}@media(max-width:768px){.pagination-container{padding:1rem}.pagination-info{flex-direction:column;align-items:flex-start;gap:.75rem}.pagination-controls{flex-wrap:wrap;gap:.375rem}.pagination-btn{padding:.375rem .625rem;font-size:.8125rem}.pagination-page{min-width:2rem}.pagination-prev,.pagination-next{flex:1;min-width:100px}}@media(max-width:480px){.pagination-controls{flex-direction:column;width:100%}.pagination-pages{order:-1;margin-bottom:.5rem}.pagination-prev,.pagination-next{width:100%}}.date-selector{margin-bottom:1.5rem;padding:1rem;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.date-selector-label{display:block;font-size:.95rem;font-weight:600;color:var(--color-foreground);margin-bottom:.75rem}.date-selector-loading{padding:.75rem;color:var(--color-muted);font-size:.9rem;text-align:center;background:var(--color-background);border-radius:var(--radius-md)}.date-selector-controls{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.date-selector-select{padding:.75rem 1rem;font-size:.95rem;border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-foreground);cursor:pointer;transition:all var(--transition-slow);font-family:inherit;min-width:120px}.date-selector-year{flex:0 0 auto;min-width:140px}.date-selector-month{flex:1;min-width:160px}.date-selector-select:hover:not(:disabled){border-color:var(--color-primary)}.date-selector-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.date-selector-select:disabled{background:var(--color-background);cursor:not-allowed;opacity:.6}.date-selector-clear{padding:.75rem 1rem;background:#ff6b6b;color:#fff;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-slow);min-width:44px;display:flex;align-items:center;justify-content:center}.date-selector-clear:hover:not(:disabled){background:#ee5a52;transform:translateY(-1px);box-shadow:0 4px 8px #ff6b6b4d}.date-selector-clear:active:not(:disabled){transform:translateY(0)}.date-selector-clear:disabled{opacity:.5;cursor:not-allowed}.date-selector-hint{margin-top:.75rem;padding:.5rem .75rem;background:var(--color-primary);color:#fff;font-size:.85rem;border-radius:var(--radius-md);text-align:center}@media(max-width:768px){.date-selector{padding:.875rem}.date-selector-label{font-size:.9rem}.date-selector-select{font-size:.9rem;padding:.625rem .875rem}.date-selector-clear{padding:.625rem .875rem}}@media(max-width:480px){.date-selector-controls{flex-direction:column}.date-selector-select,.date-selector-clear{width:100%}}.column-selector{position:relative;display:inline-block}.column-selector-toggle{padding:.75rem 1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;font-weight:500;color:var(--color-foreground);display:flex;align-items:center;gap:.5rem;transition:all var(--transition-base)}.column-selector-toggle:hover{background:var(--color-background);border-color:var(--color-primary)}.column-count{font-size:.75rem;color:var(--color-primary);font-weight:600}.column-selector-overlay{position:fixed;inset:0;background:#0000004d;z-index:999}.column-selector-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);min-width:300px;max-width:400px;z-index:1000}.column-selector-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border)}.column-selector-header h4{margin:0;font-size:1rem;color:var(--color-foreground)}.close-btn{background:transparent;border:none;font-size:1.25rem;color:var(--color-muted-light);cursor:pointer;padding:.25rem;line-height:1;transition:color var(--transition-base)}.close-btn:hover{color:var(--color-primary)}.column-selector-list{padding:.5rem;max-height:400px;overflow-y:auto}.column-selector-item{display:flex;align-items:center;padding:.75rem 1rem;cursor:pointer;border-radius:var(--radius-md);transition:background-color var(--transition-base);margin-bottom:.25rem}.column-selector-item:hover{background-color:var(--color-background)}.column-selector-item input[type=checkbox]{margin-right:.75rem;cursor:pointer;width:18px;height:18px}.column-selector-item input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.column-label{flex:1;font-size:.875rem;color:var(--color-foreground);display:flex;align-items:center;gap:.5rem}.required-badge{font-size:.7rem;color:var(--color-primary);background:rgba(var(--color-primary-rgb),.1);padding:.125rem .5rem;border-radius:var(--radius-sm);font-weight:600}@media(max-width:768px){.column-selector-dropdown{left:0;right:0;min-width:auto}}.cfdi-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cfdi-modal-container{background:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl)}.cfdi-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border);background:var(--color-primary);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.cfdi-modal-header h2{margin:0;font-size:1.25rem;font-weight:600;color:#fff}.cfdi-modal-close{background:#fff3;border:none;font-size:1.75rem;color:#fff;cursor:pointer;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s;line-height:1}.cfdi-modal-close:hover{background:#ffffff4d}.cfdi-modal-content{padding:1.5rem;overflow-y:auto;flex:1}.cfdi-modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--color-muted)}.cfdi-modal-loading .spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.cfdi-modal-error{text-align:center;padding:2rem;color:#dc3545}.cfdi-modal-error button{margin-top:1rem;padding:.5rem 1rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer}.cfdi-document{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.cfdi-doc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid var(--color-border)}.cfdi-doc-title{display:flex;gap:.5rem;flex-wrap:wrap}.cfdi-tipo-badge{background:var(--color-primary);color:#fff;padding:.35rem .75rem;border-radius:var(--radius-md);font-weight:600;font-size:.9rem}.cfdi-status-badge{padding:.35rem .75rem;border-radius:var(--radius-md);font-weight:600;font-size:.85rem}.cfdi-status-badge.active{background:#d4edda;color:#155724}.cfdi-status-badge.cancelled{background:#f8d7da;color:#721c24}.cfdi-direction-badge{padding:.35rem .75rem;border-radius:var(--radius-md);font-weight:500;font-size:.8rem}.cfdi-direction-badge.emitido{background:#cce5ff;color:#004085}.cfdi-direction-badge.recibido{background:#fff3cd;color:#856404}.cfdi-doc-version{color:var(--color-muted);font-size:.9rem}.cfdi-uuid-section{background:var(--color-background);padding:1rem;border-radius:var(--radius-md);margin-bottom:1rem;display:flex;flex-direction:column;gap:.25rem}.cfdi-uuid-label{font-size:.8rem;color:var(--color-muted);font-weight:500}.cfdi-uuid-value{font-family:var(--font-mono);font-size:1rem;color:var(--color-foreground);word-break:break-all}.cfdi-date-section{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem;margin-bottom:1.5rem;padding:.75rem;background:var(--color-background);border-radius:var(--radius-md)}.cfdi-date-label{font-size:.85rem;color:var(--color-muted);font-weight:500}.cfdi-date-label.cancelled{color:#dc3545}.cfdi-date-value{font-size:.95rem;color:var(--color-foreground)}.cfdi-date-value.cancelled{color:#dc3545}.cfdi-parties{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.cfdi-party{padding:1rem;border-radius:var(--radius-md);border:1px solid var(--color-border)}.cfdi-party.emisor{background:rgba(var(--color-primary-rgb),.06);border-color:rgba(var(--color-primary-rgb),.19)}.cfdi-party.receptor{background:linear-gradient(135deg,#28a74510,#20c99710);border-color:#28a74530}.cfdi-party h3{margin:0 0 .75rem;font-size:.9rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.5px}.cfdi-party-row{display:flex;gap:.5rem;margin-bottom:.5rem}.cfdi-party-row .label{font-size:.85rem;color:var(--color-muted);min-width:100px}.cfdi-party-row .value{font-size:.9rem;color:var(--color-foreground);font-weight:500;word-break:break-word}.cfdi-conceptos-section{margin-bottom:1.5rem}.cfdi-conceptos-section h3{margin:0 0 .75rem;font-size:1rem;color:var(--color-foreground);padding-bottom:.5rem;border-bottom:2px solid var(--color-primary)}.cfdi-conceptos-table-wrapper{overflow-x:auto}.cfdi-conceptos-table{width:100%;border-collapse:collapse;font-size:.85rem}.cfdi-conceptos-table th{background:var(--color-background);padding:.75rem .5rem;text-align:left;font-weight:600;color:var(--color-foreground);border-bottom:2px solid var(--color-border)}.cfdi-conceptos-table td{padding:.75rem .5rem;border-bottom:1px solid var(--color-border);color:var(--color-foreground)}.cfdi-conceptos-table .text-right{text-align:right}.cfdi-conceptos-table .clave{font-family:var(--font-mono);font-size:.8rem}.cfdi-conceptos-table .descripcion{max-width:250px}.cfdi-impuestos-section{margin-bottom:1.5rem}.cfdi-impuestos-section h3{margin:0 0 .75rem;font-size:1rem;color:var(--color-foreground);padding-bottom:.5rem;border-bottom:2px solid var(--color-primary)}.cfdi-impuestos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.cfdi-impuesto-group{background:var(--color-background);padding:1rem;border-radius:var(--radius-md)}.cfdi-impuesto-group.retenciones{background:#fff3cd20}.cfdi-impuesto-group h4{margin:0 0 .75rem;font-size:.85rem;color:var(--color-muted);text-transform:uppercase}.cfdi-impuesto-row{display:flex;justify-content:space-between;padding:.35rem 0;font-size:.85rem}.cfdi-impuesto-row .tipo{color:var(--color-foreground)}.cfdi-impuesto-row .tasa{color:var(--color-muted);font-size:.8rem}.cfdi-impuesto-row .importe{font-weight:500;color:var(--color-foreground)}.cfdi-impuesto-total{display:flex;justify-content:space-between;padding-top:.5rem;margin-top:.5rem;border-top:1px solid var(--color-border);font-weight:600;font-size:.9rem}.cfdi-totals-section{background:rgba(var(--color-primary-rgb),.03);border:1px solid rgba(var(--color-primary-rgb),.19);border-radius:var(--radius-md);padding:1rem;margin-bottom:1rem}.cfdi-totals-grid{display:flex;flex-direction:column;gap:.5rem}.cfdi-total-row{display:flex;justify-content:space-between;font-size:.95rem;color:var(--color-foreground)}.cfdi-total-row.subtotal{padding-bottom:.5rem;border-bottom:1px dashed #ccc}.cfdi-total-row.retenciones{color:#dc3545}.cfdi-total-row.total{font-size:1.2rem;font-weight:700;color:var(--color-foreground);padding-top:.5rem;border-top:2px solid var(--color-primary);margin-top:.25rem}.cfdi-currency{text-align:right;font-size:.8rem;color:var(--color-muted);margin-top:.5rem}.cfdi-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.cfdi-footer-info{font-size:.75rem;color:var(--color-muted-light);font-family:var(--font-mono);word-break:break-all}.cfdi-payment-info-section{margin-bottom:1.5rem;padding:1rem;background:var(--color-background);border-radius:var(--radius-md);border:1px solid var(--color-border)}.cfdi-payment-info-section h3{margin:0 0 .75rem;font-size:.9rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.5px}.cfdi-payment-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.cfdi-info-item{display:flex;flex-direction:column;gap:.15rem}.cfdi-info-item .label{font-size:.75rem;color:var(--color-muted);font-weight:500}.cfdi-info-item .value{font-size:.9rem;color:var(--color-foreground);font-weight:500}.cfdi-nomina-section{margin-bottom:1.5rem;padding:1rem;background:linear-gradient(135deg,#17a2b810,#138496 10%);border:1px solid #17a2b830;border-radius:var(--radius-md)}.cfdi-nomina-section h3{margin:0 0 1rem;font-size:1rem;color:var(--color-foreground);padding-bottom:.5rem;border-bottom:2px solid #17a2b8}.cfdi-nomina-employee,.cfdi-nomina-period{margin-bottom:1rem;padding:.75rem;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.cfdi-nomina-employee h4,.cfdi-nomina-period h4{margin:0 0 .5rem;font-size:.85rem;color:#17a2b8;font-weight:600}.cfdi-nomina-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.cfdi-nomina-table-section{margin-top:1rem}.cfdi-nomina-table-section h4{margin:0 0 .5rem;font-size:.9rem;color:var(--color-foreground)}.cfdi-nomina-table{width:100%;border-collapse:collapse;font-size:.8rem;background:var(--color-surface);border-radius:var(--radius-md);overflow:hidden}.cfdi-nomina-table th{background:var(--color-background);padding:.5rem;text-align:left;font-weight:600;color:var(--color-foreground);border-bottom:2px solid var(--color-border)}.cfdi-nomina-table td{padding:.5rem;border-bottom:1px solid var(--color-border);color:var(--color-foreground)}.cfdi-nomina-table tfoot td{background:var(--color-background);border-top:2px solid #17a2b8}.cfdi-pago-section{margin-bottom:1.5rem;padding:1rem;background:linear-gradient(135deg,#28a74510,#20c99710);border:1px solid #28a74530;border-radius:var(--radius-md)}.cfdi-pago-section h3{margin:0 0 1rem;font-size:1rem;color:var(--color-foreground);padding-bottom:.5rem;border-bottom:2px solid #28a745}.cfdi-pago-total{display:flex;justify-content:space-between;padding:.75rem;background:var(--color-surface);border-radius:var(--radius-md);margin-bottom:1rem;font-weight:600}.cfdi-pago-total .label{color:var(--color-muted)}.cfdi-pago-total .value{color:#28a745;font-size:1.1rem}.cfdi-pago-detalle{margin-bottom:1rem;padding:.75rem;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.cfdi-pago-detalle h4{margin:0 0 .75rem;font-size:.9rem;color:#28a745;font-weight:600}.cfdi-pago-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-bottom:1rem}.cfdi-pago-documentos{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.cfdi-pago-documentos h5{margin:0 0 .5rem;font-size:.85rem;color:var(--color-muted)}.cfdi-pago-docs-table{width:100%;border-collapse:collapse;font-size:.75rem}.cfdi-pago-docs-table th{background:var(--color-background);padding:.5rem .35rem;text-align:left;font-weight:600;color:var(--color-foreground);border-bottom:2px solid var(--color-border)}.cfdi-pago-docs-table td{padding:.5rem .35rem;border-bottom:1px solid var(--color-border);color:var(--color-foreground)}.cfdi-pago-docs-table .uuid-cell{font-family:var(--font-mono);font-size:.7rem;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cfdi-pago-docs-table .text-right{text-align:right}@media(max-width:768px){.cfdi-modal-container{max-height:95vh}.cfdi-parties{grid-template-columns:1fr}.cfdi-conceptos-table{font-size:.75rem}.cfdi-conceptos-table th,.cfdi-conceptos-table td{padding:.5rem .25rem}.cfdi-payment-info-grid,.cfdi-nomina-grid,.cfdi-pago-info-grid{grid-template-columns:1fr}.cfdi-pago-docs-table{font-size:.65rem}.cfdi-pago-docs-table .uuid-cell{max-width:100px}}.column-config-overlay{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.column-config-container{background:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl)}.column-config-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border);background:var(--color-primary);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.column-config-header h2{margin:0;font-size:1.25rem;font-weight:600;color:#fff}.column-config-close{background:#fff3;border:none;font-size:1.75rem;color:#fff;cursor:pointer;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s;line-height:1}.column-config-close:hover:not(:disabled){background:#ffffff4d}.column-config-close:disabled{cursor:not-allowed;opacity:.5}.column-config-content{padding:1.5rem;overflow-y:auto;flex:1}.config-instructions{margin-bottom:1.5rem}.config-instructions p{margin:0 0 .5rem;color:var(--color-muted);font-size:.9rem}.visible-count{background:var(--color-background);padding:.75rem;border-radius:var(--radius-md);margin-top:.75rem;font-size:.9rem}.visible-count strong{color:var(--color-primary)}.columns-list{display:flex;flex-direction:column;gap:.5rem}.column-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:move;transition:all var(--transition-base);-webkit-user-select:none;user-select:none}.column-item:hover{border-color:var(--color-primary);background:var(--color-background);box-shadow:0 2px 8px rgba(var(--color-primary-rgb),.1)}.column-item.dragging{opacity:.5;transform:scale(.98);background:var(--color-background)}.column-item.hidden{opacity:.6}.drag-handle{font-size:1.25rem;color:var(--color-muted-light);cursor:grab;display:flex;align-items:center;padding:.25rem}.drag-handle:active{cursor:grabbing}.column-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;flex:1;margin:0}.column-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.column-name{font-size:.95rem;color:var(--color-foreground);font-weight:500}.column-config-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-top:1px solid var(--color-border);background:var(--color-background);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.footer-actions{display:flex;gap:.75rem}.btn-reset,.btn-cancel,.btn-save{padding:.625rem 1.25rem;border-radius:var(--radius-md);font-size:.9rem;font-weight:500;cursor:pointer;transition:all var(--transition-base);border:none}.btn-reset{background:#ef4444;color:#fff}.btn-reset:hover:not(:disabled){background:#dc2626}.btn-cancel{background:var(--color-border);color:var(--color-foreground)}.btn-cancel:hover:not(:disabled){background:var(--color-border)}.btn-save{background:var(--color-primary);color:#fff;min-width:100px}.btn-save:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.4)}.btn-reset:disabled,.btn-cancel:disabled,.btn-save:disabled{cursor:not-allowed;opacity:.6}@media(max-width:640px){.column-config-container{max-width:100%;margin:.5rem}.column-config-header h2{font-size:1.1rem}.column-config-footer{flex-direction:column;gap:.75rem}.footer-actions{width:100%}.btn-reset,.btn-cancel,.btn-save{flex:1}}.cfdi-section{width:100%;max-width:1400px;margin:0 auto}.cfdi-header{margin-bottom:24px}.cfdi-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.cfdi-header-top>div:first-child{flex:1}.cfdi-header h2{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-foreground);margin:0 0 4px}.cfdi-subtitle{color:var(--color-muted);font-size:var(--text-sm);font-family:var(--font-body);margin:0}.cfdi-header-actions{display:flex;gap:8px;flex-shrink:0}.cfdi-btn-primary{padding:10px 20px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-pill);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:background var(--transition-fast);white-space:nowrap}.cfdi-btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.cfdi-btn-primary:disabled{opacity:.5;cursor:not-allowed}.cfdi-btn-outline{padding:10px 20px;background:transparent;color:var(--color-foreground);border:1px solid var(--color-border);border-radius:var(--radius-pill);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:background var(--transition-fast);white-space:nowrap}.cfdi-btn-outline:hover:not(:disabled){background:var(--color-border-light)}.cfdi-btn-outline:disabled{opacity:.5;cursor:not-allowed}.cfdi-permission-notice{display:flex;align-items:center;gap:8px;padding:12px 16px;margin-bottom:16px;background:var(--color-warning-light);border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-lg);font-size:var(--text-sm);color:#92400e}.cfdi-category-tabs{display:flex;gap:0;margin-bottom:16px;border-bottom:1px solid var(--color-border)}.cfdi-category-tab{display:flex;align-items:center;gap:8px;padding:12px 24px;border:none;background:transparent;color:var(--color-muted);font-family:var(--font-body);font-size:14px;font-weight:var(--font-medium);cursor:pointer;transition:color var(--transition-fast);position:relative;border-bottom:2px solid transparent}.cfdi-category-tab:hover{color:var(--color-foreground)}.cfdi-category-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.cfdi-category-tab.active svg{stroke:var(--color-primary)}.cfdi-tab-count{font-family:var(--font-heading);font-size:12px;font-weight:var(--font-semibold);padding:2px 8px;border-radius:var(--radius-pill);background:var(--color-primary);color:#fff;min-width:20px;text-align:center}.cfdi-category-tab:not(.active) .cfdi-tab-count{background:var(--color-background);color:var(--color-muted)}.cfdi-type-tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.cfdi-type-tab{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border:1px solid var(--color-border);background:transparent;color:var(--color-muted);font-family:var(--font-body);font-size:13px;font-weight:var(--font-medium);border-radius:var(--radius-pill);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.cfdi-type-tab:hover:not(.active){background:var(--color-background);color:var(--color-foreground)}.cfdi-type-tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.cfdi-filter-row{display:flex;align-items:flex-end;gap:12px;margin-bottom:16px;flex-wrap:wrap}.cfdi-filter-left{flex:1;min-width:280px}.cfdi-status-buttons{display:flex;gap:4px}.cfdi-status-btn{padding:6px 14px;border:1px solid var(--color-border);background:transparent;color:var(--color-muted);font-family:var(--font-body);font-size:13px;font-weight:var(--font-medium);border-radius:var(--radius-pill);cursor:pointer;transition:all var(--transition-fast)}.cfdi-status-btn:hover:not(.active){background:var(--color-border-light)}.cfdi-status-btn.active{background:var(--color-foreground);color:var(--color-background);border-color:var(--color-foreground)}.cfdi-actions-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.cfdi-export-buttons{display:flex;gap:8px}.cfdi-column-config-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-foreground);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:background var(--transition-fast)}.cfdi-column-config-btn:hover{background:var(--color-border-light)}.cfdi-selection-bar{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:10px 16px;background:var(--color-info-light);border:1px solid rgba(59,130,246,.3);border-radius:var(--radius-lg);font-size:var(--text-sm);color:#1e40af}.cfdi-permission-warning{color:var(--color-error);font-size:var(--text-sm)}.download-xml-button,.clear-selection-button{padding:10px 20px;border-radius:var(--radius-pill);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);border:none;font-size:var(--text-sm);font-family:var(--font-body)}.download-xml-button{background:var(--color-primary);color:#fff}.download-xml-button:hover:not(:disabled){background:var(--color-primary-dark)}.download-xml-button:disabled{opacity:.5;cursor:not-allowed}.clear-selection-button{background:var(--color-background);color:var(--color-muted);border:1px solid var(--color-border)}.clear-selection-button:hover{background:var(--color-border-light)}.export-button{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border:1px solid var(--color-border);border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:transparent;color:var(--color-foreground);font-family:var(--font-body)}.export-button:hover:not(:disabled){background:var(--color-border-light)}.export-button:disabled{opacity:.5;cursor:not-allowed}.export-simple,.export-conceptos,.export-nomina,.export-pagos{background:transparent;color:var(--color-foreground)}.column-config-button{display:flex;align-items:center;gap:6px;padding:10px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-foreground);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:background var(--transition-fast);white-space:nowrap}.column-config-button:hover{background:var(--color-border-light)}.column-config-button .column-count{font-size:12px;color:var(--color-muted)}@media(max-width:768px){.cfdi-header-top{flex-direction:column}.cfdi-header-actions{width:100%}.cfdi-header-actions .cfdi-btn-primary,.cfdi-header-actions .cfdi-btn-outline{flex:1}.cfdi-filter-row{flex-direction:column;align-items:stretch}.cfdi-filter-left{min-width:unset}.cfdi-type-tabs{flex-wrap:wrap}.cfdi-actions-row{flex-direction:column;align-items:stretch}}.visor-fiscal{padding:1.5rem;animation:visorFadeIn .3s ease-in}@keyframes visorFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.visor-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.visor-header-left h2{margin:0;color:var(--color-foreground);font-family:var(--font-heading);font-size:1.5rem;font-weight:600}.visor-subtitle{color:var(--color-muted);font-size:.9rem}.visor-header-right{display:flex;align-items:center;gap:.75rem}.visor-period-select{padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;background:var(--color-surface);cursor:pointer;min-width:180px}.visor-period-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.visor-export-btn{padding:.5rem 1rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.9rem;cursor:pointer;transition:background .2s}.visor-export-btn:hover:not(:disabled){background:var(--color-primary-dark)}.visor-export-btn:disabled{background:#ccc;cursor:not-allowed}.visor-empty-state{text-align:center;padding:4rem 2rem;background:var(--color-background);border-radius:var(--radius-lg);border:2px dashed var(--color-border)}.visor-empty-icon{font-size:3rem;display:block;margin-bottom:1rem}.visor-empty-state h3{margin:0 0 .5rem;color:var(--color-foreground)}.visor-empty-state p{margin:0;color:var(--color-muted)}.visor-loading{text-align:center;padding:3rem;color:var(--color-muted)}.visor-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid var(--color-primary);border-radius:50%;animation:visorSpin 1s linear infinite;margin:0 auto 1rem}@keyframes visorSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.visor-error{background:var(--color-error-light);color:#dc2626;padding:1rem;border-radius:var(--radius-md);margin-bottom:1rem}.visor-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem}.visor-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-md);border-left:4px solid transparent}.visor-card-total{border-left-color:#10b981}.visor-card-total .visor-card-value{color:#10b981}.visor-card-gastos{border-left-color:#ef4444}.visor-card-gastos .visor-card-value{color:#ef4444}.visor-card-pue{border-left-color:#3b82f6}.visor-card-pue .visor-card-value{color:#3b82f6}.visor-card-ppd{border-left-color:#f59e0b}.visor-card-ppd .visor-card-value{color:#f59e0b}.visor-card-label{color:var(--color-muted);font-size:.875rem;font-weight:500;margin-bottom:.5rem}.visor-card-value{font-size:1.5rem;font-weight:700;color:var(--color-foreground);margin-bottom:.25rem}.visor-card-count{font-size:.8rem;color:var(--color-muted)}.visor-section{background:var(--color-surface);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow-md)}.visor-section h3{margin:0 0 .5rem;color:var(--color-foreground);font-family:var(--font-heading);font-size:1.1rem;font-weight:600}.visor-section-hint{color:var(--color-muted);font-size:.8rem;margin:0 0 1rem}.visor-iva-table{display:flex;flex-direction:column;gap:.5rem}.visor-iva-header{display:grid;grid-template-columns:100px 1fr 1fr;padding:.75rem;background:var(--color-background);border-radius:var(--radius-md);font-weight:600;color:var(--color-muted);font-size:.8rem;text-transform:uppercase}.visor-iva-row{display:grid;grid-template-columns:100px 1fr 1fr;padding:.75rem;background:var(--color-background);border-radius:var(--radius-md);align-items:center}.visor-iva-row:hover{background:var(--color-border-light)}.visor-iva-col{font-size:.95rem}.visor-iva-rate{font-weight:600;color:var(--color-primary)}.visor-iva-highlight{font-weight:600;color:var(--color-foreground)}.visor-iva-total{background:var(--color-primary);color:#fff;margin-top:.5rem}.visor-iva-total .visor-iva-col{font-weight:600}.visor-iva-total-value{font-size:1.1rem!important}.visor-retenciones-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.visor-retencion-card{background:var(--color-background);border-radius:var(--radius-md);padding:1rem;text-align:center}.visor-retencion-label{color:var(--color-muted);font-size:.875rem;margin-bottom:.5rem}.visor-retencion-value{font-size:1.25rem;font-weight:700;color:var(--color-foreground)}.visor-footer{margin-top:1rem;text-align:center}.visor-cancelled-badge{display:inline-block;background:var(--color-warning-light);color:#92400e;padding:.5rem 1rem;border-radius:var(--radius-pill);font-size:.875rem}.visor-recalculate-btn{padding:.5rem 1rem;background:#f59e0b;color:#fff;border:none;border-radius:var(--radius-md);font-size:.9rem;cursor:pointer;transition:background .2s}.visor-recalculate-btn:hover:not(:disabled){background:#d97706}.visor-recalculate-btn:disabled{background:#ccc;cursor:not-allowed}.visor-iva-subsection{margin-bottom:1.5rem;padding:1rem;background:var(--color-background);border-radius:var(--radius-md)}.visor-subsection-title{margin:0 0 .75rem;font-size:.95rem;color:var(--color-foreground);font-weight:600}.visor-total-title{color:var(--color-primary)}.visor-iva-total-section{margin-top:1rem;padding:1rem;background:rgba(var(--color-primary-rgb),.08);border-radius:var(--radius-md);border:1px solid rgba(var(--color-primary-rgb),.19)}.visor-iva-grand-total{background:var(--color-primary)!important}.visor-retenciones-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.visor-retenciones-col h4{margin:0 0 1rem;font-size:.9rem;color:var(--color-foreground);font-weight:600;text-align:center}.visor-retenciones-neto{background:#f0f4ff;padding:1rem;border-radius:var(--radius-md)}.visor-retencion-positive{color:#10b981!important}.visor-retencion-negative{color:#ef4444!important}.visor-timestamp{display:inline-block;color:var(--color-muted);font-size:.8rem;padding:.5rem 1rem;background:var(--color-background);border-radius:var(--radius-sm)}@media(max-width:768px){.visor-header{flex-direction:column;align-items:stretch}.visor-header-right{flex-direction:column;width:100%}.visor-period-select,.visor-export-btn,.visor-recalculate-btn{width:100%}.visor-summary-cards{grid-template-columns:1fr}.visor-iva-header,.visor-iva-row{grid-template-columns:80px 1fr 1fr;font-size:.85rem}.visor-retenciones-flow{grid-template-columns:1fr}}.visor-regime-banner{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--color-primary);border-radius:var(--radius-md);margin-bottom:1.5rem;color:#fff}.visor-regime-code{background:#fff3;padding:.25rem .75rem;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem}.visor-regime-desc{font-size:.95rem}.visor-isr-estimado{background:var(--color-surface);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border)}.visor-isr-row{display:grid;grid-template-columns:1fr 200px 150px;padding:.75rem 1rem;border-bottom:1px solid var(--color-border-light);align-items:center}.visor-isr-row:last-child{border-bottom:none}.visor-isr-label{font-weight:500;color:var(--color-foreground)}.visor-isr-breakdown{display:flex;gap:1rem;color:var(--color-muted);font-size:.85rem}.visor-isr-detail{white-space:nowrap}.visor-isr-regime-hint{color:var(--color-primary);font-weight:500}.visor-isr-value{text-align:right;font-weight:600;color:var(--color-foreground)}.visor-isr-negative{color:#ef4444!important}.visor-isr-subtotal{background:var(--color-background);font-weight:600}.visor-isr-total{background:#f0f4ff}.visor-isr-total .visor-isr-label,.visor-isr-total .visor-isr-value{font-weight:700;color:var(--color-foreground)}.visor-isr-final{background:rgba(var(--color-primary-rgb),.08);border-top:2px solid var(--color-primary)}.visor-isr-final .visor-isr-label,.visor-isr-final .visor-isr-value{font-weight:700;font-size:1.1rem}.visor-isr-pagar{color:#ef4444!important}.visor-isr-favor{color:#10b981!important}.visor-retencion-total{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--color-border)}.visor-retencion-total .visor-retencion-label{font-weight:600}.visor-retencion-total .visor-retencion-value{font-weight:700}.visor-retencion-neto-card{background:rgba(var(--color-primary-rgb),.06);border:1px solid rgba(var(--color-primary-rgb),.19)}.visor-retencion-hint{font-size:.75rem;color:var(--color-muted);margin-top:.25rem}.visor-section-warning{background:#fef3c7;border:1px solid #f59e0b}.visor-section-warning h3{color:#92400e}.visor-enterar-total{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--color-surface);border-radius:var(--radius-md);margin-top:1rem}.visor-enterar-label{font-weight:600;color:#92400e}.visor-enterar-value{font-size:1.25rem;font-weight:700;color:#ef4444}@media(max-width:768px){.visor-regime-banner{flex-direction:column;text-align:center;gap:.5rem}.visor-isr-row{grid-template-columns:1fr;gap:.5rem}.visor-isr-breakdown{flex-direction:column;gap:.25rem}.visor-isr-value{text-align:left;font-size:1.1rem}.visor-enterar-total{flex-direction:column;text-align:center;gap:.5rem}}.visor-validate-btn{padding:.5rem 1rem;background:#8b5cf6;color:#fff;border:none;border-radius:var(--radius-md);font-size:.9rem;cursor:pointer;transition:background .2s}.visor-validate-btn:hover:not(:disabled){background:var(--color-primary-dark)}.visor-validate-btn:disabled{background:#ccc;cursor:not-allowed}.visor-export-sat{background:#059669}.visor-export-sat:hover:not(:disabled){background:#047857}.visor-validation{padding:1rem;border-radius:var(--radius-md);margin-bottom:1rem}.visor-validation-success{background:#d1fae5;border:1px solid #10b981}.visor-validation-error{background:#fef3c7;border:1px solid #f59e0b}.visor-validation-header{display:flex;align-items:center;gap:.5rem}.visor-validation-icon{font-size:1.25rem}.visor-validation-title{flex:1;font-weight:600;color:var(--color-foreground)}.visor-validation-close{background:transparent;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-muted);padding:0;line-height:1}.visor-validation-close:hover{color:var(--color-foreground)}.visor-validation-errors{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(0,0,0,.1)}.visor-validation-error-item{font-size:.875rem;color:#92400e;margin-bottom:.5rem}.visor-validation-more{font-size:.8rem;color:var(--color-muted);font-style:italic;margin-top:.5rem}.visor-diot-totals{display:grid;gap:.5rem}.visor-diot-total-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--color-border-light)}.visor-diot-total-row:last-child{border-bottom:none}.visor-diot-total-label{color:var(--color-foreground);font-weight:500}.visor-diot-total-value{font-weight:600;color:var(--color-foreground)}.visor-diot-total-highlight{background:#f0f4ff;padding:.5rem 1rem;border-radius:var(--radius-md);margin:.5rem -1rem}.visor-diot-total-highlight .visor-diot-total-label,.visor-diot-total-highlight .visor-diot-total-value{color:var(--color-primary);font-weight:700}.visor-diot-table-container{overflow-x:auto;margin:0 -1rem;padding:0 1rem}.visor-diot-table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:900px}.visor-diot-table thead{background:var(--color-background);position:sticky;top:0}.visor-diot-table th{padding:.75rem .5rem;text-align:left;font-weight:600;color:var(--color-foreground);border-bottom:2px solid var(--color-border);white-space:nowrap}.visor-diot-table td{padding:.75rem .5rem;border-bottom:1px solid var(--color-border-light)}.visor-diot-table tbody tr:hover{background:var(--color-background)}.visor-diot-number{text-align:right!important;font-variant-numeric:tabular-nums}.visor-diot-rfc{font-family:monospace;font-size:.85rem}.visor-diot-nombre{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visor-diot-total-cell{font-weight:600;color:var(--color-foreground)}.visor-diot-tipo{display:inline-block;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.visor-diot-tipo.nacional{background:#dbeafe;color:#1e40af}.visor-diot-tipo.extranjero{background:#fef3c7;color:#92400e}@media(max-width:768px){.visor-diot-table-container{margin:0 -1.5rem;padding:0}.visor-diot-table{font-size:.8rem}.visor-diot-table th,.visor-diot-table td{padding:.5rem .25rem}}.feature-gate-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;color:var(--color-muted)}.feature-gate-spinner{width:40px;height:40px;border:4px solid #f0f0f0;border-top-color:var(--color-primary);border-radius:50%;animation:feature-gate-spin .8s linear infinite;margin-bottom:1rem}@keyframes feature-gate-spin{to{transform:rotate(360deg)}}.upgrade-prompt{display:flex;flex-direction:column;align-items:center;text-align:center;padding:3rem 2rem;background:linear-gradient(135deg,var(--color-background) 0%,#e9ecef 100%);border:2px solid var(--color-border);border-radius:var(--radius-lg);margin:2rem 0;max-width:600px;margin-left:auto;margin-right:auto}.upgrade-prompt-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.7}.upgrade-prompt-content{width:100%}.upgrade-prompt-title{font-size:1.5rem;font-weight:700;color:var(--color-foreground);margin:0 0 1rem;line-height:1.4}.upgrade-prompt-description{font-size:1rem;color:var(--color-muted);margin:0 0 1.5rem;line-height:1.6}.upgrade-prompt-description strong{color:var(--color-foreground);font-weight:600}.upgrade-prompt-current-plan{font-size:.95rem;color:var(--color-muted);margin:0 0 2rem}.plan-badge{display:inline-block;padding:.4rem .8rem;border-radius:var(--radius-xl);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-left:.5rem}.plan-badge.plan-starter{background:var(--color-primary);color:#fff}.plan-badge.plan-professional{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.plan-badge.plan-enterprise{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.upgrade-prompt-button{padding:.875rem 2rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.3)}.upgrade-prompt-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(var(--color-primary-rgb),.4)}.upgrade-prompt-button:active{transform:translateY(0);box-shadow:0 2px 8px rgba(var(--color-primary-rgb),.3)}.upgrade-prompt-button:focus{outline:none;box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.3)}@media(max-width:768px){.upgrade-prompt{padding:2rem 1.5rem;margin:1rem 0}.upgrade-prompt-icon{font-size:3rem;margin-bottom:1rem}.upgrade-prompt-title{font-size:1.25rem;margin-bottom:.75rem}.upgrade-prompt-description{font-size:.95rem;margin-bottom:1rem}.upgrade-prompt-current-plan{font-size:.9rem;margin-bottom:1.5rem}.upgrade-prompt-button{padding:.75rem 1.5rem;font-size:.95rem;width:100%}}.feature-gate-inline{display:inline-block;position:relative}.feature-gate-inline-locked{opacity:.5;cursor:not-allowed;pointer-events:none}.feature-gate-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--color-foreground);color:#fff;padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.85rem;white-space:nowrap;margin-bottom:.5rem;opacity:0;pointer-events:none;transition:opacity .3s;z-index:1000}.feature-gate-inline-locked:hover .feature-gate-tooltip{opacity:1}.feature-gate-blur{position:relative}.feature-gate-blur-content{filter:blur(4px);pointer-events:none;-webkit-user-select:none;user-select:none}.feature-gate-blur-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#ffffffe6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.upgrade-prompt-button:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){.feature-gate-spinner,.upgrade-prompt-button,.feature-gate-tooltip{animation:none;transition:none}}.fiscal-dashboard{padding:1.5rem;animation:fadeIn .3s ease-in}.fiscal-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--color-border);padding-bottom:.5rem}.fiscal-tab{padding:.75rem 1.5rem;border:none;background:transparent;color:var(--color-muted);font-size:1rem;font-weight:500;cursor:pointer;border-radius:var(--radius-md) var(--radius-md) 0 0;transition:all .2s;position:relative}.fiscal-tab:hover{background:var(--color-background);color:var(--color-foreground)}.fiscal-tab.active{background:transparent;color:var(--color-foreground)}.fiscal-tab.active:after{content:"";position:absolute;bottom:-3px;left:0;right:0;height:2px;background:var(--color-primary);border-radius:2px}.fiscal-tab.locked{color:var(--color-muted-light);cursor:pointer}.fiscal-tab.locked:hover{background:var(--color-warning-light);color:#92400e}.fiscal-tab.locked.active{background:var(--color-background);color:var(--color-muted)}.fiscal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.fiscal-header h2{margin:0;color:var(--color-foreground);font-family:var(--font-heading);font-size:1.5rem;font-weight:600}.fiscal-period-selector{display:flex;align-items:center;gap:.75rem}.fiscal-period-selector label{color:var(--color-muted);font-weight:500}.fiscal-period-selector select{padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;background:var(--color-surface);cursor:pointer;min-width:180px}.fiscal-period-selector select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.fiscal-empty-state{text-align:center;padding:4rem 2rem;background:var(--color-background);border-radius:var(--radius-lg);border:2px dashed var(--color-border)}.fiscal-empty-icon{font-size:3rem;display:block;margin-bottom:1rem}.fiscal-empty-state h3{margin:0 0 .5rem;color:var(--color-foreground)}.fiscal-empty-state p{margin:0;color:var(--color-muted)}.fiscal-hint{margin-top:1rem!important;font-size:.875rem;color:var(--color-muted)!important}.fiscal-loading{text-align:center;padding:3rem;color:var(--color-muted)}.fiscal-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.fiscal-error{background:var(--color-error-light);color:#dc2626;padding:1rem;border-radius:var(--radius-md);display:flex;align-items:center;gap:.5rem}.fiscal-totals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.fiscal-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-md);border-left:4px solid transparent}.fiscal-card-ingresos{border-left-color:#10b981}.fiscal-card-egresos{border-left-color:#ef4444}.fiscal-card-neto{border-left-color:var(--color-primary)}.fiscal-card-label{color:var(--color-muted);font-size:.875rem;font-weight:500;margin-bottom:.5rem}.fiscal-card-value{font-size:1.75rem;font-weight:700;color:var(--color-foreground);margin-bottom:.25rem}.fiscal-card-ingresos .fiscal-card-value{color:#10b981}.fiscal-card-egresos .fiscal-card-value{color:#ef4444}.fiscal-card-neto .fiscal-card-value{color:var(--color-primary)}.fiscal-card-count{font-size:.8rem;color:var(--color-muted)}.fiscal-section{background:var(--color-surface);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow-md)}.fiscal-section h3{margin:0 0 1rem;color:var(--color-foreground);font-family:var(--font-heading);font-size:1.1rem;font-weight:600;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.fiscal-iva-grid{display:flex;flex-direction:column;gap:.75rem}.fiscal-iva-row{display:grid;grid-template-columns:80px 1fr 1fr;align-items:center;padding:.75rem;background:var(--color-background);border-radius:var(--radius-md);gap:1rem}.fiscal-iva-rate{font-weight:600;color:var(--color-primary);font-size:1rem}.fiscal-iva-detail{display:flex;align-items:center;gap:.5rem}.fiscal-iva-label{color:var(--color-muted);font-size:.875rem}.fiscal-iva-amount{font-weight:600;color:var(--color-foreground)}.fiscal-iva-highlight{color:var(--color-primary)}.fiscal-retenciones-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.fiscal-retencion-card{background:var(--color-background);border-radius:var(--radius-md);padding:1rem;text-align:center}.fiscal-retencion-label{color:var(--color-muted);font-size:.875rem;margin-bottom:.5rem}.fiscal-retencion-value{font-size:1.25rem;font-weight:700;color:var(--color-foreground)}.fiscal-footer{margin-top:1rem;text-align:center}.fiscal-cancelled-badge{display:inline-block;background:var(--color-warning-light);color:#92400e;padding:.5rem 1rem;border-radius:var(--radius-pill);font-size:.875rem}.fiscal-two-columns{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:1.5rem}.fiscal-table-container{overflow-x:auto}.fiscal-table{width:100%;border-collapse:collapse;font-size:.875rem}.fiscal-table th,.fiscal-table td{padding:.75rem .5rem;text-align:left;border-bottom:1px solid var(--color-border)}.fiscal-table th{background:var(--color-background);font-weight:600;color:var(--color-muted);font-size:.8rem;text-transform:uppercase}.fiscal-table tbody tr:hover{background:var(--color-background)}.fiscal-table .text-right{text-align:right}.fiscal-table .text-center{text-align:center}.fiscal-table .rfc-cell{font-family:monospace;font-size:.8rem;color:var(--color-muted)}.fiscal-table .name-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fiscal-table .amount-cell{font-weight:600;color:var(--color-foreground)}.fiscal-no-data{text-align:center;padding:2rem;color:var(--color-muted);font-style:italic}@media(max-width:768px){.fiscal-header{flex-direction:column;align-items:flex-start}.fiscal-period-selector{width:100%}.fiscal-period-selector select{flex:1}.fiscal-totals-grid,.fiscal-two-columns{grid-template-columns:1fr}.fiscal-iva-row{grid-template-columns:1fr;gap:.5rem}.fiscal-iva-rate{background:var(--color-primary);color:#fff;padding:.25rem .5rem;border-radius:var(--radius-sm);display:inline-block;width:fit-content}.fiscal-table .name-cell{max-width:120px}}.fiel-upload-container{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;padding:2rem;z-index:1000}.fiel-upload-card{background:var(--color-surface);padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:600px;max-height:90vh;overflow-y:auto}.fiel-upload-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.fiel-upload-header h2{margin:0;color:var(--color-foreground);font-family:var(--font-heading);font-size:1.5rem}.close-button{background:none;border:none;font-size:1.5rem;color:var(--color-muted-light);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base)}.close-button:hover{background:var(--color-background);color:var(--color-foreground)}.fiel-upload-info{background:#f5f7ff;border-left:4px solid var(--color-primary);padding:1rem;margin-bottom:1.5rem;border-radius:var(--radius-sm)}.fiel-upload-info p{margin:0 0 .5rem;color:var(--color-foreground);font-size:.95rem;line-height:1.5}.fiel-upload-info p:last-child{margin-bottom:0}.info-note{color:var(--color-muted);font-size:.85rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--color-foreground);font-weight:500;font-size:.95rem}.form-group input[type=file]{width:100%;padding:.75rem;border:2px dashed var(--color-border);border-radius:var(--radius-md);font-size:.95rem;cursor:pointer;transition:border-color var(--transition-slow)}.form-group input[type=file]:hover:not(:disabled){border-color:var(--color-primary)}.form-group input[type=file]:disabled{cursor:not-allowed;background:var(--color-background)}.form-group input[type=password]{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;box-sizing:border-box;transition:border-color var(--transition-slow)}.form-group input[type=password]:focus{outline:none;border-color:var(--color-primary)}.form-group input[type=password]:disabled{background:var(--color-background);cursor:not-allowed}.file-name{display:block;margin-top:.5rem;color:#28a745;font-size:.9rem}.error-message{background-color:var(--color-error-light);color:var(--color-error);padding:.75rem;border-radius:var(--radius-md);margin-bottom:1rem;font-size:.9rem;border:1px solid #fcc}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.cancel-button,.submit-button{padding:.75rem 1.5rem;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-base);border:none}.cancel-button{background:var(--color-surface);color:var(--color-muted);border:2px solid var(--color-border)}.cancel-button:hover:not(:disabled){background:var(--color-background);border-color:var(--color-muted-light)}.submit-button{background:var(--color-primary);color:#fff}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.4)}.upload-success{text-align:center}.success-icon{width:80px;height:80px;border-radius:50%;background:#e8f5e9;color:#2e7d32;font-size:3rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.upload-success h3{margin:0 0 2rem;color:var(--color-foreground);font-size:1.5rem}.company-details{background:var(--color-background);padding:1.5rem;border-radius:var(--radius-md);margin-bottom:2rem;text-align:left}.detail-row{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--color-border)}.detail-label{color:var(--color-muted);font-size:.9rem;font-weight:500}.detail-value{color:var(--color-foreground);font-size:.9rem;font-weight:600;text-align:right;max-width:60%;word-break:break-word}.status-badge{padding:.25rem .75rem;border-radius:var(--radius-lg);font-size:.8rem;font-weight:600}.status-badge.valid{background:#e8f5e9;color:#2e7d32}.status-badge.invalid{background:#ffebee;color:#c62828}.done-button{width:100%;padding:.75rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-base)}.done-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.4)}@media(max-width:640px){.fiel-upload-container{padding:1rem}.fiel-upload-card{padding:1.5rem}.form-actions{flex-direction:column-reverse}.cancel-button,.submit-button{width:100%}.detail-row{flex-direction:column;gap:.25rem}.detail-value{text-align:left;max-width:100%}}.delete-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.delete-modal-container{background:var(--color-surface);border-radius:var(--radius-xl);width:100%;max-width:550px;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:slideUp .3s ease-out}.delete-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.75rem;border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,#dc2626,#991b1b);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.delete-modal-header h2{margin:0;font-size:1.25rem;font-weight:600;color:#fff}.delete-modal-close{background:#fff3;border:none;font-size:2rem;color:#fff;cursor:pointer;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1;padding:0}.delete-modal-close:hover{background:#ffffff4d;transform:rotate(90deg)}.delete-modal-content{padding:2rem 1.75rem;text-align:center}.warning-icon,.verification-icon{font-size:4rem;margin-bottom:1rem;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.delete-modal-content h3{margin:0 0 1.5rem;font-size:1.375rem;color:var(--color-foreground);font-weight:600}.company-info{background:var(--color-background);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1.5rem;text-align:left}.info-row{display:flex;justify-content:space-between;padding:.5rem 0}.info-row:not(:last-child){border-bottom:1px solid var(--color-border-light)}.info-label{font-weight:600;color:var(--color-muted);font-size:.9rem}.info-value{font-weight:500;color:var(--color-foreground);font-size:.95rem}.warning-message{background:#fef2f2;border:2px solid #fecaca;border-radius:var(--radius-lg);padding:1.25rem;text-align:left;margin-top:1.5rem}.warning-message p{margin:0 0 .75rem;color:#991b1b;font-size:.95rem;line-height:1.5}.warning-message strong{font-weight:700}.warning-message ul{margin:.75rem 0 0;padding-left:1.5rem;color:#dc2626}.warning-message li{margin:.375rem 0;font-size:.9rem}.verification-instruction{font-size:1rem;color:#4b5563;margin-bottom:1rem;line-height:1.6}.rfc-display{background:var(--color-background);border:2px dashed var(--color-muted-light);border-radius:var(--radius-md);padding:1rem;margin-bottom:1.25rem;font-family:Courier New,monospace;font-size:1.25rem;color:var(--color-foreground);letter-spacing:.05em}.rfc-input{width:100%;padding:.875rem 1rem;border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;font-family:Courier New,monospace;text-transform:uppercase;transition:all .2s;box-sizing:border-box}.rfc-input:focus{outline:none;border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.rfc-input::placeholder{text-transform:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.verification-error{margin-top:1rem;padding:.75rem;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);color:#991b1b;font-size:.875rem;font-weight:500;animation:shake .4s ease-out}.delete-modal-footer{display:flex;gap:.75rem;padding:1.25rem 1.75rem;border-top:1px solid var(--color-border);background:var(--color-background);border-radius:0 0 var(--radius-xl) var(--radius-xl)}.modal-button{flex:1;padding:.875rem 1.5rem;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-base)}.modal-button.cancel:hover{background:var(--color-background);border-color:var(--color-muted-light)}.modal-button.danger{background:linear-gradient(135deg,#dc2626,#991b1b);color:#fff}.modal-button.danger:hover{transform:translateY(-2px);box-shadow:0 4px 12px #dc262666}.modal-button.danger:disabled{background:var(--color-border);cursor:not-allowed;transform:none;box-shadow:none}@media(max-width:640px){.delete-modal-container{max-width:95%}.delete-modal-header{padding:1.25rem}.delete-modal-content{padding:1.5rem 1.25rem}.delete-modal-footer{flex-direction:column;padding:1rem 1.25rem}.warning-icon,.verification-icon{font-size:3rem}.delete-modal-content h3{font-size:1.125rem}.rfc-display{font-size:1rem}}.company-management-container{padding:2rem;max-width:1200px;margin:0 auto}.company-management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.company-management-header h2{margin:0;color:var(--color-foreground);font-family:var(--font-heading);font-size:1.75rem}.header-actions{display:flex;gap:1rem}.action-button{padding:.75rem 1.5rem;border-radius:var(--radius-pill);font-size:.95rem;font-weight:600;cursor:pointer;transition:all var(--transition-base);border:none}.action-button.primary{background:var(--color-primary);color:#fff}.action-button.primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.4)}.action-button.secondary{background:var(--color-surface);color:var(--color-primary);border:2px solid var(--color-primary)}.action-button.secondary:hover{background:var(--color-background)}.create-company-form{background:var(--color-surface);padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:2rem}.create-company-form h3{margin:0 0 1.5rem;color:var(--color-foreground);font-size:1.25rem}.form-row{display:grid;grid-template-columns:1fr 2fr;gap:1rem;margin-bottom:1rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--color-foreground);font-weight:500;font-size:.9rem}.form-group input[type=text]{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;box-sizing:border-box;transition:border-color var(--transition-slow)}.form-group input:focus{outline:none;border-color:var(--color-primary)}.checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer}.submit-button{padding:.75rem 1.5rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-base)}.companies-list{min-height:200px}.loading-state,.empty-state{text-align:center;padding:3rem;color:var(--color-muted)}.empty-state p{margin:.5rem 0;font-size:1.1rem}.empty-hint{color:var(--color-muted-light);font-size:.9rem}.companies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.company-card{background:var(--color-surface);padding:1.5rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);position:relative;cursor:pointer;transition:all var(--transition-base);border:2px solid transparent}.company-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.company-card.default-company{border-color:var(--color-primary)}.default-badge{position:absolute;top:1rem;right:1rem;background:var(--color-primary);color:#fff;padding:.25rem .75rem;border-radius:var(--radius-lg);font-size:.75rem;font-weight:600}.company-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.company-header h3{margin:0;color:var(--color-foreground);font-size:1.25rem;font-weight:700}.fiel-status{padding:.25rem .75rem;border-radius:var(--radius-lg);font-size:.75rem;font-weight:600}.fiel-status.status-active{background:var(--color-success-light);color:var(--color-success)}.fiel-status.status-expiring{background:var(--color-warning-light);color:var(--color-warning)}.fiel-status.status-expired{background:var(--color-error-light);color:var(--color-error)}.fiel-status.status-none{background:var(--color-background);color:var(--color-muted)}.company-name{color:var(--color-muted);font-size:.95rem;margin:0 0 .5rem;line-height:1.4}.fiel-expiry{color:var(--color-muted-light);font-size:.85rem;margin:0 0 1rem}.company-actions{display:flex;gap:1rem;border-top:1px solid var(--color-border);padding-top:1rem;margin-top:1rem}.action-link{background:none;border:none;color:var(--color-primary);font-size:.85rem;cursor:pointer;text-decoration:underline;padding:0}.action-link:hover{color:var(--color-primary-dark)}.action-link.delete{color:var(--color-error)}.action-link.delete:hover{opacity:.8}.error-message{background-color:var(--color-error-light);color:var(--color-error);padding:1rem;border-radius:var(--radius-md);margin-bottom:1.5rem;font-size:.95rem;border:1px solid var(--color-error)}@media(max-width:768px){.company-management-container{padding:1rem}.company-management-header{flex-direction:column;align-items:flex-start;gap:1rem}.header-actions{width:100%;flex-direction:column}.action-button{width:100%}.form-row,.companies-grid{grid-template-columns:1fr}.company-card{padding:1.25rem}.default-badge{position:static;display:inline-block;margin-bottom:.5rem}}.my-invitations-container{padding:.5rem 0}.my-invitations-loading{text-align:center;padding:2rem;color:var(--color-muted)}.my-invitations-empty{text-align:center;padding:3rem;color:var(--color-muted)}.my-invitations-empty .empty-icon{color:#ccc;margin-bottom:1rem}.my-invitations-empty p{margin:0;font-size:1rem}.invitations-count{font-size:.9rem;color:var(--color-muted);margin-bottom:1rem;padding-left:.25rem}.my-invitations-container .error-message{background-color:#fee;color:#c33;padding:.75rem 1rem;border-radius:var(--radius-md);margin-bottom:1rem;border-left:4px solid #c33}.my-invitations-container .success-message{background-color:#d4edda;color:#155724;padding:.75rem 1rem;border-radius:var(--radius-md);margin-bottom:1rem;border-left:4px solid #28a745}.my-invitations-list{display:flex;flex-direction:column;gap:1rem}.my-invitation-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;transition:all var(--transition-slow)}.my-invitation-card:hover{box-shadow:0 4px 12px #00000014;border-color:var(--color-primary)}.invitation-workspace-info{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border-light)}.workspace-icon{width:50px;height:50px;border-radius:10px;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;flex-shrink:0}.workspace-details h4{margin:0 0 .25rem;font-size:1.1rem;color:var(--color-foreground)}.workspace-details .workspace-slug{margin:0;color:var(--color-muted);font-size:.85rem}.invitation-role-info{margin-bottom:1rem}.invitation-role-info .role-badge{padding:.25rem .75rem;border-radius:var(--radius-lg);font-size:.75rem;font-weight:600;text-transform:uppercase;display:inline-block}.invitation-role-info .role-badge.role-owner{background:var(--color-primary);color:#fff}.invitation-role-info .role-badge.role-admin{background:var(--color-primary-dark);color:#fff}.invitation-role-info .role-badge.role-accountant{background:#28a745;color:#fff}.invitation-role-info .role-badge.role-member{background:#6c757d;color:#fff}.invitation-role-info .role-badge.role-viewer{background:#ffc107;color:var(--color-foreground)}.invitation-role-info .role-description{margin:.5rem 0 0;color:var(--color-muted);font-size:.85rem;font-style:italic}.invitation-details{margin-bottom:1rem;padding:.75rem;background:var(--color-background);border-radius:var(--radius-md)}.invitation-details p{margin:.25rem 0;font-size:.85rem;color:var(--color-foreground)}.invitation-details strong{color:var(--color-foreground)}.invitation-actions{display:flex;gap:.75rem;justify-content:flex-end}.accept-button{padding:.75rem 1.5rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.95rem;font-weight:600;cursor:pointer;transition:all var(--transition-slow)}.accept-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.4)}.accept-button:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(max-width:480px){.my-invitation-card{padding:1rem}.invitation-workspace-info{flex-direction:column;text-align:center}.invitation-actions{flex-direction:column}.accept-button{width:100%}}.user-profile-container{max-width:900px;margin:0 auto;padding:2rem}.user-profile-header{margin-bottom:2rem}.user-profile-header h2{font-size:1.8rem;color:var(--color-foreground);font-family:var(--font-heading);margin:0}.user-profile-loading{text-align:center;padding:3rem;color:var(--color-muted);font-size:1.1rem}.profile-tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid var(--color-border)}.profile-tab{padding:.75rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;color:var(--color-muted);font-size:1rem;font-weight:500;cursor:pointer;transition:all var(--transition-slow)}.profile-tab:hover{color:var(--color-primary)}.profile-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.profile-view{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:2rem}.profile-info-card{display:flex;gap:2rem;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--color-border)}.profile-avatar{flex-shrink:0}.profile-avatar img{width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid var(--color-primary)}.avatar-placeholder{width:120px;height:120px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700}.profile-details{flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.profile-field label{display:block;font-size:.85rem;font-weight:600;color:var(--color-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.profile-field p{font-size:1rem;color:var(--color-foreground);margin:0}.profile-field .verified{color:var(--color-success);font-weight:600}.profile-field .unverified{color:var(--color-warning);font-weight:600}.workspaces-section{margin-top:2rem}.workspaces-section h3{font-size:1.2rem;color:var(--color-foreground);font-family:var(--font-heading);margin-bottom:1rem}.workspaces-list{display:grid;gap:1rem}.workspace-card{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--color-background);border-radius:var(--radius-md);border:1px solid var(--color-border);transition:all var(--transition-slow)}.workspace-card:hover{background:var(--color-background);border-color:var(--color-primary)}.workspace-info h4{margin:0 0 .25rem;font-size:1rem;color:var(--color-foreground)}.workspace-slug{margin:0;font-size:.85rem;color:var(--color-muted)}.workspace-role{display:flex;gap:.5rem;align-items:center}.default-badge{padding:.25rem .75rem;background:var(--color-border);border-radius:var(--radius-lg);font-size:.75rem;color:var(--color-muted)}.edit-profile-button{width:100%;padding:.75rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-pill);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-slow);margin-top:1.5rem}.edit-profile-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.4)}.profile-edit-form,.password-change-form{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:2rem}.form-group input{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;transition:all var(--transition-slow)}.form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.form-group input:disabled{background:var(--color-background);cursor:not-allowed}.input-hint{display:block;margin-top:.25rem;font-size:.85rem;color:var(--color-muted)}.form-actions{display:flex;gap:1rem;margin-top:2rem}.save-button,.change-password-button{flex:1;padding:.75rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-pill);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-slow)}.save-button:hover,.change-password-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.4)}.save-button:disabled,.change-password-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.cancel-button{flex:1;padding:.75rem;background:var(--color-background);color:var(--color-foreground);border:1px solid var(--color-border);border-radius:var(--radius-pill);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-slow)}.cancel-button:hover{background:var(--color-border)}@media(max-width:768px){.user-profile-container{padding:1rem}.profile-info-card{flex-direction:column;text-align:center}.profile-avatar{margin:0 auto}.profile-details{grid-template-columns:1fr}.profile-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.form-actions{flex-direction:column}.workspace-card{flex-direction:column;align-items:flex-start;gap:1rem}.workspace-role{width:100%;justify-content:flex-start}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-container{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease}.modal-container.modal-small{max-width:400px}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border)}.modal-header h3{margin:0;font-size:1.2rem;color:var(--color-foreground)}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--color-muted-light);cursor:pointer;padding:0;line-height:1;transition:color var(--transition-base)}.modal-close:hover{color:var(--color-foreground)}.modal-close:disabled{cursor:not-allowed}.modal-body{padding:1.5rem}.user-info-section{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--color-background);border-radius:var(--radius-md);margin-bottom:1.5rem}.user-info-section.centered{flex-direction:column;text-align:center}.modal-avatar{flex-shrink:0}.modal-avatar img{width:60px;height:60px;border-radius:50%;object-fit:cover;border:3px solid var(--color-primary)}.avatar-placeholder-small{width:60px;height:60px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700}.modal-user-details{flex:1;min-width:0}.modal-user-name{margin:0 0 .25rem;font-weight:600;color:var(--color-foreground);font-size:1rem}.modal-user-email{margin:0 0 .25rem;color:var(--color-muted);font-size:.9rem;word-break:break-word}.modal-current-role{margin:0;color:var(--color-muted-light);font-size:.85rem}.role-selection{margin-top:1rem}.role-selection-label{display:block;font-weight:600;color:var(--color-foreground);margin-bottom:1rem}.role-options{display:flex;flex-direction:column;gap:.75rem}.role-option{display:flex;align-items:flex-start;padding:1rem;border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.role-option:hover{border-color:var(--color-primary);background:#f8f9ff}.role-option.selected{border-color:var(--color-primary);background:#f0f4ff}.role-option.current{border-style:dashed}.role-option input[type=radio]{margin-right:.75rem;margin-top:.25rem;accent-color:var(--color-primary)}.role-option-content{flex:1}.role-option-label{display:block;font-weight:600;color:var(--color-foreground);margin-bottom:.25rem}.role-option-description{display:block;font-size:.85rem;color:var(--color-muted)}.role-current-tag{display:inline-block;margin-top:.5rem;padding:.15rem .5rem;background:var(--color-primary);color:#fff;font-size:.7rem;font-weight:600;border-radius:var(--radius-sm);text-transform:uppercase}.modal-message{color:var(--color-foreground);font-size:1rem;line-height:1.5;margin:0;text-align:center}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--color-border);background:var(--color-background);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.modal-button{padding:.75rem 1.5rem;border:none;border-radius:var(--radius-md);font-size:.95rem;font-weight:600;cursor:pointer;transition:all var(--transition-base)}.modal-button:disabled{opacity:.6;cursor:not-allowed}.modal-button.cancel{background:var(--color-border-light);color:var(--color-foreground)}.modal-button.cancel:hover:not(:disabled){background:#d0d0d0}.modal-button.confirm:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.4)}.modal-button.danger{background:#dc3545;color:#fff}.modal-button.danger:hover:not(:disabled){background:#c82333}.modal-button.warning{background:#ffc107;color:var(--color-foreground)}.modal-button.warning:hover:not(:disabled){background:#e0a800}.cfdi-permissions-modal{max-width:700px}.permissions-editor-wrapper{margin-bottom:1rem}.reset-permissions-section{text-align:center;padding-top:1rem;border-top:1px solid var(--color-border)}.reset-to-default-btn{background:none;border:1px solid var(--color-primary);color:var(--color-primary);padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.85rem;cursor:pointer;transition:all .2s}.reset-to-default-btn:hover:not(:disabled){background:#f0f4ff}.reset-to-default-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.cfdi-permissions-modal{max-width:100%}}@media(max-width:480px){.modal-container{max-width:100%;margin:.5rem;max-height:calc(100vh - 1rem)}.modal-header,.modal-body{padding:1rem}.modal-footer{padding:1rem;flex-direction:column}.modal-button{width:100%}.user-info-section{flex-direction:column;text-align:center}}.cfdi-permissions-editor{background-color:var(--color-background);border-radius:var(--radius-md);padding:16px;margin-top:16px}.cfdi-permissions-editor.disabled{opacity:.6;pointer-events:none}.permissions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.permissions-header h4{margin:0;font-size:14px;color:var(--color-foreground);font-weight:600}.quick-actions{display:flex;gap:8px}.quick-action-btn{padding:4px 12px;font-size:12px;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s}.quick-action-btn:hover:not(:disabled){background-color:var(--color-background);border-color:var(--color-muted-light)}.quick-action-btn:disabled{cursor:not-allowed;opacity:.5}.permissions-table{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);overflow:hidden}.table-header{display:grid;grid-template-columns:1fr 60px 60px 60px 50px;gap:8px;padding:12px 16px;background-color:var(--color-background);border-bottom:1px solid var(--color-border);font-size:12px;font-weight:600;color:var(--color-muted);text-transform:uppercase;letter-spacing:.5px}.type-row{display:grid;grid-template-columns:1fr 60px 60px 60px 50px;gap:8px;padding:12px 16px;border-bottom:1px solid var(--color-border-light);align-items:center}.type-row:last-child{border-bottom:none}.type-row:hover{background-color:var(--color-background)}.type-col{display:flex;flex-direction:column;gap:2px}.type-label{font-weight:500;color:var(--color-foreground);font-size:14px}.type-description{font-size:11px;color:var(--color-muted-light)}.action-col,.toggle-col{display:flex;justify-content:center;align-items:center}.checkbox-wrapper{position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer}.checkbox-wrapper input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark{width:18px;height:18px;background-color:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-sm);transition:all .2s}.checkbox-wrapper input:checked~.checkmark{background-color:var(--color-primary);border-color:var(--color-primary)}.checkbox-wrapper input:checked~.checkmark:after{content:"✓";position:absolute;color:#fff;font-size:12px;font-weight:700;top:50%;left:50%;transform:translate(-50%,-50%)}.checkbox-wrapper input:disabled~.checkmark{background-color:var(--color-background);border-color:var(--color-border-light);cursor:not-allowed}.checkbox-wrapper:hover input:not(:disabled)~.checkmark{border-color:var(--color-primary)}.toggle-btn{width:28px;height:28px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .2s}.toggle-btn.all{background-color:#d1fae5;border-color:#10b981;color:#059669}.toggle-btn.none{background-color:#fee2e2;border-color:#f87171;color:#dc2626}.toggle-btn.partial{background-color:#fef3c7;border-color:#f59e0b;color:#d97706}.toggle-btn:hover:not(:disabled){transform:scale(1.05)}.toggle-btn:disabled{cursor:not-allowed;opacity:.5}.permissions-legend{margin-top:16px;display:flex;flex-wrap:wrap;gap:16px}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-muted)}.legend-icon{font-size:14px}.privacy-notice{margin-top:12px;padding:10px 14px;background-color:var(--color-warning-light);border:1px solid #fcd34d;border-radius:var(--radius-md);display:flex;align-items:center;gap:8px;font-size:12px;color:#92400e}.privacy-icon{font-size:16px}@media(max-width:600px){.table-header,.type-row{grid-template-columns:1fr 50px 50px 50px 40px}.table-header{font-size:10px}.type-label{font-size:12px}.type-description{display:none}.permissions-legend{flex-direction:column;gap:8px}}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.invite-modal-content{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border)}.modal-header h2{margin:0;font-size:20px;color:var(--color-foreground);font-family:var(--font-heading)}.close-button{background:none;border:none;font-size:24px;color:var(--color-muted);cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);transition:background-color var(--transition-base)}.close-button:hover{background-color:var(--color-background);color:var(--color-foreground)}.modal-body{padding:24px;overflow-y:auto;flex:1}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:500;color:var(--color-foreground);margin-bottom:8px;font-size:14px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:var(--color-background);cursor:not-allowed}.form-group textarea{resize:vertical;min-height:80px}.input-hint{display:block;font-size:12px;color:var(--color-muted);margin-top:6px;line-height:1.4}.advanced-section{margin-top:24px;border-top:1px solid var(--color-border);padding-top:20px}.toggle-advanced{background:none;border:none;color:var(--color-primary);font-size:14px;font-weight:500;cursor:pointer;padding:8px 0;display:flex;align-items:center;gap:8px}.toggle-advanced:hover{color:var(--color-primary-dark)}.advanced-content{margin-top:16px}.default-permissions-note{font-size:12px;color:var(--color-muted);margin-top:8px;font-style:italic}.error-message{background-color:var(--color-error-light);border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:var(--radius-md);font-size:14px;margin-bottom:16px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--color-border);background-color:var(--color-background)}.cancel-button{padding:10px 20px;background:var(--color-surface);color:var(--color-foreground);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.cancel-button:hover:not(:disabled){background-color:var(--color-background)}.cancel-button:disabled{opacity:.6;cursor:not-allowed}.submit-button{padding:10px 24px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.submit-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.4)}.submit-button:disabled{opacity:.7;cursor:not-allowed}@media(max-width:640px){.invite-modal-content{max-height:100vh;border-radius:0}.modal-body{padding:16px}.modal-footer{flex-direction:column-reverse}.modal-footer button{width:100%}}.workspace-users-container{max-width:1200px;margin:0 auto;padding:2rem}.workspace-users-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.workspace-users-header h2{font-size:1.8rem;color:var(--color-foreground);font-family:var(--font-heading);margin:0}.workspace-users-loading{text-align:center;padding:3rem;color:var(--color-muted);font-size:1.1rem}.invite-button{padding:.75rem 1.5rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-pill);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-slow)}.invite-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.4)}.invite-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.success-message{background-color:var(--color-success-light);color:var(--color-success);padding:1rem;border-radius:var(--radius-md);margin-bottom:1.5rem;border-left:4px solid var(--color-success)}.invite-form-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:2rem;margin-bottom:2rem}.invite-form-card h3{margin:0 0 1.5rem;color:var(--color-foreground);font-size:1.2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--color-foreground)}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;transition:all var(--transition-slow)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.form-group input:disabled,.form-group select:disabled{background:var(--color-background);cursor:not-allowed}.submit-button{width:100%;padding:.75rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-pill);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-slow)}.submit-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.4)}.submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.users-tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid var(--color-border)}.users-tab{padding:.75rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;color:var(--color-muted);font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s}.users-tab:hover{color:var(--color-primary)}.users-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.users-grid,.invitations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.user-card,.invitation-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:1.5rem;transition:all var(--transition-slow)}.user-card:hover,.invitation-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.user-avatar{width:80px;height:80px;margin:0 auto 1rem}.user-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:3px solid var(--color-primary)}.avatar-placeholder{width:80px;height:80px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;margin:0 auto}.user-info,.invitation-info{text-align:center}.user-info h3,.invitation-info h4{margin:0 0 .5rem;font-size:1.1rem;color:var(--color-foreground)}.user-email{color:var(--color-muted);font-size:.9rem;margin:0 0 1rem;word-break:break-word}.user-meta,.invitation-meta{display:flex;gap:.5rem;justify-content:center;margin-bottom:.5rem;flex-wrap:wrap}.role-badge{padding:.25rem .75rem;border-radius:var(--radius-lg);font-size:.75rem;font-weight:600;text-transform:uppercase}.role-badge.role-owner{background:var(--color-primary);color:#fff}.role-badge.role-admin{background:var(--color-primary-dark);color:#fff}.role-badge.role-accountant{background:var(--color-success);color:#fff}.role-badge.role-member{background:var(--color-muted);color:#fff}.role-badge.role-viewer{background:var(--color-warning);color:var(--color-foreground)}.owner-badge{padding:.25rem .75rem;background:var(--color-primary);color:#fff;border-radius:var(--radius-lg);font-size:.75rem;font-weight:600}.pending-badge{padding:.25rem .75rem;background:var(--color-warning);color:var(--color-foreground);border-radius:var(--radius-lg);font-size:.75rem;font-weight:600}.role-description{color:var(--color-muted);font-size:.85rem;margin:.5rem 0;font-style:italic}.joined-date,.invited-date,.expires-date,.invited-by{color:var(--color-muted-light);font-size:.8rem;margin:.25rem 0}.user-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.action-button{flex:1 1 calc(50% - .25rem);min-width:100px;padding:.5rem;border:none;border-radius:var(--radius-pill);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .3s}.action-button.change-role{background:var(--color-primary);color:#fff}.action-button.change-role:hover{opacity:.9}.action-button.permissions{background:var(--color-info);color:#fff}.action-button.permissions:hover{opacity:.9}.action-button.remove{background:var(--color-error);color:#fff}.action-button.remove:hover{opacity:.9}.action-button:disabled{opacity:.6;cursor:not-allowed}.empty-state{text-align:center;padding:3rem;color:var(--color-muted);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.empty-state p{margin:0;font-size:1.1rem}.permission-notice{background:var(--color-warning-light);color:#92400e;padding:1rem 1.5rem;border-radius:var(--radius-md);margin-bottom:1.5rem;border-left:4px solid var(--color-warning)}.permission-notice p{margin:0}.invite-form-note{color:var(--color-muted);font-size:.9rem;margin:0 0 1.5rem;padding:.75rem;background:var(--color-background);border-radius:var(--radius-md);border-left:3px solid var(--color-primary)}.invitation-actions{margin-top:1rem;display:flex;justify-content:center;gap:.5rem}.action-button.resend{background:var(--color-info);color:#fff}.action-button.resend:hover{opacity:.9}.expiring-badge{padding:.25rem .75rem;background:var(--color-error);color:#fff;border-radius:var(--radius-lg);font-size:.75rem;font-weight:600;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.expires-date.expiring-soon{color:var(--color-error);font-weight:600}.empty-state-hint{margin-top:.5rem;font-size:.9rem;color:var(--color-muted-light)}@media(max-width:768px){.workspace-users-container{padding:1rem}.workspace-users-header{flex-direction:column;gap:1rem;align-items:stretch}.invite-button{width:100%}.users-grid,.invitations-grid{grid-template-columns:1fr}.users-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}}.subscription-details-container{max-width:1200px;margin:0 auto;padding:2rem}.subscription-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:2rem;width:100%}.subscription-details-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.header-left{display:flex;flex-direction:column;gap:.75rem}.subscription-details-header h2{font-size:1.5rem;color:var(--color-foreground);font-family:var(--font-heading);margin:0}.plan-info{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.plan-badge{display:inline-flex;align-items:center;padding:.375rem 1rem;border-radius:var(--radius-pill, 25px);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.plan-badge.plan-free,.plan-badge.plan-gratis{background:#f3f4f6;color:#6b7280}.plan-badge.plan-starter{background:#dbeafe;color:#1d4ed8}.plan-badge.plan-despacho{background:#fef3c7;color:#b45309}.plan-badge.plan-enterprise{background:var(--color-primary);color:#fff}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .875rem;border-radius:20px;font-size:.8rem;font-weight:600}.status-icon{font-size:.75rem}.status-badge.status-active{background:#d1fae5;color:#047857}.status-badge.status-trial{background:#dbeafe;color:#1d4ed8}.status-badge.status-expired{background:#fee2e2;color:#b91c1c}.status-badge.status-suspended{background:#fef3c7;color:#b45309}.status-badge.status-cancelled,.status-badge.status-unknown{background:#f3f4f6;color:#6b7280}.manage-billing-btn{padding:.625rem 1.25rem;background:var(--color-surface);color:var(--color-primary);border:2px solid var(--color-primary);border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.manage-billing-btn:hover{background:var(--color-primary);color:#fff}.trial-banner{background:#dbeafe;border:1px solid #93c5fd;border-radius:var(--radius-md);padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1.5rem}.trial-content{display:flex;align-items:center;gap:1rem}.trial-text{display:flex;flex-direction:column;gap:.25rem}.trial-text strong{color:#1d4ed8;font-size:.95rem}.trial-text p{margin:0;color:#1e40af;font-size:.875rem}.details-list{border:1px solid var(--color-border-light);border-radius:var(--radius-md);overflow:hidden}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border-light)}.detail-row:last-child{border-bottom:none}.detail-row:hover{background:var(--color-background)}.detail-label{font-size:.875rem;color:var(--color-muted);font-weight:500}.detail-value{font-size:.95rem;color:var(--color-foreground);font-weight:600;text-align:right;white-space:nowrap}.detail-value-group{display:flex;flex-direction:column;align-items:flex-end;gap:.125rem}.detail-value.price{color:var(--color-primary);font-size:1.05rem}.detail-value.warning-text{color:#d97706}.detail-value.active-text{color:#059669}.detail-value.inactive-text{color:var(--color-muted-light)}.detail-subtext{font-size:.8rem;color:var(--color-muted-light);font-weight:400}.detail-subtext.warning-text{color:#d97706}.upgrade-prompt{background:var(--color-background);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:1.25rem;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-top:1.5rem}.upgrade-prompt-content{display:flex;align-items:center;gap:1rem}.upgrade-text{display:flex;flex-direction:column;gap:.25rem}.upgrade-text strong{color:var(--color-foreground);font-size:.95rem}.upgrade-text p{margin:0;color:var(--color-muted);font-size:.875rem}.upgrade-btn{padding:.625rem 1.25rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.upgrade-btn:hover{opacity:.9}.upgrade-btn.primary{padding:.75rem 1.5rem;font-size:.9rem}.plan-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}.action-btn{padding:.625rem 1.25rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.action-btn.secondary{background:var(--color-surface);color:var(--color-primary);border:2px solid var(--color-primary)}.action-btn.secondary:hover{background:var(--color-primary);color:#fff}.expiration-warning{background:#fef3c7;border:1px solid #fbbf24;border-radius:var(--radius-lg);padding:1.25rem 1.5rem;display:flex;align-items:flex-start;gap:1rem;margin-top:1.5rem}.warning-content,.notice-content{display:flex;flex-direction:column;gap:.25rem}.warning-content strong{color:#92400e;font-size:.95rem}.warning-content p{margin:0;color:#a16207;font-size:.875rem}.cancelled-notice{background:#f3f4f6;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;display:flex;align-items:flex-start;gap:1rem;margin-top:1.5rem}.notice-content strong{color:var(--color-foreground);font-size:.95rem}.notice-content p{margin:0;color:var(--color-muted);font-size:.875rem}.spinner{width:40px;height:40px;border:4px solid var(--color-border-light);border-top:4px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.loading-state p{color:var(--color-muted);font-size:.875rem}.error-message{background:#ffebee;color:#c62828;padding:1.5rem;border-radius:var(--radius-lg);border-left:4px solid #c62828;font-size:.875rem;font-weight:500}@media(max-width:768px){.subscription-details-container{padding:1rem}.subscription-card{padding:1.25rem}.subscription-details-header{flex-direction:column;align-items:flex-start}.subscription-details-header h2{font-size:1.25rem}.plan-info{flex-direction:column;align-items:flex-start;gap:.5rem}.manage-billing-btn{width:100%;text-align:center}.detail-row{flex-direction:column;align-items:flex-start;gap:.25rem;padding:.875rem 1rem}.detail-value-group{align-items:flex-start}.trial-banner,.upgrade-prompt{flex-direction:column;align-items:stretch;text-align:center}.trial-content,.upgrade-prompt-content{flex-direction:column;text-align:center}.upgrade-btn{width:100%}.expiration-warning,.cancelled-notice{flex-direction:column;text-align:center}}@media(max-width:480px){.subscription-details-container{padding:.75rem}.subscription-card{padding:1rem}.subscription-details-header h2{font-size:1.125rem}.plan-badge{font-size:.75rem;padding:.25rem .75rem}.status-badge{font-size:.7rem;padding:.25rem .625rem}.detail-value{font-size:.9rem}.detail-value.price{font-size:.95rem}}.subscription-plans-container{padding:2rem;max-width:1400px;margin:0 auto;animation:fadeIn .3s ease-in}.plans-header{text-align:center;margin-bottom:2rem}.plans-header h2{margin:0 0 .5rem;color:var(--color-foreground);font-family:var(--font-heading);font-size:2rem;font-weight:700}.plans-subtitle{margin:0;color:var(--color-muted);font-size:1.1rem}.billing-toggle{display:flex;justify-content:center;gap:.5rem;margin-bottom:3rem;background:var(--color-background);padding:.5rem;border-radius:var(--radius-lg);width:fit-content;margin-left:auto;margin-right:auto}.billing-option{padding:.75rem 2rem;border:none;background:transparent;color:var(--color-muted);font-size:1rem;font-weight:600;cursor:pointer;border-radius:var(--radius-md);transition:all .2s;position:relative;display:flex;align-items:center;gap:.5rem}.billing-option:hover{color:var(--color-foreground)}.billing-option.active{background:var(--color-surface);color:var(--color-primary);box-shadow:0 2px 8px #0000001a}.savings-badge{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:.25rem .5rem;border-radius:var(--radius-md);font-size:.7rem;font-weight:700;text-transform:uppercase}.plans-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-bottom:3rem;max-width:1100px;margin-left:auto;margin-right:auto}.plan-card{background:var(--color-surface);border-radius:14px;padding:1.5rem;box-shadow:var(--shadow-md);border:2px solid var(--color-border);position:relative;transition:all .3s;display:flex;flex-direction:column;width:100%;max-width:300px;flex:0 0 auto}.plan-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001f}.plan-card.free-plan{background:var(--color-background);border-color:var(--color-border-light)}.plan-card.popular{border-color:var(--color-primary);box-shadow:0 8px 30px rgba(var(--color-primary-rgb),.2)}.plan-card.popular:hover{box-shadow:0 12px 40px rgba(var(--color-primary-rgb),.25)}.plan-card.current{border-color:#10b981;background:linear-gradient(to bottom,#f0fdf4,#fff)}.badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);padding:.4rem 1rem;border-radius:var(--radius-pill);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.badge-popular{background:var(--color-primary);color:#fff;box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.4)}.badge-current{background:#10b981;color:#fff;box-shadow:0 4px 12px #10b98166}.plan-header{text-align:center;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.plan-name{margin:0 0 .75rem;color:var(--color-foreground);font-size:1.1rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.plan-pricing{min-height:60px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.25rem}.price{font-size:1.75rem;font-weight:700;color:var(--color-primary);line-height:1}.price-period{color:var(--color-muted-light);font-size:.8rem;font-weight:500}.savings-info{color:#10b981;font-size:.75rem;font-weight:600}.plan-limits{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.25rem;padding:.875rem;background:var(--color-background);border-radius:10px}.limit-item{text-align:center}.limit-value{display:block;font-size:1rem;font-weight:700;color:var(--color-foreground);margin-bottom:.1rem}.limit-label{display:block;font-size:.75rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.3px}.plan-features{flex:1;margin-bottom:1.25rem;min-height:70px;display:flex;align-items:center;justify-content:center}.all-features-badge{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem .875rem;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-radius:var(--radius-pill);width:100%}.all-features-icon{font-size:1rem;color:#10b981}.all-features-text{color:#059669;font-weight:600;font-size:.8rem}.limitations-list{width:100%}.limitation-item{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;font-size:.8rem;color:var(--color-muted)}.limitation-icon{color:#dc2626;font-weight:700;font-size:.85rem}.plan-action{margin-top:auto}.plan-button{width:100%;padding:.75rem;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.plan-button.select{background:var(--color-primary);color:#fff}.plan-button.select:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--color-primary-rgb),.4)}.plan-button.current{background:#e8f5e9;color:#10b981;cursor:default}.plan-button.contact{background:#1a1a2e;color:#fff}.plan-button.contact:hover{background:#2d2d44;transform:translateY(-2px);box-shadow:0 6px 20px #0003}.paid-features-section{background:rgba(var(--color-primary-rgb),.03);border:1px solid rgba(var(--color-primary-rgb),.13);border-radius:var(--radius-xl);padding:2rem;margin-bottom:3rem;text-align:center}.paid-features-section h3{margin:0 0 1.5rem;color:var(--color-foreground);font-size:1.25rem;font-weight:600}.paid-features-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 2rem}.paid-feature-item{display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:var(--color-foreground)}.paid-feature-check{width:22px;height:22px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.plans-faq{background:var(--color-surface);border-radius:var(--radius-xl);padding:2.5rem;box-shadow:var(--shadow-md)}.plans-faq h3{margin:0 0 2rem;color:var(--color-foreground);font-size:1.5rem;font-weight:700;text-align:center}.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.faq-item h4{margin:0 0 .5rem;color:var(--color-foreground);font-size:1rem;font-weight:600}.faq-item p{margin:0;color:var(--color-muted);font-size:.9rem;line-height:1.5}@media(max-width:1100px){.plan-card{max-width:280px}}@media(max-width:1000px){.plan-card{max-width:320px;padding:1.25rem}.faq-grid{grid-template-columns:1fr;gap:1.5rem}}@media(max-width:750px){.subscription-plans-container{padding:1rem}.plans-header h2{font-size:1.5rem}.plans-subtitle{font-size:.95rem}.billing-toggle{flex-direction:column;width:100%}.billing-option{width:100%;justify-content:center}.plans-grid{flex-direction:column;align-items:center}.plan-card{max-width:400px;width:100%;padding:1.25rem}.plan-limits{gap:.75rem}.paid-features-section{padding:1.5rem}.paid-features-grid{flex-direction:column;align-items:flex-start;gap:.75rem}.plans-faq{padding:1.5rem}.plans-faq h3{font-size:1.25rem}}@media print{.billing-toggle,.plan-button{display:none}.plan-card{break-inside:avoid;box-shadow:none;border:1px solid var(--color-border)}}.usage-summary-container{max-width:1200px;margin:0 auto;padding:2rem}.usage-summary-header{margin-bottom:2rem}.header-content{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.usage-summary-header h2{font-size:1.75rem;color:var(--color-foreground);font-family:var(--font-heading);margin:0}.plan-badge-container{display:flex;align-items:center}.plan-badge{display:inline-flex;align-items:center;padding:.5rem 1.25rem;border-radius:25px;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.plan-badge.plan-free,.plan-badge.plan-gratis{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#6b7280}.plan-badge.plan-starter{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8}.plan-badge.plan-professional,.plan-badge.plan-profesional{background:rgba(var(--color-primary-rgb),.12);color:var(--color-primary-dark)}.plan-badge.plan-despacho{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#b45309}.plan-badge.plan-enterprise{background:var(--color-primary);color:#fff;box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.3)}.plan-name{font-size:1rem;color:var(--color-primary);font-weight:600;margin:0;text-transform:uppercase;letter-spacing:.5px}.usage-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.usage-metric-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:1.5rem;transition:all var(--transition-slow)}.usage-metric-card:hover{transform:translateY(-4px);box-shadow:0 4px 20px #00000026}.metric-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.metric-icon{font-size:1.75rem;line-height:1}.metric-header h3{margin:0;font-size:1rem;color:var(--color-foreground);font-weight:600}.metric-stats{display:flex;flex-direction:column;gap:.75rem}.metric-numbers{display:flex;align-items:baseline;justify-content:center;gap:.5rem}.metric-numbers .current{font-size:1.75rem;font-weight:700;color:var(--color-primary)}.metric-numbers .separator{font-size:1.25rem;color:#ccc;font-weight:400}.metric-numbers .max{font-size:1.25rem;font-weight:600;color:var(--color-muted)}.metric-numbers .current-label{font-size:.85rem;color:var(--color-muted-light);font-weight:500;margin-left:.5rem}.unlimited-badge{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-radius:25px;margin-top:.5rem}.unlimited-icon{font-size:1.25rem;color:#10b981;font-weight:700}.unlimited-text{color:#059669;font-weight:700;font-size:.95rem;text-transform:uppercase;letter-spacing:.5px}.usage-metric-card.feature-card{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:2px solid #86efac}.feature-highlight{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem}.feature-check-icon{font-size:1.5rem;color:#10b981}.feature-value{font-size:1.5rem;font-weight:700;color:#059669}.feature-description{text-align:center;color:#047857;font-size:.9rem;font-weight:500}.progress-bar{width:100%;height:10px;background:var(--color-background);border-radius:5px;overflow:hidden;position:relative}.progress-fill{height:100%;border-radius:5px;transition:width .6s ease-out,background .3s;position:relative}.progress-fill.success{background:linear-gradient(90deg,#28a745,#20c997)}.progress-fill.warning{background:linear-gradient(90deg,#ffc107,#fd7e14)}.progress-fill.danger{background:linear-gradient(90deg,#dc3545,#c82333)}.metric-percentage{text-align:center;color:var(--color-muted);font-size:.875rem;font-weight:600}.metric-value{display:flex;justify-content:center;align-items:center;min-height:60px}.historical-years{font-size:1.1rem;color:#28a745;font-weight:600}.features-section{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:1.5rem;margin-bottom:1.5rem}.features-section h3{font-size:1.1rem;color:var(--color-foreground);margin:0 0 1rem;font-weight:600}.features-list{display:flex;flex-wrap:wrap;gap:.75rem}.feature-badge{display:inline-block;padding:.5rem 1rem;background:linear-gradient(135deg,#e8eaf6,#f3e5f5);color:var(--color-primary);border-radius:var(--radius-pill);font-size:.875rem;font-weight:600;white-space:nowrap}.near-limit-alert{background:linear-gradient(135deg,#fff3cd,#ffe8a1);border:2px solid #ffc107;border-radius:var(--radius-lg);padding:1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;animation:pulseAlert 2s ease-in-out infinite}@keyframes pulseAlert{0%,to{box-shadow:0 0 #ffc10766}50%{box-shadow:0 0 0 10px #ffc10700}}.alert-content{display:flex;align-items:flex-start;gap:1rem;flex:1}.alert-icon{font-size:1.5rem;line-height:1}.alert-content h4{margin:0 0 .25rem;color:#856404;font-size:1.1rem;font-weight:600}.alert-content p{margin:0;color:#856404;font-size:.95rem}.view-plans-button{padding:.75rem 1.5rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.view-plans-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.4)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-state p{color:var(--color-muted);font-size:.95rem}.error-message{background:linear-gradient(135deg,#ffebee,#ffcdd2);color:#c62828;padding:1.5rem;border-radius:var(--radius-lg);border-left:4px solid #c62828;font-size:.95rem;font-weight:500}@media(max-width:900px){.usage-metrics-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.usage-summary-container{padding:1rem}.header-content{flex-direction:column;align-items:flex-start;gap:.75rem}.usage-summary-header h2{font-size:1.5rem}.usage-metrics-grid{grid-template-columns:1fr;gap:1rem}.usage-metric-card{padding:1.25rem}.metric-numbers .current{font-size:1.5rem}.metric-numbers .max{font-size:1.1rem}.unlimited-badge{padding:.5rem 1rem}.unlimited-text{font-size:.85rem}.near-limit-alert{flex-direction:column;align-items:stretch}.view-plans-button{width:100%}.features-list{flex-direction:column}.feature-badge{text-align:center}}@media(max-width:480px){.usage-summary-container{padding:.75rem}.usage-summary-header h2{font-size:1.25rem}.plan-name{font-size:.875rem}.metric-icon{font-size:1.5rem}.metric-header h3{font-size:.9rem}.metric-numbers .current{font-size:1.25rem}.metric-numbers .separator,.metric-numbers .max{font-size:1rem}.features-section,.usage-metric-card{padding:1rem}.alert-content h4{font-size:1rem}.alert-content p{font-size:.875rem}}.upgrade-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.upgrade-modal-container{background:var(--color-surface);border-radius:var(--radius-xl);width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:slideUp .3s ease-out}.upgrade-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.75rem;border-bottom:1px solid var(--color-border);background:var(--color-primary);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.upgrade-modal-header h2{margin:0;font-size:1.25rem;font-weight:600;color:#fff}.upgrade-modal-close{background:#fff3;border:none;font-size:2rem;color:#fff;cursor:pointer;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1;padding:0}.upgrade-modal-close:hover:not(:disabled){background:#ffffff4d;transform:rotate(90deg)}.upgrade-modal-close:disabled{opacity:.5;cursor:not-allowed}.upgrade-modal-content{padding:2rem 1.75rem;overflow-y:auto;flex:1}.plan-comparison{margin-bottom:1.5rem;text-align:center}.comparison-text{font-size:1.05rem;color:#4b5563;line-height:1.6;margin:0}.comparison-text strong{color:var(--color-primary);font-weight:600}.benefits-section{margin-bottom:1.5rem}.benefits-section h3{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--color-foreground)}.benefits-list{list-style:none;padding:0;margin:0}.benefits-list li{display:flex;align-items:center;padding:.75rem 1rem;margin-bottom:.5rem;background:rgba(var(--color-primary-rgb),.03);border:1px solid rgba(var(--color-primary-rgb),.13);border-radius:var(--radius-md);transition:all .2s}.benefits-list li:hover{background:rgba(var(--color-primary-rgb),.08);border-color:rgba(var(--color-primary-rgb),.25);transform:translate(4px)}.benefit-icon{font-size:1.25rem;margin-right:.75rem;flex-shrink:0}.benefit-text{font-size:.95rem;color:var(--color-foreground);font-weight:500}.benefit-change{color:var(--color-muted);font-size:.875rem;font-weight:400}.enterprise-contact{text-align:center;padding:2rem 1rem;background:rgba(var(--color-primary-rgb),.03);border:2px solid rgba(var(--color-primary-rgb),.19);border-radius:var(--radius-lg);margin-bottom:1.5rem}.enterprise-icon{font-size:3rem;margin-bottom:1rem}.enterprise-contact h3{margin:0 0 .75rem;font-size:1.15rem;font-weight:600;color:var(--color-foreground)}.enterprise-description{margin:0;font-size:.95rem;color:var(--color-muted);line-height:1.6}.billing-cycle-section{margin-bottom:1.5rem}.billing-cycle-section h3{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--color-foreground)}.billing-options{display:flex;flex-direction:column;gap:.75rem}.billing-option{display:flex;align-items:center;padding:1rem 1.25rem;border:2px solid var(--color-border);border-radius:10px;cursor:pointer;transition:all .2s;position:relative}.billing-option:hover{border-color:var(--color-primary);background:rgba(var(--color-primary-rgb),.02)}.billing-option.selected{border-color:var(--color-primary);background:rgba(var(--color-primary-rgb),.03);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.billing-option input[type=radio]{position:absolute;opacity:0;pointer-events:none}.radio-custom{width:20px;height:20px;border:2px solid var(--color-border);border-radius:50%;margin-right:1rem;flex-shrink:0;position:relative;transition:all .2s}.billing-option.selected .radio-custom{border-color:var(--color-primary);background:#fff}.billing-option.selected .radio-custom:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;background:var(--color-primary);border-radius:50%}.billing-option:hover .radio-custom{border-color:var(--color-primary)}.billing-details{display:flex;flex-direction:column;gap:.25rem;flex:1}.billing-label{font-size:.95rem;font-weight:600;color:var(--color-foreground)}.billing-price{font-size:1.1rem;font-weight:700;color:var(--color-primary)}.billing-savings{font-size:.85rem;color:#059669;font-weight:500;background:var(--color-success-light);padding:.15rem .5rem;border-radius:var(--radius-sm);display:inline-block;margin-top:.25rem;align-self:flex-start}.total-section{display:flex;justify-content:space-between;align-items:center;padding:1.25rem;background:rgba(var(--color-primary-rgb),.06);border:2px solid rgba(var(--color-primary-rgb),.19);border-radius:10px;margin-bottom:1rem}.total-label{font-size:1rem;font-weight:600;color:var(--color-foreground)}.total-amount{font-size:1.5rem;font-weight:700;color:var(--color-primary)}.upgrade-error{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);color:#991b1b;font-size:.9rem;margin-top:1rem;animation:shake .4s ease-out}.error-icon{font-size:1.25rem;flex-shrink:0}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.upgrade-modal-footer{display:flex;gap:.75rem;padding:1.25rem 1.75rem;border-top:1px solid var(--color-border);background:var(--color-background);border-radius:0 0 var(--radius-xl) var(--radius-xl)}.modal-button{flex:1;padding:.875rem 1.5rem;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.modal-button.cancel{background:var(--color-surface);color:#4b5563;border:2px solid var(--color-border)}.modal-button.cancel:hover:not(:disabled){background:var(--color-background);border-color:var(--color-muted-light)}.modal-button.confirm{background:var(--color-primary);color:#fff}.modal-button.confirm:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.4)}.modal-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.button-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@media(max-width:640px){.upgrade-modal-container{max-width:95%;max-height:95vh}.upgrade-modal-header{padding:1.25rem}.upgrade-modal-header h2{font-size:1.125rem}.upgrade-modal-content{padding:1.5rem 1.25rem}.upgrade-modal-footer{flex-direction:column;padding:1rem 1.25rem}.comparison-text,.benefits-section h3,.billing-cycle-section h3{font-size:.95rem}.benefit-text{font-size:.875rem}.billing-option{padding:.875rem 1rem}.billing-price{font-size:1rem}.total-section{padding:1rem}.total-label{font-size:.9rem}.total-amount{font-size:1.25rem}.enterprise-icon{font-size:2.5rem}.enterprise-contact h3{font-size:1rem}.enterprise-description{font-size:.875rem}}.upgrade-confirmation-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.upgrade-confirmation-modal{background:var(--color-surface);border-radius:var(--radius-lg);max-width:500px;width:90%;box-shadow:var(--shadow-xl);animation:fadeInScale .3s ease-out}@keyframes fadeInScale{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.upgrade-confirmation-header{padding:32px 32px 24px;text-align:center;border-bottom:1px solid var(--color-border)}.upgrade-confirmation-header h2{margin:0 0 8px;font-size:24px;font-weight:600;color:var(--color-foreground)}.confirmation-subtitle{margin:0;font-size:14px;color:var(--color-muted)}.upgrade-confirmation-body{padding:32px}.confirmation-details{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.detail-card{display:flex;align-items:center;gap:16px;padding:16px;background:var(--color-background);border-radius:var(--radius-md);border:1px solid var(--color-border);transition:all .2s}.detail-card:hover{background:var(--color-background)}.detail-card.highlight{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-color:#10b981}.detail-icon{font-size:32px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-surface);border-radius:var(--radius-md);flex-shrink:0}.detail-content{flex:1;display:flex;flex-direction:column;gap:4px}.detail-label{font-size:13px;color:var(--color-muted);font-weight:500}.detail-value{font-size:16px;color:var(--color-foreground);font-weight:600}.detail-value.amount{font-size:24px;color:#059669}.savings-badge{display:inline-block;margin-left:8px;padding:2px 8px;background:#059669;color:#fff;font-size:11px;font-weight:600;border-radius:var(--radius-lg)}.confirmation-info{background:var(--color-info-light);border:1px solid #bfdbfe;border-radius:var(--radius-md);padding:16px}.info-text{margin:0 0 8px;font-size:14px;color:#1e40af;line-height:1.5}.info-text:last-child{margin-bottom:0}.info-text.small{font-size:12px;color:#3b82f6}.upgrade-confirmation-actions{padding:24px 32px 32px;display:flex;gap:12px;border-top:1px solid var(--color-border)}.btn-back,.btn-confirm{flex:1;padding:14px 24px;border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.btn-back{background:var(--color-surface);color:var(--color-muted);border:1px solid var(--color-border)}.btn-back:hover{background:var(--color-background);color:var(--color-foreground);border-color:var(--color-muted-light)}.btn-confirm{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 12px #3b82f64d}.btn-confirm:hover{transform:translateY(-2px);box-shadow:0 6px 16px #3b82f666}.btn-confirm:active{transform:translateY(0)}@media(max-width:640px){.upgrade-confirmation-modal{max-width:95%}.upgrade-confirmation-header,.upgrade-confirmation-body,.upgrade-confirmation-actions{padding:24px 20px}.upgrade-confirmation-actions{flex-direction:column}.detail-card{padding:12px}.detail-icon{font-size:24px;width:40px;height:40px}.detail-value.amount{font-size:20px}}.workspace-subscription-container{max-width:1200px;margin:0 auto;padding:2rem}.workspace-subscription-loading{text-align:center;padding:3rem;color:var(--color-muted);font-size:1.1rem}.subscription-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid var(--color-border);padding-bottom:.5rem}.subscription-tab{padding:.75rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;color:var(--color-muted);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;position:relative}.subscription-tab:hover{color:var(--color-primary)}.subscription-tab.active{color:var(--color-primary);background:none;font-weight:600;border-bottom-color:var(--color-primary)}.subscription-tab-content{min-height:400px}.subscription-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.subscription-header h2{font-size:1.8rem;color:var(--color-foreground);font-family:var(--font-heading);margin:0 0 .5rem}.workspace-name{color:var(--color-muted);font-size:1rem;margin:0}.plan-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:2rem;margin-bottom:2rem}.plan-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:2px solid var(--color-border)}.plan-header h3{margin:0 0 .75rem;font-size:1.3rem;color:var(--color-foreground)}.plan-badge{display:inline-block;padding:.5rem 1rem;border-radius:var(--radius-pill);font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.plan-badge.plan-free{background:var(--color-border-light);color:var(--color-muted)}.plan-badge.plan-starter,.plan-badge.plan-professional{background:var(--color-primary);color:#fff}.plan-badge.plan-enterprise{background:var(--color-primary-dark);color:#fff}.plan-price{text-align:right}.plan-price .price{font-size:2.5rem;font-weight:700;color:var(--color-primary)}.plan-price .period{font-size:1rem;color:var(--color-muted);margin-left:.25rem}.plan-features{margin-top:1.5rem}.plan-features h4{margin:0 0 1rem;font-size:1rem;color:var(--color-foreground);font-weight:600}.plan-features ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem}.plan-features li{color:var(--color-muted);font-size:.95rem;padding:.5rem;background:var(--color-background);border-radius:var(--radius-md)}.subscription-status{margin-top:1.5rem;padding:1rem;background:var(--color-background);border-radius:var(--radius-md)}.subscription-status p{margin:.5rem 0;color:var(--color-muted)}.subscription-status strong{font-weight:600}.status-active{color:var(--color-success)}.status-trial{color:var(--color-warning)}.status-expired{color:var(--color-error)}.usage-section{margin-top:2rem}.usage-section h3{font-size:1.3rem;color:var(--color-foreground);margin-bottom:1.5rem}.usage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.usage-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:1.5rem;transition:all var(--transition-slow)}.usage-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.usage-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.usage-icon{font-size:2rem}.usage-header h4{margin:0;font-size:1.1rem;color:var(--color-foreground)}.usage-stats{display:flex;flex-direction:column;gap:.75rem}.usage-numbers{display:flex;align-items:baseline;justify-content:center;gap:.5rem}.usage-numbers .current{font-size:2rem;font-weight:700;color:var(--color-primary)}.usage-numbers .separator{font-size:1.5rem;color:var(--color-border)}.usage-numbers .max{font-size:1.5rem;font-weight:600;color:var(--color-muted)}.usage-bar{width:100%;height:12px;background:var(--color-background);border-radius:var(--radius-md);overflow:hidden;position:relative}.usage-fill{height:100%;border-radius:var(--radius-md);transition:width .6s ease,background .3s}.usage-fill.success{background:var(--color-success)}.usage-fill.warning{background:var(--color-warning)}.usage-fill.danger{background:var(--color-error)}.usage-percentage{text-align:center;color:var(--color-muted);font-size:.85rem;font-weight:600}.upgrade-cta{background:var(--color-primary);color:#fff;border-radius:var(--radius-lg);padding:2rem;text-align:center;margin-top:2rem}.upgrade-cta h3{margin:0 0 .5rem;font-size:1.5rem}.upgrade-cta p{margin:0 0 1.5rem;opacity:.9}.upgrade-button{padding:.75rem 2rem;background:#fff;color:var(--color-primary);border:none;border-radius:var(--radius-pill);font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s}.upgrade-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.warning-box{background:var(--color-warning-light);border:2px solid var(--color-warning);border-radius:var(--radius-lg);padding:1.5rem;margin-top:2rem}.warning-box h4{margin:0 0 .5rem;color:#92400e;font-size:1.1rem}.warning-box p{margin:0;color:#92400e}.error-message{background-color:var(--color-error-light);color:var(--color-error);padding:1rem;border-radius:var(--radius-md);margin-bottom:1.5rem;border-left:4px solid var(--color-error)}@media(max-width:768px){.workspace-subscription-container{padding:1rem}.subscription-header{flex-direction:column;align-items:flex-start;gap:1rem}.plan-header{flex-direction:column;gap:1rem}.plan-price{text-align:left}.plan-features ul,.usage-grid{grid-template-columns:1fr}.usage-numbers .current{font-size:1.5rem}.usage-numbers .max{font-size:1.2rem}}.pdf-viewer-backdrop{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;animation:fadeIn .2s ease-out}.pdf-viewer-modal{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:1200px;height:90vh;max-height:900px;display:flex;flex-direction:column;animation:slideUp .3s ease-out;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pdf-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border);background:rgba(var(--color-primary-rgb),.08);flex-shrink:0}.pdf-viewer-title-section{display:flex;flex-direction:column;gap:.25rem}.pdf-viewer-title{margin:0;font-size:1.1rem;font-weight:600;color:var(--color-foreground)}.pdf-viewer-rfc{font-size:.85rem;font-weight:500;color:var(--color-primary)}.pdf-viewer-date{font-size:.75rem;color:var(--color-muted)}.pdf-viewer-actions{display:flex;gap:.5rem;align-items:center}.pdf-viewer-btn{display:flex;align-items:center;gap:.4rem;padding:.5rem .75rem;border:none;border-radius:var(--radius-md);font-size:.8rem;font-weight:500;cursor:pointer;transition:all var(--transition-base)}.pdf-viewer-btn:hover{transform:translateY(-1px)}.pdf-viewer-btn-download{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}.pdf-viewer-btn-download:hover{background:#dbeafe}.pdf-viewer-btn-newtab{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.pdf-viewer-btn-newtab:hover{background:#dcfce7}.pdf-viewer-btn-close{background:var(--color-background);color:var(--color-muted);border:1px solid var(--color-border);padding:.5rem}.pdf-viewer-btn-close:hover{background:var(--color-border);color:var(--color-foreground)}.pdf-viewer-content{flex:1;overflow:hidden;background:var(--color-background)}.pdf-viewer-iframe{width:100%;height:100%;border:none}.pdf-viewer-footer{padding:.5rem 1rem;background:var(--color-background);border-top:1px solid var(--color-border);text-align:center;font-size:.75rem;color:var(--color-muted);flex-shrink:0}.pdf-viewer-footer kbd{background:var(--color-border);padding:.15rem .4rem;border-radius:var(--radius-sm);font-family:monospace;font-size:.7rem}@media(max-width:768px){.pdf-viewer-backdrop{padding:0}.pdf-viewer-modal{border-radius:0;height:100vh;max-height:none}.pdf-viewer-header{flex-direction:column;gap:.75rem;padding:1rem}.pdf-viewer-title-section{text-align:center}.pdf-viewer-actions{width:100%;justify-content:center}.pdf-viewer-btn{flex:1;justify-content:center}.pdf-viewer-btn-close{flex:none}}.pdf-documents-section{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--color-border)}.pdf-section-title{margin:0 0 .5rem;color:var(--color-foreground);font-size:1.2rem;font-family:var(--font-heading)}.pdf-section-subtitle{margin:0 0 1rem;color:var(--color-muted);font-size:.85rem}.pdf-error-message{background:var(--color-error-light);border:1px solid var(--color-error);color:#dc2626;padding:.75rem 1rem;border-radius:var(--radius-md);margin-bottom:1rem;font-size:.9rem}.pdf-success-message{background:var(--color-success-light);border:1px solid var(--color-success);color:#047857;padding:.75rem 1rem;border-radius:var(--radius-md);margin-bottom:1rem;font-size:.9rem}.pdf-no-fiel-warning,.pdf-cfdi-warning{background:var(--color-warning-light);border:1px solid var(--color-warning);color:#92400e;padding:.75rem 1rem;border-radius:var(--radius-md);margin-bottom:1rem;font-size:.85rem}.pdf-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.pdf-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);padding:1.25rem;display:flex;flex-direction:column;transition:box-shadow var(--transition-base),border-color var(--transition-base)}.pdf-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-border)}.pdf-card.has-document{border-left:4px solid #10b981}.pdf-card.coming-soon{opacity:.7;border-left:4px solid #9ca3af}.pdf-card-header{margin-bottom:1rem}.pdf-card-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.5rem}.pdf-card-title{margin:0;font-size:1rem;font-weight:600;color:var(--color-foreground)}.pdf-card-badge{background:var(--color-primary);color:#fff;font-size:.7rem;font-weight:600;padding:.25rem .5rem;border-radius:var(--radius-sm);white-space:nowrap}.pdf-card-description{margin:0;font-size:.8rem;color:var(--color-muted);line-height:1.4}.pdf-card-status{flex:1;display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem;padding:.75rem;background:var(--color-background);border-radius:var(--radius-md)}.status-loading{color:var(--color-muted);font-size:.85rem}.status-available{color:#10b981;font-weight:600;font-size:.9rem}.status-unavailable{color:var(--color-muted-light);font-weight:500;font-size:.9rem}.status-coming-soon{color:var(--color-muted);font-weight:500;font-size:.9rem}.status-date{color:var(--color-muted);font-size:.75rem}.pdf-card-actions{display:flex;gap:.5rem;flex-wrap:wrap}.btn-pdf{flex:1;min-width:80px;padding:.6rem .75rem;border:none;border-radius:var(--radius-md);font-size:.8rem;font-weight:500;cursor:pointer;transition:opacity var(--transition-base),transform var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:.4rem}.btn-pdf:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-pdf:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-view{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}.btn-view:hover:not(:disabled){background:#dbeafe}.btn-download{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.btn-download:hover:not(:disabled){background:#dcfce7}.btn-fetch{background:var(--color-primary);color:#fff}.btn-coming-soon{background:var(--color-background);color:var(--color-muted-light);border:1px solid var(--color-border)}.spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@media(max-width:768px){.pdf-cards-grid{grid-template-columns:1fr}.pdf-card-actions{flex-direction:column}.btn-pdf{min-width:100%}}.sat-sync-container{padding:1.5rem;max-width:1200px;margin:0 auto}.sat-sync-title{margin:0 0 .5rem;color:var(--color-foreground);font-family:var(--font-heading);font-size:1.5rem}.sat-sync-subtitle{margin:0 0 1rem;color:var(--color-muted);font-size:.9rem}.sat-sync-company-info{display:flex;align-items:baseline;justify-content:center;gap:1rem;background:rgba(var(--color-primary-rgb),.08);border:1px solid rgba(var(--color-primary-rgb),.25);padding:.75rem 1.5rem;border-radius:var(--radius-md);margin-bottom:1rem}.sat-sync-company-info>.company-label{font-size:.85rem;color:var(--color-muted)}.sat-sync-company-info>.company-rfc{font-weight:600;color:var(--color-primary)}.sat-sync-company-info>.company-name{color:var(--color-foreground)}.sat-sync-company-info>.fiel-status{font-size:.75rem;padding:.25rem .75rem;border-radius:999px;font-weight:500;align-self:center}.sat-sync-company-info .fiel-status.active{background:var(--color-success-light);color:var(--color-success)}.sat-sync-company-info .fiel-status.none{background:var(--color-error-light);color:var(--color-error)}.sat-sync-no-company{background:var(--color-warning-light);border:1px solid var(--color-warning);color:#92400e;padding:1rem;border-radius:var(--radius-md);margin-bottom:1rem;text-align:center}.form-hint-inline{font-size:.8rem;color:var(--color-warning);margin-left:1rem}.form-hint-inline.warning{color:var(--color-error);font-weight:500}.sat-sync-error{background:var(--color-error-light);border:1px solid var(--color-error);color:var(--color-error);padding:.75rem 1rem;border-radius:var(--radius-md);margin-bottom:1rem}.sat-sync-success{background:var(--color-success-light);border:1px solid var(--color-success);color:var(--color-success);padding:.75rem 1rem;border-radius:var(--radius-md);margin-bottom:1rem}.sat-sync-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--color-surface);padding:1rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);text-align:center;border-left:4px solid var(--color-muted)}.stat-card.stat-success{border-left-color:var(--color-success)}.stat-card.stat-running{border-left-color:var(--color-info)}.stat-card.stat-failed{border-left-color:var(--color-error)}.stat-value{display:block;font-size:1.75rem;font-weight:600;color:var(--color-foreground)}.stat-label{display:block;font-size:.8rem;color:var(--color-muted);margin-top:.25rem}.sat-sync-form-card{background:var(--color-surface);padding:1.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:1.5rem}.sat-sync-form-card h3{margin:0 0 1rem;color:var(--color-foreground);font-size:1.1rem}.sat-sync-form{display:flex;flex-direction:column;gap:1rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.85rem;font-weight:500;color:var(--color-foreground)}.form-group select,.form-group input{padding:.6rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.9rem;transition:border-color var(--transition-base)}.form-group select:focus,.form-group input:focus{outline:none;border-color:var(--color-primary)}.form-group select:disabled,.form-group input:disabled{background:var(--color-background);cursor:not-allowed}.form-hint{font-size:.75rem;color:var(--color-muted)}.form-hint.error{color:var(--color-error)}.form-actions{display:flex;justify-content:flex-end;margin-top:.5rem}.btn-trigger{background:var(--color-primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius-pill);font-size:.9rem;font-weight:500;cursor:pointer;transition:opacity .2s,transform .2s}.btn-trigger:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-trigger:disabled{opacity:.6;cursor:not-allowed}.sat-sync-jobs-card{background:var(--color-surface);padding:1.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.jobs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.jobs-header h3{margin:0;color:var(--color-foreground);font-size:1.1rem}.btn-refresh{background:var(--color-background);border:1px solid var(--color-border);padding:.5rem 1rem;border-radius:var(--radius-pill);font-size:.85rem;cursor:pointer;transition:background .2s}.btn-refresh:hover:not(:disabled){background:var(--color-border-light)}.btn-refresh:disabled{opacity:.6;cursor:not-allowed}.jobs-table-wrapper{overflow-x:auto}.jobs-table{width:100%;border-collapse:collapse;font-size:.85rem}.jobs-table th,.jobs-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--color-border)}.jobs-table th{background:var(--color-background);font-weight:600;color:var(--color-foreground);font-size:.8rem;text-transform:uppercase}.jobs-table tbody tr:hover{background:var(--color-background)}.company-rfc{display:block;font-weight:500;color:var(--color-foreground)}.company-name{display:block;font-size:.8rem;color:var(--color-muted);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.direction-badge{background:var(--color-border-light);color:var(--color-foreground);padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem}.status-badge{display:inline-block;color:#fff;padding:.25rem .6rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.progress-info{display:block;font-size:.8rem;color:var(--color-muted)}.job-actions{display:flex;gap:.5rem;align-items:center}.btn-action{border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.75rem;padding:.35rem .6rem;transition:opacity .2s}.btn-action:hover{opacity:.8}.btn-retry{background:var(--color-info-light);color:var(--color-info)}.btn-cancel{background:var(--color-error-light);color:var(--color-error)}.error-tooltip{color:var(--color-warning);cursor:help;font-size:1rem}.loading-state,.empty-state{text-align:center;padding:2rem;color:var(--color-muted)}.polling-indicator{text-align:center;padding:.75rem;color:var(--color-info);font-size:.8rem;background:var(--color-info-light);border-radius:0 0 var(--radius-md) var(--radius-md);margin:1rem -1.5rem -1.5rem}@media(max-width:768px){.sat-sync-container{padding:1rem}.form-row{grid-template-columns:1fr}.sat-sync-stats{grid-template-columns:repeat(2,1fr)}.jobs-table{font-size:.8rem}.jobs-table th,.jobs-table td{padding:.5rem}}.efo-list-view{width:100%}.efo-stats-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.efo-stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px;text-align:center;transition:all .2s ease}.efo-stat-card:hover{box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.15);border-color:var(--color-primary)}.efo-stat-card.presunto{border-left:4px solid #f59e0b;background:linear-gradient(135deg,#fffbeb,#fff)}.efo-stat-card.definitivo{border-left:4px solid #ef4444;background:linear-gradient(135deg,#fef2f2,#fff)}.efo-stat-value{font-size:32px;font-weight:700;color:var(--color-foreground);margin-bottom:8px}.efo-stat-card.presunto .efo-stat-value{color:#f59e0b}.efo-stat-card.definitivo .efo-stat-value{color:#ef4444}.efo-stat-label{font-size:13px;color:var(--color-muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.efo-controls{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap;align-items:center}.efo-search-form{display:flex;gap:8px;flex:1;min-width:300px}.efo-search-input{flex:1;padding:10px 16px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;transition:all .2s ease}.efo-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.efo-search-button{padding:10px 24px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.efo-search-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.3)}.efo-search-button:active{transform:translateY(0)}.efo-filters{display:flex;gap:8px}.efo-filter-select{padding:10px 16px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;background:var(--color-surface);cursor:pointer;transition:all .2s ease}.efo-filter-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.efo-import-button{padding:10px 24px;background:var(--color-surface);color:var(--color-primary);border:2px solid var(--color-primary);border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.efo-import-button:hover:not(:disabled){background:var(--color-primary);color:#fff}.efo-import-button:disabled{opacity:.5;cursor:not-allowed}.efo-search-result{position:relative;padding:16px 48px 16px 20px;margin-bottom:20px;border-radius:var(--radius-md);font-size:14px;display:flex;align-items:center;gap:12px}.efo-search-result.found{background:#f0fdf4;border:1px solid #86efac;color:#166534}.efo-search-result.not-found{background:#fffbeb;border:1px solid #fcd34d;color:#92400e}.efo-search-result p{margin:4px 0 0;font-size:13px;opacity:.9}.efo-search-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:20px;color:currentColor;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);transition:all .2s ease}.efo-search-clear:hover{background:#0000001a}.efo-table-container{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;margin-bottom:20px}.efo-table{width:100%;border-collapse:collapse}.efo-table thead{background:var(--color-primary);color:#fff}.efo-table th{padding:14px 16px;text-align:left;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.efo-table tbody tr{border-bottom:1px solid var(--color-border-light);transition:all .15s ease}.efo-table tbody tr:hover{background:var(--color-background)}.efo-table td{padding:14px 16px;font-size:14px;color:var(--color-foreground)}.efo-rfc{font-family:Monaco,Courier New,monospace;font-weight:600;color:var(--color-primary)}.efo-razon-social{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.efo-badge{display:inline-block;padding:4px 12px;border-radius:var(--radius-lg);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.efo-badge.presunto{background:var(--color-warning-light);color:#92400e;border:1px solid #fcd34d}.efo-badge.definitivo{background:var(--color-error-light);color:#991b1b;border:1px solid #fca5a5}.efo-pagination{display:flex;justify-content:space-between;align-items:center;padding:16px 0}.efo-pagination-info{font-size:14px;color:var(--color-muted)}.efo-pagination-controls{display:flex;gap:12px;align-items:center}.efo-pagination-page{font-size:14px;color:var(--color-foreground);font-weight:500}.efo-pagination-button{padding:8px 16px;background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.efo-pagination-button:hover:not(:disabled){background:var(--color-primary);color:#fff}.efo-pagination-button:disabled{opacity:.4;cursor:not-allowed;border-color:var(--color-border);color:var(--color-muted-light)}.efo-loading{text-align:center;padding:60px 20px;font-size:16px;color:var(--color-muted)}@media(max-width:768px){.efo-stats-panel{grid-template-columns:1fr 1fr}.efo-controls{flex-direction:column;align-items:stretch}.efo-search-form{min-width:auto}.efo-filters{flex-direction:column}.efo-filter-select,.efo-import-button{width:100%}.efo-table-container{overflow-x:auto}.efo-table{min-width:800px}.efo-pagination{flex-direction:column;gap:12px}.efo-pagination-controls{width:100%;justify-content:center}}@media(max-width:480px){.efo-stats-panel{grid-template-columns:1fr}.efo-stat-value{font-size:28px}}.efo-operations-view{width:100%}.efo-ops-filters{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:24px;margin-bottom:24px}.efo-ops-filter-group{margin-bottom:16px}.efo-ops-filter-group label{display:block;font-size:14px;font-weight:600;color:var(--color-foreground);margin-bottom:8px}.efo-ops-select{width:100%;padding:10px 16px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;background:var(--color-surface);cursor:pointer;transition:all .2s ease}.efo-ops-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.efo-ops-select:disabled{opacity:.5;cursor:not-allowed;background:var(--color-background)}.efo-ops-date-toggle{margin-bottom:16px}.efo-ops-date-toggle label{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--color-muted);cursor:pointer}.efo-ops-date-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer}.efo-ops-date-range{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;padding:16px;background:var(--color-background);border-radius:var(--radius-md)}.efo-ops-date-input label{display:block;font-size:13px;font-weight:600;color:var(--color-muted);margin-bottom:6px}.efo-ops-input{width:100%;padding:10px 16px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;background:var(--color-surface);transition:all .2s ease}.efo-ops-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.efo-ops-input:disabled{opacity:.5;cursor:not-allowed;background:var(--color-background)}.efo-ops-analyze-button{width:100%;padding:12px 24px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.efo-ops-analyze-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px rgba(var(--color-primary-rgb),.3)}.efo-ops-analyze-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.efo-ops-error{padding:16px 20px;margin-bottom:20px;background:#fef2f2;border:1px solid #fca5a5;border-radius:var(--radius-md);color:#991b1b;font-size:14px}.efo-ops-results{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.efo-ops-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:32px}.efo-ops-summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px;text-align:center;transition:all .2s ease}.efo-ops-summary-card:hover{box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.15)}.efo-ops-summary-card.alert{background:linear-gradient(135deg,#fffbeb,#fff);border-left:4px solid #f59e0b}.efo-ops-summary-card.danger{background:linear-gradient(135deg,#fef2f2,#fff);border-left:4px solid #ef4444}.efo-ops-summary-card.presunto{background:linear-gradient(135deg,#fffbeb,#fff);border-left:4px solid #f59e0b}.efo-ops-summary-card.definitivo{background:linear-gradient(135deg,#fef2f2,#fff);border-left:4px solid #ef4444}.efo-ops-summary-label{font-size:12px;color:var(--color-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.efo-ops-summary-value{font-size:28px;font-weight:700;color:var(--color-foreground)}.efo-ops-summary-card.alert .efo-ops-summary-value{color:#f59e0b}.efo-ops-summary-card.danger .efo-ops-summary-value{color:#ef4444}.efo-ops-summary-card.presunto .efo-ops-summary-value{color:#f59e0b}.efo-ops-summary-card.definitivo .efo-ops-summary-value{color:#ef4444}.efo-ops-summary-percent{font-size:13px;color:var(--color-muted);margin-top:4px;font-weight:500}.efo-ops-no-results{text-align:center;padding:60px 20px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.efo-ops-no-results-icon{font-size:64px;margin-bottom:16px;color:#10b981}.efo-ops-no-results-title{font-size:20px;font-weight:600;color:var(--color-foreground);margin-bottom:8px}.efo-ops-no-results-text{font-size:14px;color:var(--color-muted);line-height:1.6}.efo-ops-breakdown{margin-bottom:32px}.efo-ops-breakdown h3{font-size:18px;font-weight:600;color:var(--color-foreground);font-family:var(--font-heading);margin-bottom:16px}.efo-ops-breakdown-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.efo-ops-breakdown-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px;transition:all .2s ease}.efo-ops-breakdown-card:hover{box-shadow:0 4px 12px #0000001a;border-color:var(--color-primary)}.efo-ops-breakdown-rfc{font-family:Monaco,Courier New,monospace;font-size:16px;font-weight:700;color:var(--color-primary);margin-bottom:4px}.efo-ops-breakdown-name{font-size:14px;color:var(--color-muted);margin-bottom:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.efo-ops-breakdown-stats{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.efo-ops-breakdown-count{font-size:13px;color:var(--color-foreground);font-weight:600;background:var(--color-background);padding:4px 10px;border-radius:var(--radius-lg)}.efo-ops-breakdown-amount{font-size:13px;color:#10b981;font-weight:700}.efo-ops-alerts{margin-bottom:32px}.efo-ops-alerts h3{font-size:18px;font-weight:600;color:var(--color-foreground);font-family:var(--font-heading);margin-bottom:16px}.efo-ops-table-container{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.efo-ops-table{width:100%;border-collapse:collapse}.efo-ops-table thead{background:var(--color-primary);color:#fff}.efo-ops-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.efo-ops-table tbody tr{border-bottom:1px solid var(--color-border-light);transition:all .15s ease}.efo-ops-table tbody tr:hover{background:var(--color-background)}.efo-ops-table td{padding:12px 16px;font-size:13px;color:var(--color-foreground)}.efo-ops-uuid{font-family:Monaco,Courier New,monospace;font-size:12px;color:var(--color-primary)}.efo-ops-type-badge{display:inline-block;padding:4px 10px;border-radius:var(--radius-lg);font-size:11px;font-weight:600;text-transform:uppercase}.efo-ops-type-badge.issued{background:rgba(var(--color-primary-rgb),.1);color:var(--color-primary-dark)}.efo-ops-type-badge.received{background:#d1fae5;color:#065f46}.efo-ops-efo-rfc{font-family:Monaco,Courier New,monospace;font-weight:600;color:#ef4444}.efo-ops-efo-name{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.efo-ops-amount{font-weight:600;color:#10b981;text-align:right}.efo-ops-empty{text-align:center;padding:80px 20px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.efo-ops-empty-icon{font-size:72px;margin-bottom:20px;opacity:.5}.efo-ops-empty-title{font-size:22px;font-weight:600;color:var(--color-foreground);margin-bottom:12px}.efo-ops-empty-text{font-size:15px;color:var(--color-muted);line-height:1.6;margin-bottom:20px;max-width:500px;margin-left:auto;margin-right:auto}.efo-ops-empty-note{font-size:13px;color:var(--color-muted);background:var(--color-background);padding:12px 20px;border-radius:var(--radius-md);border-left:3px solid var(--color-primary);max-width:600px;margin:0 auto;text-align:left}.efo-ops-empty-note strong{color:var(--color-primary)}@media(max-width:768px){.efo-ops-date-range{grid-template-columns:1fr}.efo-ops-summary{grid-template-columns:repeat(2,1fr)}.efo-ops-breakdown-grid{grid-template-columns:1fr}.efo-ops-table-container{overflow-x:auto}.efo-ops-table{min-width:900px}}@media(max-width:480px){.efo-ops-filters{padding:16px}.efo-ops-summary{grid-template-columns:1fr}.efo-ops-summary-value{font-size:24px}.efo-ops-empty{padding:40px 16px}.efo-ops-empty-icon{font-size:48px}.efo-ops-empty-title{font-size:18px}.efo-ops-empty-text{font-size:14px}}.efo-section{width:100%}.efo-section-header{margin-bottom:24px}.efo-section-header h2{margin:0 0 4px;font-size:var(--text-2xl);color:var(--color-foreground);font-family:var(--font-heading);font-weight:var(--font-bold)}.efo-section-description{margin:0;font-size:14px;color:var(--color-muted);line-height:1.5}.efo-subtabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:2px solid var(--color-border)}.efo-subtab{display:flex;align-items:center;gap:8px;padding:12px 24px;background:none;border:none;border-bottom:2px solid transparent;color:var(--color-muted);font-family:var(--font-body);font-size:14px;font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);margin-bottom:-1px}.efo-subtab:hover{color:var(--color-foreground)}.efo-subtab.active{color:var(--color-foreground);border-bottom-color:var(--color-primary)}.efo-subtab-content{min-height:400px}@media(max-width:768px){.efo-section{padding:16px}.efo-section-header h2{font-size:20px}.efo-subtabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.efo-subtab{padding:10px 16px;font-size:14px;white-space:nowrap}}.cxc-dashboard{padding:1.5rem;max-width:1400px;margin:0 auto}.cxc-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--color-border);padding-bottom:0}.cxc-tab{padding:.75rem 1.5rem;border:none;background:none;cursor:pointer;font-size:.95rem;color:var(--color-muted);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s ease}.cxc-tab:hover{color:var(--color-foreground);background-color:var(--color-background)}.cxc-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:500}.cxc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.cxc-header h2{margin:0;font-family:var(--font-heading);font-size:1.5rem;color:var(--color-foreground)}.cxc-actions{display:flex;gap:.75rem}.cxc-btn{padding:.5rem 1rem;border:none;border-radius:var(--radius-pill);cursor:pointer;font-size:.875rem;transition:all .2s ease}.cxc-btn:disabled{opacity:.6;cursor:not-allowed}.cxc-btn-primary{background-color:var(--color-primary);color:#fff}.cxc-btn-primary:hover:not(:disabled){opacity:.9}.cxc-btn-secondary{background-color:var(--color-background);color:var(--color-foreground);border:1px solid var(--color-border)}.cxc-btn-secondary:hover:not(:disabled){background-color:var(--color-border-light)}.cxc-btn-export{background-color:var(--color-success);color:#fff}.cxc-btn-export:hover:not(:disabled){opacity:.9}.cxc-btn-icon{padding:.25rem .5rem;background:none;border:none;cursor:pointer;font-size:1rem}.cxc-btn-icon:hover{background-color:var(--color-background);border-radius:var(--radius-sm)}.cxc-error{padding:.75rem 1rem;background-color:var(--color-error-light);color:var(--color-error);border-radius:var(--radius-sm);margin-bottom:1rem}.cxc-success{padding:.75rem 1rem;background-color:var(--color-success-light);color:var(--color-success);border-radius:var(--radius-sm);margin-bottom:1rem}.cxc-loading{display:flex;flex-direction:column;align-items:center;padding:3rem;color:var(--color-muted)}.cxc-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:cxc-spin .8s linear infinite}@keyframes cxc-spin{to{transform:rotate(360deg)}}.cxc-empty-state{text-align:center;padding:4rem 2rem;color:var(--color-muted)}.cxc-empty-icon{display:block;margin-bottom:1rem;color:var(--color-muted)}.cxc-empty-state h3{margin:0 0 .5rem;color:var(--color-foreground)}.cxc-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;margin-bottom:2rem}.cxc-card{background:var(--color-surface);border-radius:var(--radius-md);padding:1.5rem;box-shadow:var(--shadow-sm)}.cxc-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.cxc-card-icon{font-size:1.25rem}.cxc-card-title{font-size:.875rem;color:var(--color-muted);font-weight:500}.cxc-card-value{font-size:2rem;font-weight:600;margin-bottom:1rem}.cxc-card-receivable{border-left:4px solid var(--color-success)}.cxc-card-receivable .cxc-card-value{color:var(--color-success)}.cxc-card-payable{border-left:4px solid var(--color-error)}.cxc-card-payable .cxc-card-value{color:var(--color-error)}.cxc-card-breakdown{display:flex;flex-wrap:wrap;gap:.75rem}.cxc-breakdown-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.cxc-status-badge{display:inline-block;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;text-transform:uppercase}.status-pendiente{background-color:var(--color-warning-light);color:var(--color-warning)}.status-parcial{background-color:var(--color-info-light);color:var(--color-info)}.status-pagada{background-color:var(--color-success-light);color:var(--color-success)}.status-vencida{background-color:var(--color-error-light);color:var(--color-error)}.cxc-alerts-section{margin-top:2rem}.cxc-alerts-section h3{margin:0 0 1rem;font-size:1.1rem;color:var(--color-foreground)}.cxc-alerts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.cxc-alert-card{background:var(--color-surface);border-radius:var(--radius-md);padding:1rem;text-align:center;box-shadow:var(--shadow-sm)}.cxc-alert-icon{font-size:1.5rem;display:block;margin-bottom:.5rem}.cxc-alert-count{font-size:1.75rem;font-weight:600;color:var(--color-foreground);display:block}.cxc-alert-label{font-size:.75rem;color:var(--color-muted)}.cxc-table-container{background:var(--color-surface);border-radius:var(--radius-md);padding:1.5rem;box-shadow:var(--shadow-sm)}.cxc-table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.cxc-table-header h3{margin:0;font-size:1.1rem}.cxc-table-actions{display:flex;gap:.75rem;align-items:center}.cxc-filter-select{padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem}.cxc-table{width:100%;border-collapse:collapse;font-size:.875rem}.cxc-table th,.cxc-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--color-border)}.cxc-table th{background-color:var(--color-background);font-weight:500;color:var(--color-muted)}.cxc-table tr:hover{background-color:var(--color-background)}.cxc-table .text-right{text-align:right}.cxc-table .text-center{text-align:center}.rfc-cell{font-family:monospace;font-size:.8rem}.name-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.amount-cell{font-family:monospace}.saldo-cell{font-weight:600}.cxc-no-data{text-align:center;padding:2rem;color:var(--color-muted-light)}.cxc-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.cxc-pagination button{padding:.5rem 1rem;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-sm);cursor:pointer}.cxc-pagination button:disabled{opacity:.5;cursor:not-allowed}.cxc-pagination button:hover:not(:disabled){background-color:var(--color-background)}.cxc-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.cxc-modal{background:var(--color-surface);border-radius:var(--radius-md);width:90%;max-width:600px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.cxc-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border)}.cxc-modal-header h3{margin:0}.cxc-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-muted);padding:0;line-height:1}.cxc-modal-close:hover{color:var(--color-foreground)}.cxc-modal-content{padding:1.5rem;overflow-y:auto}.timeline-invoice-summary{background:var(--color-background);padding:1rem;border-radius:var(--radius-md);margin-bottom:1.5rem}.timeline-summary-row{display:flex;justify-content:space-between;margin-bottom:.5rem}.timeline-label{color:var(--color-muted);font-size:.875rem}.timeline-value{font-weight:500}.uuid-value{font-family:monospace;font-size:.75rem;word-break:break-all}.timeline-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1rem 0}.timeline-summary-item{text-align:center}.timeline-item-label{display:block;font-size:.75rem;color:var(--color-muted);margin-bottom:.25rem}.timeline-item-value{font-size:1.1rem;font-weight:600}.timeline-item-value.pagado{color:var(--color-success)}.timeline-item-value.saldo{color:var(--color-error)}.timeline-payments h4{margin:0 0 1rem;font-size:.95rem;color:var(--color-foreground)}.timeline-list{display:flex;flex-direction:column;gap:1rem}.timeline-payment-item{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.timeline-payment-header{display:flex;justify-content:space-between;background:var(--color-background);padding:.5rem 1rem;font-size:.875rem}.timeline-payment-num{font-weight:500}.timeline-payment-date{color:var(--color-muted)}.timeline-payment-body{padding:1rem}.timeline-payment-row{display:flex;justify-content:space-between;font-size:.875rem;margin-bottom:.75rem}.uuid-short{font-family:monospace;font-size:.8rem;color:var(--color-muted)}.timeline-payment-amounts{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;background:var(--color-background);padding:.75rem;border-radius:var(--radius-sm);font-size:.8rem}.timeline-amount-item{text-align:center}.timeline-amount-item span:first-child{display:block;color:var(--color-muted);margin-bottom:.25rem}.timeline-amount-item.highlight span:last-child{font-weight:600;color:var(--color-success)}.timeline-payment-taxes{display:flex;gap:.5rem;margin-top:.75rem;flex-wrap:wrap}.timeline-tax-badge{font-size:.7rem;padding:.2rem .5rem;background:var(--color-info-light);color:var(--color-info);border-radius:var(--radius-sm)}.timeline-tax-badge.prorrateado{background:var(--color-warning-light);color:var(--color-warning)}.timeline-no-payments{text-align:center;padding:2rem;color:var(--color-muted-light);background:var(--color-background);border-radius:var(--radius-md)}@media(max-width:768px){.cxc-summary-grid{grid-template-columns:1fr}.cxc-header{flex-direction:column;gap:1rem;align-items:flex-start}.cxc-table-header{flex-direction:column;gap:.75rem;align-items:flex-start}.timeline-summary-grid,.timeline-payment-amounts{grid-template-columns:1fr}}.validacion-table-container{overflow-x:auto}.validacion-table{width:100%;border-collapse:collapse;font-size:.9rem}.validacion-table th{background-color:var(--color-background);padding:12px 16px;text-align:left;font-weight:600;color:#4a5568;border-bottom:2px solid var(--color-border);white-space:nowrap}.validacion-table td{padding:12px 16px;border-bottom:1px solid var(--color-border-light);color:#1a202c}.validacion-table-row{cursor:pointer;transition:background-color .15s}.validacion-table-row:hover{background-color:var(--color-background)}.uuid-cell{font-family:monospace;font-size:.85rem;color:#718096}.rule-cell{font-family:monospace;font-weight:600;color:#4a5568}.message-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.severity-critical{background-color:#fed7d7;color:#c53030}.severity-warning{background-color:#feebc8;color:#c05621}.severity-info{background-color:#bee3f8;color:#2b6cb0}.validacion-table-loading{text-align:center;padding:60px 20px}.validacion-spinner{width:40px;height:40px;border:3px solid var(--color-border-light);border-top-color:#4361ee;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.validacion-table-loading p{color:#718096}.validacion-table-empty{text-align:center;padding:60px 20px;background-color:#f0fff4;border-radius:var(--radius-md);border:1px solid #9ae6b4}.validacion-table-empty-icon{font-size:3rem;color:#38a169;display:block;margin-bottom:16px}.validacion-table-empty h3{margin:0 0 8px;color:#276749}.validacion-table-empty p{margin:0;color:#48bb78}.validacion-pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px;padding-top:16px;border-top:1px solid var(--color-border-light)}@media(max-width:768px){.validacion-table{font-size:.8rem}.validacion-table th,.validacion-table td{padding:8px 12px}.message-cell{max-width:150px}}.validacion-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.validacion-modal{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:700px;width:100%;max-height:90vh;overflow-y:auto}.validacion-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border-light)}.validacion-modal-header h3{margin:0;font-size:1.25rem;color:#1a202c}.validacion-modal-close{background:none;border:none;font-size:1.5rem;color:#718096;cursor:pointer;padding:0;line-height:1;transition:color .2s}.validacion-modal-close:hover{color:#1a202c}.validacion-modal-body{padding:24px}.validacion-modal-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--color-border-light)}.validacion-modal-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.validacion-modal-section h4{margin:0 0 16px;font-size:1rem;color:#4a5568;display:flex;align-items:center;gap:8px}.severity-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff}.severity-icon.severity-critical{background-color:#c53030}.severity-icon.severity-warning{background-color:#dd6b20}.severity-icon.severity-info{background-color:#3182ce}.validacion-modal-row{display:flex;gap:24px;margin-bottom:12px;flex-wrap:wrap}.validacion-modal-field{flex:1;min-width:150px}.validacion-modal-field.full-width{flex:100%;min-width:100%}.field-label{display:block;font-size:.75rem;color:#718096;text-transform:uppercase;margin-bottom:4px;font-weight:600}.field-value{color:#1a202c;word-break:break-word}.field-value.uuid{font-family:monospace;font-size:.85rem;background-color:var(--color-background);padding:4px 8px;border-radius:var(--radius-sm)}.field-value.rule-id{font-family:monospace;font-weight:600}.field-value.message,.field-value.details{line-height:1.5}.field-subvalue{display:block;font-size:.8rem;color:#718096;margin-top:2px}.validacion-modal-comparison{display:flex;gap:16px;margin-top:16px}.comparison-item{flex:1;padding:12px 16px;border-radius:var(--radius-md)}.comparison-item.expected{background-color:#f0fff4;border:1px solid #9ae6b4}.comparison-item.actual{background-color:#fff5f5;border:1px solid #feb2b2}.comparison-label{display:block;font-size:.75rem;color:#718096;margin-bottom:4px}.comparison-value{font-family:monospace;font-size:.9rem;color:#1a202c}.rule-description{color:#4a5568;line-height:1.6;margin:0;background-color:var(--color-background);padding:16px;border-radius:var(--radius-md)}.severity-badge{display:inline-block;padding:4px 8px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase}.severity-badge.severity-critical{background-color:#fed7d7;color:#c53030}.severity-badge.severity-warning{background-color:#feebc8;color:#c05621}.severity-badge.severity-info{background-color:#bee3f8;color:#2b6cb0}.validacion-modal-footer{padding:16px 24px;border-top:1px solid var(--color-border-light);display:flex;justify-content:flex-end}.validacion-modal-btn{padding:10px 24px;background-color:#4361ee;color:#fff;border:none;border-radius:var(--radius-md);font-size:.9rem;cursor:pointer;transition:background-color .2s}.validacion-modal-btn:hover{background-color:#3a56d4}@media(max-width:600px){.validacion-modal{max-height:100vh;border-radius:0}.validacion-modal-row{flex-direction:column;gap:12px}.validacion-modal-comparison{flex-direction:column}}.validacion-summary-cards{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}.validacion-summary-card{flex:1;min-width:120px;padding:16px;border-radius:var(--radius-md);text-align:center;background-color:var(--color-background);border:1px solid var(--color-border-light);transition:transform .2s}.validacion-summary-card:hover{transform:translateY(-2px)}.summary-card-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 8px;font-size:1rem;font-weight:700}.summary-card-value{font-size:1.75rem;font-weight:700;margin-bottom:4px}.summary-card-label{font-size:.85rem;color:var(--color-muted)}.summary-card-subtext{font-size:.75rem;color:var(--color-muted);margin-top:4px}.validacion-summary-card.critical{background-color:#fff5f5;border-color:#feb2b2}.validacion-summary-card.critical .summary-card-icon{background-color:#c53030;color:#fff}.validacion-summary-card.critical .summary-card-value{color:#c53030}.validacion-summary-card.warning{background-color:#fffaf0;border-color:#fbd38d}.validacion-summary-card.warning .summary-card-icon{background-color:#dd6b20;color:#fff}.validacion-summary-card.warning .summary-card-value{color:#dd6b20}.validacion-summary-card.info{background-color:#ebf8ff;border-color:#90cdf4}.validacion-summary-card.info .summary-card-icon{background-color:#3182ce;color:#fff}.validacion-summary-card.info .summary-card-value{color:#3182ce}.validacion-summary-card.valid{background-color:#f0fff4;border-color:#9ae6b4}.validacion-summary-card.valid .summary-card-icon{background-color:#38a169;color:#fff}.validacion-summary-card.valid .summary-card-value{color:#38a169}.validacion-summary-card.total{background-color:#f7fafc;border-color:#cbd5e0}.validacion-summary-card.total .summary-card-icon{background-color:#4a5568;color:#fff}.validacion-summary-card.total .summary-card-value{color:#4a5568}@media(max-width:768px){.validacion-summary-cards{flex-direction:column}.validacion-summary-card{min-width:100%}}.validacion-section{padding:20px;background-color:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.validacion-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap;gap:16px}.validacion-title h2{margin:0 0 4px;font-size:1.5rem;font-family:var(--font-heading);color:var(--color-foreground)}.validacion-title p{margin:0;color:var(--color-muted);font-size:.9rem}.validacion-controls{display:flex;gap:12px;align-items:center}.validacion-period-select{padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.9rem;background-color:var(--color-surface);min-width:180px}.validacion-refresh-btn,.validacion-export-btn{padding:8px 16px;border:none;border-radius:var(--radius-pill);font-size:.9rem;cursor:pointer;transition:opacity .2s}.validacion-refresh-btn{background-color:var(--color-primary);color:#fff}.validacion-refresh-btn:hover:not(:disabled){opacity:.9}.validacion-export-btn{background-color:var(--color-success);color:#fff}.validacion-export-btn:hover:not(:disabled){opacity:.9}.validacion-refresh-btn:disabled,.validacion-export-btn:disabled{opacity:.5;cursor:not-allowed}.validacion-error{padding:12px 16px;background-color:var(--color-error-light);border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);margin-bottom:16px}.validacion-error span{font-weight:600}.validacion-filters{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.validacion-filter-select{padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.85rem;background-color:var(--color-surface);min-width:160px}.validacion-empty-state{text-align:center;padding:60px 20px}.validacion-empty-icon{display:block;margin-bottom:16px;color:var(--color-muted)}.validacion-empty-state h3{margin:0 0 8px;color:var(--color-foreground)}.validacion-empty-state p{margin:0;color:var(--color-muted)}.mat-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.mat-modal{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:800px;width:100%;max-height:90vh;overflow-y:auto}.mat-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border-light)}.mat-modal-header h3{margin:0;font-size:1.25rem;font-family:var(--font-heading);color:var(--color-foreground)}.mat-modal-close{background:none;border:none;font-size:1.5rem;color:var(--color-muted);cursor:pointer;padding:0;line-height:1;transition:color var(--transition-fast)}.mat-modal-close:hover{color:var(--color-foreground)}.mat-modal-body{padding:24px}.mat-modal-loading{text-align:center;padding:40px 20px;color:var(--color-muted)}.mat-spinner{width:32px;height:32px;border:3px solid var(--color-border-light);border-top-color:var(--color-primary);border-radius:50%;animation:mat-spin .8s linear infinite;margin:0 auto 12px}.mat-modal-error{padding:10px 14px;background-color:var(--color-error-light);border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);margin-bottom:16px;display:flex;align-items:center;gap:8px}.mat-modal-error span{font-weight:600}.mat-modal-error button{margin-left:auto;background:none;border:none;color:var(--color-error);cursor:pointer;font-size:1.1rem}.mat-modal-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--color-border-light)}.mat-modal-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.mat-modal-section h4{margin:0 0 16px;font-size:.95rem;color:var(--color-muted);text-transform:uppercase;font-weight:600;letter-spacing:.5px}.mat-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.mat-section-header h4{margin-bottom:0}.mat-section-actions{display:flex;gap:8px}.mat-modal-row{display:flex;gap:24px;margin-bottom:12px;flex-wrap:wrap}.mat-modal-field{flex:1;min-width:140px}.mat-field-label{display:block;font-size:.75rem;color:var(--color-muted);text-transform:uppercase;margin-bottom:4px;font-weight:600}.mat-field-value{color:var(--color-foreground);word-break:break-word}.mat-field-value.uuid{font-family:var(--font-mono);font-size:.8rem;background-color:var(--color-background);padding:4px 8px;border-radius:var(--radius-sm)}.mat-field-sub{display:block;font-size:.8rem;color:var(--color-muted);margin-top:2px}.mat-score-row{display:flex;align-items:center;gap:24px}.mat-score-gauge{flex-shrink:0}.mat-score-details{flex:1}.mat-score-status{display:flex;align-items:center;gap:8px;margin-bottom:8px}.mat-score-stats{font-size:.85rem;color:var(--color-muted);display:flex;flex-wrap:wrap;gap:4px}.mat-stat-sep{color:var(--color-border)}.mat-status-badge{display:inline-block;padding:4px 10px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase}.mat-status-badge.status-completo{background-color:var(--color-success-light);color:#065f46}.mat-status-badge.status-parcial{background-color:var(--color-warning-light);color:#92400e}.mat-status-badge.status-insuficiente{background-color:var(--color-error-light);color:#991b1b}.mat-status-badge.status-sin-evidencia{background-color:var(--color-background);color:var(--color-muted)}.mat-nom151-tag{display:inline-block;padding:3px 8px;border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;background-color:var(--color-info-light);color:#1e40af}.mat-evidence-grid{display:flex;flex-direction:column;gap:12px}.mat-evidence-card{display:flex;gap:12px;padding:12px;background-color:var(--color-background);border-radius:var(--radius-md);border:1px solid var(--color-border-light);transition:border-color var(--transition-fast)}.mat-evidence-card:hover{border-color:var(--color-border)}.mat-ev-thumb{flex-shrink:0;width:64px;height:64px;border-radius:var(--radius-sm);overflow:hidden;background-color:var(--color-surface);border:1px solid var(--color-border-light);display:flex;align-items:center;justify-content:center;cursor:pointer}.mat-ev-thumb img{width:100%;height:100%;object-fit:cover}.mat-ev-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.mat-file-icon-text{font-family:var(--font-mono);font-size:.75rem;font-weight:700;color:var(--color-muted);background-color:var(--color-background);padding:4px 6px;border-radius:var(--radius-sm)}.mat-ev-info{flex:1;min-width:0}.mat-ev-type{display:inline-block;font-size:.7rem;font-weight:600;text-transform:uppercase;color:var(--color-primary);margin-bottom:2px}.mat-ev-name{display:block;font-size:.85rem;font-weight:500;color:var(--color-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-ev-size{font-size:.75rem;color:var(--color-muted)}.mat-ev-desc{display:block;font-size:.8rem;color:var(--color-muted);margin-top:4px}.mat-ev-meta{display:flex;gap:12px;font-size:.75rem;color:var(--color-muted);margin-top:4px}.mat-ev-footer{display:flex;align-items:center;gap:8px;margin-top:6px}.mat-ev-score{font-size:.75rem;font-weight:600;color:var(--color-success)}.mat-nom151-mini{font-size:.65rem;font-weight:600;padding:2px 5px;border-radius:var(--radius-sm);background-color:var(--color-info-light);color:#1e40af}.mat-ev-notes{font-size:.8rem;color:var(--color-muted);margin:4px 0 0;font-style:italic}.mat-val-badge{display:inline-block;padding:2px 6px;border-radius:var(--radius-sm);font-size:.7rem;font-weight:600}.mat-val-badge.val-aprobado{background-color:var(--color-success-light);color:#065f46}.mat-val-badge.val-rechazado{background-color:var(--color-error-light);color:#991b1b}.mat-val-badge.val-pendiente{background-color:var(--color-warning-light);color:#92400e}.mat-ev-actions{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.mat-ev-btn{background:none;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);padding:4px 6px;cursor:pointer;color:var(--color-muted);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.mat-ev-btn:hover{background-color:var(--color-surface);color:var(--color-foreground);border-color:var(--color-border)}.mat-ev-btn.approve{color:var(--color-success);border-color:var(--color-success)}.mat-ev-btn.approve:hover{background-color:var(--color-success-light)}.mat-ev-btn.reject{color:var(--color-error);border-color:var(--color-error)}.mat-ev-btn.reject:hover{background-color:var(--color-error-light)}.mat-ev-btn.delete:hover{color:var(--color-error);border-color:var(--color-error)}.mat-ev-validate-form{display:flex;flex-direction:column;gap:4px}.mat-ev-validate-input{padding:4px 6px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.75rem;width:100px}.mat-no-evidences{text-align:center;padding:32px 16px;color:var(--color-muted)}.mat-no-evidences p{margin:0 0 12px}.mat-btn-primary-sm{padding:6px 14px;border:none;border-radius:var(--radius-pill);font-size:.8rem;cursor:pointer;background-color:var(--color-primary);color:#fff;transition:opacity var(--transition-fast)}.mat-btn-primary-sm:hover:not(:disabled){opacity:.9}.mat-btn-primary-sm:disabled{opacity:.5;cursor:not-allowed}.mat-btn-secondary-sm{padding:6px 14px;border:1px solid var(--color-border);border-radius:var(--radius-pill);font-size:.8rem;cursor:pointer;background-color:var(--color-surface);color:var(--color-foreground);transition:background-color var(--transition-fast)}.mat-btn-secondary-sm:hover:not(:disabled){background-color:var(--color-background)}.mat-btn-secondary-sm:disabled{opacity:.5;cursor:not-allowed}.mat-modal-footer{padding:16px 24px;border-top:1px solid var(--color-border-light);display:flex;justify-content:flex-end}.mat-modal-btn{padding:10px 24px;background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.9rem;cursor:pointer;transition:opacity var(--transition-fast)}.mat-modal-btn:hover{opacity:.9}.mat-upload-form{background-color:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:16px;margin-bottom:16px}.mat-upload-title{margin:0 0 12px;font-size:.9rem;color:var(--color-foreground)}.mat-dropzone{border:2px dashed var(--color-border);border-radius:var(--radius-md);padding:24px;text-align:center;cursor:pointer;transition:all var(--transition-fast);margin-bottom:12px}.mat-dropzone:hover,.mat-dropzone.drag-over{border-color:var(--color-primary);background-color:#ff84000a}.mat-dropzone.has-file{border-style:solid;border-color:var(--color-success);background-color:var(--color-success-light)}.mat-dropzone-placeholder{color:var(--color-muted)}.mat-dropzone-placeholder p{margin:8px 0 4px;font-size:.9rem}.mat-dropzone-hint{font-size:.75rem;color:var(--color-muted-light)}.mat-dropzone-file{display:flex;align-items:center;justify-content:center;gap:8px}.mat-dropzone-filename{font-weight:500;color:#065f46}.mat-dropzone-size{font-size:.8rem;color:var(--color-muted)}.mat-dropzone-remove{background:none;border:none;font-size:1.2rem;color:var(--color-muted);cursor:pointer;padding:0 4px}.mat-dropzone-remove:hover{color:var(--color-error)}.mat-upload-error{color:var(--color-error);font-size:.8rem;margin:0 0 8px}.mat-upload-fields{display:flex;flex-direction:column;gap:10px}.mat-upload-field{display:flex;flex-direction:column;gap:4px}.mat-upload-field label{font-size:.8rem;font-weight:500;color:var(--color-foreground)}.mat-upload-field select,.mat-upload-field input[type=text],.mat-upload-field input[type=date],.mat-upload-field input[type=number]{padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.85rem;background-color:var(--color-surface)}.mat-upload-hint{font-size:.75rem;color:var(--color-muted)}.mat-upload-row{display:flex;gap:10px}.mat-upload-row .mat-upload-field{flex:1;min-width:100px}.mat-upload-checkbox{margin-top:4px}.mat-upload-checkbox label{display:flex;align-items:center;gap:8px;font-size:.85rem;cursor:pointer;color:var(--color-foreground)}.mat-upload-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary)}.mat-nom151-bonus{font-size:.75rem;color:var(--color-success);font-weight:600;margin-left:4px}.mat-upload-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.mat-upload-btn-primary{padding:8px 16px;border:none;border-radius:var(--radius-pill);font-size:.85rem;cursor:pointer;background-color:var(--color-primary);color:#fff;transition:opacity var(--transition-fast)}.mat-upload-btn-primary:hover:not(:disabled){opacity:.9}.mat-upload-btn-primary:disabled{opacity:.5;cursor:not-allowed}.mat-upload-btn-secondary{padding:8px 16px;border:1px solid var(--color-border);border-radius:var(--radius-pill);font-size:.85rem;cursor:pointer;background-color:var(--color-surface);color:var(--color-foreground)}.mat-upload-btn-secondary:hover:not(:disabled){background-color:var(--color-background)}@media(max-width:600px){.mat-modal{max-height:100vh;border-radius:0}.mat-modal-row{flex-direction:column;gap:12px}.mat-score-row{flex-direction:column;align-items:flex-start}.mat-evidence-card{flex-direction:column}.mat-ev-thumb{width:100%;height:120px}.mat-ev-actions{flex-direction:row}.mat-upload-row{flex-direction:column}.mat-section-header{flex-direction:column;align-items:flex-start;gap:8px}}.mat-section{padding:20px;background-color:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.mat-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap;gap:16px}.mat-title h2{margin:0 0 4px;font-size:1.5rem;font-family:var(--font-heading);color:var(--color-foreground)}.mat-title p{margin:0;color:var(--color-muted);font-size:.9rem}.mat-header-actions{display:flex;gap:8px}.mat-btn-batch{padding:8px 16px;border:none;border-radius:var(--radius-pill);font-size:.85rem;cursor:pointer;background-color:var(--color-success);color:#fff;transition:opacity var(--transition-fast)}.mat-btn-batch:hover:not(:disabled){opacity:.9}.mat-btn-batch:disabled{opacity:.5;cursor:not-allowed}.mat-summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.mat-card{background-color:var(--color-background);border-radius:var(--radius-md);padding:16px;text-align:center;border:1px solid var(--color-border-light)}.mat-card-alert{border-color:var(--color-warning);background-color:var(--color-warning-light)}.mat-card-value{display:block;font-size:1.75rem;font-weight:700;font-family:var(--font-heading);color:var(--color-foreground);margin-bottom:4px}.mat-card-value.score-high{color:var(--color-success)}.mat-card-value.score-mid{color:var(--color-warning)}.mat-card-value.score-low{color:var(--color-error)}.mat-card-label{font-size:.8rem;color:var(--color-muted);text-transform:uppercase;font-weight:500}.mat-filters{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.mat-filter-select{padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.85rem;background-color:var(--color-surface);min-width:160px}.mat-search-group{display:flex;flex:1;min-width:200px;gap:0}.mat-search-input{flex:1;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md) 0 0 var(--radius-md);font-size:.85rem;border-right:none}.mat-search-btn{padding:8px 16px;border:1px solid var(--color-primary);border-radius:0 var(--radius-md) var(--radius-md) 0;background-color:var(--color-primary);color:#fff;font-size:.85rem;cursor:pointer;transition:opacity var(--transition-fast)}.mat-search-btn:hover{opacity:.9}.mat-error{padding:12px 16px;background-color:var(--color-error-light);border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);margin-bottom:16px}.mat-error span{font-weight:600}.mat-empty-state{text-align:center;padding:60px 20px;color:var(--color-muted)}.mat-empty-state h3{margin:16px 0 8px;color:var(--color-foreground)}.mat-empty-state p{margin:0;color:var(--color-muted)}.mat-table-wrapper{overflow:visible}.mat-table-scroll{overflow-x:auto}.mat-table{width:100%;border-collapse:collapse;font-size:.85rem}.mat-table thead th{background-color:var(--color-background);padding:10px 12px;border-bottom:2px solid var(--color-border);font-weight:600;text-align:left;white-space:nowrap;color:var(--color-foreground);font-size:.8rem;text-transform:uppercase}.mat-th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.mat-th-sortable:hover{color:var(--color-primary)}.mat-th-check{width:36px}.mat-th-right{text-align:right!important}.mat-th-center{text-align:center!important}.mat-table tbody td{padding:10px 12px;border-bottom:1px solid var(--color-border-light);color:var(--color-foreground)}.mat-table-row{transition:background-color var(--transition-fast)}.mat-table-row:hover{background-color:var(--color-background)}.mat-table-row.selected{background-color:#ff84000f}.mat-td-check{width:36px}.mat-td-check input[type=checkbox],.mat-th-check input[type=checkbox]{width:15px;height:15px;accent-color:var(--color-primary)}.mat-td-rfc{font-family:var(--font-mono);font-size:.8rem}.mat-td-razon{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-td-right{text-align:right;font-family:var(--font-mono)}.mat-td-center{text-align:center}.mat-score-pill{display:inline-block;padding:2px 8px;border-radius:var(--radius-pill);font-size:.8rem;font-weight:700;font-family:var(--font-mono);min-width:32px;text-align:center}.mat-score-pill.mat-score-high{background-color:var(--color-success-light);color:#065f46}.mat-score-pill.mat-score-mid{background-color:var(--color-warning-light);color:#92400e}.mat-score-pill.mat-score-low{background-color:var(--color-error-light);color:#991b1b}.mat-status-pill{display:inline-block;padding:3px 8px;border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;text-transform:uppercase;white-space:nowrap}.mat-status-pill.mat-st-completo{background-color:var(--color-success-light);color:#065f46}.mat-status-pill.mat-st-parcial{background-color:var(--color-warning-light);color:#92400e}.mat-status-pill.mat-st-insuficiente{background-color:var(--color-error-light);color:#991b1b}.mat-status-pill.mat-st-sin{background-color:var(--color-background);color:var(--color-muted)}.mat-ev-validated{font-size:.75rem;color:var(--color-success)}.mat-action-btn{padding:4px 12px;border:1px solid var(--color-primary);border-radius:var(--radius-pill);background:none;color:var(--color-primary);font-size:.8rem;cursor:pointer;transition:all var(--transition-fast)}.mat-action-btn:hover{background-color:var(--color-primary);color:#fff}.mat-table-loading{text-align:center;padding:40px 20px;color:var(--color-muted)}.mat-table-spinner{width:28px;height:28px;border:3px solid var(--color-border-light);border-top-color:var(--color-primary);border-radius:50%;animation:mat-spin .8s linear infinite;margin:0 auto 12px}@keyframes mat-spin{to{transform:rotate(360deg)}}.mat-table-empty{text-align:center;padding:48px 20px;color:var(--color-muted)}.mat-table-empty h3{margin:16px 0 8px;color:var(--color-foreground)}.mat-table-empty p{margin:0}@media(max-width:768px){.mat-summary-cards{grid-template-columns:repeat(2,1fr)}.mat-filters{flex-direction:column}.mat-filter-select,.mat-search-group{min-width:unset;width:100%}.mat-header{flex-direction:column}.mat-td-razon{max-width:120px}}@media(max-width:480px){.mat-summary-cards{grid-template-columns:1fr 1fr}.mat-section{padding:12px}}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);height:100vh;position:fixed;top:0;left:0;background:var(--color-sidebar-bg);border-right:1px solid var(--color-border);display:flex;flex-direction:column;z-index:100;overflow-y:auto}.sidebar-header{padding:var(--space-6) var(--space-5);border-bottom:1px solid var(--color-border)}.sidebar-logo{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-foreground);margin:0 0 var(--space-4) 0}.sidebar-company-selector{display:flex;flex-direction:column;gap:var(--space-2)}.sidebar-company-label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em}.sidebar-company-dropdown{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--text-sm);color:var(--color-foreground);cursor:pointer;font-family:var(--font-body)}.sidebar-company-dropdown:focus{outline:2px solid var(--color-primary);outline-offset:-2px}.sidebar-fiel-badge{display:inline-block;font-size:var(--text-xs);padding:2px var(--space-2);border-radius:var(--radius-sm);font-weight:var(--font-semibold);text-transform:uppercase;width:fit-content}.sidebar-fiel-badge.active{background:var(--color-success-light);color:#065f46}.sidebar-fiel-badge.expiring{background:var(--color-warning-light);color:#92400e}.sidebar-fiel-badge.expired{background:var(--color-error-light);color:#991b1b}.sidebar-fiel-badge.none{background:var(--color-border-light);color:var(--color-muted)}.sidebar-company-loading,.sidebar-company-empty{font-size:var(--text-sm);color:var(--color-muted);padding:var(--space-2) 0}.sidebar-nav{flex:1;padding:var(--space-4) var(--space-3);overflow-y:auto}.sidebar-section{margin-bottom:var(--space-5)}.sidebar-section-label{display:block;font-family:var(--font-heading);font-size:14px;font-weight:var(--font-normal);color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;padding:0 var(--space-4);margin-bottom:var(--space-2)}.sidebar-nav-item{display:flex;align-items:center;gap:var(--space-4);width:100%;padding:12px 16px;border:none;border-radius:100px;background:transparent;color:var(--color-foreground);font-size:16px;font-weight:var(--font-medium);font-family:var(--font-body);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);text-align:left}.sidebar-nav-item:hover{background:#0000000f}.sidebar-nav-item.active{background:var(--color-primary);color:#fff}.sidebar-nav-item.active .sidebar-nav-icon svg{stroke:#fff}.sidebar-nav-icon{width:24px;height:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.sidebar-nav-icon svg{width:24px;height:24px;stroke:currentColor}.sidebar-nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-3)}.sidebar-user{display:flex;align-items:center;gap:var(--space-3)}.sidebar-user-avatar{width:32px;height:32px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--font-bold);flex-shrink:0}.sidebar-user-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-logout{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-foreground);font-size:var(--text-sm);font-weight:var(--font-medium);font-family:var(--font-body);cursor:pointer;transition:background var(--transition-fast)}.sidebar-logout:hover{background:var(--color-error-light);color:var(--color-error);border-color:var(--color-error)}@media(max-width:768px){.sidebar{transform:translate(-100%);transition:transform var(--transition-slow);box-shadow:none}.sidebar.open{transform:translate(0);box-shadow:var(--shadow-xl)}}.dashboard-layout{display:flex;min-height:100vh;background:var(--color-background)}.dashboard-main{flex:1;margin-left:var(--sidebar-width);min-height:100vh}.dashboard-content{max-width:1400px;padding:var(--space-8);animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.mobile-header,.sidebar-overlay{display:none}@media(max-width:768px){.dashboard-main{margin-left:0}.dashboard-content{padding:var(--space-4)}.mobile-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:50}.mobile-menu-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;padding:0}.mobile-menu-icon{display:block;width:18px;height:2px;background:var(--color-foreground);position:relative}.mobile-menu-icon:before,.mobile-menu-icon:after{content:"";position:absolute;left:0;width:18px;height:2px;background:var(--color-foreground)}.mobile-menu-icon:before{top:-6px}.mobile-menu-icon:after{top:6px}.mobile-header-title{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-foreground)}.sidebar-overlay{display:block;position:fixed;inset:0;background:#0006;z-index:99}}.session-expired-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease-in-out}.session-expired-modal{background:var(--color-surface);border-radius:var(--radius-lg);padding:2.5rem;max-width:450px;width:90%;box-shadow:var(--shadow-xl);text-align:center;animation:slideUp .3s ease-out}.session-expired-icon{width:80px;height:80px;margin:0 auto 1.5rem;background:#ff6b6b;border-radius:50%;display:flex;align-items:center;justify-content:center;animation:pulse 2s infinite}.session-expired-icon svg{width:45px;height:45px;color:#fff}.session-expired-title{font-size:1.75rem;font-weight:700;color:var(--color-foreground);font-family:var(--font-heading);margin:0 0 1rem}.session-expired-message{font-size:1rem;color:var(--color-muted);line-height:1.6;margin:0 0 1.5rem}.session-expired-countdown{font-size:.95rem;color:var(--color-muted);margin-bottom:1.5rem;padding:.75rem;background:var(--color-background);border-radius:var(--radius-md)}.session-expired-countdown strong{color:#ff6b6b;font-weight:700;font-size:1.1rem}.session-expired-button{background:var(--color-primary);color:#fff;border:none;padding:.875rem 2rem;font-size:1rem;font-weight:600;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-slow);width:100%;max-width:280px}.session-expired-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(var(--color-primary-rgb),.4)}.session-expired-button:active{transform:translateY(0)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@media(max-width:640px){.session-expired-modal{padding:2rem}.session-expired-title{font-size:1.5rem}.session-expired-icon{width:70px;height:70px}.session-expired-icon svg{width:38px;height:38px}}.embedded-checkout-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.embedded-checkout-modal{background:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);overflow:hidden}.embedded-checkout-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px;border-bottom:1px solid var(--color-border);background:var(--color-background)}.embedded-checkout-header .header-content{flex:1}.embedded-checkout-header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-foreground);font-family:var(--font-heading)}.embedded-checkout-header .price-info{margin:4px 0 0;font-size:.95rem;color:var(--color-muted)}.embedded-checkout-header .close-btn{background:none;border:none;padding:8px;cursor:pointer;color:var(--color-muted);border-radius:var(--radius-md);transition:all var(--transition-base);margin:-4px -8px 0 0}.embedded-checkout-header .close-btn:hover{background:var(--color-border);color:var(--color-foreground)}.embedded-checkout-header .close-btn:disabled{opacity:.5;cursor:not-allowed}.embedded-checkout-body{flex:1;overflow-y:auto;padding:0;min-height:400px}.checkout-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;text-align:center}.checkout-error p{color:#dc2626;margin-bottom:16px}.checkout-error button{padding:10px 20px;background:#3b82f6;color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:500}.checkout-error button:hover{background:#2563eb}.checkout-processing{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px}.checkout-processing .spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.checkout-processing p{margin-top:16px;color:var(--color-muted);font-size:.95rem}@keyframes spin{to{transform:rotate(360deg)}}.embedded-checkout-footer{padding:16px 24px;border-top:1px solid var(--color-border);background:var(--color-background);text-align:center}.embedded-checkout-footer .cancel-link{background:none;border:none;color:var(--color-muted);cursor:pointer;font-size:.9rem;text-decoration:underline;padding:4px 8px}.embedded-checkout-footer .cancel-link:hover{color:var(--color-foreground)}.embedded-checkout-footer .cancel-link:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.embedded-checkout-overlay{padding:0;align-items:flex-end}.embedded-checkout-modal{max-width:100%;max-height:95vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0}}.subscription-result-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-primary);padding:20px}.subscription-result-card{background:var(--color-surface);border-radius:var(--radius-xl);padding:48px;max-width:500px;width:100%;text-align:center;box-shadow:var(--shadow-xl);animation:slideUp .5s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.result-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.result-icon.success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.result-icon.cancel{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.result-icon svg{width:40px;height:40px}.subscription-result-card h1{font-size:28px;font-weight:700;color:var(--color-foreground);font-family:var(--font-heading);margin:0 0 16px}.result-message{font-size:16px;color:var(--color-muted);line-height:1.6;margin:0 0 32px}.result-details{background:var(--color-background);border-radius:var(--radius-lg);padding:20px;margin-bottom:24px;text-align:left}.detail-item{display:flex;align-items:center;gap:12px;padding:8px 0;color:var(--color-foreground);font-size:14px}.detail-item:not(:last-child){border-bottom:1px solid var(--color-border);padding-bottom:12px;margin-bottom:4px}.detail-icon{font-size:18px}.session-info{font-size:12px;color:var(--color-muted-light);margin:16px 0}.session-info code{background:var(--color-background);padding:2px 6px;border-radius:var(--radius-sm);font-family:monospace}.result-actions{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.result-button{padding:14px 28px;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.result-button.primary{background:var(--color-primary);color:#fff}.result-button.primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.4)}.result-button.secondary{background:var(--color-surface);color:var(--color-primary);border:2px solid var(--color-primary)}.result-button.secondary:hover{background:#f5f3ff}.auto-redirect{font-size:13px;color:var(--color-muted-light);margin:0}.subscription-result-card.cancel .result-details{background:#fffbeb}.subscription-result-card.cancel .detail-item{color:#92400e}.subscription-result-card.cancel .detail-item:not(:last-child){border-bottom-color:#fde68a}@media(max-width:480px){.subscription-result-card{padding:32px 24px}.subscription-result-card h1{font-size:24px}.result-icon{width:64px;height:64px}.result-icon svg{width:32px;height:32px}}.App{min-height:100vh}
