/* IBEX Phone V96 — one surface and one action language. V91 hue palette retained. */
/* Default app aliases; Settings cards are the source of truth. */
:root{--v96-stack:var(--surface,var(--v89-card,#fff));--v96-stack-line:var(--stroke,var(--v89-border,#dce4ef));--v96-stack-ink:var(--ink,var(--v89-ink,#20364f));--v96-stack-muted:var(--muted,var(--v89-muted,#62758c));--v96-action-bg:transparent;--v96-radius:12px}
/* The Phone Settings page uses this slightly brighter/dimmer card treatment
   (measured from computed CSS, rather than guessed from --v89-card). */
html:has(#page-settings){--v96-stack:#fff;--v96-stack-line:#e2e9f0}
html[data-theme="dark"]:has(#page-settings){--v96-stack:#17283e;--v96-stack-line:#344960}
/* Admin settings actual .surface uses --surface. Align all module surfaces. */
.admin-shell{--v96-stack:var(--surface);--v96-stack-line:var(--stroke);--v96-stack-ink:var(--ink);--v96-stack-muted:var(--muted);--v89-card:var(--surface);--v89-card-subtle:var(--surface);--v89-border:var(--stroke);--v89-ink:var(--ink);--v89-muted:var(--muted)}
/* Same actual Settings surface across every page, without extra tinted nesting. */
:is(#page-dialer,#page-history,#page-contacts,#page-voicemail,#page-meetings) :is(.panel,.page-panel,.dialer-panel,.stat-card,.v75-personal-panel,.v79-presence-card,#v79-presence-card,.v76-meeting-intro>div),
.admin-main :is(.surface,.v75-tool,.v76-queue-card,.v77-record-item,.v75-personal-panel,.v76-meeting-intro>div,.v70-report-view .v51-report-card){
 background:var(--v96-stack)!important;background-image:none!important;
 border-color:var(--v96-stack-line)!important;color:var(--v96-stack-ink)!important;
 box-shadow:var(--v91-shadow,var(--shadow,none))!important;
}
html[data-theme="dark"] #page-dialer .dashboard-aside :is(.v79-presence-card,#v79-presence-card),
html[data-theme="dark"] #page-contacts .v79-presence-card,
html[data-theme="dark"] #v76-recordings-list .v77-record-item {background:var(--v96-stack)!important;background-image:none!important;border-color:var(--v96-stack-line)!important}
/* Meeting management is built dynamically by enterprise-v75.js as .v75-personal-panel,
   not as .panel; normalize that exact component as well. Keep its internal room list
   transparent so the page does not gain an extra nested card. */
html body #page-meetings #v76-phone-meeting-content>.v75-personal-panel,
html body #page-meetings #v76-phone-meeting-content>.v75-tool,
html body #page-meetings .v76-meeting-intro>div{
 background:var(--v96-stack)!important;background-image:none!important;
 border-color:var(--v96-stack-line)!important;color:var(--v96-stack-ink)!important;
 box-shadow:var(--v91-shadow,var(--shadow,none))!important;
}
html body #page-meetings #v75-user-rooms{background:transparent!important;box-shadow:none!important;border:0!important}
/* Prior releases forced blue/tinted nested queue panels; remove that third layer. */
#v75-queues :is(.v78-routing-summary,.v75-actions),
#v75-queue-list :is(.v78-queue-editor,.v76-agent-panel,.v76-agent-row,.v95-queue-music),
#v76-recordings-content :is(.v75-tool,.v76-notice),
#v76-recordings-list .v77-record-item{
 background:var(--v96-stack)!important;background-image:none!important;border-color:var(--v96-stack-line)!important;color:var(--v96-stack-ink)!important;box-shadow:none!important;
}
#v75-queues,#v75-call-records{background:var(--v96-stack)!important;background-image:none!important;border:1px solid var(--v96-stack-line)!important;border-radius:17px!important}
#v75-queue-list{display:flex!important;flex-direction:column!important;gap:12px!important;margin:18px 0 0!important}
#v75-queue-list>.v76-queue-card{display:block!important;width:100%!important;padding:19px 21px!important;border-radius:15px!important;border:1px solid var(--v96-stack-line)!important}
#v75-queue-list .v76-queue-card-head{padding-bottom:12px!important;margin-bottom:12px!important;align-items:center!important}
#v75-queue-list .v76-queue-icon{background:transparent!important;border:1px solid var(--v96-stack-line)!important;color:var(--v96-stack-ink)!important}
#v75-queue-list .v76-queue-meter{margin:0!important;padding:0!important}
#v75-queue-list .v76-queue-meter strong{font-size:25px!important;color:var(--v96-stack-ink)!important}
#v75-queue-list .v76-queue-meter span,#v75-queue-list .v76-queue-title small{color:var(--v96-stack-muted)!important}
#v75-queue-list .v76-card-actions{display:flex!important;flex-wrap:wrap!important;gap:7px!important;padding-top:11px!important;margin-top:11px!important;border-top:1px solid var(--v96-stack-line)!important}
#v75-queue-list .v78-queue-editor{padding:14px!important;gap:11px!important;margin-top:12px!important;border-radius:12px!important;border:1px solid var(--v96-stack-line)!important}
#v75-queue-list .v95-queue-music{padding:12px 0 0!important;margin-top:13px!important}
/* Recording rows: concise rather than oversized blocks within colored blocks. */
#v76-recordings-content .v75-tool{padding:17px!important;border-radius:15px!important}
#v76-recordings-list{gap:0!important}
#v76-recordings-list .v77-record-item{min-height:0!important;padding:15px 3px!important;border:0!important;border-bottom:1px solid var(--v96-stack-line)!important;border-radius:0!important;gap:7px 12px!important}
#v76-recordings-list .v77-record-item:last-child{border-bottom:0!important}
#v76-recordings-list .v77-record-label strong{font-size:13px!important;color:var(--v96-stack-ink)!important}
#v76-recordings-list .v77-record-label small{color:var(--v96-stack-muted)!important}
/* A single restrained button style for Save, Create, Update, Publish, Preview and ordinary actions. */
.admin-main :is(button.primary-btn,button.secondary-btn,button.outline-button,button.v75-button,button.v77-secondary,button.v74-main-button,button.v74-secondary-button,button.v67-refresh-button,button.v65-btn,button[type="submit"],.form-footer button,.entry-actions button,.v95-record-actions button,.v95-music-actions button),
:is(#page-dialer,#page-history,#page-contacts,#page-voicemail,#page-meetings,#page-settings) :is(button.primary-btn,button.secondary-btn,button.outline-button,button.v75-button,button.v77-secondary,button.v74-main-button){
 background:transparent!important;background-image:none!important;color:var(--v96-stack-ink)!important;
 border:1px solid var(--v96-stack-line)!important;border-radius:10px!important;
 box-shadow:none!important;text-shadow:none!important;filter:none!important;
 min-width:0!important;min-height:38px!important;height:auto!important;max-width:100%!important;
 padding:8px 12px!important;font-size:12px!important;font-weight:700!important;letter-spacing:normal!important;
 transform:none!important;transition:border-color .17s,background-color .17s!important;
}
.admin-main :is(button.primary-btn,button.secondary-btn,button.outline-button,button.v75-button,button.v77-secondary,button[type="submit"],.form-footer button,.entry-actions button):hover:not(:disabled),
:is(#page-dialer,#page-history,#page-contacts,#page-voicemail,#page-meetings,#page-settings) :is(button.primary-btn,button.secondary-btn,button.outline-button,button.v75-button):hover:not(:disabled){
 background:transparent!important;border-color:var(--v96-stack-muted)!important;box-shadow:none!important;transform:none!important;
}
/* Keep system switches, the dangerous remove action, tab navigation and the actual dialing keypad semantically clear. */
.admin-main button.delete,.admin-main button.team-text-danger{color:var(--bad)!important;border-color:var(--bad)!important;background:transparent!important}
.admin-main button:disabled{opacity:.5!important}
.admin-main :is(.v67-nav button,.v70-report-tab,.v62-choice,.v60-section-toggle,.v76-queue-toggle){min-height:unset}
/* Action alignment is intentional; avoid full-width action blocks on mobile. */
#v76-recordings-list .v95-record-actions,#v75-meeting-list .v95-meeting-actions,#page-meetings .v92-room-actions{display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important}
#v76-recordings-list .v95-record-actions button,#v75-meeting-list .v95-meeting-actions button,#page-meetings .v92-room-actions button{width:auto!important;min-width:0!important;max-width:100%!important;min-height:36px!important;padding:7px 11px!important;flex:0 0 auto!important}
#v75-queues .v78-routing-summary button{background:transparent!important;color:var(--v96-stack-ink)!important}
/* More legible form fields without creating a new shaded panel inside every card. */
#v75-queue-list .v78-queue-editor :is(.v75-input,select,input){height:42px!important;min-height:42px!important;max-height:42px!important;background:var(--v96-stack)!important;color:var(--v96-stack-ink)!important;border-color:var(--v96-stack-line)!important}
@media(max-width:740px){
 #v75-queue-list>.v76-queue-card{padding:16px!important}
 #v76-recordings-list .v77-record-item{grid-template-columns:minmax(0,1fr)!important;padding:13px 0!important}
 #v76-recordings-list .v95-record-actions{grid-column:1!important;justify-content:flex-start!important}
 #v75-queue-list .v76-card-actions button,#v76-recordings-list .v95-record-actions button{flex:0 0 auto!important;width:auto!important;min-width:0!important;font-size:12px!important;padding:7px 10px!important}
}
/* V96 final specific overrides: previous 70+ stylesheets used ID + !important. */
html body #page-dialer .panel.panel,html body #page-history .panel.panel,
html body #page-contacts .panel.panel,html body #page-voicemail .panel.panel,
html body #page-meetings .panel.panel,
html body #page-dialer #v79-presence-card,html body #page-dialer .v79-presence-card{
 background:var(--v96-stack)!important;background-image:none!important;border-color:var(--v96-stack-line)!important;
}
/* Use an intentionally higher specificity than V71's orange submit/action rules. */
html body .admin-shell .admin-main :is(button.primary-btn,button.secondary-btn,button.outline-button,button[type="submit"],button.v75-button,button.v77-secondary,button.v74-main-button,button.v74-secondary-button,button.v67-refresh-button,.v50-form-action button,.v50-dialog button,.form-footer button,.entry-actions button){
 background:transparent!important;background-image:none!important;color:var(--v96-stack-ink)!important;border:1px solid var(--v96-stack-line)!important;
 border-radius:10px!important;box-shadow:none!important;text-shadow:none!important;filter:none!important;transform:none!important;
 min-height:38px!important;min-width:0!important;padding:8px 12px!important;font-size:12px!important;font-weight:700!important;
}
html body .admin-shell .admin-main :is(button.primary-btn,button.secondary-btn,button.outline-button,button[type="submit"],button.v75-button,button.v77-secondary,.form-footer button):hover:not(:disabled){
 background:transparent!important;box-shadow:none!important;transform:none!important;border-color:var(--v96-stack-muted)!important;
}
html body .admin-shell .admin-main :is(button.delete,button.team-text-danger){color:var(--bad)!important;border-color:var(--bad)!important}
/* Override dark queue exceptions introduced before V95; nested cards no longer recolor. */
html body #v75-queue-list>.v76-queue-card,html body #v75-queue-list .v78-queue-editor,
html body #v75-queue-list .v76-agent-panel,html body #v75-queue-list .v76-agent-row,
html body #v75-queue-list .v95-queue-music,html body #v75-queues .v78-routing-summary{
 background:var(--v96-stack)!important;background-image:none!important;
 border-color:var(--v96-stack-line)!important;color:var(--v96-stack-ink)!important;box-shadow:none!important;
}
html[data-theme="dark"] body #v75-queue-list>.v76-queue-card,
html[data-theme="dark"] body #v75-queue-list .v78-queue-editor,
html[data-theme="dark"] body #v75-queue-list .v76-agent-panel,
html[data-theme="dark"] body #v75-queues .v78-routing-summary{
 background:var(--v96-stack)!important;background-image:none!important;
 border-color:var(--v96-stack-line)!important;color:var(--v96-stack-ink)!important;
}
/* V96 remaining legacy colored actions discovered through a full button census. */
html body :is(#page-dialer,#page-history,#page-contacts,#page-voicemail,#page-meetings,#page-settings)
:is(button.v33-new-contact,button.v74-secondary-button,button.v16-primary-action,button.v16-link-action,button.v34-live-test,button.v38-action-primary,button.v74-main-button,button.v74-secondary-button,button.v45-siren-route-primary,button#v45-siren-restore,button#v74-block-add,.v53-call-links button,.v16-device-row button,.v45-siren-route-actions button,.v74-control-line button){
 background:transparent!important;background-image:none!important;color:var(--v96-stack-ink)!important;
 border:1px solid var(--v96-stack-line)!important;box-shadow:none!important;border-radius:10px!important;
 text-shadow:none!important;filter:none!important;transform:none!important;min-height:38px!important;
 padding:8px 12px!important;font-size:12px!important;font-weight:700!important;
}
html body :is(#page-dialer,#page-history,#page-contacts,#page-voicemail,#page-meetings,#page-settings)
:is(button.v33-new-contact,button.v74-secondary-button,button.v16-primary-action,button.v34-live-test,button.v38-action-primary,button#v45-siren-restore):hover:not(:disabled){
 background:transparent!important;color:var(--v96-stack-ink)!important;border-color:var(--v96-stack-muted)!important;
}
#page-settings .v16-settings-tab.current,#page-contacts .contact-segment.selected,
#page-history .filter-tab.current{background:transparent!important;box-shadow:inset 0 -2px 0 var(--v91-accent)!important}
/* Accent only denotes selection, never a filled action button. */
html body .admin-shell .admin-main :is(button.v50-secondary-wide,button.v50-icon-button){
 background:transparent!important;border:1px solid var(--v96-stack-line)!important;color:var(--v96-stack-ink)!important;
 box-shadow:none!important;border-radius:10px!important;min-height:36px!important;
}
/* Structural redesign: one compact operations header, a single actions rail and expandable details. */
html body #v75-queue-list>.v76-queue-card{
 display:grid!important;grid-template-columns:minmax(0,1fr) minmax(90px,auto)!important;
 gap:9px 18px!important;align-items:center!important;
}
#v75-queue-list .v76-queue-card-head{grid-column:1!important;grid-row:1!important;margin:0!important;padding:0!important;border:0!important}
#v75-queue-list .v76-queue-meter{grid-column:2!important;grid-row:1!important;justify-self:end!important;margin:0!important;display:flex!important;flex-direction:column!important;gap:1px!important;align-items:flex-end!important}
#v75-queue-list .v76-queue-meter strong{font-size:25px!important;font-variant-numeric:tabular-nums!important}
#v75-queue-list .v76-queue-meter span{font-size:11px!important}
#v75-queue-list>.v76-queue-card>.v75-muted{grid-column:1/-1!important;font-size:11px!important;margin:0!important}
#v75-queue-list .v76-card-actions{grid-column:1/-1!important;margin:6px 0 0!important;padding-top:12px!important}
#v75-queue-list .v76-agent-panel,#v75-queue-list .v78-queue-editor,#v75-queue-list .v95-queue-music{grid-column:1/-1!important}
#v75-queue-list .v95-music-top strong{font-size:13px!important}
#v75-queues .v78-routing-summary{padding:12px 0!important;margin:0 0 12px!important;border:0!important;border-bottom:1px solid var(--v96-stack-line)!important;border-radius:0!important}
#v75-queues .v78-routing-summary p{margin:5px 0 10px!important;color:var(--v96-stack-muted)!important}
#v75-queues .v75-actions input{max-width:430px!important;min-height:40px!important;height:40px!important;border:1px solid var(--v96-stack-line)!important;background:transparent!important}
/* Compact playback: eliminate a second boxed card per recording. */
#v76-recordings-list .v77-record-item{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important}
#v76-recordings-list .v77-record-label{display:flex!important;flex-direction:column!important;gap:3px!important;min-width:0!important}
#v76-recordings-list .v95-record-actions{grid-column:2!important;grid-row:1!important;align-items:center!important;justify-content:flex-end!important}
#v76-recordings-list .v77-record-player{grid-column:1/-1!important;grid-row:2!important}
@media(max-width:740px){
 html body #v75-queue-list>.v76-queue-card{grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important}
 #v75-queue-list .v76-queue-title strong{font-size:15px!important}
 #v75-queue-list .v76-queue-meter strong{font-size:21px!important}
 #v76-recordings-list .v77-record-item{grid-template-columns:minmax(0,1fr)!important}
 #v76-recordings-list .v95-record-actions{grid-column:1!important;grid-row:auto!important;justify-content:flex-start!important}
 #v76-recordings-list .v77-record-player{grid-row:auto!important}
}
/* Never let old mobile recording-button width rules inflate these inline actions. */
html body .admin-shell .admin-main #v76-recordings-list .v95-record-actions{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;justify-content:flex-start!important;align-items:center!important;gap:8px!important}
html body .admin-shell .admin-main #v76-recordings-list .v95-record-actions button{box-sizing:border-box!important;display:inline-flex!important;width:max-content!important;inline-size:max-content!important;max-width:140px!important;flex:0 0 auto!important;flex-basis:max-content!important;align-items:center!important;justify-content:center!important;min-height:34px!important;padding:7px 11px!important}
