:root,[data-theme=light]{--color-brand-500: #2c7a7b;--color-brand-600: #246b6c;--color-brand-100: #e6f2f2;--color-bg: #f7f8f9;--color-surface: #ffffff;--color-surface-2: #f1f3f4;--color-border: #e3e7ea;--color-text: #1a2024;--color-text-muted: #5c6770;--color-positive: #2f855a;--color-positive-bg: #e9f5ef;--color-warning: #b7791f;--color-warning-bg: #fbf3e4;--color-negative: #c05621;--color-negative-bg: #fbede6;--color-neutral: #5c6770;--color-focus-ring: #2c7a7b;--shadow-sm: 0 1px 2px rgba(20, 24, 28, .06);--shadow-md: 0 4px 12px rgba(20, 24, 28, .08);--shadow-lg: 0 12px 32px rgba(20, 24, 28, .14)}[data-theme=dark]{--color-brand-500: #4fd1c5;--color-brand-600: #38b2ac;--color-brand-100: #1d3a3a;--color-bg: #14181b;--color-surface: #1c2226;--color-surface-2: #232b30;--color-border: #2c353b;--color-text: #eceff1;--color-text-muted: #9aa5ad;--color-positive: #68d391;--color-positive-bg: #1c3a2c;--color-warning: #ecc94b;--color-warning-bg: #3a3220;--color-negative: #f6ad7b;--color-negative-bg: #3a2a20;--color-neutral: #9aa5ad;--color-focus-ring: #4fd1c5;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .5)}:root{--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 999px;--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-fast: .12s;--dur-base: .2s;--dur-slow: .32s;--touch-min: 44px;--safe-top: env(safe-area-inset-top);--safe-bottom: env(safe-area-inset-bottom);--bottom-nav-h: 64px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}input{font:inherit;color:inherit}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.app-shell{min-height:100%;max-width:720px;margin:0 auto;padding-bottom:calc(var(--bottom-nav-h) + var(--safe-bottom) + var(--space-4))}.page{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.app-header{display:flex;align-items:center;justify-content:space-between;padding:calc(var(--safe-top) + var(--space-4)) var(--space-4) var(--space-2)}.app-header h1{font-size:1.05rem;font-weight:600}.muted{color:var(--color-text-muted)}.section-title{font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-2)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--touch-min);padding:0 var(--space-5);border-radius:var(--radius-md);font-weight:600;transition:transform var(--dur-fast) var(--ease-out),background var(--dur-fast)}.btn:active{transform:scale(.98)}.btn-primary{background:var(--color-brand-500);color:#fff}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:var(--color-surface-2);color:var(--color-text)}.btn-block{width:100%}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field label{font-size:.85rem;color:var(--color-text-muted)}.field input,.field select{min-height:var(--touch-min);padding:0 var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.row{display:flex;align-items:center;gap:var(--space-3)}.between{justify-content:space-between}.grow{flex:1}.stack{display:flex;flex-direction:column;gap:var(--space-3)}.spin{width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
