/* Closer Signal pilot-launch consistency layer.
   Loaded after the existing role/page styles so the authenticated product feels like one system. */

:root{
  --cs-shell-max:1040px;
  --cs-card-radius:16px;
  --cs-control-radius:11px;
  --cs-control-height:40px;
  --cs-section-gap:12px;
}

html,body{max-width:100%}
body{overflow-x:hidden}
main.app-shell{
  width:100%;
  max-width:var(--cs-shell-max)!important;
  margin:0 auto!important;
}

/* Page headers: same hierarchy on every signed-in surface. */
main.app-shell>.topbar,.topbar{
  min-width:0;
  margin:8px 0 12px!important;
  align-items:flex-start!important;
}
.topbar>div{min-width:0}
.topbar h1{
  margin:2px 0 0!important;
  font-size:clamp(1.45rem,2.5vw,1.8rem)!important;
  line-height:1.08!important;
  letter-spacing:-.025em;
}
.topbar .eyebrow,.section-label,.mini-label{
  font-size:.75rem!important;
  line-height:1.2!important;
  letter-spacing:.11em!important;
}
.topbar p.muted{margin:5px 0 0!important;max-width:760px}

/* Primary navigation: one visual language for rep, manager, company and admin. */
.rep-primary-nav,.manager-primary-nav,.admin-primary-nav,.leadership-nav,.enterprise-tabs,#repPrimaryNav,#adminPrimaryNav,#adminQuickTabs,.dca-unified-top-actions{
  box-sizing:border-box;
  max-width:100%;
  gap:6px!important;
  padding:6px!important;
  margin:0 0 12px!important;
  border-radius:13px!important;
}
.rep-primary-nav a,.rep-primary-nav button,.manager-primary-nav a,.manager-primary-nav button,.admin-primary-nav a,.admin-primary-nav button,.leadership-nav a,.leadership-nav button,.enterprise-tabs a,.enterprise-tabs button,#repPrimaryNav a,#repPrimaryNav button,#adminPrimaryNav a,#adminPrimaryNav button,#adminQuickTabs a,#adminQuickTabs button,.dca-unified-top-actions a,.dca-unified-top-actions button{
  min-height:36px!important;
  border-radius:9px!important;
  padding:7px 10px!important;
  font-size:.8rem!important;
  line-height:1!important;
  white-space:nowrap;
}
.rep-primary-nav a[aria-current="page"],.manager-primary-nav a[aria-current="page"],.admin-primary-nav a[aria-current="page"],.leadership-nav a[aria-current="page"],.enterprise-tabs a[aria-current="page"],#repPrimaryNav a[aria-current="page"],#adminPrimaryNav a[aria-current="page"]{
  box-shadow:inset 0 0 0 1px rgba(124,243,180,.32);
}

/* Cards and sections: remove the mix of giant and tiny panels. */
.card,.workspace-card,.rep-card,.analytics-card,.proof-card,.action-item,.support-ticket,.pilot-account-card,.management-note{
  box-sizing:border-box;
}
.card{
  border-radius:var(--cs-card-radius)!important;
  padding:17px!important;
  margin-bottom:12px!important;
}
.card:last-child{margin-bottom:0!important}
.section-row{gap:10px!important;min-width:0}
.section-row>div{min-width:0}
.section-row h2,.card>h2{
  font-size:1.14rem!important;
  line-height:1.18!important;
  margin:3px 0 4px!important;
}
h3{line-height:1.2}
.muted{font-size:.88rem;line-height:1.42!important}

/* Metrics: readable and aligned, without oversized numbers. */
.metric-grid,.metrics,.mini-grid,.rep-kpis,.today-grid,.live-score-grid{
  gap:8px!important;
}
.metric,.mini,.rep-kpi,.today-mini{
  min-width:0!important;
  border-radius:12px!important;
}
.metric{padding:12px!important}
.metric .label,.metric>span,.mini span{
  font-size:.75rem!important;
  line-height:1.2!important;
  letter-spacing:.06em!important;
}
.metric .value,.metric>strong,.mini strong,.rep-kpi strong{
  font-size:clamp(1.05rem,2.6vw,1.45rem)!important;
  line-height:1.08!important;
  overflow-wrap:anywhere;
}

