/* Portal button defaults — intentionally low-specificity so page-specific designs can fully control their own buttons. */
:where(.content) button,
:where(.content) input[type=submit],
:where(.content) a.button,
:where(.content) .groupme-open,
:where(.content) .team-groupme-links a,
:where(.content) .team-groupme-links button,
:where(.content) .stat-tabs a,
:where(.content) .stats-toolbar a,
:where(.content) .tryout-toolbar a,
:where(.content) .printing-tryouts a,
:where(.content) .month-calendar-nav a,
:where(.content) .team-section-title a,
:where(.content) .lineup-dialog-actions button{
  font-family:inherit;
  text-decoration:none;
  -webkit-font-smoothing:antialiased;
  transition:background-color .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}

/* Generic defaults only. Any named page/component class loaded later is free to override these. */
:where(.content form) button:not([class]):not([disabled]),
:where(.content form) input[type=submit]:not([class]){
  border:1px solid #e21d2f;
  border-radius:7px;
  background:#e21d2f;
  color:#fff;
  font-weight:800;
  box-shadow:none;
}
:where(.content form) button:not([class]):not([disabled]):hover,
:where(.content form) input[type=submit]:not([class]):hover{
  background:#c91829;
  border-color:#c91829;
  color:#fff;
}
:where(.content form) button.secondary:not([disabled]){
  background:#fff;
  color:#292d33;
  border:1px solid #d8dce2;
  box-shadow:none;
}
:where(.content form) button.secondary:not([disabled]):hover{
  background:#f7f8fa;
  color:#17191d;
  border-color:#bcc3cc;
}
:where(.content) button:focus-visible,
:where(.content) input[type=submit]:focus-visible,
:where(.content) a.button:focus-visible{
  outline:2px solid rgba(226,29,47,.28);
  outline-offset:2px;
}
:where(.content form) button[disabled]{opacity:.58;cursor:not-allowed}

