:root{--color-text-primary: #3D3A36;--color-text-secondary: #5C564E;--color-text-tertiary: #706A62;--color-text-muted: #9B9285;--color-bg-primary: #FDFCFB;--color-bg-secondary: #F8F6F3;--color-bg-tertiary: #FAFAF8;--color-bg-card: #ffffff;--color-border-light: rgba(93, 86, 78, .06);--color-border-default: rgba(93, 86, 78, .08);--color-border-medium: rgba(93, 86, 78, .12);--color-border-strong: rgba(93, 86, 78, .15);--color-success: #5A8A5E;--color-success-bg: rgba(152, 184, 154, .15);--color-success-border: rgba(152, 184, 154, .3);--color-warning: #9B7B3C;--color-warning-bg: rgba(232, 200, 140, .2);--color-warning-border: rgba(232, 200, 140, .3);--color-error: #8B5A50;--color-error-bg: rgba(201, 140, 130, .15);--color-error-border: rgba(201, 140, 130, .3);--color-info: #5A6A8A;--color-info-bg: rgba(184, 196, 232, .2);--color-info-border: rgba(90, 106, 138, .3);--color-accent-primary: #3D3A36;--color-accent-blue: #3b82f6;--color-accent-purple: #8B5CF6;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 12px;--radius-2xl: 14px;--radius-3xl: 16px;--radius-full: 100px;--spacing-xs: 4px;--spacing-sm: 6px;--spacing-md: 8px;--spacing-lg: 12px;--spacing-xl: 16px;--spacing-2xl: 20px;--spacing-3xl: 24px;--spacing-4xl: 32px;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 1px 3px rgba(0, 0, 0, .08);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .1);--shadow-focus: 0 0 0 3px rgba(61, 58, 54, .15);--shadow-focus-primary: 0 0 0 3px rgba(61, 58, 54, .2);--shadow-focus-error: 0 0 0 3px rgba(139, 90, 80, .2);--font-sans: "General Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--font-serif: "Sentient", Georgia, serif;--text-xs: 10px;--text-sm: 11px;--text-base: 12px;--text-md: 13px;--text-lg: 14px;--text-xl: 16px;--text-2xl: 18px;--text-3xl: 20px;--text-4xl: 24px;--text-5xl: 28px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--color-text-primary)}body{min-height:100vh;background:linear-gradient(180deg,var(--color-bg-primary) 0%,var(--color-bg-secondary) 100%)}#root{min-height:100vh}a{text-decoration:none;color:inherit}img,svg{display:block;max-width:100%}button{font-family:inherit;cursor:pointer;border:none;outline:none;transition:all var(--transition-fast)}button:focus-visible{box-shadow:var(--shadow-focus-primary)}button:disabled{cursor:not-allowed;opacity:.6}.btn-primary,button[data-variant=primary]{padding:var(--spacing-lg) var(--spacing-2xl);border-radius:var(--radius-lg);background:var(--color-accent-primary);color:#faf9f7;font-size:var(--text-md);font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-md)}.btn-primary:hover:not(:disabled),button[data-variant=primary]:hover:not(:disabled){background:#2c2a27}.btn-primary:active:not(:disabled),button[data-variant=primary]:active:not(:disabled){transform:translateY(1px)}.btn-secondary,button[data-variant=secondary]{padding:var(--spacing-lg) var(--spacing-2xl);border-radius:var(--radius-lg);background:var(--color-bg-card);border:1px solid var(--color-border-strong);color:var(--color-text-secondary);font-size:var(--text-md);font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-md)}.btn-secondary:hover:not(:disabled),button[data-variant=secondary]:hover:not(:disabled){background:var(--color-bg-tertiary);border-color:var(--color-border-medium)}.btn-tertiary,button[data-variant=tertiary]{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);font-size:var(--text-md);font-weight:500}.btn-tertiary:hover:not(:disabled),button[data-variant=tertiary]:hover:not(:disabled){background:var(--color-border-light)}.btn-danger,button[data-variant=danger]{padding:var(--spacing-lg) var(--spacing-xl);border-radius:var(--radius-md);background:var(--color-error-bg);color:var(--color-error);font-size:var(--text-md);font-weight:500}.btn-danger:hover:not(:disabled),button[data-variant=danger]:hover:not(:disabled){background:#c98c8240}.btn-danger:focus-visible{box-shadow:var(--shadow-focus-error)}.btn-icon,button[data-variant=icon]{width:36px;height:36px;padding:0;border-radius:var(--radius-md);background:var(--color-border-light);color:var(--color-text-tertiary);font-size:var(--text-xl);display:inline-flex;align-items:center;justify-content:center}.btn-icon:hover:not(:disabled),button[data-variant=icon]:hover:not(:disabled){background:var(--color-border-default)}input,select,textarea{font-family:inherit;font-size:var(--text-lg);color:var(--color-text-primary);background:var(--color-bg-card);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--spacing-lg) var(--spacing-xl);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input:focus,select:focus,textarea:focus{border-color:var(--color-accent-primary);box-shadow:var(--shadow-focus)}input:hover:not(:focus):not(:disabled),select:hover:not(:focus):not(:disabled),textarea:hover:not(:focus):not(:disabled){border-color:var(--color-border-medium)}input:disabled,select:disabled,textarea:disabled{background:var(--color-bg-tertiary);color:var(--color-text-muted);cursor:not-allowed}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}input[aria-invalid=true],input.error,select[aria-invalid=true],select.error,textarea[aria-invalid=true],textarea.error{border-color:var(--color-error)}input[aria-invalid=true]:focus,input.error:focus,select[aria-invalid=true]:focus,select.error:focus,textarea[aria-invalid=true]:focus,textarea.error:focus{box-shadow:var(--shadow-focus-error)}select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%239B9285' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}textarea{resize:vertical;min-height:80px}.card{background:var(--color-bg-card);border-radius:var(--radius-3xl);border:1px solid var(--color-border-default);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.card:hover{border-color:var(--color-border-medium)}.card-elevated{box-shadow:var(--shadow-md)}.card-interactive{cursor:pointer}.card-interactive:hover{box-shadow:var(--shadow-lg)}.empty-state{text-align:center;padding:60px var(--spacing-2xl);background:var(--color-bg-card);border-radius:var(--radius-3xl);border:1px solid var(--color-border-default)}.empty-state-icon{font-size:48px;margin-bottom:var(--spacing-xl);opacity:.9}.empty-state-title{font-size:var(--text-2xl);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0}.empty-state-text{font-size:var(--text-lg);color:var(--color-text-muted);max-width:300px;margin:0 auto}.empty-state-compact{padding:40px var(--spacing-2xl)}.empty-state-compact .empty-state-icon{font-size:40px;margin-bottom:var(--spacing-lg)}.empty-state-compact .empty-state-title{font-size:var(--text-xl)}.badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-lg);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:.025em}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-error{background:var(--color-error-bg);color:var(--color-error)}.badge-info{background:var(--color-info-bg);color:var(--color-info)}.badge-neutral{background:var(--color-border-default);color:var(--color-text-muted)}.badge-sm{padding:2px var(--spacing-sm);font-size:var(--text-xs);border-radius:var(--radius-sm)}.loading{padding:40px;text-align:center;color:var(--color-text-muted);font-size:var(--text-lg)}.error-message{padding:var(--spacing-xl) var(--spacing-2xl);background:var(--color-error-bg);color:var(--color-error);border-radius:var(--radius-lg);font-size:var(--text-lg)}.focus-visible:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-pulse{animation:pulse 2s infinite}.animate-spin{animation:spin 1s linear infinite}.saas-health-scorecard-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}@media (max-width: 1024px){.saas-health-scorecard-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.saas-health-scorecard-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.saas-health-scorecard-grid{grid-template-columns:1fr}}.stats-grid-responsive{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media (max-width: 1024px){.stats-grid-responsive{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.stats-grid-responsive{grid-template-columns:1fr}}.charts-row-responsive{display:grid;grid-template-columns:2fr 1fr;gap:20px}@media (max-width: 1024px){.charts-row-responsive{grid-template-columns:1fr}}