/* Forms and actions: same size and radius everywhere. */
button,.primary,.secondary,.ghost,.copy,.link-btn,input,select,textarea{
  box-sizing:border-box;
}
button,.primary,.secondary,.ghost,.copy,.link-btn{
  border-radius:var(--cs-control-radius)!important;
}
button,.primary,.secondary,.ghost{
  min-height:var(--cs-control-height);
}
.primary,.secondary,.ghost{padding:10px 13px!important}
input,select,textarea{
  border-radius:var(--cs-control-radius)!important;
  padding:10px 12px!important;
}
input,select{min-height:var(--cs-control-height)}
textarea{line-height:1.4}
label{margin-top:12px!important}
.actions,.manager-actions,.voice-actions,.micro-actions{gap:7px!important;margin-top:12px!important}

/* Tables and long content must stay inside the viewport. */
.table-wrap{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}
.manager-table{width:100%;max-width:100%}
.manager-table th,.manager-table td{padding:9px 9px!important;vertical-align:middle}
pre,.voice-preview pre{max-width:100%;overflow:auto}
img,video,canvas{max-width:100%;height:auto}

/* Expanders/dropdowns: consistent tap target and spacing. */
details{max-width:100%}
details>summary{
  min-height:38px;
  display:flex;
  align-items:center;
  gap:8px;
  border-radius:10px;
}
.compact-section-dropdown>summary,.more-tools>summary,.intel-fold>summary,.profile-static-fold>summary{
  box-sizing:border-box;
}

/* Admin: keep navigation and command surfaces at the top and visually compact. */
#adminQuickTabs{scroll-margin-top:8px}
#platformActionCenter,#platformRegistry,#supportInbox{scroll-margin-top:64px}
.executive-pilot-grid,.platform-registry-grid,.pilot-success-grid,.pilot-hygiene-grid,.action-center-metrics,.support-inbox-metrics,.conversion-grid{
  gap:8px!important;
}

/* Desktop/tablet: two-column layouts should not create narrow unreadable cards. */
@media (min-width:761px){
  .grid.two,.coach-grid{gap:12px!important}
  .workspace-grid{gap:10px!important}
  .workspace-tile{min-width:0}
  .top-actions{align-items:center!important}
}

