*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}:root{--color-bg: #ffffff;--color-text: #1a1a1a;--color-primary: #0066cc;--color-secondary: #6c757d;--color-border: #e0e0e0;--color-error: #dc3545;--color-success: #28a745;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--border-radius: .5rem;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1)}[data-theme=dark]{--color-bg: #1a1a1a;--color-text: #ffffff;--color-primary: #4dabf7;--color-secondary: #adb5bd;--color-border: #404040;--color-error: #ff6b6b;--color-success: #51cf66}*{margin:0;padding:0;box-sizing:border-box}html,body{min-height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg);color:var(--color-text);transition:background-color .3s ease,color .3s ease}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.btn{padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--border-radius);cursor:pointer;font-size:1rem;transition:all .2s ease}.btn-primary{background-color:var(--btn-primary-bg, var(--color-primary));color:#fff}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-secondary{background-color:var(--btn-secondary-bg, var(--color-secondary));color:#fff}.input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius);background-color:var(--color-bg);color:var(--color-text);font-size:1rem}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0066cc1a}.card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}@keyframes toastIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}
