
:root{--bg:#fcfcfd;--surface:#fff;--surface-2:#f6f6f8;--ink:#1e1f21;--ink-soft:#3e3f43;--muted:#65666b;--muted-2:#6a6b71;--line:#e6e6ea;--hover:#efeff2;--red:#DC2626;--red-700:#B91C1C;--blue:#3f5fa6;--blue-bg:#eef1f8;--amber-bg:#f7eed5;--amber-ink:#92580e;--emerald-bg:#e8f2ea;--emerald-ink:#2c6a49}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6;font-size:15px;min-height:100vh;-webkit-font-smoothing:antialiased;padding:0 1rem}
a{color:var(--ink)}
.card{max-width:430px;margin:4.5rem auto 1rem;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:2.2rem 2rem;box-shadow:0 10px 40px rgba(0,0,0,.04)}
.card.wide{max-width:680px;text-align:left}
.logo{display:flex;justify-content:center;margin-bottom:.9rem}
h1{font-family:Geist,Inter,-apple-system,sans-serif;font-size:1.45rem;font-weight:650;letter-spacing:-.02em;margin-bottom:.35rem}
h2{font-size:1rem;font-weight:600;margin:1.4rem 0 .5rem}
.accent{color:var(--red-700)}
.tag{color:var(--muted);margin-bottom:1.2rem;font-size:.93rem}
.client{display:inline-block;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:.1rem .45rem;font-weight:600;color:var(--ink)}
.perm{list-style:none;text-align:left;margin:.2rem 0 1.1rem;padding:.7rem .9rem;background:var(--surface-2);border-radius:10px;font-size:.86rem;color:var(--ink-soft)}
.perm li{margin:.2rem 0;padding-left:1.1rem;position:relative}
.perm li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--red)}
.google-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;width:100%;background:#fff;color:var(--ink);border:1px solid var(--line);padding:.7rem 1.2rem;border-radius:10px;font-size:.95rem;font-weight:500;cursor:pointer;font-family:inherit}
.google-btn:hover{background:var(--surface-2)}
.divider{display:flex;align-items:center;gap:.7rem;color:var(--muted-2);font-size:.78rem;margin:1.1rem 0 .9rem}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--line)}
form.stack{display:flex;flex-direction:column;gap:.55rem;text-align:left}
label{font-size:.78rem;color:var(--muted);font-weight:500}
input[type=email],input[type=password],input[type=text]{font-family:inherit;font-size:.92rem;padding:.5rem .7rem;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);width:100%}
input:focus{outline:none;border-color:var(--muted-2);box-shadow:0 0 0 3px rgba(32,32,29,.05)}
.check{display:flex;gap:.5rem;align-items:flex-start;text-align:left;font-size:.85rem;color:var(--ink-soft);margin:.2rem 0 1rem}
.check input{margin-top:.28em}
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:#fff;border:1px solid var(--ink);padding:.55rem 1rem;border-radius:9px;font-size:.9rem;font-weight:550;cursor:pointer;font-family:inherit;width:100%;line-height:normal}
.btn:hover{background:var(--ink-soft)}
.btn-secondary{display:inline-flex;align-items:center;justify-content:center;width:100%;background:var(--surface);color:var(--ink);border:1px solid var(--line);padding:.62rem 1.2rem;border-radius:10px;font-size:.92rem;font-weight:500;cursor:pointer;font-family:inherit;text-decoration:none;line-height:normal}
.btn-secondary:hover{background:var(--surface-2)}
.btn-ghost{background:transparent;border:1px solid transparent;color:var(--muted);font-weight:400;width:auto;padding:.4rem .8rem;font-size:.85rem;cursor:pointer;font-family:inherit}
.btn-ghost:hover{background:var(--hover);color:var(--ink);border-radius:9px}
.notice{padding:.7rem .9rem;border-radius:10px;font-size:.85rem;margin:.2rem 0 1rem;text-align:left}
.notice.error{background:#f8e7e4;border:1px solid #ecc6bf;color:#9a3528}
.notice.info{background:var(--blue-bg);border:1px solid #d4ddf2;color:var(--blue)}
.notice.warn{background:var(--amber-bg);border:1px solid #ecd9a6;color:var(--amber-ink)}
.foot{margin-top:1.2rem;font-size:.82rem;color:var(--muted)}
.foot a{color:var(--muted)}
.small{font-size:.8rem;color:var(--muted)}
code,pre{font-family:"Geist Mono","SF Mono",Menlo,Consolas,monospace;font-size:.84rem}
pre{background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:.6rem .8rem;overflow-x:auto;margin:.4rem 0 .8rem;white-space:pre-wrap;word-break:break-all}
code{background:var(--surface-2);padding:.08em .35em;border-radius:5px}
.card.wide p{margin:.4rem 0}
.mt-xs{margin-top:.35rem}.mt-s{margin-top:.5rem}.mt-m{margin-top:1rem}.logo.left{justify-content:flex-start}