/* Phone: compact, tap-safe, and no horizontal page drift. */
@media (max-width:760px){
  :root{--cs-control-height:38px}
  body{width:100%;overflow-x:hidden!important}
  main.app-shell{
    width:100%!important;
    max-width:100%!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
  .topbar{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:5px!important;margin:0 0 6px!important}
  .topbar h1{font-size:1.25rem!important}
  .topbar p.muted{display:none!important}
  .top-actions,.rep-primary-nav,.manager-primary-nav,.admin-primary-nav,.leadership-nav,.enterprise-tabs,#repPrimaryNav,#adminPrimaryNav,#adminQuickTabs,.dca-unified-top-actions{
    display:flex!important;
    flex-wrap:nowrap!important;
    width:100%!important;
    overflow-x:auto!important;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    gap:4px!important;
    padding:5px!important;
    margin-bottom:7px!important;
  }
  .top-actions::-webkit-scrollbar,.rep-primary-nav::-webkit-scrollbar,.manager-primary-nav::-webkit-scrollbar,.admin-primary-nav::-webkit-scrollbar,.leadership-nav::-webkit-scrollbar,.enterprise-tabs::-webkit-scrollbar,#repPrimaryNav::-webkit-scrollbar,#adminPrimaryNav::-webkit-scrollbar,#adminQuickTabs::-webkit-scrollbar{display:none}
  .rep-primary-nav a,.rep-primary-nav button,.manager-primary-nav a,.manager-primary-nav button,.admin-primary-nav a,.admin-primary-nav button,.leadership-nav a,.leadership-nav button,.enterprise-tabs a,.enterprise-tabs button,#repPrimaryNav a,#repPrimaryNav button,#adminPrimaryNav a,#adminPrimaryNav button,#adminQuickTabs a,#adminQuickTabs button,.dca-unified-top-actions a,.dca-unified-top-actions button{
    flex:0 0 auto!important;
    width:auto!important;
    max-width:none!important;
    min-height:34px!important;
    padding:6px 8px!important;
    font-size:.75rem!important;
  }
  .card{padding:10px!important;border-radius:12px!important;margin-bottom:8px!important}
  .section-row{gap:6px!important;align-items:flex-start!important}
  .section-row h2,.card>h2{font-size:1rem!important}
  .muted{font-size:.8125rem!important;line-height:1.35!important}
  .metric-grid,.metrics,.mini-grid,.rep-kpis,.today-grid,.live-score-grid,#companyBehaviorMetrics,#summaryMetrics,#reportSummary{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }
  .metric,.mini,.rep-kpi,.today-mini{padding:8px!important}
  .metric .label,.metric>span,.mini span{font-size:.75rem!important}
  .metric .value,.metric>strong,.mini strong,.rep-kpi strong{font-size:.98rem!important}
  .grid.two,.grid.three,.coach-grid{grid-template-columns:1fr!important}
  .actions,.manager-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px!important}
  .actions>*:only-child,.manager-actions>*:only-child{grid-column:1/-1}
  .actions button,.actions a,.manager-actions button,.manager-actions a{min-width:0!important;width:100%!important;text-align:center}
  input,select,textarea{width:100%!important;min-width:0!important;font-size:16px!important}
  .workspace-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  .workspace-tile{min-width:0!important;min-height:60px!important;padding:8px!important;border-radius:10px!important}
  .workspace-tile small{display:none!important}
  .manager-table{white-space:nowrap;font-size:.7rem!important}
  .manager-table th,.manager-table td{padding:7px!important}
}

@media (max-width:390px){
  .metric-grid,.metrics,.mini-grid,.rep-kpis,.today-grid,.live-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .actions,.manager-actions{grid-template-columns:1fr 1fr!important}
  .workspace-grid{grid-template-columns:1fr 1fr!important}
}

/* Keep stacked summary labels readable instead of running them into titles. */
.profile-static-fold>summary>span:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}
.profile-static-fold>summary>span:first-child>strong{display:block;line-height:1.25}

/* Keep every expandable section label and title visually separated. */
.compact-section-dropdown>summary>span:first-child,.more-tools>summary>span:first-child,.intel-fold>summary>span:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}
.compact-section-dropdown>summary>span:first-child>:last-child,.more-tools>summary>span:first-child>:last-child,.intel-fold>summary>span:first-child>:last-child{display:block;line-height:1.25}


