:root{--accent:#526b7d;--accent-hover:#617b8d;--accent-soft:#17222b;--black:#06090d;--surface:#0d1219;--surface2:#121923;--ink:#f1f5fa;--muted:#98a6b8;--line:#27313e;--danger:#d86565;--success:#65aa82;--warning:#c7a56a}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;margin:0;display:flex;flex-direction:column;color:var(--ink);background:var(--black);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}button,input{font:inherit}.shell{width:min(calc(100% - 40px),1240px);margin-inline:auto}.auth-main{flex:1;display:flex;align-items:center;justify-content:center;padding:54px 20px 72px;background:radial-gradient(circle at 50% 0,rgba(82,107,125,.14),transparent 38%),var(--black)}.auth-wrap{width:min(100%,500px);margin:auto}.auth-card{width:100%;padding:40px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 22px 65px rgba(0,0,0,.34)}.auth-brand{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:28px;color:#fff;text-decoration:none;font-size:1.7rem;font-weight:950;letter-spacing:-.045em}.auth-mark{position:relative;width:42px;height:42px;border-radius:50% 50% 46% 46%;background:#111925;box-shadow:inset 0 -6px 0 var(--accent);transform:rotate(-8deg)}.auth-mark:before,.auth-mark:after{content:"";position:absolute;top:-6px;width:15px;height:20px;background:#111925;clip-path:polygon(50% 0,100% 100%,0 78%)}.auth-mark:before{left:2px;transform:rotate(-23deg)}.auth-mark:after{right:2px;transform:rotate(23deg)}.auth-heading{text-align:center;margin-bottom:28px}.auth-heading .eyebrow{margin:0 0 8px;color:#a9bdcb;font-size:.7rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.auth-heading h1{margin:0;color:#fff;font-size:clamp(1.8rem,5vw,2.35rem);line-height:1.05;letter-spacing:-.045em}.auth-heading p{margin:10px auto 0;max-width:410px;color:var(--muted);font-size:.84rem;line-height:1.6}.flash{margin-bottom:20px;padding:13px 15px;border:1px solid var(--line);border-radius:10px;color:#d6dee6;background:#111820;font-size:.82rem;line-height:1.5}.flash.error{border-color:#6c3d43;color:#ffc1c1;background:#211216}.flash.success{border-color:#365c48;color:#bde4cb;background:#112019}.flash.warning{border-color:#6c5d3d;color:#edd5a9;background:#211d12}.auth-form{display:grid;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:grid;gap:7px}.field>span{color:#e4e9ef;font-size:.82rem;font-weight:700}.input-group{position:relative;display:flex;align-items:stretch}.input-icon{width:48px;flex:0 0 48px;display:grid;place-items:center;border:1px solid #344150;border-right:0;border-radius:10px 0 0 10px;color:#8fa0b0;background:#121923}.input-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.field input[type=text],.field input[type=email],.field input[type=password]{width:100%;min-width:0;height:50px;padding:0 14px;border:1px solid #344150;border-radius:10px;outline:0;color:var(--ink);background:#090e14;transition:border-color .18s ease,box-shadow .18s ease}.input-group input{border-radius:0 10px 10px 0!important}.input-group:focus-within .input-icon{border-color:var(--accent);color:#c7d4df}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(82,107,125,.18)}.field input::placeholder{color:#667482}.password-wrap{position:relative;flex:1}.password-wrap input{padding-right:86px!important}.password-toggle{position:absolute;top:50%;right:7px;transform:translateY(-50%);min-height:34px;padding:0 9px;border:0;border-radius:7px;color:#b5c4cf;background:var(--accent-soft);font-size:.66rem;font-weight:850;cursor:pointer}.form-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:-2px}.checkbox{display:flex;align-items:flex-start;gap:8px;color:#bdc7d1;font-size:.78rem;line-height:1.45}.checkbox input{margin-top:2px;accent-color:var(--accent)}.auth-link{color:#afc3d1;font-size:.78rem;font-weight:800;text-decoration:none}.auth-link:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}.primary-button{width:100%;min-height:50px;padding:0 18px;border:0;border-radius:10px;color:#fff;background:var(--accent);font-weight:900;letter-spacing:.03em;cursor:pointer;transition:background .18s ease,transform .18s ease}.primary-button:hover{background:var(--accent-hover);transform:translateY(-1px)}.primary-button:disabled{opacity:.65;cursor:wait;transform:none}.secondary-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:0 18px;border:1px solid var(--line);border-radius:10px;color:#d7e0e8;background:var(--surface2);font-weight:850;text-decoration:none}.secondary-button:hover{border-color:var(--accent);color:#fff}.auth-footer-link{margin:22px 0 0;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:.82rem;text-align:center}.auth-footer-link a{color:#b7cad8;font-weight:850;text-decoration:none}.auth-footer-link a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.password-strength{display:flex;align-items:center;gap:6px;margin-top:7px;color:var(--muted);font-size:.7rem}.password-strength-bars{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;flex:1}.password-strength-bars span{height:3px;border-radius:99px;background:#27313e}.password-strength[data-level="1"] .password-strength-bars span:nth-child(-n+1){background:#b86565}.password-strength[data-level="2"] .password-strength-bars span:nth-child(-n+2){background:#b28c61}.password-strength[data-level="3"] .password-strength-bars span:nth-child(-n+3){background:#90996a}.password-strength[data-level="4"] .password-strength-bars span{background:#65aa82}.password-match{min-height:17px;margin-top:6px;color:var(--muted);font-size:.72rem}.profile-box{display:grid;gap:7px;margin-bottom:18px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#090e14}.profile-box span{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.profile-box strong{margin-bottom:7px;font-size:.95rem;word-break:break-word}.button-stack{display:grid;gap:10px}@media(max-width:600px){.auth-main{padding:30px 14px 48px;align-items:flex-start}.auth-card{padding:28px 20px;border-radius:14px}.form-row{grid-template-columns:1fr}.auth-brand{font-size:1.45rem}.auth-mark{width:36px;height:36px}}
