:root{--bg-primary: #1a1a2e;--bg-secondary: #16213e;--bg-card: #1e2a45;--bg-card-hover: #243352;--bg-input: #141c30;--bg-overlay: rgba(10, 10, 20, .7);--text-primary: #f5f0e8;--text-secondary: #a0998e;--text-muted: #6b6560;--gold: #c9a96e;--gold-light: #d4bc8e;--gold-dark: #a88b4a;--positive: #2d6a4f;--positive-light: #40916c;--negative: #c9414e;--negative-light: #e05561;--warning: #e09f3e;--info: #457b9d;--radius: 12px;--radius-sm: 8px;--radius-xs: 4px;--transition: .3s ease-out;--transition-fast: .15s ease-out;--shadow-card: 0 4px 24px rgba(0, 0, 0, .3);--shadow-elevated: 0 8px 32px rgba(0, 0, 0, .4);--shadow-glow: 0 0 20px rgba(201, 169, 110, .15);--sidebar-width: 280px;--sidebar-collapsed: 72px;--topbar-height: 64px;--font-heading: "DM Serif Display", serif;--font-body: "Satoshi", sans-serif}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-body);font-weight:400;color:var(--text-primary);background-color:var(--bg-primary);line-height:1.6;min-height:100vh;overflow-x:hidden}#root{min-height:100vh}img,svg{display:block;max-width:100%}a{color:var(--gold);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--gold-light)}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:400;color:var(--text-primary);line-height:1.2}h1{font-size:2.25rem}h2{font-size:1.75rem}h3{font-size:1.375rem}h4{font-size:1.125rem}p{color:var(--text-secondary);line-height:1.7}small{font-size:.8125rem;color:var(--text-muted)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c9a96e33;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#c9a96e59}*{scrollbar-width:thin;scrollbar-color:rgba(201,169,110,.2) transparent}::selection{background:#c9a96e4d;color:var(--text-primary)}:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:var(--radius-xs)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-weight:500;font-size:.9375rem;padding:10px 24px;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:background var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition);white-space:nowrap;-webkit-user-select:none;user-select:none;line-height:1.4}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--gold);color:var(--bg-primary);border-color:var(--gold)}.btn-primary:hover:not(:disabled){background:var(--gold-light);border-color:var(--gold-light);box-shadow:var(--shadow-glow)}.btn-secondary{background:transparent;color:var(--gold);border-color:var(--gold-dark)}.btn-secondary:hover:not(:disabled){background:#c9a96e1a;border-color:var(--gold)}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.btn-ghost:hover:not(:disabled){color:var(--text-primary);background:#ffffff0d}.btn-sm{font-size:.8125rem;padding:6px 16px}.btn-lg{font-size:1rem;padding:14px 32px}.btn-icon{padding:8px;border-radius:var(--radius-sm);width:40px;height:40px}.input{font-family:var(--font-body);font-size:.9375rem;font-weight:400;color:var(--text-primary);background:var(--bg-input);border:1px solid rgba(201,169,110,.15);border-radius:var(--radius-sm);padding:12px 16px;width:100%;transition:border-color var(--transition),box-shadow var(--transition);line-height:1.5}.input::placeholder{color:var(--text-muted)}.input:hover{border-color:#c9a96e4d}.input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #c9a96e1f}.input-error{border-color:var(--negative)}.input-error:focus{border-color:var(--negative-light);box-shadow:0 0 0 3px #c9414e1f}.input-label{display:block;font-size:.8125rem;font-weight:500;color:var(--text-secondary);margin-bottom:6px;letter-spacing:.02em;text-transform:uppercase}.input-group{margin-bottom:20px}.input-hint{font-size:.75rem;color:var(--text-muted);margin-top:4px}.input-error-msg{font-size:.75rem;color:var(--negative-light);margin-top:4px}.card{background:var(--bg-card);border:1px solid rgba(201,169,110,.08);border-radius:var(--radius);padding:24px;transition:background var(--transition),border-color var(--transition),box-shadow var(--transition)}.card:hover{background:var(--bg-card-hover);border-color:#c9a96e26}.card-elevated{box-shadow:var(--shadow-card)}.card-elevated:hover{box-shadow:var(--shadow-elevated)}.divider{height:1px;background:#c9a96e1a;border:none;margin:24px 0}.badge{display:inline-flex;align-items:center;gap:4px;font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 10px;border-radius:100px;line-height:1.4}.badge-gold{background:#c9a96e26;color:var(--gold-light)}.badge-positive{background:#2d6a4f33;color:var(--positive-light)}.badge-negative{background:#c9414e26;color:var(--negative-light)}.badge-info{background:#457b9d33;color:var(--info)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes spinnerRing{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes goldShimmer{0%{background-position:-200% center}to{background-position:200% center}}.animate-fade-in{animation:fadeIn .4s ease-out both}.animate-slide-up{animation:slideUp .5s ease-out both}.animate-slide-down{animation:slideDown .3s ease-out both}.text-gold{color:var(--gold)}.text-positive{color:var(--positive-light)}.text-negative{color:var(--negative-light)}.text-warning{color:var(--warning)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.font-heading{font-family:var(--font-heading)}.font-body{font-family:var(--font-body)}.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}@media(max-width:768px){html{font-size:15px}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}
