/* Scoped SIP setup UI. Existing account form and dialler styles are unchanged. */
.voip-status-card:has(.sip-setup-trigger) { align-items:center; flex-wrap:wrap; }
.sip-setup-trigger { margin-left:auto; display:inline-flex; align-items:center; justify-content:center; gap:9px; flex-shrink:0; border:1px solid #2267df; border-radius:10px; padding:11px 16px; color:#fff; background:linear-gradient(135deg,#1666e8,#1849b4); box-shadow:0 4px 10px #1555c51f; font:600 13px/1.3 Arial,sans-serif; font-family:inherit; cursor:pointer; transition:box-shadow .15s,background .15s; }
.sip-setup-trigger:hover { background:linear-gradient(135deg,#125bd0,#123e9c); box-shadow:0 5px 14px #1555c530; }
.sip-setup-trigger:focus-visible,.sip-setup-dialog button:focus-visible,.sip-setup-dialog summary:focus-visible,.sip-setup-dialog input:focus-visible { outline:3px solid #77b6ff; outline-offset:3px; }
.sip-setup-dialog { width:min(880px,calc(100vw - 32px)); max-width:880px; max-height:calc(100dvh - 32px); padding:0; margin:auto; border:1px solid #dce6f5; border-radius:20px; color:#11223e; background:#fff; box-shadow:0 24px 90px #05183255; font-family:inherit; overflow:hidden; }
.sip-setup-dialog[open] { display:flex; flex-direction:column; }
.sip-setup-dialog::backdrop { background:#081a36a6; backdrop-filter:blur(3px); }
.sip-setup-dialog * { box-sizing:border-box; }
.sip-setup-dialog [hidden] { display:none !important; }
.sip-setup-header { display:flex; align-items:flex-start; gap:18px; justify-content:space-between; flex-shrink:0; padding:25px 28px 21px; border-bottom:1px solid #dce6f5; background:linear-gradient(120deg,#f8fbff,#edf4ff); }
.sip-setup-eyebrow { font-size:10px; font-weight:800; letter-spacing:1.6px; color:#2365cc; }
.sip-setup-dialog h2 { font-size:25px; line-height:1.25; letter-spacing:-.6px; margin:8px 0; color:#10213d; }
.sip-setup-dialog h3 { font-size:17px; line-height:1.4; margin:0 0 12px; color:#10213d; }
.sip-setup-header p { margin:0; font-size:13px; color:#576b87; line-height:1.5; }
.sip-setup-close { border:1px solid #d4dfef; background:#fff; color:#36516f; font-size:25px; line-height:1; width:36px; height:36px; border-radius:10px; cursor:pointer; flex-shrink:0; }
.sip-setup-body { padding:20px 28px 26px; min-height:140px; overflow-y:auto; overscroll-behavior:contain; }
.sip-setup-feedback { font-size:13px; line-height:1.6; color:#49617f; margin:0 0 16px; }
.sip-setup-feedback:empty { display:none; }
.sip-setup-feedback.is-error { color:#9c3029; }
.sip-setup-notice { border:1px solid #eed8a7; border-radius:12px; padding:14px 16px; margin-bottom:23px; background:#fffaf0; font-size:13px; line-height:1.6; color:#694f22; }
.sip-setup-notice strong { color:#6c4712; }
.sip-setup-workspace { margin-bottom:20px; }
.sip-setup-workspace label { display:block; font-size:12px; font-weight:700; margin-bottom:6px; }
.sip-setup-workspace select { width:100%; padding:10px; border:1px solid #d8e2ef; border-radius:8px; color:#183456; background:#f7f9fc; }
.sip-setup-workspace p { font-size:12px; color:#526783; line-height:1.6; }
.sip-setup-notice p { margin:3px 0 0; }
.sip-setup-section-title { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; margin-bottom:7px; }
.sip-setup-section-title h3 { margin:0; }
.sip-setup-section-title span { background:#eaf2ff; color:#245dc1; font-size:12px; font-weight:700; padding:5px 9px; border-radius:7px; }
.sip-setup-muted { font-size:12px; color:#61738b; line-height:1.6; margin:7px 0 14px; }
.sip-setup-fields { display:grid; grid-template-columns:1fr 1fr; gap:13px 16px; margin-bottom:26px; }
.sip-setup-field label { display:block; font-size:11px; font-weight:700; color:#516885; margin-bottom:5px; }
.sip-setup-field:nth-child(3),.sip-setup-field:nth-child(8) { grid-column:1 / -1; }
.sip-setup-value { display:flex; min-width:0; border:1px solid #d8e2ef; border-radius:9px; background:#f7f9fc; padding:3px; gap:3px; }
.sip-setup-value input { min-width:0; width:100%; flex:1; border:0; background:transparent; color:#183456; border-radius:5px; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:12px; line-height:1.5; padding:7px; height:auto; box-shadow:none; }
.sip-setup-value button { align-self:center; flex-shrink:0; padding:7px 8px; color:#255fc2; border:1px solid #d9e4f6; border-radius:6px; background:#fff; cursor:pointer; font-size:11px; font-weight:600; }
.sip-setup-value button:hover { background:#eaf2ff; }
.sip-setup-steps { list-style:none; counter-reset:sip-step; padding:0; margin:0; display:grid; gap:16px; }
.sip-setup-steps li { counter-increment:sip-step; display:flex; align-items:flex-start; gap:12px; }
.sip-setup-steps li::before { content:counter(sip-step); flex-shrink:0; display:grid; place-items:center; width:27px; height:27px; border-radius:8px; background:#eaf2ff; color:#245dc1; font-size:12px; font-weight:800; }
.sip-setup-steps strong { font-size:13px; line-height:1.5; }
.sip-setup-steps p { font-size:12px; line-height:1.75; color:#526783; margin:3px 0 0; }
.sip-setup-help { border:1px solid #dce6f2; background:#f8faff; border-radius:11px; margin-top:23px; padding:13px 15px; font-size:12px; line-height:1.7; color:#526783; }
.sip-setup-help summary { cursor:pointer; font-weight:700; color:#24476f; }
.sip-setup-help dt { font-weight:700; color:#304f74; margin-top:10px; }
.sip-setup-help dd { margin:2px 0 0; }
.sip-setup-footer { display:flex; align-items:center; justify-content:space-between; gap:15px; flex-shrink:0; border-top:1px solid #e2eaf4; padding:15px 28px; background:#fafcff; }
.sip-setup-footer span { font-size:11px; color:#6a7c91; line-height:1.5; }
.sip-setup-done,.sip-setup-retry { color:#fff; background:#215ecc; border:0; border-radius:8px; font-size:13px; font-weight:600; padding:10px 20px; cursor:pointer; }
@media(max-width:640px) {
  .voip-status-card .sip-setup-trigger { margin-left:0; }
  .sip-setup-dialog { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); border-radius:15px; }
  .sip-setup-header { padding:19px 17px 16px; }
  .sip-setup-dialog h2 { font-size:21px; }
  .sip-setup-body { padding:17px; }
  .sip-setup-fields { grid-template-columns:minmax(0,1fr); gap:12px; }
  .sip-setup-field:nth-child(3),.sip-setup-field:nth-child(8) { grid-column:auto; }
  .sip-setup-footer { padding:13px 17px; }
}
@media(prefers-reduced-motion:reduce) { .sip-setup-trigger { transition:none; } }

/* Explicit conversion preserves existing phone credentials until the client chooses it. */
.sip-setup-short-login { margin:16px 0 0; }
.sip-setup-short-login button { padding:9px 12px; border:1px solid #cad9ed; border-radius:8px; font-family:inherit; font-size:12px; font-weight:600; color:#2358aa; background:#f5f9ff; cursor:pointer; }
.sip-setup-short-login #sip-shorten-confirm { margin-top:12px; padding:14px; border:1px solid #d8e3f1; border-radius:10px; background:#f7faff; }
.sip-setup-short-login #sip-shorten-confirm[hidden] { display:none; }
.sip-setup-short-login p { margin:0 0 12px; color:#415b7c; font-size:12px; line-height:1.7; }
.sip-setup-short-login .sip-setup-shorten-confirm { color:#fff; background:#245bd1; border-color:#245bd1; margin-right:6px; margin-bottom:6px; }
