.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);font-family:var(--font-family-base);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);transition:all var(--transition-base);cursor:pointer;outline:none;position:relative;overflow:hidden}.btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.btn-primary{background:var(--accent-gradient);color:var(--text-primary);box-shadow:var(--shadow-md)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--shadow-glow)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--bg-tertiary);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--accent-primary);box-shadow:var(--shadow-md)}.btn-danger{background:var(--color-error);color:var(--text-primary);box-shadow:var(--shadow-md)}.btn-danger:hover:not(:disabled){background:#dc2626;box-shadow:var(--shadow-lg)}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid transparent}.btn-ghost:hover:not(:disabled){background:var(--bg-card);color:var(--text-primary);border-color:var(--bg-tertiary)}.btn-sm{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm);min-height:32px}.btn-md{padding:var(--spacing-3) var(--spacing-6);font-size:var(--font-size-base);min-height:40px}.btn-lg{padding:var(--spacing-4) var(--spacing-8);font-size:var(--font-size-lg);min-height:48px}.btn-loading{cursor:wait}.btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:currentColor;border-radius:var(--radius-full);animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn-content-hidden{opacity:0}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;position:relative;overflow:hidden}.login-background{position:absolute;inset:0;z-index:0}.login-gradient{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(102,126,234,.3) 0%,rgba(118,75,162,.2) 50%,transparent 70%);animation:rotate 20s linear infinite}.login-pattern{position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.03) 1px,transparent 0);background-size:40px 40px;opacity:.5}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-content{position:relative;z-index:1;width:100%;max-width:440px;padding:var(--spacing-6)}.login-logo{display:flex;justify-content:center;margin-bottom:var(--spacing-8)}.logo-full{width:200px;height:60px;flex-shrink:0;filter:drop-shadow(var(--shadow-glow));animation:fadeIn var(--transition-slow)}.login-card{background:#1a1a2ecc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);padding:var(--spacing-8);box-shadow:var(--shadow-xl),var(--shadow-glow)}.login-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-2);text-align:center;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-subtitle{font-size:var(--font-size-base);color:var(--text-secondary);text-align:center;margin-bottom:var(--spacing-8)}.login-error{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-4);background:var(--color-error-bg);border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--font-size-sm);margin-bottom:var(--spacing-6)}.login-error svg{flex-shrink:0}.login-form{display:flex;flex-direction:column;gap:var(--spacing-6)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-2)}.form-group label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:var(--spacing-4);color:var(--text-tertiary);pointer-events:none;z-index:1;transition:color var(--transition-base)}.input-wrapper:focus-within .input-icon{color:var(--accent-primary)}.form-group input{width:100%;padding:var(--spacing-4) var(--spacing-4) var(--spacing-4) calc(var(--spacing-4) * 3 + 20px);background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-base);transition:all var(--transition-base)}.form-group input::placeholder{color:var(--text-tertiary)}.form-group input:focus{outline:none;border-color:var(--accent-primary);background:#ffffff14;box-shadow:0 0 0 3px #667eea1a}.form-group input:hover:not(:focus){border-color:#fff3;background:#ffffff0f}.login-button{width:100%;margin-top:var(--spacing-2)}@media(max-width:480px){.login-content{padding:var(--spacing-4)}.login-card{padding:var(--spacing-6)}.login-title{font-size:var(--font-size-2xl)}}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;background:#ffffff0d;padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);color:var(--accent-primary);font-size:var(--font-size-sm)}:root{--bg-primary: #0f0f23;--bg-secondary: #1a1a2e;--bg-tertiary: #16213e;--bg-hover: #1e2746;--bg-card: #1a1a2e;--bg-card-hover: #1e2746;--bg-overlay: rgba(15, 15, 35, .95);--text-primary: #ffffff;--text-secondary: #b8b8d4;--text-tertiary: #8b8ba7;--text-disabled: #5a5a7a;--accent-primary: #667eea;--accent-secondary: #764ba2;--accent-highlight: #f093fb;--accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--color-success: #10b981;--color-error: #ef4444;--color-warning: #f59e0b;--color-info: #3b82f6;--color-success-bg: rgba(16, 185, 129, .1);--color-error-bg: rgba(239, 68, 68, .1);--color-warning-bg: rgba(245, 158, 11, .1);--color-info-bg: rgba(59, 130, 246, .1);--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-heading: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -2px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6), 0 10px 10px -5px rgba(0, 0, 0, .4);--shadow-glow: 0 0 20px rgba(102, 126, 234, .3);--shadow-glow-strong: 0 0 30px rgba(102, 126, 234, .5);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}*,*: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{margin:0;min-width:320px;min-height:100vh;font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--bg-primary);overflow-x:hidden}#root{min-height:100vh}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:var(--radius-md)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:var(--radius-md);border:2px solid var(--bg-secondary)}::-webkit-scrollbar-thumb:hover{background:var(--bg-hover)}*{scrollbar-width:thin;scrollbar-color:var(--bg-tertiary) var(--bg-secondary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes glow{0%,to{box-shadow:0 0 20px #667eea4d}50%{box-shadow:0 0 30px #667eea80}}.animate-fade-in{animation:fadeIn var(--transition-base)}.animate-slide-up{animation:slideUp var(--transition-base)}.animate-slide-down{animation:slideDown var(--transition-base)}::selection{background-color:var(--accent-primary);color:var(--text-primary)}::-moz-selection{background-color:var(--accent-primary);color:var(--text-primary)}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-secondary)}button{font-family:inherit;cursor:pointer;border:none;outline:none;transition:all var(--transition-base)}button:disabled{cursor:not-allowed;opacity:.6}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit;background-color:transparent;border:none;outline:none}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--text-primary)}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}
