@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@500;600;700&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#060911;--bg-subtle:#0a0e18;--surface:#0e1320b8;--surface-solid:#0e1320;--surface-raised:#141b2ac7;--surface-hover:#1a2337d1;--glass:#0c101c94;--glass-border:#ffffff0f;--border:#ffffff12;--border-strong:#ffffff1f;--border-glow:#8b5cf640;--text:#f0f4fc;--text-muted:#94a3bf;--text-dim:#5f6f87;--primary:#8b5cf6;--primary-bright:#a78bfa;--primary-glow:#8b5cf659;--pink:#f45b8a;--pink-glow:#f45b8a40;--blue:#3b82f6;--green:#10b981;--green-glow:#10b98133;--amber:#f59e0b;--red:#ef4444;--radius-sm:10px;--radius:14px;--radius-lg:20px;--radius-xl:24px;--shadow-sm:0 4px 16px #0003;--shadow:0 24px 80px #0006;--shadow-glow:0 0 40px #8b5cf614;--ease:cubic-bezier(.16, 1, .3, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);font-family:Inter,system-ui,-apple-system,sans-serif}*,:before,:after{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{background:var(--bg);min-height:100dvh;color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer;color:inherit;touch-action:manipulation;background:0 0;border:none}[hidden]{display:none!important}.login-view{background:var(--bg);place-items:center;min-height:100dvh;padding:24px;display:grid;position:relative;overflow:hidden}.login-view:before{content:"";z-index:0;background:radial-gradient(600px 400px at 15% 20%,#8b5cf626,#0000),radial-gradient(500px 350px at 80% 70%,#f45b8a14,#0000),radial-gradient(400px 300px,#3b82f60f,#0000);animation:20s ease-in-out infinite alternate aurora;position:absolute;inset:-50%}.login-view:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(2px at 20% 30%,#a78bfa66,#0000 3px),radial-gradient(1.5px at 70% 20%,#f45b8a4d,#0000 3px),radial-gradient(2px at 85% 60%,#8b5cf659,#0000 3px),radial-gradient(1px at 40% 70%,#3b82f64d,#0000 2px),radial-gradient(1.5px at 60% 85%,#a78bfa40,#0000 3px),radial-gradient(1px at 10% 80%,#f45b8a33,#0000 2px),radial-gradient(2px at 90% 15%,#3b82f64d,#0000 3px);animation:8s ease-in-out infinite alternate sparkle;position:absolute;inset:0}.login-shell{z-index:1;border:1px solid var(--glass-border);border-radius:var(--radius-xl);background:var(--glass);-webkit-backdrop-filter:blur(24px)saturate(1.4);width:min(460px,100%);box-shadow:var(--shadow), var(--shadow-glow), inset 0 1px 0 #ffffff0a;animation:shell-enter .6s var(--ease) both;padding:40px 36px;position:relative}.login-shell:before{content:"";border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;background:linear-gradient(135deg,#8b5cf64d,#0000 40% 60%,#f45b8a33);padding:1px;animation:6s ease-in-out infinite alternate border-shimmer;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.brand-lockup{align-items:center;gap:14px;display:flex}.brand-mark{color:#fff;background:linear-gradient(135deg, var(--primary-bright), #6d28d9, var(--pink));width:42px;height:42px;box-shadow:0 8px 24px var(--primary-glow);transition:transform .2s var(--ease-spring), box-shadow .2s;background-size:200% 200%;border-radius:12px;place-items:center;font:700 22px JetBrains Mono;animation:4s infinite gradient-shift;display:grid}.brand-mark:hover{box-shadow:0 12px 32px var(--primary-glow);transform:scale(1.08)rotate(-2deg)}.brand-lockup div{line-height:1.1;display:grid}.brand-lockup strong{letter-spacing:-.03em;font:700 16px JetBrains Mono}.brand-lockup span:not(.brand-mark){color:var(--text-dim);margin-top:3px;font-size:12px;font-weight:500}.login-copy{margin:44px 0 30px}.eyebrow{color:var(--primary-bright);letter-spacing:.14em;text-transform:uppercase;opacity:0;animation:fade-up .5s .2s var(--ease) forwards;margin:0 0 10px;font:600 11px JetBrains Mono}.login-copy h1{letter-spacing:-.035em;background:linear-gradient(135deg, var(--text), var(--primary-bright));-webkit-text-fill-color:transparent;opacity:0;animation:fade-up .5s .3s var(--ease) forwards;-webkit-background-clip:text;background-clip:text;margin:0 0 16px;font:800 clamp(28px,6vw,34px)/1.15 Inter}.login-copy>p:last-child{color:var(--text-muted);opacity:0;animation:fade-up .5s .4s var(--ease) forwards;margin:0;font-size:14.5px;line-height:1.6}.auth-tabs{border:1px solid var(--border);opacity:0;animation:fade-up .5s .45s var(--ease) forwards;background:#080b12b3;border-radius:12px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:20px;padding:4px;display:grid}.auth-tab{height:40px;color:var(--text-dim);transition:all .2s var(--ease);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:inline-flex;position:relative}.auth-tab:hover{color:var(--text-muted);background:#ffffff08}.auth-tab.active{color:#fff;background:var(--surface-raised);border-color:var(--border-strong);box-shadow:0 4px 16px #0000004d,inset 0 1px #ffffff0a}.auth-switch-text{text-align:center;color:var(--text-dim);margin:18px 0 4px;font-size:13px}.link-btn{color:var(--primary-bright);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:none;transition:color .18s;position:relative}.link-btn:after{content:"";background:var(--primary-bright);width:0;height:1.5px;transition:width .25s var(--ease);position:absolute;bottom:-2px;left:0}.link-btn:hover{color:#fff}.link-btn:hover:after{width:100%}.login-form{opacity:0;animation:fade-up .5s .5s var(--ease) forwards;gap:10px;display:grid}.login-form label{color:#c8d2e1e6;margin-top:10px;font-size:13px;font-weight:600}.input-wrap{border:1px solid var(--border);border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080b128c;align-items:center;gap:12px;height:50px;padding:0 14px;transition:border-color .25s,box-shadow .25s,background .25s,transform .15s;display:flex}.input-wrap:focus-within{border-color:var(--primary);background:#080b12d9;transform:translateY(-1px);box-shadow:0 0 0 3px #8b5cf61f,0 0 20px #8b5cf60f}.input-wrap svg{width:17px;color:var(--text-dim);transition:color .25s}.input-wrap:focus-within svg{color:var(--primary-bright)}.input-wrap input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1;font-size:14px}.input-wrap input::placeholder{color:var(--text-dim)}.form-error{color:#fca5a5;min-height:20px;margin:4px 0 0;font-size:13px;transition:opacity .2s}.security-note{color:var(--text-dim);opacity:0;animation:fade-up .5s .6s var(--ease) forwards;justify-content:center;align-items:center;gap:8px;margin:28px 0 0;font-size:12px;display:flex}.security-note svg{width:15px;color:var(--green)}.primary-button,.secondary-button,.danger-button{border-radius:var(--radius-sm);min-height:48px;transition:all .2s var(--ease);justify-content:center;align-items:center;gap:10px;padding:0 20px;font-size:14px;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.primary-button{color:#fff;background:linear-gradient(135deg, var(--primary), #7445de);border:0;box-shadow:0 8px 24px #8b5cf633,inset 0 1px #ffffff1a}.primary-button:before{content:"";opacity:0;background:linear-gradient(135deg,#ffffff26,#0000 60%);transition:opacity .2s;position:absolute;inset:0}.primary-button:hover{transform:translateY(-1px);box-shadow:0 12px 32px #8b5cf64d,inset 0 1px #ffffff1f}.primary-button:hover:before{opacity:1}.primary-button:active{transform:translateY(0)scale(.98)}.primary-button.full{width:100%;margin-top:16px}.secondary-button{border:1px solid var(--border);color:var(--text-muted);background:var(--surface-solid)}.secondary-button:hover{border-color:var(--border-strong);color:var(--text);background:var(--surface-hover);transform:translateY(-1px)}.secondary-button.compact{min-height:38px;padding:0 14px;font-size:13px}.danger-button{color:#fff;background:#c93838;border:0}.danger-button:hover{background:#dc4444;transform:translateY(-1px)}.icon-button{border:1px solid var(--border);width:40px;height:40px;color:var(--text-dim);transition:all .18s var(--ease);background:#0e132099;border-radius:10px;place-items:center;display:grid}.icon-button:hover{color:#fff;border-color:var(--border-strong);background:var(--surface-hover);transform:translateY(-1px)}.icon-button.small{width:34px;height:34px}.icon-button.inline{background:0 0;border:0;width:42px;height:42px;margin-right:-10px}.button-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;display:none}.primary-button[aria-busy=true] .button-spinner{display:inline-block}.primary-button[aria-busy=true] .submit-icon{display:none}.primary-button:disabled,button:disabled{cursor:wait;opacity:.45;transform:none!important}.portal-shell{flex-direction:column;min-height:100dvh;display:flex}.portal-topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);z-index:10;background:#0a0e16d9;justify-content:space-between;align-items:center;height:72px;padding:0 clamp(18px,4vw,48px);display:flex;position:sticky;top:0}.topbar-actions{align-items:center;gap:16px;display:flex}.user-chip{border:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;align-items:center;gap:10px;padding:6px 14px 6px 6px;transition:border-color .2s,box-shadow .2s;display:flex}.user-chip:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.user-chip>span{color:#ddd1ff;background:linear-gradient(135deg,#8b5cf640,#8b5cf61f);border-radius:50%;place-items:center;width:34px;height:34px;font:600 12px JetBrains Mono;display:grid}.user-chip div{display:grid}.user-chip strong{text-overflow:ellipsis;white-space:nowrap;max-width:170px;font-size:13px;overflow:hidden}.user-chip span:last-child{color:var(--green);font-size:10px}.portal-content{flex:1;width:100%;max-width:1000px;margin:0 auto;padding:32px clamp(18px,3vw,36px) 64px}.license-banner{border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow), 0 0 60px #8b5cf60d;animation:banner-enter .6s var(--ease) both;background:linear-gradient(135deg,#8b5cf614,#0e131de6);border:1px solid #8b5cf62e;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;padding:28px;display:flex;position:relative;overflow:hidden}.license-banner:before{content:"";pointer-events:none;background:radial-gradient(circle,#8b5cf61a,#0000 60%);width:300px;height:300px;animation:8s ease-in-out infinite float;position:absolute;top:-50%;right:-20%}.license-banner h2{letter-spacing:-.03em;margin:2px 0 14px;font:700 24px Inter}.banner-badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.status-pill{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font:600 12px Inter;display:inline-flex}.status-pill:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.status-pill.active{color:#6ee7b7;background:#10b9811f}.status-pill.active:before{animation:2s ease-in-out infinite pulse-dot;box-shadow:0 0 8px #10b98180}.status-pill.pending{color:#fcd34d;background:#f59e0b1f}.status-pill.suspended,.status-pill.revoked{color:#fca5a5;background:#ef44441f}.plan-pill{border:1px solid var(--border);color:var(--text);background:var(--surface);text-transform:uppercase;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:999px;padding:5px 12px;font:600 11px JetBrains Mono}.devices-pill{color:#c4b5fd;background:#8b5cf61a;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font:500 11px JetBrains Mono;display:inline-flex}.devices-pill svg{width:13px;height:13px}.banner-expiry{text-align:right;justify-items:end;gap:5px;display:grid}.banner-expiry span{color:var(--text-dim);font-size:12px}.banner-expiry strong{color:var(--text);font:600 16px JetBrains Mono}.portal-grid{grid-template-columns:1fr 1fr;gap:22px;display:grid}.card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:card-enter .5s var(--ease) both;padding:26px;transition:border-color .3s,box-shadow .3s,transform .3s;box-shadow:0 8px 36px #00000026}.card:first-child{animation-delay:.1s}.card:nth-child(2){animation-delay:.2s}.card:nth-child(3){animation-delay:.3s}.card:hover{border-color:var(--border-strong);box-shadow:0 12px 48px #0003, var(--shadow-glow);transform:translateY(-2px)}.card-header{align-items:flex-start;gap:14px;margin-bottom:22px;display:flex}.header-icon{width:42px;height:42px;color:var(--primary-bright);transition:transform .2s var(--ease-spring);background:linear-gradient(135deg,#8b5cf629,#8b5cf614);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.card:hover .header-icon{transform:scale(1.08)}.header-icon svg{width:19px}.card-header h3{letter-spacing:-.01em;margin:0 0 5px;font:600 16px Inter}.card-header p{color:var(--text-dim);margin:0;font-size:13px;line-height:1.5}.activation-form{gap:10px;display:grid}.activation-form label{color:#cbd5e1;margin-top:8px;font-size:13px;font-weight:600}.code-input-wrap{align-items:center;gap:8px;display:flex}.code-input-wrap input{border:1px solid var(--border);border-radius:var(--radius-sm);color:#fff;letter-spacing:.1em;text-transform:uppercase;background:#080b12a6;flex:1;height:52px;padding:0 16px;font:700 18px JetBrains Mono;transition:border-color .2s,box-shadow .2s,transform .15s}.code-input-wrap input:focus{border-color:var(--primary);outline:0;transform:translateY(-1px);box-shadow:0 0 0 3px #8b5cf61f,0 0 24px #8b5cf60f}.inline-btn{border:1px solid var(--border);border-radius:var(--radius-sm);height:52px;color:var(--text-muted);background:var(--surface-raised);transition:all .2s var(--ease);align-items:center;gap:7px;padding:0 16px;font-size:13px;font-weight:600;display:inline-flex}.inline-btn:hover{border-color:var(--primary);color:#fff;background:var(--surface-hover);transform:translateY(-1px)}.inline-btn svg{width:15px}.input-hint{color:var(--text-dim);margin-top:-2px;font-size:11px}.form-feedback{min-height:20px;margin:8px 0 0;font-size:13px;font-weight:500;transition:all .2s}.form-feedback.success{color:#6ee7b7}.form-feedback.error{color:#fca5a5}.devices-list{gap:10px;max-height:400px;display:grid;overflow-y:auto}.device-item{border:1px solid var(--border);transition:all .2s var(--ease);background:#080b1273;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.device-item:hover{border-color:var(--border-strong);background:var(--surface-hover);transform:translate(3px)}.device-item-info{gap:5px;min-width:0;display:grid}.device-item-info strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.device-item-info code{color:var(--text-dim);font:500 11px JetBrains Mono}.device-item-info small{color:var(--text-dim);font-size:11px}.device-item-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.revoke-btn{color:#fca5a5;transition:all .2s var(--ease);background:#ef44440f;border:1px solid #ef444433;border-radius:8px;padding:6px 12px;font:600 11px Inter}.revoke-btn:hover{border-color:var(--red);color:#fff;background:#ef444426;transform:translateY(-1px)}.device-state-badge{border-radius:999px;padding:5px 10px;font:600 10px JetBrains Mono}.device-state-badge.active{color:#6ee7b7;background:#10b9811f}.device-state-badge.revoked{color:#94a3b8;background:#94a3b81a}.empty-devices{text-align:center;color:var(--text-dim);place-items:center;gap:8px;padding:36px 20px;font-size:13px;display:grid}.empty-devices svg{width:30px;color:var(--text-dim);margin-bottom:4px}.download-content{gap:18px;margin-top:8px;display:grid}.hwid-notice-box{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1e293b66;border:1px solid #3b82f633;border-radius:12px;align-items:flex-start;gap:14px;padding:14px 16px;transition:border-color .2s;display:flex}.hwid-notice-box:hover{border-color:#3b82f659}.hwid-notice-box svg{width:18px;height:18px;color:var(--primary-bright);flex-shrink:0;margin-top:2px}.hwid-notice-box strong{color:var(--text);font-size:13px}.hwid-notice-box p{color:var(--text-dim);margin:4px 0 0;font-size:12px;line-height:1.5}.download-action-btn{justify-content:center;align-items:center;gap:10px;padding:14px;font-weight:600;text-decoration:none;display:inline-flex}.download-action-btn svg{width:18px;height:18px}.crypto-footer{border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:card-enter .5s .4s var(--ease) both;background:#090d148c;align-items:flex-start;gap:16px;margin-top:28px;padding:20px 24px;display:flex}.crypto-footer svg{width:22px;height:22px;color:var(--primary-bright);flex-shrink:0;margin-top:1px}.crypto-footer strong{color:var(--text);font-size:13px}.crypto-footer p{color:var(--text-dim);margin:5px 0 0;font-size:12px;line-height:1.6}.confirm-dialog{border:1px solid var(--border-strong);width:min(400px,100% - 32px);color:var(--text);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:var(--shadow);background:#151c28f2;border-radius:18px;padding:28px}.confirm-dialog[open]{animation:dialog-enter .26s var(--ease)}.confirm-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000a6}.confirm-dialog form{text-align:center;justify-items:center;display:grid}.dialog-icon{color:#fca5a5;background:#ef44441f;border-radius:14px;place-items:center;width:48px;height:48px;display:grid}.dialog-icon svg{width:24px}.confirm-dialog h2{margin:18px 0 10px;font:600 18px Inter}.confirm-dialog p{color:var(--text-muted);margin:0 0 22px;font-size:13px;line-height:1.55}.dialog-actions{grid-template-columns:1fr 1fr;gap:10px;width:100%;display:grid}.toast-region{z-index:300;pointer-events:none;gap:10px;display:grid;position:fixed;top:20px;right:20px}.toast{border:1px solid var(--border-strong);min-width:min(360px,100vw - 40px);color:var(--text);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow);animation:toast-enter .35s var(--ease-spring);background:#151c28eb;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;font-size:13px;display:flex}.toast.success{border-color:#10b98166}.toast.error{border-color:#ef444466}.toast svg{flex-shrink:0;width:18px}.toast.success svg{color:var(--green)}.toast.error svg{color:var(--red)}.skeleton-list{gap:8px;display:grid}.skeleton-list span{background:linear-gradient(90deg, var(--surface-raised), var(--surface-hover), var(--surface-raised));background-size:250% 100%;border-radius:10px;height:44px;animation:1.5s ease-in-out infinite shimmer}.ml-auto{margin-left:auto}.text-center{text-align:center}@keyframes aurora{0%{transform:translate(0)rotate(0)}50%{transform:translate(-2%,3%)rotate(1deg)}to{transform:translate(2%,-2%)rotate(-1deg)}}@keyframes sparkle{0%{opacity:.5;transform:scale(1)}to{opacity:1;transform:scale(1.05)}}@keyframes shell-enter{0%{opacity:0;filter:blur(4px);transform:translateY(20px)scale(.97)}to{opacity:1;filter:blur();transform:none}}@keyframes border-shimmer{0%{opacity:.5}to{opacity:1}}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes banner-enter{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:none}}@keyframes card-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes float{0%,to{transform:translate(0)}50%{transform:translate(-20px,20px)}}@keyframes pulse-dot{0%,to{box-shadow:0 0 8px #10b98180}50%{box-shadow:0 0 16px #10b981cc}}@keyframes dialog-enter{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:none}}@keyframes toast-enter{0%{opacity:0;transform:translate(20px)scale(.95)}to{opacity:1;transform:none}}@keyframes shimmer{to{background-position:-250% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes reveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (width<=768px){.portal-grid{grid-template-columns:1fr}.license-banner{flex-direction:column;align-items:flex-start}.banner-expiry{text-align:left;justify-items:start}.user-chip strong{max-width:110px}}@media (width<=480px){.login-shell{border-radius:18px;padding:28px 22px}.login-copy{margin:32px 0 24px}.input-wrap input,.code-input-wrap input{font-size:16px}.toast-region{left:12px;right:12px}.toast{width:100%;min-width:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
