#app{min-height:100vh;background-color:var(--bg-primary);color:var(--text-primary)}.app-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:var(--bg-primary)}.loading-spinner{width:48px;height:48px;border:4px solid var(--border-color);border-top-color:var(--accent-gold);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:root{--bg-primary: #1a1a1a;--bg-secondary: #252525;--bg-tertiary: #2d2d2d;--bg-elevated: #333333;--text-primary: #f5f0e8;--text-secondary: #b8b0a0;--text-muted: #8a8276;--accent-gold: #c9a84c;--accent-gold-hover: #d4b55a;--accent-gold-light: rgba(201, 168, 76, .15);--accent-green: #6b8f71;--accent-green-hover: #7da082;--accent-green-light: rgba(107, 143, 113, .15);--accent-brown: #8b7355;--accent-brown-light: rgba(139, 115, 85, .15);--border-color: #3a3a3a;--border-color-light: #4a4a4a;--error: #c94c4c;--error-light: rgba(201, 76, 76, .15);--warning: #c9a84c;--success: #6b8f71;--info: #6b8f71;--risk-low: #6b8f71;--risk-low-bg: rgba(107, 143, 113, .15);--risk-moderate: #c9a84c;--risk-moderate-bg: rgba(201, 168, 76, .15);--risk-elevated: #c97c4c;--risk-elevated-bg: rgba(201, 124, 76, .15);--risk-high: #c94c4c;--risk-high-bg: rgba(201, 76, 76, .15);--font-heading: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--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;--text-4xl: 2.25rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--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;--space-16: 4rem;--space-20: 5rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -2px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 10px 10px -5px rgba(0, 0, 0, .3);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease;--z-dropdown: 100;--z-sticky: 200;--z-modal: 300;--z-toast: 400}[data-theme=light]{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-tertiary: #f1f5f9;--bg-elevated: #ffffff;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--border-color: #e2e8f0;--border-color-light: #f1f5f9;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -1px rgba(0, 0, 0, .02);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .05), 0 4px 6px -2px rgba(0, 0, 0, .02);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .05), 0 10px 10px -5px rgba(0, 0, 0, .02)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--bg-primary);min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--text-primary)}a{color:var(--accent-gold);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-gold-hover)}button{font-family:var(--font-body);cursor:pointer;border:none;background:none}img{max-width:100%;height:auto}:focus-visible{outline:2px solid var(--accent-gold);outline-offset:2px}::selection{background-color:var(--accent-gold-light);color:var(--text-primary)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color-light);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-4)}.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 fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:fadeIn var(--transition-base) ease forwards}.animate-slide-up{animation:slideUp var(--transition-base) ease forwards}.animate-slide-in-right{animation:slideInRight var(--transition-base) ease forwards}input:not([type=radio]):not([type=checkbox]),textarea,select{font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input:not([type=radio]):not([type=checkbox]):focus,textarea:focus,select:focus{border-color:var(--accent-gold);box-shadow:0 0 0 3px var(--accent-gold-light);outline:none}input[type=radio],input[type=checkbox]{border:none;border-radius:0;padding:0;background:transparent;box-shadow:none;outline:none}select.input-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:100%;padding-right:var(--space-10);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8b0a0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-4) center;background-size:16px;cursor:pointer}[data-theme=light] select.input-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")}input::placeholder,textarea::placeholder{color:var(--text-muted)}@media (max-width: 640px){:root{--text-4xl: 1.875rem;--text-3xl: 1.5rem;--text-2xl: 1.25rem}}.table-empty{text-align:center;padding:var(--space-12) var(--space-6);color:var(--text-muted);font-size:var(--text-sm)}
