/* Shared visual language for the tenant and administration workspaces. */
:root { --pbx-ink: #10252b; --pbx-surface: #f5f7f8; --pbx-border: #e2e8ed; --pbx-muted: #64748b; --pbx-teal: #0f766e; }
body.fi-body { background: var(--pbx-surface); color: #1e293b; }
.fi-sidebar, .fi-sidebar-header { background: var(--pbx-ink) !important; }
.fi-sidebar { border-right: 1px solid rgba(255,255,255,.04); }
.fi-sidebar-header { height: 78px; box-shadow: none; --tw-ring-color: transparent; }
.fi-sidebar-nav { padding: 26px 22px; gap: 24px; }
.fi-sidebar-group-label { color: #91a8ad; font-size: 10px; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.fi-sidebar-item-button { padding: 11px 12px; border-radius: 12px; }
.fi-sidebar-item-label { color: #c4d3d6; font-size: 12px; font-weight: 500; }
.fi-sidebar-item-icon { color: #8da7ae; width: 19px; height: 19px; }
.fi-sidebar-item-button:hover, .fi-sidebar-item-button:focus-visible { background: rgba(255,255,255,.055); }
.fi-sidebar-item-active > .fi-sidebar-item-button { background: rgba(94,234,212,.11); box-shadow: inset 2px 0 #2dd4bf; }
.fi-sidebar-item-active > .fi-sidebar-item-button .fi-sidebar-item-label, .fi-sidebar-item-active > .fi-sidebar-item-button .fi-sidebar-item-icon { color: #7ce8d6; }
.fi-sidebar .fi-icon-btn { color: #94b1b7; }
.fi-sidebar-group-items { gap: 4px; }
.fi-sidebar .fi-tenant-menu-trigger { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08); border-radius: 14px; padding: 12px; color: #e2eeee; }
.fi-sidebar .fi-tenant-menu-trigger span, .fi-sidebar .fi-tenant-menu-trigger svg { color: #ccdddd; }
.fi-sidebar .fi-tenant-menu-trigger:hover { background: rgba(255,255,255,.09); }
.fi-sidebar .fi-dropdown-panel { color: #1e293b; }
.fi-topbar > nav { height: 78px; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--pbx-border); box-shadow: none; --tw-ring-color: transparent; backdrop-filter: blur(12px); }
.pbx-topbar-context { display: flex; align-items: center; gap: 12px; min-width: 0; color: #94a3b8; font-size: 12px; }
.pbx-topbar-context strong { color: #475569; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 260px; }
.pbx-brand { display: flex; align-items: center; gap: 11px; text-align: left; }
.pbx-brand-mark { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; flex: 0 0 38px; border-radius: 13px; background: #2dd4bf; color: var(--pbx-ink); }
.pbx-brand-mark svg { width: 24px; height: 24px; }
.pbx-brand-copy { display: flex; flex-direction: column; gap: 3px; }
.pbx-brand-copy strong { font-size: 15px; font-weight: 700; letter-spacing: -.025em; color: #172e35; }
.pbx-brand-copy > span { font-size: 9px; font-weight: 400; letter-spacing: .025em; color: #64748b; }
.fi-sidebar .pbx-brand-copy strong { color: #f1f8f8; }
.fi-sidebar .pbx-brand-copy > span { color: #8faeb5; }
.fi-main { max-width: 1440px; }
.fi-page { gap: 26px; }
.fi-header-heading { font-size: 28px; font-weight: 650; letter-spacing: -.035em; color: #172b35; }
.fi-header-subheading { color: var(--pbx-muted); font-size: 13px; line-height: 1.7; }
.fi-breadcrumbs { font-size: 11px; }
.fi-breadcrumbs-item-label { color: #8292a5; font-size: 11px; }
.fi-section:not(.fi-aside), .fi-ta-ctn, .fi-wi-stats-overview-stat { border-radius: 20px; border: 1px solid var(--pbx-border); box-shadow: 0 5px 22px -20px rgba(15,23,42,.3); --tw-ring-color: transparent; }
.fi-section-header { padding: 21px 24px; }
.fi-section-header-heading { font-size: 14px; font-weight: 600; color: #1e3540; letter-spacing: -.015em; }
.fi-section-header-description { color: var(--pbx-muted); font-size: 12px; line-height: 1.7; }
.fi-section-content { padding: 24px; }
.fi-section-content-ctn { border-color: #edf1f4; }
.fi-wi-stats-overview-stat { padding: 24px; }
.fi-wi-stats-overview-stat-label { font-size: 12px; font-weight: 500; color: #64748b; }
.fi-wi-stats-overview-stat-value { margin-top: 13px; font-size: 30px; letter-spacing: -.045em; color: #17323a; }
.fi-wi-stats-overview-stat-description { margin-top: 4px; font-size: 11px; }
.fi-wi-stats-overview-stat-icon { color: #0f766e; }
.fi-fo-field-wrp-label > span { font-size: 12px; font-weight: 500; color: #43556a; }
.fi-fo-field-wrp-helper-text { color: #738398; font-size: 11px; line-height: 1.7; }
.fi-input-wrp { border-radius: 11px; background: #f8fafb; box-shadow: 0 0 0 1px #e2e8f0; transition: box-shadow .15s, background .15s; }
.fi-input-wrp:focus-within { background: white; box-shadow: 0 0 0 2px #0d9488; }
.fi-input, .fi-select-input { font-size: 13px; padding-top: 11px; padding-bottom: 11px; color: #263849; }
.fi-fo-textarea { border-radius: 11px; }
.fi-btn { border-radius: 11px; font-size: 12px; min-height: 38px; padding-top: 9px; padding-bottom: 9px; }
.fi-btn-color-primary { box-shadow: none; }
.fi-tabs { border: 1px solid var(--pbx-border); box-shadow: none; border-radius: 13px; }
.fi-ta-header { padding: 20px 24px; }
.fi-ta-header-toolbar { padding: 17px 22px; gap: 16px; }
.fi-ta-header-heading { font-size: 15px; color: #1e3540; }
.fi-ta-header-cell { background: #f8fafb; padding-top: 14px; padding-bottom: 14px; }
.fi-ta-header-cell-label { font-size: 10px; font-weight: 600; color: #718095; letter-spacing: .04em; }
.fi-ta-text-item-label { font-size: 12px; }
.fi-ta-row { transition: background .12s; }
.fi-ta-row:hover { background: #f5faf9; }
.fi-ta-row td { border-color: #eef2f5; }
.fi-ta-cell > div { padding-top: 17px; padding-bottom: 17px; }
.fi-ta-empty-state { padding-top: 56px; padding-bottom: 56px; }
.fi-ta-empty-state-icon-ctn { background: #f0f7f6; color: #0f766e; border-radius: 16px; box-shadow: none; }
.fi-ta-empty-state-heading { font-size: 15px; color: #334155; }
.fi-ta-empty-state-description { color: #8492a6; font-size: 12px; }
.fi-pagination { padding-top: 17px; padding-bottom: 17px; }
.fi-badge { border-radius: 7px; font-size: 10px; font-weight: 500; }
.fi-modal-window { border-radius: 22px; }
.fi-modal-header { padding: 24px; }
.fi-modal-heading { letter-spacing: -.025em; }
.fi-modal-content { padding-left: 24px; padding-right: 24px; }
.fi-dropdown-panel { border-radius: 14px; box-shadow: 0 12px 35px -12px rgba(15,23,42,.2); }
.fi-dropdown-list-item { border-radius: 9px; font-size: 12px; }
.pbx-workspace-intro { display: flex; align-items: center; justify-content: space-between; gap: 30px; overflow: hidden; position: relative; padding: 32px 36px; border-radius: 23px; background: #102b32; color: white; }
.pbx-intro-copy { position: relative; z-index: 1; max-width: 660px; }
.pbx-eyebrow { margin: 0 0 12px; font-size: 9px; font-weight: 600; letter-spacing: .19em; color: #73d6c9; }
.pbx-workspace-intro h2 { margin: 0 0 10px; font-size: 26px; line-height: 1.3; font-weight: 600; letter-spacing: -.035em; }
.pbx-workspace-intro .pbx-intro-copy > p:not(.pbx-eyebrow) { font-size: 12px; color: #a2bec5; line-height: 1.8; }
.pbx-intro-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 25px; }
.pbx-intro-actions a { display: inline-flex; justify-content: space-between; align-items: center; gap: 20px; border-radius: 10px; padding: 11px 15px; font-size: 11px; font-weight: 600; text-decoration: none; transition: background .15s; }
.pbx-action-primary { background: #c9f6e9; color: #104b44; }
.pbx-action-primary:hover { background: #a7eedb; }
.pbx-action-secondary { color: #daeeed; border: 1px solid #3b565d; }
.pbx-action-secondary:hover { background: rgba(255,255,255,.06); }
.pbx-intro-art { position: relative; display: flex; align-items: center; justify-content: center; width: 160px; height: 160px; flex: 0 0 160px; border: 1px solid rgba(94,234,212,.1); border-radius: 50%; }
.pbx-intro-art:before { content: ''; position: absolute; inset: 20px; border: 1px solid rgba(94,234,212,.14); border-radius: 50%; }
.pbx-intro-art > div { display: flex; align-items: center; justify-content: center; width: 74px; height: 74px; border-radius: 23px; background: #18433f; transform: rotate(-8deg); color: #74dec7; }
.pbx-intro-art svg { width: 31px; height: 31px; }
.fi-simple-layout { background: radial-gradient(ellipse at 10% 0%, #e6f3ef, transparent 55%), #f5f7f8; }
.fi-simple-main { border-radius: 24px; border: 1px solid var(--pbx-border); box-shadow: 0 12px 45px -25px rgba(16,37,43,.22); padding: 36px; }
.fi-simple-header .pbx-brand { justify-content: center; margin-bottom: 12px; }
.fi-simple-header-heading { font-size: 24px; letter-spacing: -.035em; }
.fi-simple-header-subheading { font-size: 12px; color: #718095; }
.fi-body :is(a, button, input, select, textarea):focus-visible { outline-color: #0d9488; outline-offset: 3px; }
@media (max-width: 639px) {
  .pbx-topbar-context { display: none; }
  .fi-header-heading { font-size: 24px; }
  .pbx-workspace-intro { padding: 25px; border-radius: 18px; }
  .pbx-workspace-intro h2 { font-size: 23px; }
  .pbx-intro-art { display: none; }
  .fi-section-header, .fi-section-content { padding: 20px; }
  .fi-section:not(.fi-aside), .fi-ta-ctn { border-radius: 16px; }
  .fi-simple-main { padding: 26px 22px; }
  .fi-sidebar-nav { padding: 22px; }
}
@media (prefers-reduced-motion: reduce) { .fi-body *, .fi-body *:before, .fi-body *:after { scroll-behavior: auto !important; transition-duration: .01ms !important; } }
.fi-main .fi-modal .text-gray-400 { color: #64748b; }
.fi-btn-color-primary:not(.fi-btn-outlined) { background-color: #0f766e; color: #fff; }
.fi-btn-color-primary:not(.fi-btn-outlined):hover { background-color: #115e59; }
.fi-fo-field-wrp-helper-text, .fi-ta-empty-state-description, .fi-breadcrumbs-item-label { color: #64748b; }
.fi-input::placeholder { color: #64748b; }

/* Searchable selects keep their popup, focus treatment and actions separate. */
.fi-modal-header { padding-bottom: 0; }
.choices__inner { min-height: 44px; padding-top: 10px; padding-bottom: 10px; font-size: 13px; }
.choices[data-type*='select-one'] .choices__list--single { display: block; }
.choices[data-type*='select-one'] .choices__list--single .choices__item { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.choices__list--dropdown, .choices__list[aria-expanded] { border: 1px solid #e2e8ed; border-radius: 13px; margin-top: 8px; box-shadow: 0 14px 32px -12px rgba(15,23,42,.25); --tw-ring-color: transparent; }
.choices__list--dropdown .choices__input { width: calc(100% - 8px); margin: 4px !important; padding: 10px 12px !important; border: 1px solid #dbe5e9 !important; border-radius: 9px; background: #f8fafb !important; outline: none !important; box-shadow: none !important; font-size: 13px !important; }
.choices__list--dropdown .choices__input:focus { border-color: #0d9488 !important; }
.choices__list--dropdown .choices__list { max-height: 160px; }
.choices__list--dropdown .choices__item--choice { padding: 10px 12px; font-size: 13px; line-height: 20px; overflow-wrap: anywhere; }
.choices__list--dropdown .choices__item--selectable.is-highlighted { background: #edf7f4; color: #115e59; }
.fi-modal-window:has(.pbx-tenant-login-field .choices.is-open) .fi-modal-content { min-height: 340px; }
.fi-modal-footer.fi-sticky { border-top: 1px solid #edf1f4; border-radius: 0 0 22px 22px; background: #fff; }
.pbx-tenant-login-field { min-width: 0; }
@media (max-width: 639px) {
  .fi-modal-footer-actions > .fi-btn { flex-grow: 1; }
}
/* Select registers its create action as a suffix; this field shows it in the label instead. */
.pbx-tenant-login-field .fi-input-wrp-suffix { display: none; }

/* Graphical IVR editor shares the normal keypad flow definition. */
.pbx-ivr-editor { border: 1px solid #dce5eb; border-radius: 16px; overflow: hidden; color: #253443; background: #fff; font-size: 12px; }
.pbx-ivr-toolbar { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; padding:14px 16px; border-bottom:1px solid #e6edf1; }
.pbx-ivr-toolbar strong { font-size:14px; }.pbx-ivr-toolbar > div:first-child span { display:block; margin-top:3px; font-size:11px; color:#84939f; }
.pbx-ivr-tools { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.pbx-ivr-tools button,.pbx-ivr-inspector-actions button { border:1px solid #e0e8ed; border-radius:7px; padding:6px 9px; background:#fff; font-size:11px; }
.pbx-ivr-editor button:focus-visible { outline:2px solid #0d9488; outline-offset:3px; }.pbx-ivr-editor button:disabled { opacity:.4; }.pbx-ivr-tools button:hover { background:#f1f7f7; }.pbx-ivr-zoom { min-width:35px; text-align:center; color:#637888; }
.pbx-ivr-workspace { display:grid; grid-template-columns:150px minmax(240px,1fr) 215px; }
.pbx-ivr-palette { padding:18px 10px; border-right:1px solid #e6edf1; background:#fafcfd; }
.pbx-ivr-eyebrow { font-size:9px; font-weight:700; letter-spacing:1.4px; color:#8898a5; margin-bottom:14px; }
.pbx-ivr-palette > button { display:flex; width:100%; align-items:center; gap:8px; padding:10px 7px; border:1px solid #e6ecf0; border-radius:9px; background:white; margin-bottom:9px; text-align:left; font-weight:600; font-size:11px; }.pbx-ivr-palette > button:hover { border-color:#0d9488; }
.pbx-ivr-palette-icon { display:flex; flex-shrink:0; align-items:center; justify-content:center; height:26px; width:26px; border-radius:7px; color:#1c72b1; background:#eaf3fb; font-size:18px; }.pbx-ivr-add { margin-left:auto; font-weight:400; color:#8ca0ad; }.pbx-ivr-help { margin-top:12px; font-size:11px; line-height:1.7; color:#81929f; }
.pbx-ivr-canvas { position:relative; height:600px; overflow:hidden; touch-action:none; background-color:#f3f6f8; background-image:radial-gradient(#cfd9e0 1px,transparent 1px); background-size:20px 20px; cursor:grab; }.pbx-ivr-canvas:active { cursor:grabbing; }
.pbx-ivr-world { position:absolute; width:5000px; height:5000px; transform-origin:0 0; }.pbx-ivr-connections { position:absolute; inset:0; overflow:visible; pointer-events:none; }
.pbx-ivr-edge { cursor:pointer; pointer-events:stroke; }.pbx-ivr-edge path,path.pbx-ivr-edge { fill:none; stroke:#85a9af; stroke-width:2; }.pbx-ivr-edge path.is-selected { stroke:#0d9488; stroke-width:3; }.pbx-ivr-edge rect { fill:white; stroke:#d3e5e7; stroke-width:1; pointer-events:all; }.pbx-ivr-edge text { fill:#0f766e; font-size:12px; font-weight:700; pointer-events:all; }.pbx-ivr-draft { fill:none; stroke:#0d9488; stroke-width:2; stroke-dasharray:5 4; }
.pbx-ivr-node { position:absolute; width:210px; min-height:120px; border:1px solid #d8e3ea; border-radius:12px; background:white; box-shadow:0 4px 12px -5px #17324d25; cursor:default; user-select:none; }.pbx-ivr-node.is-selected { border-color:#0d9488; box-shadow:0 0 0 3px #0d94881a,0 6px 18px -8px #17324d35; }.pbx-ivr-node-header { display:flex; align-items:center; gap:10px; padding:14px 15px 8px; cursor:grab; }.pbx-ivr-node-header strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }.pbx-ivr-node-symbol { display:flex; flex-shrink:0; align-items:center; justify-content:center; width:30px; height:30px; border-radius:8px; color:#1d77b7; background:#eaf3fb; font-size:20px; }.pbx-ivr-node > p { padding:0 15px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#7a8d9b; font-size:11px; }.pbx-ivr-node-tag { display:inline-block; margin:9px 15px 12px; font-size:10px; color:#0f766e; border-radius:5px; background:#edf8f5; padding:3px 6px; }.pbx-ivr-node-tag.is-warning { background:#fff7e7; color:#a47221; }
.pbx-ivr-entry { width:180px; min-height:100px; }.pbx-ivr-entry .pbx-ivr-node-symbol { background:#edf8f2; color:#27935e; }.pbx-ivr-menu { width:230px; min-height:170px; }.pbx-ivr-menu .pbx-ivr-node-symbol { color:#0f766e; background:#e6f6f1; }.pbx-ivr-menu-digits { display:grid; grid-template-columns:repeat(6,1fr); gap:4px; padding:12px 15px 15px; }.pbx-ivr-menu-digits span { padding:3px; text-align:center; color:#a2b1bd; border:1px solid #edf1f4; border-radius:4px; }.pbx-ivr-menu-digits span.is-connected { color:#0f766e; border-color:#a8dbcd; background:#edf8f4; }
.pbx-ivr-input-port,.pbx-ivr-output-port,.pbx-ivr-fixed-port { position:absolute; top:calc(50% - 7px); width:14px; height:14px; background:#fff; border:3px solid #83a6ae; border-radius:50%; }.pbx-ivr-input-port { left:-8px; }.pbx-ivr-output-port,.pbx-ivr-fixed-port { right:-8px; border-color:#0d9488; }.pbx-ivr-output-port:hover,.pbx-ivr-input-port:hover { background:#0d9488; transform:scale(1.3); }.pbx-ivr-action[data-type=hangup] .pbx-ivr-node-symbol { background:#fff0f2; color:#df5269; }.pbx-ivr-action[data-type=ring_group] .pbx-ivr-node-symbol { background:#f3efff; color:#8a67ce; }.pbx-ivr-action[data-type=sub_menu] .pbx-ivr-node-symbol { background:#fff6e8; color:#c88a29; }
.pbx-ivr-inspector { padding:18px 15px; border-left:1px solid #e6edf1; min-width:0; background:#fff; }.pbx-ivr-inspector h3 { font-size:14px; font-weight:700; margin-bottom:18px; }.pbx-ivr-inspector label { display:block; margin:14px 0; color:#657c8d; font-size:11px; font-weight:500; }.pbx-ivr-inspector input,.pbx-ivr-inspector select { width:100%; padding:9px; margin-top:6px; border:1px solid #dfe7ed; border-radius:7px; font-size:11px; color:#314a5b; background:#f9fbfc; }.pbx-ivr-inspector input:focus,.pbx-ivr-inspector select:focus { outline-color:#0d9488; box-shadow:none; }.pbx-ivr-inspector-actions { display:flex; flex-wrap:wrap; gap:6px; margin-top:20px; }.pbx-ivr-inspector-actions .pbx-ivr-delete { color:#c95168; border-color:#f2dce1; }
.pbx-ivr-link-notice { position:absolute; top:12px; left:12px; right:12px; display:flex; align-items:center; gap:6px; border:1px solid #b2ded6; border-radius:8px; padding:10px; color:#0f766e; background:#f1fcf8; font-size:11px; }.pbx-ivr-link-notice button { margin-left:auto; font-size:20px; }.pbx-ivr-canvas-caption { position:absolute; bottom:14px; left:14px; pointer-events:none; color:#899ca9; font-size:10px; }.pbx-ivr-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; padding:12px 16px; border-top:1px solid #e6edf1; color:#8c9ca8; font-size:10px; }.pbx-ivr-error { color:#d64f64; font-size:12px; }
@media(max-width:1100px) { .pbx-ivr-workspace { grid-template-columns:minmax(0,1fr) 210px; }.pbx-ivr-palette { grid-column:1/-1; border-right:0; border-bottom:1px solid #e6edf1; display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:12px; }.pbx-ivr-palette .pbx-ivr-eyebrow,.pbx-ivr-palette .pbx-ivr-help { display:none; }.pbx-ivr-palette > button { width:auto; margin:0; padding:5px 8px; }.pbx-ivr-palette-icon { height:22px; width:22px; }.pbx-ivr-add { display:none; } }
@media(max-width:650px) { .pbx-ivr-workspace { display:block; }.pbx-ivr-canvas { height:440px; }.pbx-ivr-inspector { border-left:0; border-top:1px solid #e6edf1; }.pbx-ivr-toolbar { padding:12px; }.pbx-ivr-tools { gap:4px; }.pbx-ivr-tools button { padding:6px 7px; } }
.pbx-ivr-editor.is-fullscreen { position:fixed; inset:0; z-index:90; width:100vw; height:100dvh; display:flex; flex-direction:column; border:0; border-radius:0; }
body:has(.pbx-ivr-editor.is-fullscreen) { overflow:hidden; }
.pbx-ivr-editor.is-fullscreen .pbx-ivr-workspace { flex:1; min-height:0; overflow:hidden; }
.pbx-ivr-editor.is-fullscreen .pbx-ivr-canvas { height:100%; min-height:0; }
.pbx-ivr-editor.is-fullscreen .pbx-ivr-palette,.pbx-ivr-editor.is-fullscreen .pbx-ivr-inspector { overflow-y:auto; }
.pbx-ivr-editor .pbx-ivr-save { background:#0f766e; color:white; border:1px solid #0f766e; border-radius:7px; padding:7px 12px; font-weight:600; }
.fi-notifications { z-index:150!important; }.fi-modal { z-index:160!important; }
.pbx-ivr-details { position:absolute; inset:0; z-index:10; display:flex; align-items:center; justify-content:center; background:#0b1c2e77; padding:20px; }
.pbx-ivr-details-card { width:460px; max-width:100%; max-height:90dvh; overflow-y:auto; border-radius:18px; background:#fff; padding:24px; box-shadow:0 20px 60px #0003; }
.pbx-ivr-details-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }.pbx-ivr-details-header h3 { font-size:16px; font-weight:700; }.pbx-ivr-details-header button { font-size:25px; color:#77909e; }
.pbx-ivr-details-card label { display:block; margin:12px 0; color:#627d8b; font-size:12px; }.pbx-ivr-details-card input:not([type=checkbox]),.pbx-ivr-details-card select { display:block; width:100%; margin-top:7px; border:1px solid #dbe5ea; border-radius:8px; padding:10px; font-size:13px; }.pbx-ivr-details-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.pbx-ivr-details-card .pbx-ivr-active { display:flex; align-items:center; gap:10px; margin:20px 0; }
@media(max-width:1100px) { .pbx-ivr-editor.is-fullscreen .pbx-ivr-workspace { grid-template-rows:auto minmax(0,1fr); } }
@media(max-width:650px) { .pbx-ivr-editor.is-fullscreen .pbx-ivr-workspace { overflow-y:auto; display:block; }.pbx-ivr-editor.is-fullscreen .pbx-ivr-canvas { height:55dvh; min-height:330px; }.pbx-ivr-toolbar { flex-shrink:0; }.pbx-ivr-toolbar .pbx-ivr-tools { max-height:100px; overflow-y:auto; } }
.pbx-ivr-audio-controls { padding:12px 0; }.pbx-ivr-audio-controls label { display:block; margin-bottom:12px; font-size:13px; color:#627d8b; }.pbx-ivr-audio-controls input[type=file] { display:block; max-width:100%; margin-top:8px; font-size:12px; }.pbx-ivr-audio-controls audio { width:100%; max-width:380px; height:38px; margin:4px 0; }.pbx-ivr-audio-controls button { font-size:12px; color:#0f766e; margin-bottom:12px; }
.pbx-ivr-validation-notice { position:fixed; top:78px; right:24px; max-width:min(440px,90vw); padding:14px 18px; color:#9f1239; background:#fff1f2; border:1px solid #fecdd3; border-radius:12px; box-shadow:0 8px 30px #0001; z-index:170; font-size:13px; }
.pbx-ivr-demo-status { text-align:center; border:1px solid #dbe5ea; border-radius:14px; padding:20px; margin:16px 0; background:#f6fafb; }.pbx-ivr-demo-icon { font-size:28px; color:#0f766e; }.pbx-ivr-demo-status h3 { font-size:18px; font-weight:600; margin:8px 0; }.pbx-ivr-demo-status p { color:#64748b; font-size:13px; margin-top:6px; }.pbx-ivr-demo-controls { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }.pbx-ivr-demo-controls button,.pbx-ivr-demo-timeout { border:1px solid #dbe5ea; border-radius:8px; padding:8px 12px; font-size:13px; }.pbx-ivr-demo button:disabled { opacity:.4; cursor:not-allowed; }.pbx-ivr-demo-grid { display:grid; grid-template-columns:210px 1fr; gap:24px; }.pbx-ivr-demo-keypad { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }.pbx-ivr-demo-keypad button { height:46px; border:1px solid #dbe5ea; border-radius:10px; font-size:20px; background:#f8fafc; }.pbx-ivr-demo-keypad button:enabled:hover { background:#ccfbf1; }.pbx-ivr-demo-timeout { width:100%; margin-top:10px; font-size:12px; }.pbx-ivr-demo-log h4 { font-weight:600; font-size:13px; margin-bottom:10px; }.pbx-ivr-demo-log ol { max-height:230px; overflow:auto; list-style:decimal; padding-left:20px; font-size:12px; color:#64748b; }.pbx-ivr-demo-log li { margin-bottom:8px; }@media(max-width:520px) { .pbx-ivr-demo-grid { grid-template-columns:1fr; }.pbx-ivr-demo-keypad { max-width:240px; margin:auto; } }
.fi-modal { position:relative; }
.pbx-ivr-node[data-type=play_audio] { border-color:#c4b5fd; }.pbx-ivr-node[data-type=play_audio] .pbx-ivr-node-symbol { background:#ede9fe; color:#7c3aed; }.pbx-ivr-audio-next { margin:9px 12px 2px; padding:8px; border-radius:6px; background:#f5f3ff; color:#6d28d9; font-size:11px; }
.pbx-ivr-waiting-modal { z-index:12; }.pbx-ivr-waiting-modal .pbx-ivr-details-card { width:520px; }.pbx-ivr-waiting-modal fieldset { border:0; padding:0; min-width:0; }.pbx-ivr-waiting-modal fieldset:disabled { opacity:.6; }.pbx-ivr-waiting-audio audio { width:100%; height:36px; }.pbx-ivr-waiting-audio button,.pbx-ivr-waiting-done { color:#0f766e; font-size:12px; margin:8px 0; }.pbx-ivr-waiting-saved { color:#0f766e; font-size:13px; padding:10px; background:#ecfdf5; border-radius:8px; }
.pbx-ivr-waiting-modal .pbx-ivr-details-header { position:sticky; top:0; z-index:1; background:#fff; padding:8px 0; }
