@font-face { font-family:"Inter"; src:url("/css/inter.woff2") format("woff2"); font-weight:100 900; font-display:swap; }
:root { color-scheme:light; --bg:#F4F6FA; --fg:#18212F; --card:#fff; --accent:#009FE3; --ink:#0A6EA6; --line:#DDE3EC; --muted:#5A6A83; --err:#B3261E; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; display:grid; place-items:center; color:var(--fg); font:14px/1.55 "Inter", system-ui, sans-serif; -webkit-font-smoothing:antialiased;
  background:radial-gradient(900px 480px at 15% -10%, rgba(0,159,227,.16), transparent 60%), radial-gradient(800px 460px at 100% 110%, rgba(91,63,214,.12), transparent 60%), var(--bg); }
.shell { width:min(26rem, 92vw); padding:32px 0; }
.brand { display:flex; align-items:center; justify-content:center; gap:11px; margin-bottom:22px; font-weight:700; font-size:20px; letter-spacing:-.01em; }
.logo { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; background:linear-gradient(140deg,#19B3F5 0%,#0070D8 60%,#5B3FD6 100%); box-shadow:0 4px 14px rgba(0,112,216,.35), inset 0 1px 0 rgba(255,255,255,.35); }
.logo svg { width:21px; height:21px; fill:none; stroke:#fff; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.card { background:var(--card); border:1px solid #E4E9F1; border-radius:18px; padding:30px; box-shadow:0 1px 2px rgba(20,30,60,.04), 0 12px 40px rgba(20,30,60,.08); }
h1 { font-size:21px; letter-spacing:-.015em; margin:0 0 18px; }
p { margin:0 0 14px; }
label { display:block; margin:0 0 16px; font-size:13px; font-weight:600; }
input { display:block; width:100%; margin-top:6px; padding:10px 12px; font:inherit; font-weight:400; color:inherit; background:#fff; border:1px solid var(--line); border-radius:10px; transition:border-color .12s, box-shadow .12s; }
input:hover { border-color:#C7D1E0; }
input:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(0,159,227,.22); }
button { width:100%; padding:11px 16px; font:inherit; font-weight:600; color:#fff; background:var(--accent); border:0; border-radius:10px; cursor:pointer; box-shadow:0 1px 2px rgba(0,100,160,.35), inset 0 1px 0 rgba(255,255,255,.22); transition:filter .12s; }
button:hover { filter:brightness(.95); }
button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
button.secondary { background:#fff; color:var(--fg); border:1px solid var(--line); box-shadow:none; }
.row { display:flex; gap:10px; } .row button { flex:1; }
.error { color:var(--err); background:#FDF1F1; border:1px solid #F3C9CB; border-radius:10px; padding:10px 12px; }
.scopes { list-style:none; padding:0; margin:0 0 20px; display:grid; gap:8px; }
.scopes li { padding:10px 12px; border:1px solid var(--line); border-radius:10px; background:#FAFBFD; }
.scopes strong { display:block; } .scopes span { color:var(--muted); font-size:13px; }
.foot { text-align:center; color:var(--muted); font-size:12.5px; margin-top:18px; }

.alt { text-align:center; margin:18px 0 0; font-size:13px; color:var(--muted); }
.brand.app { margin-bottom:24px; } .app-logo { display:block; max-width:220px; max-height:72px; width:auto; height:auto; object-fit:contain; }
