:root{--bg: #f6f7f9;--card: #ffffff;--text: #1c2430;--muted: #5d6b7c;--line: #d9dee5;--accent: #1f5fbf;--accent-text: #ffffff;--danger: #b42318;--ok: #1e9e4a;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text);background:var(--bg)}@media(prefers-color-scheme:dark){:root{--bg: #12161c;--card: #1b2129;--text: #e6ebf1;--muted: #9aa7b6;--line: #2e3742;--accent: #5b9cf5;--accent-text: #0b1220;--danger: #f97066;--ok: #3ccf74}}*{box-sizing:border-box}body{margin:0;background:var(--bg)}main{max-width:26rem;margin:0 auto;padding:2rem 1rem}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1.5rem;display:grid;gap:1rem}h1{font-size:1.4rem;margin:0}h2{font-size:1.05rem;margin:0}p{margin:0;line-height:1.45}label.field{display:grid;gap:.35rem;font-weight:600}input{font:inherit;padding:.65rem .75rem;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);width:100%}button{font:inherit;padding:.65rem 1rem;border:0;border-radius:8px;background:var(--accent);color:var(--accent-text);cursor:pointer;font-weight:600}button.secondary{background:transparent;color:var(--accent);border:1px solid var(--line)}button.link{background:none;color:var(--accent);padding:0;font-weight:400;text-decoration:underline;justify-self:start}button:disabled{opacity:.6;cursor:default}.error{color:var(--danger)}.muted{color:var(--muted)}.ok{color:var(--ok)}.hint{color:var(--muted);font-size:.9rem;font-weight:400}.qr{justify-self:center;background:#fff;padding:.5rem;border-radius:8px}.qr svg{display:block;width:12rem;height:12rem}code{font-family:ui-monospace,monospace;word-break:break-all}.row{display:flex;gap:.75rem;justify-content:space-between;align-items:center;flex-wrap:wrap}dl{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:0}dt{color:var(--muted)}dd{margin:0}.phone{display:grid;gap:.75rem;border-top:1px solid var(--line);padding-top:1rem}.badge{font-size:.85rem;padding:.15rem .6rem;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.badge.ok{color:var(--ok);border-color:var(--ok)}.badge.ko{color:var(--danger);border-color:var(--danger)}.dial,.call{display:grid;gap:.6rem}.dial{grid-template-columns:1fr auto}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}.keypad button{padding:.7rem 0;font-size:1.1rem}.peer{font-size:1.05rem}button.danger{background:var(--danger);color:#fff}.row input{flex:1;min-width:8rem}
