@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap");:root{--bg:#0f1419;--surface:#1a2332;--border:#2d3a4d;--text:#e8eef7;--muted:#8b9cb3;--accent:#3b82f6;--accent-hover:#2563eb;--success:#22c55e;--danger:#ef4444}*{box-sizing:border-box}body{margin:0;font-family:DM Sans,system-ui,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}a{color:var(--accent)}button,input,select{font:inherit}input{width:100%;padding:.65rem .85rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text)}button{cursor:pointer;border:none;border-radius:8px;padding:.65rem 1rem;background:var(--accent);color:white;font-weight:600}button:hover{background:var(--accent-hover)}button.secondary{color:var(--text)}.card,button.secondary{background:var(--surface);border:1px solid var(--border)}.card{border-radius:12px;padding:1.5rem}.layout{max-width:960px;margin:0 auto;padding:2rem 1rem}.nav{display:flex;gap:1rem;align-items:center;margin-bottom:2rem;flex-wrap:wrap}.nav a{text-decoration:none;color:var(--muted)}.nav a:hover{color:var(--text)}.error{color:var(--danger);font-size:.9rem}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:.75rem;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:500}.nav a.nav-active{color:var(--text);font-weight:600}button.danger{background:var(--danger)}button.danger:hover{background:#dc2626}button:disabled{opacity:.55;cursor:not-allowed}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.8rem;font-weight:600;text-transform:capitalize}.badge-ok{background:rgba(34,197,94,.15);color:var(--success)}.badge-off{background:rgba(239,68,68,.15);color:var(--danger)}.badge-warn{background:rgba(234,179,8,.15);color:#eab308}.status-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.status-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:1rem;gap:1rem}.status-tile{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:1rem 1.15rem}.status-detail{margin:.65rem 0 0;font-size:.9rem}.actions-cell{display:flex;gap:.5rem;flex-wrap:wrap}.toast{position:fixed;bottom:1.5rem;right:1.5rem;max-width:420px;padding:.85rem 1rem;border-radius:10px;display:flex;align-items:center;gap:.75rem;z-index:1000;box-shadow:0 8px 24px rgba(0,0,0,.35)}.toast-success{background:#14532d;border:1px solid var(--success);color:#dcfce7}.toast-error{background:#450a0a;border:1px solid var(--danger);color:#fecaca}.toast-dismiss{background:transparent;border:none;color:inherit;font-size:1.25rem;line-height:1;padding:0 .25rem}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem}.modal{max-width:440px;width:100%}.cred-list{margin:1rem 0 1.5rem}.cred-list dt{color:var(--muted);font-size:.85rem;margin-top:.75rem}.cred-list dd{margin:.25rem 0 0}code{font-family:ui-monospace,monospace;font-size:.9rem;background:var(--bg);padding:.2rem .4rem;border-radius:4px}.call-timer{font-size:1.75rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin:.25rem 0 .75rem;color:var(--success)}.dialpad{max-width:280px;margin-top:1rem}.dialpad-display input{text-align:center;font-size:1.25rem;letter-spacing:.05em;margin-bottom:.75rem}.dialpad-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.5rem;gap:.5rem}.dialpad-key{padding:.85rem;font-size:1.1rem;background:var(--surface);border:1px solid var(--border);color:var(--text)}.dialpad-key:hover:not(:disabled){background:var(--border)}.dialpad-actions{display:flex;gap:.5rem;margin-top:.75rem}.dialpad-action,.dialpad-call{flex:1 1}.dialpad-call{background:var(--success)}.dialpad-call:hover{background:#16a34a}.form-grid{grid-gap:.75rem;max-width:480px}.form-grid,.form-row-2{display:grid;gap:.75rem}.form-row-2{grid-template-columns:1fr 1fr;grid-gap:.75rem}@media (max-width:520px){.form-row-2{grid-template-columns:1fr}}