:root{--bg-0:#030307;--bg-1:#0a0a12;--bg-2:#11111c;--bg-3:#1a1a26;--border:#24242f;--border-strong:#38384a;--text:#f4f4f7;--text-dim:#b4b4c0;--text-mute:#74748a;--text-faint:#4a4a5e;--green:#2dd05f;--green-bright:#5eea83;--green-deep:#16a34a;--green-glow:#2dd05f6b;--red:#ed3838;--red-bright:#f87171;--amber:#f59e0b;--shadow-md:0 8px 24px #00000080;--shadow-lg:0 20px 48px #0009;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;padding:0}body{background:radial-gradient(ellipse 80% 60% at 8% 0%, #2dd05f24, transparent 60%), radial-gradient(ellipse 80% 60% at 92% 100%, #ed383824, transparent 60%), var(--bg-0);color:var(--text);-webkit-font-smoothing:antialiased;background-attachment:fixed;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;position:relative}body:before{content:"";opacity:.19;pointer-events:none;z-index:0;filter:saturate(1.35)contrast(1.1);background-image:url(/logo.png);background-position:50% 38%;background-repeat:no-repeat;background-size:min(130vmin,1000px);position:fixed;inset:0}body:after{content:"";background:radial-gradient(ellipse 82% 72% at center 40%, transparent 0%, #03030752 58%, var(--bg-0) 96%);pointer-events:none;z-index:0;position:fixed;inset:0}.auth-shell,.app-shell{z-index:1;position:relative}.auth-shell{flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100vh;padding:24px 16px 40px;display:flex}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-topbar{padding:14px 20px;padding-top:calc(14px + env(safe-area-inset-top,0px));padding-left:calc(20px + env(safe-area-inset-left,0px));padding-right:calc(20px + env(safe-area-inset-right,0px));border-bottom:1px solid var(--border);background:var(--bg-1);z-index:10;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:8px;display:flex}.topbar-back{border-radius:var(--r-md);border:1px solid var(--border);background:var(--bg-2);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--text-dim);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.topbar-back:hover{background:var(--bg-3);color:var(--text);border-color:var(--border-strong)}.topbar-back:active{transform:translateY(1px)}.topbar-back svg{width:20px;height:20px}.app-main{flex:1;justify-content:center;padding:28px 16px 48px;display:flex}.app-content{flex-direction:column;gap:16px;width:100%;max-width:460px;display:flex}.brand{color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.brand-logo-wrap{flex-shrink:0;position:relative}.brand-logo{object-fit:cover;z-index:2;border:1px solid #ffffff1f;border-radius:20px;width:76px;height:76px;animation:3.4s ease-in-out infinite brand-pulse;display:block;position:relative;box-shadow:0 0 36px #2dd05f80,0 0 36px #ed38386b,0 10px 22px #000000c7,inset 0 0 0 1px #ffffff14}.brand-logo-wrap:before{content:"";filter:blur(14px);opacity:.55;z-index:1;pointer-events:none;background:conic-gradient(#2dd05f47 0deg,#ed383847 180deg,#2dd05f47 360deg);border-radius:28px;animation:14s linear infinite brand-halo-rotate,3.4s ease-in-out infinite brand-halo-pulse;position:absolute;inset:-10px}.brand-text{flex-direction:column;min-width:0;line-height:1.1;display:flex}.brand-name{letter-spacing:-.025em;background:linear-gradient(95deg, var(--green-bright) 0%, var(--text) 38%, var(--text) 62%, var(--red-bright) 100%);-webkit-text-fill-color:transparent;color:var(--text);text-shadow:0 0 24px #ffffff0f;-webkit-background-clip:text;background-clip:text;font-size:26px;font-weight:900}.brand-tag{letter-spacing:.22em;color:var(--text-mute);text-transform:uppercase;margin-top:4px;font-size:11px;font-weight:700}.brand-sm .brand-logo{border-radius:12px;width:42px;height:42px}.brand-sm .brand-logo-wrap:before{filter:blur(9px);border-radius:16px;inset:-6px}.brand-sm .brand-name{font-size:19px}.brand-sm .brand-tag{letter-spacing:.18em;font-size:9.5px}@keyframes brand-pulse{0%,to{box-shadow:0 0 36px #2dd05f80,0 0 36px #ed38386b,0 10px 22px #000000c7,inset 0 0 0 1px #ffffff14}50%{box-shadow:0 0 50px #2dd05fb8,0 0 50px #ed383894,0 10px 22px #000000c7,inset 0 0 0 1px #ffffff1f}}@keyframes brand-halo-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes brand-halo-pulse{0%,to{opacity:.4}50%{opacity:.7}}@media (prefers-reduced-motion:reduce){.brand-logo,.brand-logo-wrap:before{animation:none}}.card{background:linear-gradient(180deg, var(--bg-2), var(--bg-1));border:1px solid var(--border);border-radius:var(--r-xl);width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:28px 24px}.auth-shell .card{-webkit-backdrop-filter:blur(26px)saturate(140%);backdrop-filter:blur(26px)saturate(140%);background:linear-gradient(#1a1a2657,#0c0c1442);border:1px solid #ffffff21;box-shadow:0 24px 60px #0000007a,inset 0 1px #ffffff17}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.auth-shell .card{background:linear-gradient(#14141ef0,#0c0c14eb)}}.app-content .card{max-width:none}.card-title{letter-spacing:-.02em;margin:0 0 6px;font-size:22px;font-weight:800}.card-sub{color:var(--text-dim);margin:0 0 22px;font-size:13.5px;line-height:1.5}.section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-mute);margin:0 0 14px;font-size:13px;font-weight:700}.field{margin-bottom:16px}.field-label{color:var(--text-dim);margin-bottom:7px;font-size:12.5px;font-weight:600;display:block}.field-input-wrap{display:flex;position:relative}.field input{background:var(--bg-0);border:1px solid var(--border-strong);border-radius:var(--r-md);width:100%;color:var(--text);padding:12px 14px;font-family:inherit;font-size:15px;transition:border-color .15s,box-shadow .15s}.field input::placeholder{color:var(--text-faint)}.field input:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #2dd05f26}.field input[aria-invalid=true]{border-color:var(--red)}.field input:disabled{opacity:.6;cursor:not-allowed}.field-hint{color:var(--text-mute);margin-top:6px;font-size:11.5px}.field-error{color:var(--red-bright);margin-top:6px;font-size:12px}.pw-toggle{color:var(--text-mute);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:0;padding:6px 8px;font-size:11.5px;font-weight:600;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.pw-toggle:hover{color:var(--text-dim)}.btn{border-radius:var(--r-md);cursor:pointer;border:0;width:100%;padding:13px 16px;font-family:inherit;font-size:15px;font-weight:700;transition:transform 80ms,filter .15s,opacity .15s}.btn:active{transform:translateY(1px)}.btn-primary{background:linear-gradient(145deg, var(--green-bright), var(--green-deep));color:#04140a;box-shadow:0 0 20px var(--green-glow)}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-ghost{color:var(--text-dim);border:1px solid var(--border-strong);background:0 0}.btn-ghost:hover:not(:disabled){color:var(--text);border-color:var(--text-mute)}.btn-link{width:auto;color:var(--green);cursor:pointer;background:0 0;border:0;padding:4px;font-size:13px;font-weight:600}.btn-link:hover{color:var(--green-bright);text-decoration:underline}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.alert{border-radius:var(--r-md);border:1px solid;margin-bottom:16px;padding:11px 13px;font-size:13px;line-height:1.45}.alert-error{color:var(--red-bright);background:#ed383817;border-color:#ed383866}.alert-success{color:var(--green-bright);background:#2dd05f17;border-color:#2dd05f66}.alert-info{color:var(--amber);background:#f59e0b14;border-color:#f59e0b59}.foot{text-align:center;color:var(--text-mute);margin-top:18px;font-size:13px}.link{color:var(--green);cursor:pointer;font-weight:600;text-decoration:none}.link:hover{color:var(--green-bright);text-decoration:underline}.meta-row{color:var(--text-mute);border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-top:4px;padding-top:14px;font-size:12.5px;display:flex}.divider{background:var(--border);height:1px;margin:22px 0}.center{text-align:center}.soon{color:var(--text-mute);margin:0;font-size:12.5px;line-height:1.5}.spinner-wrap{place-items:center;min-height:60vh;display:grid}.spinner{border:3px solid var(--border-strong);border-top-color:var(--green);border-radius:50%;width:26px;height:26px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.avatar{object-fit:cover;border:1px solid var(--border-strong);background:var(--bg-2);border-radius:50%;display:block}.avatar-initials{color:#04140a;background:linear-gradient(145deg, var(--green-bright), var(--green-deep));letter-spacing:-.02em;-webkit-user-select:none;user-select:none;border:none;place-items:center;font-weight:800;display:grid}.profile-menu{position:relative}.profile-trigger{cursor:pointer;background:0 0;border:0;border-radius:50%;padding:2px;line-height:0}.profile-trigger:hover .avatar{border-color:var(--green)}.profile-trigger:focus-visible{outline:2px solid var(--green);outline-offset:2px}.profile-dropdown{background:var(--bg-3);border:1px solid var(--border-strong);border-radius:var(--r-md);min-width:240px;box-shadow:var(--shadow-lg);z-index:20;padding:8px;position:absolute;top:calc(100% + 8px);right:0}.profile-dropdown-head{align-items:center;gap:10px;padding:8px 8px 10px;display:flex}.profile-dropdown-id{min-width:0}.profile-dropdown-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.profile-dropdown-email{color:var(--text-mute);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.profile-dropdown-sep{background:var(--border);height:1px;margin:4px 0}.profile-dropdown-item{text-align:left;border-radius:var(--r-sm);width:100%;color:var(--text-dim);cursor:pointer;background:0 0;border:0;padding:9px 10px;font-family:inherit;font-size:14px;font-weight:600;text-decoration:none;display:block}.profile-dropdown-item:hover{background:var(--bg-1);color:var(--text)}.profile-dropdown-item.danger:hover{color:var(--red-bright)}.avatar-section{align-items:center;gap:16px;margin-bottom:22px;display:flex}.avatar-actions{flex-direction:column;gap:8px;min-width:0;display:flex}.avatar-buttons{align-items:center;gap:14px;display:flex}.avatar-buttons .btn{width:auto;padding:8px 14px;font-size:13px}@media (width<=480px){.card{padding:22px 18px}.card-title{font-size:20px}}.muted{color:var(--text-mute);font-size:14px;line-height:1.5}.billing-plan{text-align:center;padding:4px 0 6px}.billing-plan-name{text-transform:uppercase;letter-spacing:.1em;color:var(--green);margin-bottom:10px;font-size:12px;font-weight:700}.billing-price{justify-content:center;align-items:baseline;gap:8px;display:flex}.billing-amount{letter-spacing:-.03em;color:var(--text);font-size:48px;font-weight:800;line-height:1}.billing-interval{color:var(--text-mute);font-size:16px;font-weight:500}.billing-tagline{max-width:34ch;color:var(--text-dim);margin:12px auto 0;font-size:14px;line-height:1.5}.billing-features{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-md);gap:12px;margin:20px 0;padding:18px;list-style:none;display:grid}.billing-features li{color:var(--text-dim);align-items:flex-start;gap:10px;font-size:14px;line-height:1.45;display:flex}.billing-check{width:20px;height:20px;color:var(--green);flex:0 0 20px;margin-top:1px}.billing-fineprint{text-align:center;margin-top:14px;font-size:12.5px}.plan-badge{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-items:center;width:fit-content;margin-top:8px;padding:3px 12px;font-size:11px;font-weight:800;line-height:1.6;display:inline-flex;box-shadow:inset 0 1px #ffffff14}.plan-pro{color:#7ef0a0;background:linear-gradient(135deg,#2dd05f4d,#16a34a1f);border:1px solid #2dd05f80;box-shadow:0 0 14px #2dd05f47,inset 0 1px #ffffff14}.plan-op{color:#a9cbff;background:linear-gradient(135deg,#60a5fa47,#3b82f61f);border:1px solid #60a5fa80;box-shadow:0 0 14px #60a5fa42,inset 0 1px #ffffff14}.plan-trial{color:#d9b8fb;background:linear-gradient(135deg,#a855f757,#7c3aed24);border:1px solid #a855f78c;box-shadow:0 0 14px #a855f752,inset 0 1px #ffffff14}.plan-due{color:#fcd34d;background:linear-gradient(135deg,#f59e0b42,#d977061f);border:1px solid #f59e0b7a}.plan-free{background:var(--bg-3);color:var(--text-mute);border:1px solid var(--border)}.billing-trial-flag{letter-spacing:.08em;text-transform:uppercase;color:#e2c9fb;background:linear-gradient(135deg,#a855f757,#7c3aed29);border:1px solid #a855f780;border-radius:999px;margin:2px auto 12px;padding:5px 16px;font-size:12px;font-weight:800;display:inline-block;box-shadow:0 0 20px #a855f752}.billing-trial-live{border-radius:var(--r-md);background:linear-gradient(135deg,#a855f729,#7c3aed0f);border:1px solid #a855f752;align-items:center;gap:13px;margin-bottom:14px;padding:14px 16px;display:flex}.billing-trial-dot{background:#c99bf5;border-radius:50%;flex:0 0 10px;width:10px;height:10px;animation:1.8s ease-in-out infinite trialpulse;box-shadow:0 0 10px #a855f7}@keyframes trialpulse{0%,to{opacity:1}50%{opacity:.4}}.billing-trial-count{color:var(--text);font-size:16px;font-weight:700}.billing-trial-charge{margin-top:2px}
