#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.auth-container{width:100%;max-width:400px;margin:0 auto 2rem;display:flex;justify-content:center}.auth-card{width:100%;background:linear-gradient(145deg,#1e1e2e,#2d2d3d);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2rem;box-shadow:0 4px 6px -1px #0003,0 10px 20px -5px #0000004d,0 0 40px #ec48991a}.auth-header{text-align:center;margin-bottom:2rem}.auth-title{font-size:1.5rem;font-weight:600;color:#ec4899;margin:0 0 .5rem}.auth-subtitle{font-size:.9rem;color:#94a3b8;margin:0}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.875rem;font-weight:500;color:#e2e8f0}.form-input{width:100%;padding:.75rem 1rem;font-size:1rem;color:#f8fafc;background-color:#0f172a;border:1px solid #334155;border-radius:8px;outline:none;transition:all .2s ease;box-sizing:border-box}.form-input::placeholder{color:#64748b}.form-input:focus{border-color:#ec4899;box-shadow:0 0 0 3px #ec489933}.form-input.error{border-color:#ef4444}.form-error{font-size:.8rem;color:#f87171;margin:0}.btn-primary{width:100%;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#ec4899,#db2777);border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;margin-top:.5rem}.btn-primary:hover{background:linear-gradient(135deg,#f472b6,#ec4899);transform:translateY(-1px);box-shadow:0 4px 12px #ec489966}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-outline{width:100%;padding:.875rem 1.5rem;font-size:1rem;font-weight:500;color:#e2e8f0;background:transparent;border:1px solid #475569;border-radius:8px;cursor:pointer;transition:all .2s ease}.btn-outline:hover{background:#ffffff0d;border-color:#64748b}.alert-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:.75rem 1rem;color:#fca5a5;font-size:.875rem}.alert-success{background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:8px;padding:.75rem 1rem}.user-info{background:#0f172a;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.user-info-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin:0 0 1rem}.user-info-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #1e293b}.user-info-row:last-child{border-bottom:none}.user-info-label{color:#94a3b8;font-size:.875rem}.user-info-value{color:#f8fafc;font-size:.875rem;font-weight:500}.user-info-value.highlight{color:#ec4899}.user-info-value.mono{font-family:JetBrains Mono,monospace}.permissions-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.permission-badge{background:#1e293b;color:#cbd5e1;font-size:.75rem;padding:.25rem .5rem;border-radius:4px}.permissions-section{margin-top:1rem}.success-icon{color:#10b981;font-size:1.25rem;margin-right:.5rem}