/* Explicit opt-in utility for older pages that still want the classic red portal action. */
.portal-primary-button{
  border:1px solid #e21d2f!important;
  border-radius:7px!important;
  background:#e21d2f!important;
  color:#fff!important;
  font-weight:800!important;
  box-shadow:none!important;
}
.portal-primary-button:hover{background:#c91829!important;border-color:#c91829!important;color:#fff!important}
.portal-secondary-button{
  border:1px solid #d8dce2!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#292d33!important;
  font-weight:800!important;
  box-shadow:none!important;
}
.portal-secondary-button:hover{background:#f7f8fa!important;border-color:#bcc3cc!important;color:#17191d!important}

/* Messages composer balance and alignment */
.message-compose-head{display:grid!important;grid-template-columns:58px minmax(0,1fr);align-items:center!important;gap:18px!important;padding:22px 24px!important;min-height:0!important}
.message-compose-head>span{width:58px!important;height:58px!important;border-radius:16px!important;font-size:22px!important}
.message-compose-head>div{min-width:0}
.message-compose-head>div>small{margin:0 0 6px!important;font-size:9px!important;letter-spacing:2px!important}
.message-compose-head h2{margin:0 0 5px!important;font-size:28px!important;line-height:1.08!important;letter-spacing:-.6px}
.message-compose-head p{max-width:760px;margin:0!important;font-size:13px!important;line-height:1.45!important}
.message-form-section{margin:16px 18px 0!important;padding:18px 20px!important}
.message-section-title{margin-bottom:15px!important;align-items:center!important}
.message-section-title>span{width:32px!important;height:32px!important;flex-basis:32px!important;font-size:11px!important}
.message-section-title b{font-size:14px!important}
.message-section-title small{font-size:10px!important;line-height:1.35!important}
.message-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;align-items:end!important}
.message-form-grid>label{grid-template-rows:auto 18px 54px!important;gap:6px!important;min-width:0}
.message-form-grid>label:first-child:after{content:"";display:block;grid-row:2;height:18px;visibility:hidden}
.message-form-grid>label:first-child .field-label{grid-row:1}
.message-form-grid>label:first-child select{grid-row:3}
.message-form-grid>label>small{margin:0!important;min-height:18px!important;line-height:18px!important;font-size:10px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.message-form-grid .field-label{align-self:end;font-size:10px!important;letter-spacing:.75px!important}
.message-form-grid select{height:54px!important;min-height:54px!important;padding:0 42px 0 14px!important;border-radius:12px!important;font-size:15px!important;font-weight:750!important;background-color:#fbfbfc!important}
@media(max-width:700px){.message-compose-head{grid-template-columns:48px minmax(0,1fr)!important;gap:14px!important;padding:18px!important}.message-compose-head>span{width:48px!important;height:48px!important;border-radius:14px!important;font-size:18px!important}.message-compose-head h2{font-size:23px!important}.message-compose-head p{font-size:12px!important}.message-form-section{margin:12px 10px 0!important;padding:16px!important}.message-form-grid{grid-template-columns:1fr!important;gap:14px!important}.message-form-grid>label{grid-template-rows:auto auto 50px!important}.message-form-grid>label:first-child:after{display:none}.message-form-grid>label:first-child .field-label,.message-form-grid>label:first-child select{grid-row:auto}.message-form-grid>label>small{white-space:normal;min-height:0!important;line-height:1.4!important}.message-form-grid select{height:50px!important;min-height:50px!important;font-size:14px!important}}

/* Dashboard team cards — restore the missing card layout on desktop. */
.my-teams{margin-top:22px!important;overflow:hidden}
.my-teams>h2{margin:0 0 8px!important;font-size:26px!important;line-height:1.1!important;letter-spacing:-.5px}
.my-teams>p{margin:0 0 18px!important;color:#6e737b!important;font-size:13px!important;line-height:1.55!important}
.team-search{display:block!important;max-width:640px!important;margin:0 0 20px!important}
.team-search span{display:block!important;margin:0 0 7px!important;color:#6e737b!important;font-size:10px!important;font-weight:900!important;letter-spacing:.09em!important;text-transform:uppercase!important}
.team-search input{width:100%!important;min-height:50px!important;padding:0 15px!important;border:1px solid #d9dde3!important;border-radius:12px!important;background:#fbfcfd!important;color:#17191d!important;font-size:15px!important;outline:none!important}
.team-search input:focus{border-color:#e21d2f!important;background:#fff!important;box-shadow:0 0 0 3px rgba(226,29,47,.10)!important}
.team-access-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;margin-top:4px!important}
.team-access-grid>a{display:grid!important;grid-template-columns:76px minmax(0,1fr)!important;grid-template-rows:auto auto!important;column-gap:14px!important;row-gap:8px!important;align-items:center!important;min-width:0!important;min-height:132px!important;padding:18px!important;border:1px solid #e2e5e9!important;border-radius:14px!important;background:linear-gradient(145deg,#fff,#fafbfc)!important;color:#17191d!important;text-decoration:none!important;box-shadow:0 7px 20px rgba(16,18,23,.045)!important;transition:border-color .17s ease,box-shadow .17s ease,transform .17s ease,background .17s ease!important}
.team-access-grid>a:hover{border-color:#e21d2f!important;background:#fff!important;box-shadow:0 12px 26px rgba(16,18,23,.09)!important;transform:translateY(-2px)!important}
.team-access-grid>a.current{border-color:#e21d2f!important;box-shadow:0 0 0 3px rgba(226,29,47,.07),0 10px 24px rgba(16,18,23,.06)!important}
.team-access-grid>a>img{grid-column:1!important;grid-row:1/3!important;width:72px!important;height:64px!important;object-fit:contain!important;margin:0!important;justify-self:center!important;align-self:center!important}
.team-access-grid .team-card-copy{grid-column:2!important;grid-row:1!important;display:block!important;min-width:0!important}
.team-access-grid .team-card-copy strong{display:block!important;margin:0 0 5px!important;color:#17191d!important;font-size:15px!important;font-weight:850!important;line-height:1.25!important;text-decoration:none!important;white-space:normal!important;overflow-wrap:anywhere!important}
.team-access-grid .team-card-copy small{display:block!important;color:#737984!important;font-size:11px!important;line-height:1.4!important;text-decoration:none!important;white-space:normal!important}
.team-access-grid>a>i{grid-column:2!important;grid-row:2!important;align-self:end!important;justify-self:start!important;margin:0!important;color:#e21d2f!important;font-size:11px!important;font-style:normal!important;font-weight:900!important;line-height:1.2!important;text-decoration:none!important;white-space:nowrap!important}
.team-search-empty{padding:20px!important;text-align:center!important;color:#737984!important;font-size:13px!important}
@media(max-width:1100px) and (min-width:821px){.team-access-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:820px){.my-teams{padding:18px 16px!important}.team-access-grid{grid-template-columns:1fr!important;gap:10px!important}.team-access-grid>a{grid-template-columns:66px minmax(0,1fr) auto!important;grid-template-rows:auto!important;min-height:82px!important;padding:12px 13px!important}.team-access-grid>a>img{grid-column:1!important;grid-row:1!important;width:60px!important;height:52px!important}.team-access-grid .team-card-copy{grid-column:2!important;grid-row:1!important}.team-access-grid>a>i{grid-column:3!important;grid-row:1!important;align-self:center!important;justify-self:end!important}}
@media(max-width:430px){.team-access-grid>a{grid-template-columns:58px minmax(0,1fr)!important}.team-access-grid>a>img{width:54px!important;height:48px!important}.team-access-grid>a>i{grid-column:2!important;grid-row:2!important;justify-self:start!important;margin-top:3px!important}}
