:root,[data-theme=dark]{--bg: #151b17;--sidebar: #1b221e;--surface: #222a25;--elevated: #2a332d;--primary: #52b788;--solid: #1f4433;--on-solid: #f3faf5;--secondary: #0e8b8a;--chart: #3bb4b0;--mint: #7fd1a8;--gold: #d4a43a;--mauve: #9b6e8e;--text: #eaf0ec;--text2: #8aa593;--muted: #5a6a60;--divider: #303a34;--error: #e05252;--primary-soft: rgba(82, 183, 136, .16);--mint-soft: rgba(127, 209, 168, .15);--gold-soft: rgba(212, 164, 58, .16);--teal-soft: rgba(14, 139, 138, .16);--mauve-soft: rgba(155, 110, 142, .16);--error-soft: rgba(224, 82, 82, .16);--hover-bg: rgba(255, 255, 255, .04);--card-shadow: 0 1px 2px rgba(0, 0, 0, .28), 0 6px 20px rgba(0, 0, 0, .16);--card-hover: 0 2px 4px rgba(0, 0, 0, .3), 0 14px 34px rgba(0, 0, 0, .28);--shadow: 0 18px 50px rgba(0, 0, 0, .5);--scrim: rgba(8, 14, 10, .55);color-scheme:dark}[data-theme=light]{--bg: #f5f6f4;--sidebar: #eceeea;--surface: #ffffff;--elevated: #f1f3f0;--primary: #2d8653;--solid: #1f4433;--on-solid: #ffffff;--secondary: #0a7a7a;--chart: #17a6a3;--mint: #3e9e6e;--gold: #b8882e;--mauve: #7a5470;--text: #141f18;--text2: #465c4c;--muted: #849a8a;--divider: #dee5dd;--error: #c04040;--primary-soft: rgba(45, 134, 83, .12);--mint-soft: rgba(62, 158, 110, .12);--gold-soft: rgba(184, 136, 46, .12);--teal-soft: rgba(10, 122, 122, .12);--mauve-soft: rgba(122, 84, 112, .12);--error-soft: rgba(192, 64, 64, .12);--hover-bg: rgba(31, 45, 35, .035);--card-shadow: 0 1px 2px rgba(31, 45, 35, .05), 0 4px 16px rgba(31, 45, 35, .06);--card-hover: 0 2px 6px rgba(31, 45, 35, .08), 0 14px 32px rgba(31, 45, 35, .12);--shadow: 0 18px 50px rgba(31, 45, 35, .14);--scrim: rgba(31, 45, 35, .28);color-scheme:light}:root{--card: var(--surface);--inset: var(--elevated);--border: var(--divider);--accent: var(--solid);--accent-bright: var(--primary);--sage: var(--mint);--danger: var(--error)}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font:inherit;font-weight:600;cursor:pointer;border:none;border-radius:9px;padding:9px 15px;background:var(--solid);color:var(--on-solid);transition:filter .12s ease,background .12s ease,border-color .12s ease}button:hover:not(:disabled){filter:brightness(1.08)}button:disabled{opacity:.5;cursor:default}button.secondary{background:var(--surface);color:var(--text);border:1px solid var(--divider)}button.secondary:hover:not(:disabled){background:var(--elevated);filter:none}button.ghost{background:transparent;color:var(--text2)}button.ghost:hover:not(:disabled){background:var(--hover-bg);filter:none}button.danger{background:transparent;color:var(--error);border:1px solid var(--error)}button.danger:hover:not(:disabled){background:var(--error-soft);filter:none}button.gold{background:var(--gold-soft);color:var(--gold);border:1px solid var(--gold)}button.gold:hover:not(:disabled){filter:brightness(1.05)}input,select,textarea{font:inherit;color:var(--text);background:var(--elevated);border:1px solid var(--divider);border-radius:9px;padding:8px 11px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}::placeholder{color:var(--muted)}a{color:var(--secondary);text-decoration:none}a:hover{text-decoration:underline}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;letter-spacing:.03em;padding:3px 10px;border-radius:20px;border:1px solid transparent;background:var(--elevated);color:var(--text2);white-space:nowrap}.badge.mint{background:var(--mint-soft);color:var(--mint)}.badge.gold{background:var(--gold-soft);color:var(--gold)}.badge.teal{background:var(--teal-soft);color:var(--secondary)}.badge.mauve{background:var(--mauve-soft);color:var(--mauve)}.badge.error{background:var(--error-soft);color:var(--error)}.badge.primary{background:var(--primary-soft);color:var(--primary)}@keyframes drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes scale-in{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.drawer-anim{animation:drawer-in .28s cubic-bezier(.2,.8,.2,1)}.scale-anim{animation:scale-in .16s cubic-bezier(.2,.8,.2,1)}.fade-anim{animation:fade-in .14s ease}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--divider);border-radius:8px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}
