:root { --fg:#1d1d1f; --bg:#f5f5f7; --card:#fff; --accent:#0a66d8; --muted:#6e6e73; --ok:#1a7f37; --warn:#9a6700; --bad:#c62828; }
@media (prefers-color-scheme: dark) { :root { --fg:#f5f5f7; --bg:#111; --card:#1c1c1e; --accent:#3b8cff; --muted:#a1a1a6; } }
* { box-sizing: border-box; }
body { margin:0; font: 18px/1.5 -apple-system, system-ui, sans-serif; color:var(--fg); background:var(--bg); }
header { display:flex; justify-content:space-between; align-items:center; padding:12px 16px; background:var(--card); }
header form { margin:0; }
.brand { font-weight:700; color:var(--fg); text-decoration:none; }
main { max-width:520px; margin:0 auto; padding:16px; }
h1 { font-size:28px; }
.button { display:block; width:100%; margin:14px 0; padding:20px; border:0; border-radius:14px; background:var(--accent); color:#fff; font-size:20px; font-weight:600; text-align:center; text-decoration:none; cursor:pointer; }
.button.secondary { background:var(--card); color:var(--accent); border:2px solid var(--accent); }
button.link { background:none; border:0; color:var(--accent); font-size:16px; cursor:pointer; }
form { margin:0; }
label { display:block; margin:14px 0; font-weight:600; }
input { display:block; width:100%; margin-top:6px; padding:14px; font-size:18px; border:1px solid var(--muted); border-radius:10px; background:var(--card); color:var(--fg); }
.hint { color:var(--muted); font-size:16px; }
.notice { background:var(--card); border-left:4px solid var(--ok); padding:12px; border-radius:8px; }
.error { background:var(--card); border-left:4px solid var(--bad); padding:12px; border-radius:8px; }
.counts { display:flex; gap:10px; list-style:none; padding:0; }
.counts li { flex:1; background:var(--card); border-radius:12px; padding:12px; text-align:center; }
.counts strong { display:block; font-size:28px; }
.devices { list-style:none; padding:0; }
.devices li { background:var(--card); border-radius:12px; padding:14px; margin:10px 0; }
.devices .name { font-weight:600; }
.devices .udid { color:var(--muted); font-size:13px; font-family:ui-monospace, monospace; word-break:break-all; }
.status-pending { color:var(--warn); } .status-registered { color:var(--ok); } .status-failed { color:var(--bad); }
.hidden { display:none; }
.app { margin:24px 0; }
.app h2 { margin-bottom:4px; }