/* Final pilot consistency pass: make data-heavy admin screens breathe. */
main.app-shell:has(#adminMainNav){max-width:1200px!important}
#platformRegistry>div[style*="overflow-x"]{border:1px solid var(--line);border-radius:13px;padding:0 10px 8px;background:rgba(255,255,255,.012)}
#platformUsersTable{min-width:1080px}
#platformUsersTable th{font-size:.72rem!important;letter-spacing:.055em;white-space:normal!important}
#platformUsersTable td{font-size:.78rem;line-height:1.35;white-space:normal!important;overflow-wrap:anywhere}
#platformUsersTable .user-actions{display:flex;gap:6px;flex-wrap:wrap}
#platformUsersTable .user-actions button{min-height:34px!important;padding:7px 9px!important}

/* Empty data regions show one honest, consistent loading state instead of a blank card. */
.metrics:empty,.metric-grid:empty,.rep-kpis:empty,.today-grid:empty,.goal-strip:empty,.analytics-grid:empty{
  min-height:72px;display:flex!important;align-items:center;justify-content:center;border:1px dashed rgba(157,169,183,.24);border-radius:12px
}
.metrics:empty::after,.metric-grid:empty::after,.rep-kpis:empty::after,.today-grid:empty::after,.goal-strip:empty::after,.analytics-grid:empty::after{
  content:"Loading…";color:var(--muted);font-size:.8125rem;font-weight:700;letter-spacing:.01em
}

@media(max-width:900px){
  #platformRegistry>div[style*="overflow-x"]{overflow:visible!important;border:0;padding:0;background:transparent}
  #platformUsersTable{display:block!important;min-width:0!important;width:100%!important}
  #platformUsersTable thead{display:none!important}
  #platformUsersTable tbody{display:grid!important;gap:10px!important}
  #platformUsersTable tr{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding:12px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.018)}
  #platformUsersTable td{display:block!important;padding:0!important;border:0!important;min-width:0;font-size:.8125rem!important;white-space:normal!important}
  #platformUsersTable td::before{content:attr(data-dca-label);display:block;margin-bottom:3px;color:var(--muted);font-size:.75rem;font-weight:850;letter-spacing:.055em;text-transform:uppercase}
  #platformUsersTable td[data-dca-label="Name"],#platformUsersTable td[data-dca-label="Actions"]{grid-column:1/-1}
  #platformUsersTable td[data-dca-label="Actions"]{padding-top:5px!important;border-top:1px solid var(--line)!important}
  #platformUsersTable .user-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px!important}
  #platformUsersTable .user-actions button{width:100%!important;min-width:0!important;white-space:normal!important;text-align:center}
}
@media(max-width:430px){
  #platformUsersTable tr{grid-template-columns:1fr}
  #platformUsersTable td,#platformUsersTable td[data-dca-label="Name"],#platformUsersTable td[data-dca-label="Actions"]{grid-column:1}
}


/* Phone leadership navigation must expose every control without horizontal scrolling. */
@media (max-width:760px){
  .leadership-nav{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    gap:5px!important;
    padding:5px!important;
  }
  .enterprise-tabs{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    gap:5px!important;
    padding:5px!important;
  }
  .leadership-nav a,.leadership-nav button,
  .enterprise-tabs a,.enterprise-tabs button{
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    text-align:center!important;
    justify-content:center!important;
  }
}
@media (max-width:390px){
  .leadership-nav{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* Teal top navigation with white labels, including the complete Home bar. */
#adminMainNav,.rep-primary-nav,.manager-primary-nav,.admin-primary-nav,.leadership-nav,.enterprise-tabs,#repPrimaryNav,#adminPrimaryNav,#adminQuickTabs,.dca-unified-top-actions,.dca-global-nav{
  background:#0f766e!important;
  border-color:#0f766e!important;
  color:#fff!important;
}
#adminMainNav a,#repPrimaryNav a,#repPrimaryNav button,#adminPrimaryNav a,#adminPrimaryNav button,#adminQuickTabs a,#adminQuickTabs button,.rep-primary-nav a,.rep-primary-nav button,.manager-primary-nav a,.manager-primary-nav button,.admin-primary-nav a,.admin-primary-nav button,.leadership-nav a,.leadership-nav button,.enterprise-tabs a,.enterprise-tabs button,.dca-unified-top-actions a,.dca-unified-top-actions button,.dca-global-nav a,.dca-global-nav button{
  background:rgba(0,0,0,.10)!important;
  border-color:rgba(255,255,255,.25)!important;
  color:#fff!important;
}
#adminMainNav a:hover,#adminMainNav a:focus-visible,#adminMainNav a[aria-current="page"],#repPrimaryNav a:hover,#repPrimaryNav a.active,#repPrimaryNav a[aria-current="page"],#adminPrimaryNav a[aria-current="page"],.rep-primary-nav a.active,.manager-primary-nav a.active,.admin-primary-nav a.active,.leadership-nav a.active,.enterprise-tabs a.active,.dca-unified-top-actions a[aria-current="page"],.dca-global-nav a[aria-current="page"]{
  background:#115e59!important;
  border-color:rgba(255,255,255,.55)!important;
  color:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)!important;
}
