@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:700;src:url("./media/orbitron-latin-700-normal-KZ2AIJN3.woff2") format("woff2"),url("./media/orbitron-latin-700-normal-2FQG74NW.woff") format("woff")}:root{--bg: #04060f;--bg-2: #0a1026;--panel: rgba(14, 21, 46, .72);--panel-border: rgba(120, 160, 255, .18);--text: #dfe6f5;--text-dim: #8d98b8;--accent: #5cc8ff;--accent-2: #2f8cff;--danger: #ff6b7a;--success: #5fe0a6;--radius: 14px;--font-display: "Orbitron", "Segoe UI", system-ui, sans-serif;--font: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:radial-gradient(ellipse at 20% 0%,#16204a 0%,transparent 55%),radial-gradient(ellipse at 90% 100%,#2a1240 0%,transparent 50%),var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.starfield{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.starfield:before,.starfield:after{content:"";position:absolute;inset:-50%;background-repeat:repeat;animation:drift 240s linear infinite}.starfield:before{background-image:radial-gradient(1px 1px at 20px 30px,#fff 50%,transparent 51%),radial-gradient(1px 1px at 140px 80px,#cfe3ff 50%,transparent 51%),radial-gradient(1px 1px at 90px 160px,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 200px 210px,#9fd4ff 50%,transparent 51%),radial-gradient(1px 1px at 260px 40px,#fff 50%,transparent 51%);background-size:300px 260px;opacity:.75}.starfield:after{background-image:radial-gradient(2px 2px at 60px 120px,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 330px 300px,#ffd9f5 50%,transparent 51%),radial-gradient(2px 2px at 420px 60px,#bfe6ff 50%,transparent 51%);background-size:520px 460px;opacity:.5;animation-duration:420s}@keyframes drift{to{transform:translate3d(-300px,-260px,0)}}@media(prefers-reduced-motion:reduce){.starfield:before,.starfield:after{animation:none}}.auth-page{min-height:100svh;display:grid;place-items:center;padding:32px 16px}.panel{width:100%;max-width:420px;padding:32px 28px;background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:0 30px 80px #0000008c,inset 0 1px #ffffff0d;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.panel-wide{max-width:720px}.panel-title{margin:0 0 20px;font-size:1.25rem;font-weight:600;letter-spacing:.02em}.panel-text{color:var(--text-dim);margin:0 0 20px}.panel-footer{margin:24px 0 0;text-align:center;color:var(--text-dim);font-size:.92rem}.brand{text-align:center;margin-bottom:28px}.brand-orbit{position:relative;width:56px;height:56px;margin:0 auto 14px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#7fe0ff,#1d4fbf 60%,#0b1640);box-shadow:0 0 30px #5cc8ff73}.brand-orbit:before{content:"";position:absolute;inset:-10px -18px;border:1px solid rgba(160,210,255,.45);border-radius:50%;transform:rotate(-18deg)}.brand-orbit span{position:absolute;inset:-10px -18px;transform:rotate(-18deg);animation:orbit 6s linear infinite}.brand-orbit span:after{content:"";position:absolute;top:50%;left:-3px;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#fff;box-shadow:0 0 8px #fff}@keyframes orbit{to{transform:rotate(342deg)}}@media(prefers-reduced-motion:reduce){.brand-orbit span{animation:none}}.brand-name{margin:0;font-family:var(--font-display);font-weight:700;font-size:1.9rem;letter-spacing:.32em;text-transform:uppercase;padding-left:.32em;background:linear-gradient(180deg,#fff,#9fd4ff);-webkit-background-clip:text;background-clip:text;color:transparent}.brand-tagline{margin:8px 0 0;color:var(--text-dim);font-size:.92rem}.field{display:block;margin-bottom:18px}.field>span{display:block;margin-bottom:6px;font-size:.85rem;color:var(--text-dim);letter-spacing:.02em}.field input{width:100%;padding:12px 14px;font:inherit;color:var(--text);background:#040816b3;border:1px solid rgba(120,160,255,.22);border-radius:10px;outline:none;transition:border-color .15s,box-shadow .15s}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #5cc8ff2e}.field input.ng-touched.ng-invalid{border-color:var(--danger)}.field-hint,.field-error{display:block;margin-top:6px;font-size:.8rem}.field-hint{color:var(--text-dim)}.field-error{color:var(--danger)}.btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:13px 18px;font:inherit;font-weight:600;letter-spacing:.03em;border:1px solid transparent;border-radius:10px;cursor:pointer;text-decoration:none;transition:filter .15s,transform .05s,background .15s}.btn:hover{text-decoration:none;filter:brightness(1.1)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:progress}.btn-primary{color:#fff;background:linear-gradient(135deg,var(--accent-2),#6b5cff);box-shadow:0 8px 24px #2f8cff59}.btn-secondary{color:var(--text);background:#5cc8ff14;border-color:#5cc8ff59}.btn-ghost{width:auto;padding:8px 14px;color:var(--text);background:transparent;border-color:var(--panel-border)}.alert{margin-bottom:20px;padding:12px 14px;border-radius:10px;font-size:.92rem}.alert p{margin:0}.alert p+p{margin-top:8px}.alert-error{background:#ff6b7a1a;border:1px solid rgba(255,107,122,.4);color:#ffc2c8}.alert-success{background:#5fe0a61a;border:1px solid rgba(95,224,166,.4);color:#c4f5de}.alert-action{display:inline-block;margin-top:8px;font-weight:600}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;background:#060a1abf;border-bottom:1px solid var(--panel-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar-name{font-family:var(--font-display);font-weight:700;letter-spacing:.28em;text-transform:uppercase}.topbar-account{display:flex;align-items:center;gap:14px;min-width:0}.topbar-email{color:var(--text-dim);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home{display:grid;place-items:center;padding:48px 16px}@media(max-width:480px){.panel{padding:26px 20px}.topbar{padding:12px 16px}.topbar-email{display:none}}
