:root{--ink:#0B0E14;--paper:#F5F7FA;--line:#E7EBF2;--violet:#7C3AED;--violet-d:#6A2FD1;--fuchsia:#DB2777;--teal:#0D9488;--amber:#F59E0B;--rose:#E11D48;--azure:#2563EB;--stone:#5B6472;--faint:#9AA5B8}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:#fff;font-size:15px;line-height:1.55}
h1,h2{font-family:'Google Sans Flex','Inter',sans-serif;font-weight:500;letter-spacing:-.02em;margin:0}
.auth{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
@media(max-width:900px){.auth{grid-template-columns:1fr}.side{display:none}}
.form{display:flex;flex-direction:column;justify-content:center;padding:48px clamp(24px,8vw,96px)}
.brand{display:flex;align-items:center;gap:10px;font-family:'Google Sans Flex',sans-serif;font-weight:600;font-size:20px;margin-bottom:56px;text-decoration:none;color:var(--ink)}
.brand .mark-wrap{width:30px;height:30px;display:inline-block}
.workspace-chip{display:inline-flex;align-items:center;gap:8px;background:var(--paper);border-radius:999px;padding:6px 12px 6px 8px;font-size:13px;font-weight:600;color:var(--stone);margin-bottom:22px;align-self:flex-start}
.workspace-chip .chip-mark{width:18px;height:18px;display:inline-block}
.workspace-chip a{color:var(--violet);margin-left:4px;text-decoration:none;font-weight:600}
.workspace-chip a:hover{text-decoration:underline}
.form h1{font-size:34px;margin-bottom:6px}
.sub{color:var(--stone);margin:0 0 32px}
.form label{display:block;font-size:13px;font-weight:600;color:var(--stone);margin:18px 0 8px}
.field{display:flex;align-items:stretch;border:1.5px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;transition:border-color .15s,box-shadow .15s}
.field:focus-within{border-color:var(--violet);box-shadow:0 0 0 4px rgba(124,58,237,.12)}
.field input{flex:1;border:0;outline:0;padding:14px;font:inherit;font-size:16px;min-width:0;background:transparent;color:var(--ink);box-shadow:none}
.field input:focus{outline:0;box-shadow:none;border:0}
.field input::placeholder{color:var(--faint)}
.field .ic{display:flex;align-items:center;padding:0 0 0 14px;color:var(--faint)}
.fix{display:flex;align-items:center;padding:0 14px;background:var(--paper);color:var(--stone);font-size:14px;font-weight:500;white-space:nowrap;border-left:1.5px solid var(--line)}
.fix.l{border-left:0;border-right:1.5px solid var(--line)}
.fix.toggle{cursor:pointer;user-select:none}
.field-error{border-color:var(--rose)!important}
.err-msg{color:var(--rose);font-size:13px;margin-top:6px}
.hint{display:flex;gap:8px;align-items:flex-start;margin-top:10px;font-size:13px;color:var(--stone)}
.hint i{color:var(--violet);margin-top:3px}
.row{display:flex;justify-content:space-between;align-items:center;font-size:14px;margin-top:14px}
.row label{margin:0;display:flex;align-items:center;gap:8px;font-weight:500;color:var(--ink)}
.row input[type=checkbox]{accent-color:var(--violet);width:16px;height:16px}
.row a{color:var(--violet);font-weight:600;text-decoration:none}
.row a:hover{text-decoration:underline}
.btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:24px;padding:15px;border:1.5px solid transparent;border-radius:10px;font:inherit;font-size:16px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s;text-decoration:none;line-height:1.2}
.btn.primary{background:var(--violet)!important;color:#fff!important}
.btn.primary:hover{background:var(--violet-d)!important}
.btn.ghost{background:#fff;border-color:var(--line);color:var(--ink)}
.btn.ghost:hover{border-color:var(--ink)}
.or{display:flex;align-items:center;gap:14px;margin:26px 0 2px;color:var(--faint);font-size:13px}
.or::before,.or::after{content:"";flex:1;border-top:1px solid var(--line)}
.links{margin-top:22px;font-size:14px;color:var(--stone)}
.links a{color:var(--violet);font-weight:600;text-decoration:none}
.links a:hover{text-decoration:underline}
.alert{padding:12px 16px;border-radius:10px;margin-bottom:20px;font-size:14px}
.alert-error{background:#FEF2F2;color:#991B1B;border:1px solid #FECACA}
.alert-error ul{margin:0;padding-left:18px}
.alert-success{background:#F0FDF4;color:#166534;border:1px solid #BBF7D0}
.foot{margin-top:auto;padding-top:40px;display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:var(--faint)}
.foot a{color:inherit}
.lang{border:1px solid var(--line);border-radius:6px;padding:4px 9px;color:var(--stone);font-weight:500}
.side{position:relative;background:var(--ink);color:#fff;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:56px}
.side::before{content:"";position:absolute;inset:auto -20% -30% auto;width:70vw;height:70vw;max-width:800px;max-height:800px;border-radius:50%;background:radial-gradient(closest-side,rgba(124,58,237,.35),transparent 70%)}
.strip{position:absolute;left:0;right:0;top:0;height:8px;display:flex}
.strip span{flex:1}
.big-mark{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:min(34vw,300px)}
.side h2{position:relative;font-size:30px;color:#fff;max-width:20ch}
.side p{position:relative;color:#C4CCDA;margin:10px 0 0;max-width:46ch}
.stats{position:relative;display:flex;gap:32px;margin-top:28px}
.stats b{display:block;font-family:'Google Sans Flex',sans-serif;font-size:26px;font-weight:500}
.stats span{font-size:12.5px;color:var(--faint)}
.form{align-items:center;padding:48px clamp(24px,5vw,64px)}
.form>*{width:100%;max-width:420px}
.form>.workspace-chip{width:auto;max-width:none;align-self:flex-start;margin-left:max(0px,calc(50% - 210px))}
