.av2-voip-page { direction: rtl; font-family: Vazirmatn, Vazir, sans-serif; color: #152d49; background: #f5f7fa; padding: 20px; border-radius: 16px; min-width: 0; }
.av2-voip-page button, .av2-voip-page input { font-family: inherit; }
.av2-voip-page .av2-card { border: 1px solid #e1e7ef; border-radius: 14px; box-shadow: 0 2px 8px #0b1f3a05; }
.av2-voip-page .av2-grid.cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.av2-voip-page .av2-grid.kpi { gap: 12px; }
.av2-voip-page .av2-btn { min-height: 42px; font-size: 14px; border-radius: 10px; }
.av2-voip-page .av2-btn.primary, .av2-voip-page .av2-btn.create { background: #0b1f3a; color: #fff; border-color: #0b1f3a; }
.av2-voip-page .av2-btn:disabled { opacity: .5; cursor: not-allowed; }
.av2-voip-page :focus-visible { outline: 3px solid #10a8a066; outline-offset: 2px; }
.av2-voip-readiness { background: #fff; border: 1px solid #e1e7ef; border-radius: 16px; padding: 20px; margin-bottom: 20px; }
.av2-voip-readiness-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.av2-voip-readiness h2 { font-size: 18px; margin: 0; }
.av2-voip-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.av2-voip-steps > div { display: flex; flex-direction: column; gap: 5px; border: 1px solid #e4e9f1; border-radius: 12px; padding: 14px; background: #f7f9fc; }
.av2-voip-steps > .is-ready { border-color: #cce7df; background: #eff9f5; }
.av2-voip-steps b { font-size: 14px; }
.av2-voip-steps span { font-size: 13px; color: #62738a; }
.av2-voip-setup-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.av2-voip-setup-error { color: #a92d28; font-size: 14px; background: #fff1f0; padding: 12px; border-radius: 10px; overflow-wrap: anywhere; }
.av2-voip-setup-hint { font-size: 13px; color: #62738a; margin: 14px 0 0; }
.av2-voip-page .av2-voip-dialer { max-width: 360px; margin: 0 auto; }
.av2-voip-page .av2-voip-dialer-screen { height: 60px; text-align: center; font-size: 23px; letter-spacing: 1px; background: #f7f9fc; border: 1px solid #e1e7ef; border-radius: 12px; }
.av2-voip-page .av2-voip-pad { direction: ltr; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 16px 0; }
.av2-voip-page .av2-voip-pad-key { min-height: 52px; background: #fff; border: 1px solid #e1e7ef; border-radius: 12px; font-size: 22px; color: #152d49; cursor: pointer; }
.av2-voip-page .av2-voip-pad-key:hover { background: #eaf5f4; border-color: #a5d5cf; }
.av2-voip-page .av2-voip-dialer-row { display: grid; grid-template-columns: 1fr 2fr; gap: 10px; }
.av2-voip-page .av2-voip-row { padding: 12px 0; min-width: 0; gap: 12px; border-bottom: 1px solid #edf1f6; }
@media (max-width: 760px) {
  .av2-voip-page { padding: 12px; }
  .av2-voip-page .av2-grid.cols { grid-template-columns: minmax(0, 1fr); }
  .av2-voip-page .av2-grid.kpi { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .av2-voip-readiness { padding: 16px; }
  .av2-voip-steps { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .av2-voip-steps > div { flex-direction: row; justify-content: space-between; flex-wrap: wrap; }
  .av2-voip-setup-actions > button { flex: 1 1 140px; }
}
/* Live call desk: actions and caller context precede reporting. */
.av2-call-desk { padding: 12px; }
.av2-call-desk .av2-btn.white { background:#fff; color:#173454; border:1px solid #dce4ed; opacity:1; }
.av2-call-desk .av2-btn.white:disabled { opacity:.5; }
.av2-call-desk .av2-voip-readiness { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 18px; padding:14px 18px; margin-bottom:16px; }
.av2-call-desk .av2-voip-readiness-title,.av2-call-desk .av2-voip-setup-actions { margin:0; }
.av2-call-desk .av2-voip-readiness-title h2 { font-size:15px; }
.av2-call-desk .av2-voip-setup-error,.av2-call-desk .av2-voip-setup-hint { flex-basis:100%; margin:0; }
.av2-call-layout { display:grid; grid-template-columns:minmax(280px,.82fr) minmax(0,1.5fr); gap:16px; align-items:start; margin-bottom:16px; }
.av2-call-context { display:flex; flex-direction:column; gap:16px; min-width:0; }
.av2-call-desk .av2-card { margin:0; min-width:0; }
.av2-call-desk .av2-voip-pad { gap:7px; margin:12px 0; }
.av2-call-desk .av2-voip-pad-key { min-height:44px; border-radius:9px; font-size:19px; }
.av2-call-desk .av2-voip-dialer-screen { height:52px; }
.av2-call-desk .av2-grid.kpi { margin-bottom:16px; }
.av2-call-guide { padding-right:22px; margin:0 0 16px; line-height:2.3; color:#526780; font-size:13px; }
.av2-call-context-actions,.av2-call-controls { display:flex; flex-wrap:wrap; gap:8px; }
.av2-call-controls > button { flex:1 1 110px; }
.av2-call-desk .av2-btn.av2-call-hangup { background:#b52f46; color:#fff; border-color:#b52f46; }
.av2-call-desk .av2-btn[aria-pressed="true"] { background:#fff1d3; border-color:#d8b865; color:#654810; }
.av2-call-active { display:flex; flex-direction:column; gap:6px; padding:14px; background:#edf8f5; border:1px solid #c9e5dc; border-radius:12px; margin-bottom:12px; text-align:center; }
.av2-call-active > b { font-size:20px; }
.av2-call-active > span { font-size:13px; color:#376656; }
.av2-call-transfer { display:flex; gap:8px; margin-top:10px; }
.av2-call-transfer input { flex:1; min-width:0; }
.av2-call-customer h3 { margin:0 0 8px; font-size:18px; }
.av2-call-customer p { font-size:13px; line-height:1.9; color:#526780; }
.av2-call-direction { font-size:11px; color:#526780; }
.av2-call-desk .av2-voip-row { display:flex; align-items:center; }
.av2-call-desk .av2-voip-row .av2-btn { min-height:34px; padding:6px 10px; }
@media(max-width:900px) { .av2-call-layout { grid-template-columns:minmax(0,1fr); } .av2-call-desk .av2-voip-dialer { max-width:420px; } }
@media(max-width:520px) { .av2-call-context-actions > button { flex:1 1 130px; } .av2-call-desk .av2-voip-row { gap:6px; font-size:12px; } }
