:root{--bg-dark:#07090e;--bg-card:#0f172abf;--bg-card-hover:#1e293bd9;--bg-input:#0b1120cc;--primary:#38bdf8;--primary-hover:#0ea5e9;--primary-glow:#38bdf840;--secondary:#64748b;--secondary-hover:#94a3b8;--success:#10b981;--success-glow:#10b98133;--warning:#f59e0b;--danger:#f43f5e;--danger-hover:#e11d48;--text-main:#f8fafc;--text-muted:#94a3b8;--text-sub:#64748b;--border:#ffffff14;--border-focus:#38bdf880;--font-family:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--transition-smooth:all .25s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-dark);color:var(--text-main);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5;overflow-x:hidden}.glow-orb{filter:blur(120px);pointer-events:none;z-index:0;border-radius:50%;position:absolute}.orb-1{background:radial-gradient(circle,#38bdf826,#0000 70%);width:500px;height:500px;top:-100px;left:-100px}.orb-2{background:radial-gradient(circle,#6366f11f,#0000 70%);width:600px;height:600px;bottom:-150px;right:-150px}.app-header{z-index:10;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#07090e99;justify-content:space-between;align-items:center;padding:1.25rem 2.5rem;display:flex;position:relative}.header-logo-group{align-items:center;gap:.85rem;display:flex}.logo-icon-box{width:42px;height:42px;color:var(--primary);box-shadow:0 0 20px var(--primary-glow);background:linear-gradient(135deg,#38bdf833,#6366f133);border:1px solid #38bdf866;border-radius:12px;justify-content:center;align-items:center;display:flex;position:relative}.logo-sparkle{color:#fff;position:absolute;top:6px;right:6px}.logo-text-group{flex-direction:column;display:flex}.logo-title{letter-spacing:1px;font-size:1.25rem;font-weight:800}.logo-accent{color:var(--primary)}.logo-badge{letter-spacing:1.5px;color:var(--text-muted);font-size:.65rem;font-weight:700}.health-badge-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:var(--transition-smooth);background:#0f172acc;border-radius:9999px;align-items:center;gap:.5rem;padding:.45rem .9rem;font-size:.8rem;display:flex}.health-badge-btn:hover{border-color:var(--border-focus);color:var(--text-main)}.status-indicator{border-radius:50%;width:8px;height:8px}.status-healthy{background:var(--success);box-shadow:0 0 8px var(--success)}.status-unhealthy{background:var(--danger);box-shadow:0 0 8px var(--danger)}.status-checking{background:var(--warning);box-shadow:0 0 8px var(--warning)}.auth-page-container{z-index:1;justify-content:center;align-items:center;min-height:calc(100vh - 80px);padding:2.5rem 1.5rem;display:flex;position:relative}.auth-card-wrapper{background:var(--bg-card);border:1px solid var(--border);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:24px;grid-template-columns:1.1fr 1fr;width:100%;max-width:1040px;display:grid;overflow:hidden;box-shadow:0 25px 50px -12px #000000b3}@media (width<=860px){.auth-card-wrapper{grid-template-columns:1fr}}.auth-hero-section{border-right:1px solid var(--border);background:linear-gradient(135deg,#1e293b80,#0f172acc);flex-direction:column;justify-content:center;padding:3.5rem;display:flex}.hero-badge{color:var(--primary);background:#38bdf81a;border:1px solid #38bdf833;border-radius:9999px;align-items:center;gap:.5rem;width:fit-content;margin-bottom:1.5rem;padding:.35rem .8rem;font-size:.8rem;font-weight:600;display:inline-flex}.hero-heading{margin-bottom:1rem;font-size:2.3rem;font-weight:800;line-height:1.2}.text-gradient{background:linear-gradient(135deg,#38bdf8 0%,#818cf8 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.hero-subtext{color:var(--text-muted);margin-bottom:2.5rem;font-size:.95rem;line-height:1.6}.feature-list{flex-direction:column;gap:1.25rem;display:flex}.feature-item{align-items:flex-start;gap:1rem;display:flex}.feature-icon{width:36px;height:36px;color:var(--primary);background:#38bdf81a;border:1px solid #38bdf833;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.feature-item strong{font-size:.95rem;display:block}.feature-item p{color:var(--text-muted);font-size:.82rem}.auth-form-section{flex-direction:column;justify-content:center;padding:3rem;display:flex}.auth-tabs{border:1px solid var(--border);background:#0b112099;border-radius:12px;margin-bottom:2rem;padding:.35rem;display:flex}.auth-tab-btn{color:var(--text-muted);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;border-radius:8px;flex:1;padding:.6rem;font-size:.9rem;font-weight:600}.auth-tab-btn.active{color:var(--primary);background:#38bdf826;border:1px solid #38bdf84d;box-shadow:0 0 15px #38bdf826}.form-group{flex-direction:column;gap:.45rem;margin-bottom:1.25rem;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=500px){.form-row{grid-template-columns:1fr}}.form-label-row{justify-content:space-between;align-items:center;display:flex}.form-label{color:var(--text-main);font-size:.85rem;font-weight:600}.input-icon-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-sub);pointer-events:none;position:absolute;left:1rem}.form-input{background:var(--bg-input);border:1px solid var(--border);width:100%;color:var(--text-main);transition:var(--transition-smooth);border-radius:10px;padding:.75rem 1rem;font-family:inherit;font-size:.9rem}.form-input.with-icon{padding-left:2.75rem}.form-input.with-action{padding-right:2.75rem}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);outline:none}.form-input:disabled{opacity:.6;cursor:not-allowed}.input-action-btn{color:var(--text-sub);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;right:.85rem}.input-action-btn:hover{color:var(--text-main)}.type-toggle-group{grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1.25rem;display:grid}.type-toggle-btn{background:var(--bg-input);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:var(--transition-smooth);border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.6rem;font-size:.85rem;font-weight:600;display:flex}.type-toggle-btn.active{color:var(--primary);border-color:var(--primary);background:#38bdf826}.checkbox-group{cursor:pointer;align-items:flex-start;gap:.65rem;margin-bottom:1rem;display:flex}.checkbox-btn{color:var(--text-sub);cursor:pointer;background:0 0;border:none;align-items:center;padding:0;display:flex}.checkbox-label{color:var(--text-muted);font-size:.8rem;line-height:1.4}.checkbox-label strong{color:var(--text-main)}.legal-link{color:var(--primary);text-underline-offset:3px;transition:var(--transition-smooth);align-items:center;gap:2px;font-weight:600;text-decoration:underline;display:inline-flex}.legal-link:hover{color:#7dd3fc;filter:drop-shadow(0 0 6px #38bdf866);text-decoration:none}.inline-icon{vertical-align:middle;display:inline}.btn{cursor:pointer;transition:var(--transition-smooth);border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-family:inherit;font-size:.9rem;font-weight:600;display:inline-flex}.btn-block{width:100%}.btn-primary{background:linear-gradient(135deg, var(--primary) 0%, #0ea5e9 100%);color:#040812;box-shadow:0 4px 15px var(--primary-glow)}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #38bdf866}.btn-secondary{border-color:var(--border);color:var(--text-main);background:#1e293bcc}.btn-secondary:hover:not(:disabled){background:#334155cc}.btn-outline{border-color:var(--border);color:var(--text-main);background:0 0}.btn-outline:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.btn-danger{color:var(--danger);background:#f43f5e26;border-color:#f43f5e4d}.btn-danger:hover:not(:disabled){background:var(--danger);color:#fff}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.link-btn{color:var(--primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;font-size:.82rem;display:inline-flex}.link-btn.bold{font-weight:700}.link-btn:hover:not(:disabled){text-decoration:underline}.form-footer{color:var(--text-muted);justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem;font-size:.85rem;display:flex}.otp-container{justify-content:center;gap:.75rem;display:flex}.otp-digit{background:var(--bg-input);border:1.5px solid var(--border);text-align:center;width:48px;height:56px;color:var(--primary);transition:var(--transition-smooth);border-radius:12px;font-size:1.5rem;font-weight:700}.otp-digit:focus{border-color:var(--primary);box-shadow:0 0 15px var(--primary-glow);outline:none;transform:scale(1.05)}.alert-box{border-radius:10px;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.82rem;display:flex}.alert-warning{color:#fbbf24;background:#f59e0b1f;border:1px solid #f59e0b4d}.alert-info{color:var(--primary);background:#38bdf81a;border:1px solid #38bdf840}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#000000bf;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-card{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;width:100%;padding:2rem;box-shadow:0 25px 50px -12px #000c}.modal-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.modal-title{font-size:1.25rem;font-weight:700}.modal-subtitle{color:var(--text-muted);margin-top:.25rem;font-size:.85rem}.modal-close-btn{border:1px solid var(--border);width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:var(--transition-smooth);background:#ffffff0d;border-radius:8px;justify-content:center;align-items:center;display:flex}.modal-close-btn:hover{color:var(--text-main);background:#ffffff1a}.modal-actions{justify-content:flex-end;gap:.75rem;margin-top:1.75rem;display:flex}.token-info-card{background:#38bdf80f;border:1px solid #38bdf833;border-radius:12px;align-items:center;gap:1rem;padding:1rem;display:flex}.token-info-title{font-size:.9rem;font-weight:600}.token-info-desc{color:var(--text-muted);margin-top:.15rem;font-size:.8rem}.resend-row{color:var(--text-muted);justify-content:center;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.dashboard-container{max-width:1200px;margin:0 auto;padding:2.5rem 1.5rem}.dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:2.5rem;display:flex}.dashboard-badge{color:var(--success);background:#10b9811a;border:1px solid #10b98133;border-radius:9999px;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.35rem .8rem;font-size:.8rem;font-weight:600;display:inline-flex}.dashboard-title{font-size:2rem;font-weight:800}.dashboard-subtitle{color:var(--text-muted);margin-top:.35rem;font-size:.95rem}.dashboard-top-actions{gap:.75rem;display:flex}.dashboard-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=800px){.dashboard-grid{grid-template-columns:1fr}}.dash-card{background:var(--bg-card);border:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:18px;padding:1.75rem}.dash-card.full-width{grid-column:1/-1}.dash-card-header{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;margin-bottom:1.25rem;padding-bottom:1rem;display:flex}.dash-card-icon{width:36px;height:36px;color:var(--primary);background:#38bdf81a;border-radius:10px;justify-content:center;align-items:center;display:flex}.info-row{border-bottom:1px solid #ffffff0a;justify-content:space-between;align-items:center;padding:.75rem 0;display:flex}.info-label{color:var(--text-muted);align-items:center;gap:.4rem;font-size:.85rem;display:flex}.info-value{font-size:.9rem;font-weight:500}.roles-list{gap:.4rem;display:flex}.badge-role{color:var(--primary);background:#38bdf81f;border:1px solid #38bdf84d;border-radius:6px;padding:.2rem .5rem;font-size:.75rem;font-weight:700}.refresh-status-box{background:#10b98114;border:1px solid #10b98133;border-radius:12px;gap:1rem;margin-bottom:1.25rem;padding:1rem;display:flex}.refresh-status-box strong{color:var(--success);font-size:.9rem;display:block}.refresh-status-box p{color:var(--text-muted);margin-top:.15rem;font-size:.8rem}.token-code-box{border:1px solid var(--border);background:#04060a;border-radius:10px;max-height:120px;padding:1rem;overflow-x:auto}.token-code-box code{color:#38bdf8;word-break:break-all;font-family:JetBrains Mono,Consolas,monospace;font-size:.78rem}.toast-container{z-index:200;flex-direction:column;gap:.75rem;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.toast{border:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0f172af2;border-radius:14px;align-items:flex-start;gap:1rem;min-width:320px;max-width:420px;padding:1rem 1.25rem;animation:.3s ease-out slideUp;display:flex;box-shadow:0 10px 25px -5px #000000b3}.toast-success{border-left:4px solid var(--success)}.toast-error{border-left:4px solid var(--danger)}.toast-warning{border-left:4px solid var(--warning)}.toast-info{border-left:4px solid var(--primary)}.toast-content{flex:1}.toast-title{font-size:.9rem;font-weight:700}.toast-desc{color:var(--text-muted);margin-top:.2rem;font-size:.8rem}.toast-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1.2rem}.spin{animation:1s linear infinite spin}.spinner-small{border:2px solid #ffffff4d;border-top-color:currentColor;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin;display:inline-block}.btn-spinner-content{align-items:center;gap:.5rem;display:flex}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.4s ease-out fadeIn}.animate-scale-in{animation:.25s cubic-bezier(.4,0,.2,1) scaleIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.text-mono{font-family:monospace}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}
