/* S17 invite landing and friend registration (lane B2). Signed-out, V1 sign-in look, on tokens + app.css + ds3.css. */
body.s17{background:var(--color-bg)}
.s17 .login-shell{align-items:start;padding-top:max(5vh,var(--s-6));padding-bottom:var(--s-7)}
.s17 .nav .right{display:flex;align-items:center;gap:var(--s-4)}
.s17 .nav .right a{font-size:var(--t-sm);font-weight:700}
.s17 .wrapc{width:100%;max-width:560px;margin:0 auto}
.s17 .login-shell .login-card{max-width:none;width:100%}
.s17 .by{display:flex;align-items:center;gap:var(--s-3);margin:0 0 var(--s-4)}
.s17 .av{width:40px;height:40px;border-radius:50%;background:var(--color-ink);color:var(--color-card);display:grid;place-items:center;font-weight:700;font-size:var(--t-sm);flex:0 0 auto}
.s17 h1{font-size:var(--t-2xl);line-height:1.15;margin:var(--s-3) 0 0}
.s17 .cc{border:1px solid var(--color-line);border-radius:var(--radius);padding:var(--s-5);margin:var(--s-5) 0;background:var(--color-card)}
.s17 .cc .kick{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);font-weight:700;margin:0}
.s17 .cc h2{font-size:var(--t-xl);margin:.25rem 0 .2rem}
.s17 .cc .meta{color:var(--color-muted);font-size:var(--t-sm);margin:0}
.s17 .tiles{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3);margin-top:var(--s-4)}
.s17 .tile{background:var(--color-bg);border-radius:var(--radius-sm);padding:var(--s-3) var(--s-4)}
.s17 .tile .n{font-size:var(--t-2xl);font-weight:800;line-height:1;color:var(--color-ink)}
.s17 .tile .l{font-size:var(--t-xs);color:var(--color-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:.3rem}
.s17 .tile.warn{background:#fdf3e0}.s17 .tile.warn .n{color:#8a6116}
.s17 .tile.off{background:var(--color-bg)}.s17 .tile.off .n{color:var(--color-muted)}
.s17 .facts{list-style:none;margin:var(--s-4) 0 0;padding:0;font-size:var(--t-sm);color:var(--color-body);display:grid;gap:.35rem}
.s17 .facts li{display:flex;gap:.6rem;align-items:flex-start}
.s17 .facts svg{flex:0 0 auto;margin-top:.2rem}
.s17 .note{font-size:var(--t-sm);color:var(--color-muted);line-height:1.5;margin:var(--s-4) 0 0}
.s17 .alert{display:flex;gap:var(--s-3);align-items:flex-start;background:#fdf3e0;color:#6b4a10;border:1px solid #ecd29c;border-radius:var(--radius-sm);padding:var(--s-3) var(--s-4);margin:0 0 var(--s-4);font-size:var(--t-sm);line-height:1.5}
.s17 .alert.danger{background:var(--color-danger-wash);color:var(--color-danger-ink);border-color:var(--color-danger)}
.s17 .btn{display:block;width:100%;box-sizing:border-box;text-align:center;padding:.85rem 1.4rem}
.s17 .btn-ghost{background:transparent;color:var(--color-accent-text);border:1.5px solid var(--color-line);font-weight:700;margin-top:var(--s-3)}
.s17 .btn-ghost:hover{border-color:var(--color-accent-text);text-decoration:none}
.s17 .btn:focus-visible,.s17 a:focus-visible,.s17 input:focus-visible,.s17 .chip:focus-within{outline:none;box-shadow:0 0 0 3px var(--color-card),0 0 0 5px var(--color-accent)}
.s17 .trust{display:flex;gap:.6rem;align-items:flex-start;margin:var(--s-5) 0 0;padding-top:var(--s-4);border-top:1px solid var(--color-line);font-size:var(--t-sm);color:var(--color-muted);line-height:1.5}
.s17 .trust svg{flex:0 0 auto;margin-top:.15rem}
.s17 .signin{margin:var(--s-4) 0 0;text-align:center;font-size:var(--t-sm);color:var(--color-muted)}
.s17 .signin a{font-weight:700}
.s17 .twocol{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3)}
.s17 .chips{display:grid;gap:var(--s-2);margin:.4rem 0 0}
.s17 .chip{display:flex;align-items:center;gap:.7rem;border:1.5px solid var(--color-line);border-radius:var(--radius-sm);padding:.7rem .9rem;cursor:pointer;background:var(--color-card);font-size:var(--t-sm);color:var(--color-ink)}
.s17 .chip:hover{border-color:var(--color-ink)}
.s17 .chip input{appearance:none;-webkit-appearance:none;width:20px;height:20px;border:1.5px solid var(--color-muted);background:var(--color-card);margin:0;flex:0 0 auto;display:grid;place-content:center;cursor:pointer}
.s17 .chip input[type=radio]{border-radius:50%}
.s17 .chip input[type=checkbox]{border-radius:5px}
.s17 .chip input:checked{border-color:var(--color-accent);background:var(--color-accent)}
.s17 .chip input[type=radio]:checked{box-shadow:inset 0 0 0 4px var(--color-card)}
.s17 .chip input[type=checkbox]:checked::after{content:"";width:5px;height:10px;border:solid var(--color-card);border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.s17 .chip:has(input:checked){border-color:var(--color-accent);background:var(--color-accent-wash)}
.s17 .chip b{display:block}.s17 .chip small{display:block;color:var(--color-muted);font-size:var(--t-xs)}
.s17 .consent{border:0;background:none;padding:.2rem 0;align-items:flex-start}
.s17 .consent:has(input:checked){background:none}
.s17 .err{display:none;color:var(--color-danger-ink);font-size:var(--t-sm);margin:.25rem 0 0}
.s17 .field.bad .err{display:block}
.s17 .field.bad input[type=text],.s17 .field.bad input[type=email]{border-color:var(--color-danger);box-shadow:0 0 0 3px rgba(198,40,40,.12)}
.s17 .addr{display:inline-block;background:var(--color-bg);border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:.4rem .8rem;font-weight:700;margin:0 0 var(--s-4);word-break:break-all}
.s17 .steps{margin:0 0 var(--s-5);padding-left:1.2rem;color:var(--color-body);font-size:var(--t-sm);line-height:1.6}
.s17 .mail{border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-card);margin:0 0 var(--s-4);overflow:hidden}
.s17 .mail .mh{background:var(--color-bg);padding:var(--s-3) var(--s-4);font-size:var(--t-xs);color:var(--color-muted);line-height:1.6;border-bottom:1px solid var(--color-line)}
.s17 .mail .mb{padding:var(--s-4);font-size:var(--t-sm);line-height:1.6}
.s17 .mail .mb .btn{margin-top:var(--s-4)}
.s17 .done-ic{width:56px;height:56px;border-radius:50%;background:var(--color-accent-wash);display:grid;place-items:center;margin-bottom:var(--s-4)}
.s17 [hidden]{display:none!important}
.s17 .states{max-width:560px;margin:var(--s-4) auto 0;font-size:var(--t-xs);color:var(--color-muted);text-align:center;line-height:1.9}
.s17 .states a{margin:0 .35rem;font-weight:700}
@media(max-width:520px){.s17 h1{font-size:var(--t-xl)}.s17 .cc{padding:var(--s-4)}.s17 .twocol{grid-template-columns:1fr}.s17 .nav .right .who{display:none}}
