:root{--bg:#070b17;--bg-deep:#0d1025;--surface:rgba(17,20,46,.88);--line:rgba(119,231,255,.16);--text:#f7f8fc;--muted:#b9bbd0;--violet:#8d45d4;--purple:#6b3bc7;--magenta:#d84bb5;--cyan:#42d8ff;--danger:#ff8190;--radius:22px;font-family:"Segoe UI",Tahoma,Arial,sans-serif;color:var(--text);background:var(--bg);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{position:relative;isolation:isolate;overflow-x:hidden;background:radial-gradient(circle at 85% 8%,rgba(107,59,199,.28),transparent 35%),radial-gradient(circle at 8% 88%,rgba(66,216,255,.12),transparent 30%),linear-gradient(145deg,var(--bg),var(--bg-deep) 56%,#10102b)}body:before,body:after{content:"";position:fixed;z-index:-1;width:44rem;height:44rem;border-radius:50%;pointer-events:none;filter:blur(80px);opacity:.22;animation:cosmic-drift 16s ease-in-out infinite alternate}body:before{top:-27rem;right:-16rem;background:radial-gradient(circle,var(--magenta),transparent 66%)}body:after{bottom:-31rem;left:-14rem;background:radial-gradient(circle,var(--cyan),transparent 66%);animation-duration:20s;animation-direction:alternate-reverse}button,input{font:inherit}.auth-layout{min-height:100vh;display:grid;place-content:center;justify-items:center;padding:36px 20px}.auth-card{position:relative;width:min(100%,440px);overflow:hidden;padding:40px;background:linear-gradient(155deg,rgba(20,24,54,.94),rgba(11,14,31,.92));border:1px solid transparent;border-radius:var(--radius);box-shadow:0 28px 80px rgba(0,0,0,.42);backdrop-filter:blur(14px)}.auth-card:before{content:"";position:absolute;inset:0;padding:1px;border-radius:inherit;background:linear-gradient(135deg,rgba(119,231,255,.58),rgba(141,69,212,.42) 45%,rgba(216,75,181,.2));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.brand{display:flex;align-items:center;gap:13px;margin-bottom:38px}.brand-mark{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(119,231,255,.28);border-radius:14px;background:linear-gradient(145deg,var(--purple),#29216f);box-shadow:0 0 24px rgba(141,69,212,.24);color:#fff;font-size:23px;font-weight:900}.brand strong,.brand span{display:block}.brand strong{font-size:17px;letter-spacing:.2px}.brand span{margin-top:3px;color:var(--muted);font-size:12px}.eyebrow{margin:0 0 7px;color:var(--cyan);font-size:12px;font-weight:800;letter-spacing:.4px}h1{margin:0;color:var(--text);font-size:30px;letter-spacing:-.5px}header>p:last-child{margin:10px 0 27px;color:var(--muted);line-height:1.8}.auth-alert{margin-bottom:19px;padding:12px 14px;border:1px solid rgba(255,129,144,.28);border-radius:11px;background:rgba(169,45,56,.15);color:#ffb3bd;font-size:13px}.auth-form{display:grid;gap:9px}.auth-form label{margin-top:9px;color:#e8e9f4;font-size:13px;font-weight:700}.auth-form input{width:100%;height:50px;padding:0 14px;border:1px solid rgba(185,187,208,.2);border-radius:11px;background:rgba(7,11,23,.68);color:var(--text);outline:none;transition:border-color .18s,box-shadow .18s,background .18s}.auth-form input::placeholder{color:#777b99}.auth-form input:hover{border-color:rgba(185,187,208,.32)}.auth-form input:focus{border-color:var(--cyan);background:rgba(13,16,37,.9);box-shadow:0 0 0 3px rgba(66,216,255,.11),0 0 22px rgba(141,69,212,.1)}.password-field{position:relative}.password-field input{padding-left:76px}.password-toggle{position:absolute;left:7px;top:7px;height:36px;padding:0 11px;border:1px solid rgba(119,231,255,.12);border-radius:8px;background:rgba(41,33,111,.55);color:#d8dbf0;cursor:pointer;font-size:12px;transition:.18s}.password-toggle:hover{border-color:rgba(119,231,255,.35);color:var(--cyan)}.primary{position:relative;height:51px;margin-top:19px;overflow:hidden;border:1px solid rgba(119,231,255,.26);border-radius:11px;background:linear-gradient(105deg,#6b3bc7,#8d45d4 55%,#467ed5);box-shadow:0 12px 30px rgba(107,59,199,.25);color:#fff;font-weight:850;cursor:pointer;transition:transform .18s,box-shadow .18s,filter .18s}.primary:hover{transform:translateY(-1px);box-shadow:0 16px 36px rgba(107,59,199,.34);filter:brightness(1.07)}.primary:active{transform:translateY(1px)}.primary:disabled{opacity:.72;cursor:wait;transform:none}.spinner{display:none;width:16px;height:16px;margin-right:8px;border:2px solid #ffffff70;border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.loading .spinner{display:inline-block;vertical-align:middle}.auth-foot{margin:18px 0 0;text-align:center;color:#8e92ad;font-size:11px}.auth-card img{display:block;max-width:210px;height:auto;margin:18px auto;border:8px solid #fff}.auth-card a{color:var(--cyan)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes cosmic-drift{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(4rem,2rem,0) scale(1.12)}}@media(max-width:520px){.auth-layout{padding:18px 14px}.auth-card{padding:31px 24px;border-radius:19px}.brand{margin-bottom:37px}h1{font-size:27px}.auth-foot{margin-top:14px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

.brand-mark{padding:7px}.teraf-logo{width:100%;height:100%;fill:none;stroke:url(#tg);stroke-width:3.6;stroke-linecap:round}.brand strong b{margin-inline-start:5px;color:#aeb1c9;font-size:10px;font-weight:600}.password-toggle{left:7px;top:7px;width:38px;padding:0;display:grid;place-items:center;background:transparent;border-color:transparent}.password-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.password-field input{padding-left:52px}.invite-person{display:grid;gap:4px;margin:0 0 20px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#ffffff05}.invite-person strong{font-size:15px}.invite-person span{direction:ltr;color:var(--muted);font-size:11px;text-align:right}.password-hint{color:#8e92ad;font-size:10px;line-height:1.6}.invite-success{display:grid;gap:12px}.invite-success p{margin:0;color:var(--muted)}.invite-success label{display:grid;gap:7px;font-size:11px}.invite-success input{width:100%;height:46px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:#090d1e;color:#c8cada;direction:ltr}.invite-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.invite-actions .primary{margin:0}.auth-link{display:grid;place-items:center;min-height:51px;border:1px solid var(--line);border-radius:11px;text-decoration:none}.auth-card .invite-link{overflow-wrap:anywhere}
@media(max-width:520px){.invite-actions{grid-template-columns:1fr}}
