:root{--primary: #2563eb;--primary-hover: #1d4ed8;--primary-light: #3b82f6;--secondary: #64748b;--success: #10b981;--danger: #ef4444;--warning: #f59e0b;--info: #06b6d4;--accent-revenue: #10b981;--accent-cost: #ef4444;--accent-margin: #8b5cf6;--accent-neutral: #64748b;--bg-primary: #FFFFFF;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-quaternary: #e2e8f0;--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #94a3b8;--border: #e2e8f0;--border-light: #f1f5f9;--border-dark: #cbd5e1;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--space-3xl: 48px;--space-4xl: 64px;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0;padding:0;background-color:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.bg-primary{background-color:var(--bg-primary)!important}.bg-secondary{background-color:var(--bg-secondary)!important}.bg-tertiary{background-color:var(--bg-tertiary)!important}.text-primary{color:var(--text-primary)!important}.text-secondary{color:var(--text-secondary)!important}.border-primary{border-color:var(--border)!important}.bg-blue{background-color:var(--primary)!important}.bg-blue-hover{background-color:var(--primary-hover)!important}.bg-success{background-color:var(--success)!important}.bg-danger{background-color:var(--danger)!important}.bg-warning{background-color:var(--warning)!important}.text-blue{color:var(--primary)!important}.text-success{color:var(--success)!important}.text-danger{color:var(--danger)!important}.text-warning{color:var(--warning)!important}.border-blue{border-color:var(--primary)!important}.border-success{border-color:var(--success)!important}.border-danger{border-color:var(--danger)!important}.hover\:bg-blue:hover{background-color:var(--primary)!important}.hover\:bg-blue-hover:hover{background-color:var(--primary-hover)!important}.hover\:bg-secondary:hover{background-color:var(--bg-secondary)!important}.hover\:text-blue:hover{color:var(--primary)!important}.shadow-sm{box-shadow:0 1px 2px #0000000d!important}.shadow{box-shadow:0 4px 12px #00000014!important}.shadow-lg{box-shadow:0 10px 25px #0000001a!important}.p-xs{padding:4px!important}.p-sm{padding:8px!important}.p-md{padding:12px!important}.p-lg{padding:16px!important}.p-xl{padding:24px!important}.p-2xl{padding:32px!important}.px-xs{padding-left:4px!important;padding-right:4px!important}.px-sm{padding-left:8px!important;padding-right:8px!important}.px-md{padding-left:12px!important;padding-right:12px!important}.px-lg{padding-left:16px!important;padding-right:16px!important}.px-xl{padding-left:24px!important;padding-right:24px!important}.px-2xl{padding-left:32px!important;padding-right:32px!important}.py-xs{padding-top:4px!important;padding-bottom:4px!important}.py-sm{padding-top:8px!important;padding-bottom:8px!important}.py-md{padding-top:12px!important;padding-bottom:12px!important}.py-lg{padding-top:16px!important;padding-bottom:16px!important}.py-xl{padding-top:24px!important;padding-bottom:24px!important}.py-2xl{padding-top:32px!important;padding-bottom:32px!important}.gap-xs{gap:4px!important}.gap-sm{gap:8px!important}.gap-md{gap:12px!important}.gap-lg{gap:16px!important}.gap-xl{gap:24px!important}.gap-2xl{gap:32px!important}.space-y-xs>*+*{margin-top:4px!important}.space-y-sm>*+*{margin-top:8px!important}.space-y-md>*+*{margin-top:12px!important}.space-y-lg>*+*{margin-top:16px!important}.space-y-xl>*+*{margin-top:24px!important}.space-y-2xl>*+*{margin-top:32px!important}.mb-xs{margin-bottom:4px!important}.mb-sm{margin-bottom:8px!important}.mb-md{margin-bottom:12px!important}.mb-lg{margin-bottom:16px!important}.mb-xl{margin-bottom:24px!important}.mb-2xl{margin-bottom:32px!important}.mt-xs{margin-top:4px!important}.mt-sm{margin-top:8px!important}.mt-md{margin-top:12px!important}.mt-lg{margin-top:16px!important}.mt-xl{margin-top:24px!important}.mt-2xl{margin-top:32px!important}.rounded-xs{border-radius:2px!important}.rounded-sm{border-radius:4px!important}.rounded-md{border-radius:8px!important}.rounded-lg{border-radius:12px!important}.rounded-xl{border-radius:16px!important}.btn{padding:var(--space-md) var(--space-xl);border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);transition:all var(--transition-base);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);white-space:nowrap;border:none;outline:none;line-height:1}.btn-primary{background-color:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background-color:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background-color:var(--bg-tertiary);border-color:var(--border-dark)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background-color:transparent;color:var(--text-primary);border:1px solid transparent}.btn-ghost:hover{background-color:var(--bg-secondary);border-color:var(--border)}.btn-ghost:disabled{opacity:.5;cursor:not-allowed}.btn-success{background-color:var(--success);color:#fff;box-shadow:var(--shadow-sm)}.btn-success:hover{background-color:#059669;box-shadow:var(--shadow-md)}.btn-danger{background-color:var(--danger);color:#fff;box-shadow:var(--shadow-sm)}.btn-danger:hover{background-color:#dc2626;box-shadow:var(--shadow-md)}.btn-sm{padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-sm)}.btn-lg{padding:var(--space-lg) var(--space-2xl);font-size:var(--font-size-lg)}.card{background-color:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--space-xl);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.card-interactive{background-color:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--space-xl);border:1px solid var(--border);box-shadow:var(--shadow-sm);cursor:pointer;transition:all var(--transition-base)}.card-interactive:hover{background-color:var(--bg-secondary);border-color:var(--border-dark);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-highlighted{background-color:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--space-xl);border:2px solid var(--primary);box-shadow:var(--shadow-md)}.card-financial{background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);border-radius:var(--radius-lg);padding:var(--space-xl);border:1px solid var(--border);box-shadow:var(--shadow-md)}.card-success{background:linear-gradient(135deg,rgba(16,185,129,.1) 0%,var(--bg-primary) 100%);border-color:var(--success)}.card-danger{background:linear-gradient(135deg,rgba(239,68,68,.1) 0%,var(--bg-primary) 100%);border-color:var(--danger)}.input{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);background-color:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);font-size:var(--font-size-base);width:100%;transition:all var(--transition-base);line-height:var(--line-height-normal)}.input:hover{border-color:var(--border-dark)}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a;background-color:var(--bg-primary)}.input::placeholder{color:var(--text-tertiary);opacity:1}.input:disabled{background-color:var(--bg-secondary);cursor:not-allowed;opacity:.6}select.input{color:var(--text-primary);cursor:pointer}select.input option{color:var(--text-primary);background-color:var(--bg-primary)}.input-error{border-color:var(--danger)}.input-error:focus{border-color:var(--danger);box-shadow:0 0 0 3px #ef44441a}.label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);margin-bottom:var(--space-sm)}.badge{display:inline-flex;align-items:center;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1;white-space:nowrap}.badge-success{background-color:#10b98126;color:#059669;border:1px solid rgba(16,185,129,.3)}.badge-info{background-color:#2563eb26;color:#1d4ed8;border:1px solid rgba(37,99,235,.3)}.badge-warning{background-color:#f59e0b26;color:#d97706;border:1px solid rgba(245,158,11,.3)}.badge-danger{background-color:#ef444426;color:#dc2626;border:1px solid rgba(239,68,68,.3)}.badge-neutral{background-color:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-dark)}.metric-card{background-color:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--space-xl);border:1px solid var(--border);display:flex;flex-direction:column;gap:var(--space-sm)}.metric-label{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.05em}.metric-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);line-height:var(--line-height-tight)}.metric-value-positive{color:var(--success)}.metric-value-negative{color:var(--danger)}.metric-subtitle{font-size:var(--font-size-sm);color:var(--text-tertiary)}.progress-bar{width:100%;height:8px;background-color:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden;position:relative}.progress-fill{height:100%;background-color:var(--primary);border-radius:var(--radius-full);transition:width var(--transition-slow)}.progress-fill-success{background-color:var(--success)}.progress-fill-danger{background-color:var(--danger)}.progress-fill-warning{background-color:var(--warning)}.divider{border:0;border-top:1px solid var(--border);margin:var(--space-xl) 0}.divider-vertical{width:1px;height:100%;background-color:var(--border)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .2s ease-out}.animate-slide-in{animation:slideIn .2s ease-out}@media print{*{animation:none!important}body{background-color:#fff;color:var(--text-primary)}.pdf-header{page-break-after:avoid;border-bottom:2px solid var(--primary);padding-bottom:var(--space-xl);margin-bottom:var(--space-xl)}.pdf-header h2{font-size:24px;margin-bottom:var(--space-sm);color:var(--primary)}.card{page-break-inside:avoid;border:1px solid var(--border);margin-bottom:var(--space-xl);background-color:#fff}.card-highlighted{page-break-inside:avoid;border:2px solid var(--primary);background-color:#2563eb0d}button,.btn{display:none}header,.pdf-buttons,.help-section,footer{display:none}h1,h2,h3,h4,h5,h6{page-break-after:avoid;page-break-inside:avoid;color:var(--primary)}p{orphans:3;widows:3}table,tr,.metric-card{page-break-inside:avoid}.animate-spin{animation:none!important}}
