:root{--bg-main:#050b16;--bg-card:#0a1628d1;--accent:#22a7ff;--accent-strong:#0d8dff;--text-main:#fff;--text-muted:#9fb2c7;--border-subtle:#7fcdff38;--shadow-accent:0 0 44px #22a7ff3d;--font-main:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{background:var(--bg-main);min-height:100%}body{min-width:320px;min-height:100vh;color:var(--text-main);font-family:var(--font-main);background:radial-gradient(circle at 20% 12%,#22a7ff33,#0000 28rem),radial-gradient(circle at 82% 10%,#0d8dff24,#0000 26rem),linear-gradient(135deg,#050b16 0%,#071223 52%,#030711 100%);margin:0}body:before{z-index:-2;content:"";background-image:linear-gradient(#9fb2c70d 1px,#0000 1px),linear-gradient(90deg,#9fb2c70d 1px,#0000 1px);background-size:54px 54px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000000b8,#0000 86%);mask-image:linear-gradient(#000000b8,#0000 86%)}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}.portal-shell{flex-direction:column;min-height:100vh;padding:28px;display:flex;position:relative;overflow:hidden}.portal-shell__glow{z-index:-1;filter:blur(18px);opacity:.34;border-radius:999px;width:330px;height:330px;position:fixed}.portal-shell__glow--primary{background:#22a7ff6b;top:14%;left:-110px}.portal-shell__glow--secondary{background:#0d8dff52;bottom:10%;right:-120px}.portal-header{width:min(1120px,100%);margin:0 auto}.portal-brand{color:var(--text-main);letter-spacing:.02em;align-items:center;gap:12px;font-weight:750;text-decoration:none;display:inline-flex}.portal-brand__mark{width:42px;height:42px;color:var(--accent);border:1px solid var(--border-subtle);box-shadow:var(--shadow-accent);background:#0a1628b8;border-radius:14px;place-items:center;display:grid}.portal-brand__mark svg{fill:currentColor;width:25px;height:25px}.portal-brand__text{font-size:1.05rem}.portal-shell__content{flex:1;place-items:center;width:min(1120px,100%);margin:0 auto;padding:54px 0;display:grid}.start-card,.placeholder-card,.auth-card{border:1px solid var(--border-subtle);background:var(--bg-card);width:min(680px,100%);box-shadow:0 26px 100px #0006, var(--shadow-accent);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border-radius:30px}.dashboard-card{border:1px solid var(--border-subtle);background:var(--bg-card);width:min(920px,100%);box-shadow:0 26px 100px #0006, var(--shadow-accent);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border-radius:30px}.start-card{text-align:center;padding:clamp(30px,6vw,58px);position:relative;overflow:hidden}.start-card:before{content:"";pointer-events:none;background:linear-gradient(135deg,#22a7ff38,#0000 34%),linear-gradient(315deg,#ffffff0f,#0000 38%);position:absolute;inset:0}.start-card>*{position:relative}.start-card__status{color:#c9ecff;background:#22a7ff17;border:1px solid #22a7ff52;border-radius:999px;align-items:center;gap:9px;padding:9px 13px;font-size:.82rem;font-weight:650;display:inline-flex}.start-card__status-dot{background:#51d7ff;border-radius:999px;width:8px;height:8px;box-shadow:0 0 16px #51d7ffe6}.start-card__icon{place-items:center;width:92px;height:92px;margin:34px auto 28px;display:grid;position:relative}.start-card__icon-ring,.start-card__icon-core{border-radius:999px;position:absolute}.start-card__icon-ring{background:radial-gradient(circle,#22a7ff14,#0000 68%);border:1px solid #22a7ff5c;inset:0}.start-card__icon-core{background:linear-gradient(135deg, var(--accent), var(--accent-strong));width:42px;height:42px;box-shadow:0 0 35px #22a7ffb8}.start-card h1,.placeholder-card h1{letter-spacing:-.055em;margin:0;font-size:clamp(2rem,5vw,4.35rem);line-height:1.03}.start-card__description{max-width:570px;color:var(--text-muted);margin:22px auto 0;font-size:clamp(1rem,2vw,1.16rem);line-height:1.7}.start-card__actions{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:34px;display:flex}.button-link{cursor:pointer;min-height:52px;font:inherit;border:0;border-radius:15px;justify-content:center;align-items:center;padding:0 22px;font-weight:750;text-decoration:none;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s;display:inline-flex}.button-link:hover,.button-link:focus-visible{transform:translateY(-2px)}.button-link:focus-visible{outline-offset:3px;outline:3px solid #22a7ff59}.button-link:disabled{cursor:wait;opacity:.68;transform:none}.button-link--primary{color:#031020;background:linear-gradient(135deg, var(--accent), #6ad5ff);box-shadow:0 16px 42px #22a7ff47}.button-link--secondary{color:var(--text-main);background:#ffffff0e;border:1px solid #9fb2c747}.button-link--secondary:hover,.button-link--secondary:focus-visible{background:#22a7ff1a;border-color:#22a7ff8a}.start-card__help{color:var(--text-muted);margin:26px 0 0;font-size:.96rem}.placeholder-card{padding:clamp(28px,6vw,46px)}.placeholder-card__eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px;font-size:.82rem;font-weight:800}.placeholder-card h1{font-size:clamp(2rem,4vw,3.2rem)}.placeholder-card p:last-child{color:var(--text-muted);margin:18px 0 0;font-size:1.08rem;line-height:1.65}.auth-card,.dashboard-card{padding:clamp(28px,6vw,46px)}.auth-card__eyebrow,.dashboard-card__eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px;font-size:.82rem;font-weight:800}.auth-card h1,.dashboard-card h1{margin:0;font-size:clamp(2rem,4vw,3.2rem);line-height:1.05}.auth-card__description,.dashboard-card__description{color:var(--text-muted);margin:18px 0 0;font-size:1.04rem;line-height:1.65}.auth-form{gap:16px;margin-top:28px;display:grid}.field{gap:8px;display:grid}.field span{color:#d9ecff;font-size:.92rem;font-weight:700}.field input,.field select,.field textarea{width:100%;color:var(--text-main);font:inherit;background:#0208129e;border:1px solid #9fb2c747;border-radius:14px;outline:none;padding:0 16px;transition:border-color .16s,box-shadow .16s,background .16s}.field input,.field select{min-height:52px}.field textarea{resize:vertical;min-height:160px;padding-top:14px}.field input:focus,.field select:focus,.field textarea:focus{background:#020812c7;border-color:#22a7ffb8;box-shadow:0 0 0 3px #22a7ff2e}.field small{color:#ffb6b6;line-height:1.45}.form-message{color:#d7f1ff;background:#22a7ff17;border:1px solid #22a7ff47;border-radius:14px;margin:0;padding:12px 14px;line-height:1.5}.form-message--error{color:#ffd5d5;background:#ff6b6b1a;border-color:#ff6b6b57}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:28px 0;display:grid}.dashboard-grid article{background:#ffffff0b;border:1px solid #9fb2c72e;border-radius:18px;align-content:space-between;min-height:138px;padding:18px;display:grid}.dashboard-grid span,.dashboard-grid small{color:var(--text-muted);line-height:1.45}.dashboard-grid strong{overflow-wrap:anywhere;margin:10px 0;font-size:1.22rem}.vpn-section{gap:18px;margin:8px 0 28px;display:grid}.vpn-section__header{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.vpn-section__header h2{margin:0;font-size:1.55rem;line-height:1.2}.vpn-section__header span,.empty-state{color:var(--text-muted);line-height:1.55}.empty-state{background:#ffffff0b;border:1px solid #9fb2c72e;border-radius:18px;margin:0;padding:18px}.empty-state p{margin:0 0 16px}.fresh-config{background:#22a7ff17;border:1px solid #22a7ff52;border-radius:18px;gap:12px;padding:18px;display:grid}.fresh-config p{color:var(--text-muted);margin:0;line-height:1.55}.fresh-config__actions{flex-wrap:wrap;gap:12px;display:flex}.vpn-list{gap:14px;display:grid}.vpn-config{background:#ffffff0b;border:1px solid #9fb2c72e;border-radius:18px;gap:18px;padding:18px;display:grid}.vpn-config h3{margin:12px 0 6px;font-size:1.22rem;line-height:1.25}.vpn-config p{color:var(--text-muted);overflow-wrap:anywhere;margin:0;line-height:1.55}.status-pill{border-radius:999px;align-items:center;width:fit-content;min-height:28px;padding:0 10px;font-size:.78rem;font-weight:800;display:inline-flex}.status-pill--active{color:#c9ecff;background:#22a7ff17;border:1px solid #22a7ff52}.status-pill:not(.status-pill--active){color:#ffd5d5;background:#ff6b6b1a;border:1px solid #ff6b6b57}.vpn-config__meta,.vpn-config__actions{flex-wrap:wrap;gap:12px;display:flex}.vpn-config__meta span{color:var(--text-muted);font-size:.9rem;line-height:1.45}.dashboard-actions{flex-wrap:wrap;gap:12px;display:flex}.admin-panel{gap:24px;display:grid}.admin-actions{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:18px;display:grid}.admin-form,.admin-section{background:#ffffff0b;border:1px solid #9fb2c72e;border-radius:18px;gap:16px;padding:18px;display:grid}.admin-form h2,.admin-section h2{margin:0;font-size:1.25rem;line-height:1.25}.admin-code{background:#22a7ff17;border:1px solid #22a7ff52;border-radius:18px;gap:8px;padding:16px;display:grid}.admin-code span,.admin-table span{color:var(--text-muted);line-height:1.45}.admin-code strong{overflow-wrap:anywhere;font-size:1.28rem}.admin-table{gap:10px;display:grid}.admin-table article{background:#02081242;border:1px solid #9fb2c724;border-radius:14px;grid-template-columns:1.25fr .9fr .55fr .7fr .9fr auto;gap:8px;padding:14px;display:grid}.admin-table strong{overflow-wrap:anywhere}.admin-limit-field{grid-template-columns:auto 64px auto;align-items:center;gap:6px;display:grid}.admin-limit-field input{width:64px;min-height:38px;color:var(--text-main);font:inherit;background:#0208129e;border:1px solid #9fb2c747;border-radius:12px;padding:0 10px}.admin-limit-field small{color:var(--text-muted)}.vpn-name-field{margin-top:12px}@media (width<=620px){.portal-shell{padding:20px}.portal-shell__content{padding:36px 0}.portal-brand__mark{border-radius:12px;width:38px;height:38px}.start-card,.placeholder-card,.auth-card,.dashboard-card{border-radius:24px}.start-card__actions,.button-link{width:100%}.dashboard-grid{grid-template-columns:1fr}.vpn-section__header{flex-direction:column;align-items:flex-start}.vpn-config__actions .button-link,.dashboard-actions,.dashboard-actions .button-link{width:100%}.admin-actions,.admin-table article{grid-template-columns:1fr}}
