/* IBEX Phone V20 — workspace-density refinement based strictly on V19.
   Widen useful content, extend dialer and call activity to the viewport,
   and place the original Siren artwork in its natural home. */
:root { --v20-content-pad: clamp(18px, 2vw, 34px); }
@media(min-width:741px){
  .content-wrap .main {max-width:2200px; width:100%;padding-left:var(--v20-content-pad);padding-right:var(--v20-content-pad);}
  .content-wrap .topbar {padding-left:var(--v20-content-pad);padding-right:var(--v20-content-pad);}
}
/* Stretch the workspace toward the bottom of the user's display without
   compressing content on short screens. Both columns stay exactly equal. */
@media(min-width:901px){
  #page-dialer .dashboard-grid {
    grid-template-columns:minmax(315px,.93fr) minmax(355px,1.07fr)!important;
    align-items:stretch!important;
    gap:18px;
    min-height:max(595px,calc(100dvh - 238px));
  }
  #page-dialer .dialer-panel {
    min-height:100%;height:100%;display:flex;flex-direction:column;
    padding:21px clamp(18px,2vw,29px) 18px!important;
  }
  #page-dialer .dialer-panel .line-select-wrap {flex-shrink:0;}
  #page-dialer .dialer-panel .keypad {
    flex:1 1 auto;align-content:center;align-self:center;
    width:min(100%,315px);max-width:315px!important;
    margin:10px auto 12px!important;
    row-gap:clamp(8px,1.3vh,15px)!important;
    column-gap:clamp(12px,1.9vw,23px)!important;
  }
  #page-dialer .dialer-panel .key {
    width:clamp(52px,4vw,63px)!important;
    min-width:clamp(52px,4vw,63px)!important;
    height:clamp(52px,4vw,63px)!important;
  }
  #page-dialer .dialer-panel .key strong {font-size:23px!important;}
  #page-dialer .dial-actions {flex-shrink:0;margin:4px auto 0!important;}
  #page-dialer .dialer-foot {flex-shrink:0;margin:5px 0 0!important;}
  #page-dialer .dashboard-aside {height:100%;grid-template-rows:auto minmax(0,1fr)!important;}
  #page-dialer .dashboard-aside .activity-panel {min-height:0;}
  #page-dialer .dashboard-aside .activity-panel>#recent-calls>.call-row {
    max-height:none!important; min-height:68px; padding-block:17px!important;
  }
}
/* On mid-sized laptop screens keep the same spacing and don't cause overflow. */
@media(min-width:901px) and (max-height:720px){
  #page-dialer .dashboard-grid{min-height:595px;}
  #page-dialer .dialer-panel .keypad{row-gap:5px!important;}
}
/* Restore the original Siren visual language, but sized for a full inbox page. */
#page-siren .siren-promo {
  min-height:205px!important;
  margin:0 0 19px;
  padding:21px 29px 20px;
  box-shadow:0 15px 35px rgba(4,37,88,.10);
}
#page-siren .siren-promo h2 {margin:13px 0 6px;font-size:clamp(21px,2vw,27px);}
#page-siren .siren-promo>p {max-width:610px;}
#page-siren .siren-promo-bottom {margin-top:17px;}
#page-siren .siren-promo #siren-promo-scroll {min-height:36px;}
/* The source is determined by approved auth: actual call records when signed in,
   and clearly marked sample records otherwise. No Preview/Live switch. */
#page-siren .siren-metrics {margin-top:0;}
#page-siren .siren-inbox-controls {scroll-margin-top:18px;}
#page-siren #siren-source-badge {letter-spacing:.5px;}
@media(max-width:900px){
  #page-dialer .dashboard-grid {gap:15px;}
  #page-siren .siren-promo {padding:21px 22px;min-height:190px!important;}
}
@media(max-width:740px){
  #page-siren .siren-promo {min-height:0!important;padding:21px 20px!important;margin-bottom:15px;}
  #page-siren .siren-promo h2 {font-size:22px;margin-top:13px;}
  #page-siren .siren-promo-bottom {flex-wrap:wrap;margin-top:17px;}
  #page-dialer .dialer-panel {height:auto!important;}
}
html[data-theme='dark'] #page-siren .siren-promo {border:1px solid rgba(148,180,228,.15);}
/* Compact desktop: never let minimum card widths push past the content frame. */
@media (min-width:901px) and (max-width:1119px){
  #page-dialer .dashboard-grid {grid-template-columns:minmax(0,.97fr) minmax(0,1.03fr)!important;gap:12px!important;}
  #page-dialer .dialer-panel {padding-inline:14px!important;}
  #page-dialer .dialer-panel .keypad {column-gap:5px!important;max-width:250px!important;}
  #page-dialer .dialer-panel .key {height:48px!important;width:48px!important;min-width:48px!important;}
  #page-dialer .dashboard-aside .activity-panel {padding-inline:14px!important;}
  #page-dialer .dashboard-aside .call-row {gap:5px!important;}
}
/* Tablets with desktop sidebar: stack rather than force two impossibly narrow cards. */
@media (min-width:741px) and (max-width:900px){
  #page-dialer .dashboard-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important;}
  #page-dialer .dashboard-aside{width:100%;max-width:100%;}
  #page-dialer .dialer-panel{height:auto!important;}
}
@media (min-width:741px) and (max-width:900px){
  #page-dialer .dialer-panel{width:100%!important;max-width:none!important;justify-self:stretch!important;}
  #page-dialer .dashboard-aside{display:flex!important;flex-direction:column!important;align-items:stretch!important;}
  #page-dialer .dashboard-aside>.stat-grid{margin:0!important;}
  #page-dialer .dashboard-aside .activity-panel{width:100%;}
}
