/* 5G Prime installed portal — mobile layout polish */
@media (max-width: 820px) {
  .content{padding:16px 14px 30px;max-width:none}
  .content>h1{font-size:25px;line-height:1.08;margin:6px 0 16px;letter-spacing:-.6px}
  .panel,.metrics article{border-radius:14px;padding:16px;box-shadow:0 5px 16px rgba(16,18,23,.045)}
  .panel{margin-top:12px}

  /* Compact information cards can share a row on a phone. */
  .metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .metrics article:last-child:nth-child(odd){grid-column:1/-1}
  .metrics b{font-size:22px}
  .metrics span{font-size:9px;line-height:1.35}

  /* Dashboard team list: clean single-column rows on phones. */
  .my-teams{padding:18px 16px!important}
  .my-teams h2{margin:0 0 12px;font-size:24px;line-height:1.1}
  .my-teams>p{margin:0 0 16px;font-size:14px;line-height:1.5}
  .team-search{margin:0 0 16px!important;max-width:none!important}
  .team-search span{font-size:9px!important;letter-spacing:.12em!important;margin-bottom:7px!important}
  .team-search input{min-height:48px!important;font-size:16px!important;border-radius:12px!important}
  .team-access-grid{display:grid!important;grid-template-columns:1fr!important;gap:0!important;margin-top:4px!important;border-top:1px solid #eceef1}
  .team-access-grid a{display:grid!important;grid-template-columns:66px minmax(0,1fr) auto!important;grid-template-rows:auto!important;align-items:center!important;gap:12px!important;min-height:82px!important;padding:12px 0!important;border:0!important;border-bottom:1px solid #eceef1!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;text-decoration:none!important;color:inherit!important}
  .team-access-grid a:last-child{border-bottom:0!important}
  .team-access-grid a>img{grid-column:1!important;width:60px!important;height:52px!important;object-fit:contain!important;justify-self:start!important;margin:0!important}
  .team-card-copy{grid-column:2!important;display:block!important;min-width:0!important}
  .team-card-copy strong{display:block!important;margin:0 0 4px!important;font-size:16px!important;line-height:1.2!important;color:#111827!important;white-space:normal!important}
  .team-card-copy small{display:block!important;font-size:11px!important;line-height:1.35!important;color:#6b7280!important;white-space:normal!important}
  .team-access-grid a>i{grid-column:3!important;align-self:center!important;justify-self:end!important;margin:0!important;padding:0!important;font-size:12px!important;line-height:1.2!important;font-style:normal!important;font-weight:800!important;color:#e21d2f!important;white-space:nowrap!important}
  .team-access-grid a.current{background:#fff8f9!important}

  .team-hub-head{gap:14px;align-items:flex-start}
  .team-hub-head>img{width:82px;height:70px}
  .team-hub-head h2{font-size:24px;line-height:1.05;margin:5px 0}
  .team-hub-head p{font-size:11px;line-height:1.45}

  /* Team schedule: make the daily calendar link a proper app action. */
  .team-section-title>a[href*="view=calendar"]{display:flex!important;align-items:center!important;gap:12px!important;width:100%!important;min-height:62px!important;margin:16px 0 20px!important;padding:10px 14px!important;border:1.5px solid #e21d2f!important;border-radius:14px!important;background:#fff!important;color:#e21d2f!important;text-decoration:none!important;font-size:14px!important;font-weight:850!important;line-height:1.2!important;box-shadow:0 5px 16px rgba(16,18,23,.035)!important}
  .team-section-title>a[href*="view=calendar"]::before{content:"📅";display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:10px;background:#fff0f2;font-size:20px;line-height:1}
  .team-section-title>a[href*="view=calendar"]::after{content:"›";margin-left:auto;font-size:27px;font-weight:500;line-height:1;color:#e21d2f}
  .team-section-title>a[href*="view=calendar"]:active{transform:scale(.99);background:#fff8f9!important}

  .team-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
  .team-hub-grid>a{grid-template-columns:1fr;gap:9px;padding:14px;min-height:152px;align-content:start;border-radius:12px}
  .team-card-icon{width:43px;height:43px;border-radius:11px}
  .team-card-icon svg{width:27px;height:27px}
  .team-hub-grid b{font-size:14px;line-height:1.15}
  .team-hub-grid .team-card-copy>span{font-size:10px;line-height:1.4}
  .team-hub-grid i{margin-top:auto}

  .location-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .location-card{padding:14px!important}
  .location-card h3{font-size:14px;line-height:1.2;padding-right:22px}
  .location-card p,.location-card>b,.location-card>a{font-size:10px;line-height:1.45}

  .leader-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .leader-grid article{padding:14px}
  .leader-grid article:last-child:nth-child(odd){grid-column:1/-1}
  .leader-grid h3{font-size:14px}

  /* Forms and dense data stay single-column for readability. */
  .grid,.stats-top{grid-template-columns:1fr}
  .form{gap:13px}
  .form input,.form select,.form textarea{font-size:16px;min-height:44px}
  .table>div{gap:9px;font-size:10px}
  .stats-table{-webkit-overflow-scrolling:touch}

  .app header{height:64px;padding:0 14px;gap:10px}
  .app header span{font-size:10px}
}

@media (max-width: 365px) {
  .team-hub-grid,.location-grid,.leader-grid{grid-template-columns:1fr}
  .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .team-access-grid a{grid-template-columns:56px minmax(0,1fr)!important;gap:10px!important}
  .team-access-grid a>img{width:52px!important;height:46px!important}
  .team-access-grid a>i{grid-column:2!important;justify-self:start!important;margin-top:4px!important}
}


/* Mobile message inbox — natural document flow with no overlapping text. */
@media (max-width: 700px) {
  body .content:has(.message-inbox) {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  body .message-inbox {
    width: 100% !important;
    max-width: none !important;
    margin: 12px 0 0 !important;
    padding: 18px 14px !important;
    overflow: visible !important;
  }

  body .message-inbox .message-heading {
    align-items: flex-start !important;
    gap: 12px !important;
    margin-bottom: 18px !important;
  }

  body .message-inbox .message-heading > span {
    flex: 0 0 42px !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 12px !important;
    font-size: 19px !important;
  }

  body .message-inbox .message-heading > div {
    min-width: 0 !important;
  }

  body .message-inbox .message-heading h2 {
    margin: 0 0 5px !important;
    font-size: 24px !important;
    line-height: 1.05 !important;
  }

  body .message-inbox .message-heading p {
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  body .message-inbox .message-history-list {
    display: grid !important;
    gap: 12px !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0 !important;
  }

  body .message-inbox .message-history-item {
    display: block !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #dfe3e8 !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 5px 16px rgba(16,18,23,.06) !important;
  }

  body .message-inbox .message-open {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 16px !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #202328 !important;
    text-align: left !important;
    white-space: normal !important;
  }

  body .message-inbox .message-open-summary {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body .message-inbox .message-open-summary b {
    display: block !important;
    width: 100% !important;
    margin: 0 0 7px !important;
    padding: 0 !important;
    overflow: visible !important;
    color: #17191d !important;
    font-size: 17px !important;
    line-height: 1.28 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body .message-inbox .message-open-summary small {
    display: block !important;
    order: 2 !important;
    margin: 0 0 10px !important;
    color: #747b85 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
  }

  body .message-inbox .message-open-summary p {
    display: block !important;
    order: 3 !important;
    margin: 0 0 10px !important;
    overflow: visible !important;
    color: #555d67 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body .message-inbox .message-open-summary em {
    display: block !important;
    order: 4 !important;
    margin: 0 !important;
    color: #747b85 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    font-style: normal !important;
  }

  body .message-inbox .message-open > strong {
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    margin-top: 13px !important;
    padding: 7px 10px !important;
    border-radius: 999px !important;
    background: #fff0f2 !important;
    color: #b80f20 !important;
    font-size: 11px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  body .message-inbox .message-page-count {
    margin-top: 14px !important;
    padding-top: 14px !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
  }
}


/* Uniform-only coach dropdown text: prevent iOS/mobile vertical clipping. */
@media (max-width: 760px){
  .guest-coaches .guest-coach-add select{
    box-sizing:border-box!important;
    width:100%!important;
    min-height:54px!important;
    height:54px!important;
    padding:0 42px 0 16px!important;
    font-size:16px!important;
    line-height:normal!important;
    vertical-align:middle!important;
  }
}
