.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:32px 20px;background:radial-gradient(1200px 600px at 50% -10%,var(--coral-tint),transparent 60%),var(--canvas)}.auth-card{width:100%;max-width:420px;background:var(--surface);border:1.5px solid var(--hairline);border-radius:var(--radius-xl);box-shadow:var(--shadow-3);padding:34px 30px}.auth-brand{display:inline-flex;align-items:center;gap:9px;font-weight:900;font-size:18px;letter-spacing:-.02em;color:var(--ink);text-decoration:none;margin-bottom:22px}.auth-inbox-icon{width:60px;height:60px;margin:4px auto 18px;display:grid;place-items:center;border-radius:50%;background:var(--coral-soft);color:var(--coral-deep)}.auth-title{font-size:26px;font-weight:900;letter-spacing:-.02em}.auth-sub{color:var(--ink-2);font-size:15px;font-weight:500;margin:6px 0 22px}.auth-oauth{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:var(--radius-pill);border:1.5px solid var(--hairline-2);background:var(--surface);color:var(--ink);font-weight:800;font-size:15px;transition:border-color .15s var(--ease),transform .1s var(--ease)}.auth-oauth:hover{border-color:var(--ink-3)}.auth-oauth:active{transform:scale(.98)}.auth-or{display:flex;align-items:center;gap:12px;color:var(--ink-3);font-size:13px;font-weight:700;margin:18px 0}.auth-or:after,.auth-or:before{content:"";height:1.5px;background:var(--hairline);flex:1 1}.auth-form,.auth-magic{display:flex;flex-direction:column;gap:14px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field>span{font-size:13px;font-weight:800;color:var(--ink-2)}.auth-field input{width:100%;box-sizing:border-box;padding:12px 14px;border-radius:var(--radius-sm);border:1.5px solid var(--hairline-2);background:var(--surface);font-size:15px;font-weight:600;color:var(--ink);transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.auth-field input:focus{outline:none;border-color:var(--coral);box-shadow:0 0 0 4px var(--coral-soft)}.auth-btn{width:100%;padding:13px 16px;border:none;border-radius:var(--radius-pill);background:var(--coral);color:#fff;font-weight:900;font-size:15px;box-shadow:var(--shadow-coral);transition:background .15s var(--ease),transform .1s var(--ease)}.auth-btn:hover{background:var(--coral-deep)}.auth-btn:active{transform:scale(.98)}.auth-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.auth-btn-ghost{padding:12px 16px;border-radius:var(--radius-sm);border:1.5px solid var(--hairline-2);background:var(--surface);color:var(--ink);font-weight:800;font-size:14px;white-space:nowrap}.auth-btn-ghost:hover{border-color:var(--ink-3)}.auth-magic{margin-top:18px}.auth-magic-row{display:flex;gap:8px}.auth-magic-row input{flex:1 1}.auth-msg{font-size:13.5px;font-weight:700;margin:0}.auth-err{color:var(--danger-deep)}.auth-ok{color:var(--green-deep)}.auth-switch{margin-top:22px;text-align:center;font-size:14px;color:var(--ink-2);font-weight:600}.auth-switch button{background:none;border:none;color:var(--coral-deep);font-weight:800;font-size:14px;padding:0}.auth-switch button:hover{text-decoration:underline}.auth-roles{display:flex;gap:8px;margin-bottom:16px}.auth-role{flex:1 1;cursor:pointer;text-align:center;border:1.5px solid var(--hairline-2,#e4e0d7);border-radius:999px;background:none;padding:9px 10px;font-family:inherit;font-weight:800;font-size:13.5px;color:var(--ink-2);transition:all .15s ease}.auth-role:hover{border-color:var(--ink-3)}.auth-role.on{background:var(--coral-soft);border-color:var(--coral);color:var(--coral-deep)}