/* Shared screen layouts. Existing forms, permissions and data flows stay intact. */
@media screen {
  :is(.stoic-coaches,.stoic-family,.stoic-registration) { box-sizing:border-box; width:100%; max-width:1280px; margin:clamp(1rem,3vw,2.5rem) auto; padding:0 clamp(.75rem,2.5vw,2rem); line-height:1.5; }
  :is(.stoic-coaches,.stoic-family,.stoic-registration) * { box-sizing:border-box; }
  :is(.stoic-coaches,.stoic-family) main { padding:clamp(1rem,2.5vw,2rem); }
  :is(.stoic-coaches,.stoic-family,.stoic-registration) :is(main,section,form,fieldset,label,li,div) { min-width:0; }
  :is(.stoic-coaches,.stoic-family,.stoic-registration) :is(h1,h2,h3,p,li,button,a,label) { overflow-wrap:anywhere; }
  :is(.stoic-coaches,.stoic-family,.stoic-registration) h1 { font-size:clamp(1.6rem,3vw,2.5rem); line-height:1.2; }
  :is(.stoic-coaches,.stoic-family,.stoic-registration) :is(button,.venmo-button) { min-height:44px; max-width:100%; white-space:normal; line-height:1.4; vertical-align:middle; }
  :is(.stoic-coaches,.stoic-family,.stoic-registration) :is(input:not([type=checkbox]),select,textarea) { width:100%; max-width:100%; min-width:0; min-height:44px; font-size:1rem; }
  :is(.stoic-coaches,.stoic-family,.stoic-registration) input[type=checkbox] { width:1.1rem; height:1.1rem; flex-shrink:0; vertical-align:middle; }
  .stoic-coaches input[type=checkbox] { display:inline-block; margin:.25rem .4rem .25rem 0; }
  :is(.stoic-coaches,.stoic-family,.stoic-registration) :is(#staff-login,#login,#account) { max-width:32rem; }
  :is(.stoic-family,.stoic-registration) :is(#login,#account) button { margin:.35rem .35rem .35rem 0; }
  .stoic-coaches #staff-tools { display:grid; grid-template-columns:minmax(0,1fr); gap:1.25rem; margin-top:1.5rem; align-items:start; }
  .stoic-coaches #staff-logout { justify-self:start; }
  .stoic-coaches #staff-tools > section:not(#payment-tools), .stoic-coaches .staff-panel { padding:clamp(1rem,2vw,1.5rem); border:1px solid #514322; border-radius:.75rem; background:#11110f; }
  .stoic-coaches #staff-tools h2 { margin:0 0 1rem; font-size:1.25rem; }
  .stoic-coaches #payment-tools { display:grid; grid-template-columns:minmax(0,1fr); gap:1.25rem; align-items:start; }
  .stoic-coaches .staff-panel > button { display:block; width:100%; margin:.75rem 0; }
  .stoic-coaches #payment, .stoic-coaches #dues-overview { margin-top:1.25rem; padding-top:.5rem; border-top:1px solid #423821; }
  .stoic-coaches :is(#dues-overview-list,#dues-receipts,#gear-receipts,#coach-roster-list,#team-list,#registration-review-list,#account-status-list) { padding:0; list-style:none; }
  .stoic-coaches :is(#dues-overview-list,#dues-receipts,#gear-receipts,#coach-roster-list,#registration-review-list) > li { padding:.85rem 0; border-bottom:1px solid #423821; }
  .stoic-coaches li button { margin:.35rem .35rem .35rem 0; }
  .stoic-coaches #roster-filters { margin:1.25rem 0; padding:1rem; border:1px solid #514322; border-radius:.5rem; }
  .stoic-coaches #roster-filters label { margin:.35rem 0; }
  .stoic-family #roster { grid-template-columns:minmax(0,1fr); }
  .stoic-family #roster label { margin:.75rem 0; }
  .stoic-family dialog { max-width:min(36rem,calc(100vw - 2rem)); max-height:85dvh; overflow:auto; }
  .stoic-registration { max-width:1120px; }
  .stoic-registration fieldset { min-inline-size:0; }
  .stoic-registration textarea { min-height:6rem; resize:vertical; }
  .stoic-registration dialog { width:min(42rem,calc(100% - 2rem)); max-height:85dvh; overflow:auto; }
  .stoic-home .wrap { width:min(1320px,100%); padding-inline:clamp(1rem,2.5vw,2rem); }
  .stoic-home #social > .wrap { display:grid; grid-template-columns:minmax(0,1fr); gap:1.5rem; align-items:start; }
  .stoic-home #social .social-tiktok { width:100%; min-width:0; margin:0; padding:1.25rem; border:1px solid var(--line); border-radius:.75rem; background:var(--panel); }
  .stoic-home #social :is(.heading,#socialContent,#socialNote) { grid-column:1/-1; }
  .stoic-home #social .heading { margin-bottom:0; }
  .stoic-home .social-tiktok blockquote { width:100%; min-width:0!important; max-width:100%; }
  .stoic-home .social-tiktok iframe { max-width:100%; }
  @media (min-width:700px) {
    .stoic-coaches #staff-tools { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .stoic-coaches :is(#staff-logout,#payment-tools,#registration-review) { grid-column:1/-1; }
    .stoic-coaches #payment-tools { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .stoic-coaches .receipts-panel { grid-column:1/-1; }
    .stoic-coaches #roster-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem 1rem; }
    .stoic-family #roster { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .stoic-registration fieldset:has(> label input:not([type=checkbox])) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.25rem 1.25rem; }
    .stoic-registration fieldset > :is(p,button) { grid-column:1/-1; }
    .stoic-home #social > .wrap { grid-template-columns:repeat(2,minmax(0,1fr)); }
  }
  @media (min-width:1100px) {
    .stoic-coaches #payment-tools { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .stoic-coaches #registration-review { grid-column:auto; }
    .stoic-family #roster { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .stoic-home .cal-day,.stoic-home .cal-blank { min-height:110px; }
  }
  @media (max-width:699px) {
    .stoic-coaches .coverage-actions { align-items:stretch; }
    .stoic-coaches .coverage-actions > * { flex:1 1 100%; }
    .stoic-coaches #statement-download { width:100%; }
    .stoic-home #social .social-tiktok { padding:1rem .75rem; }
  }
}

@media screen {
 .stoic-coaches #attendance-tools { grid-column:1/-1; }
 .stoic-coaches #attendance-details { margin-top:1rem; padding-top:1rem; border-top:1px solid #423821; }
 .stoic-coaches #attendance-date { max-width:22rem; }
 .stoic-coaches #attendance-list { list-style:none; padding:0; display:grid; gap:.75rem; grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr)); }
 .stoic-coaches #attendance-list li { margin:0; padding:.85rem; border:1px solid #423821; border-radius:.5rem; }
}

@media screen {
 .stoic-coaches #coach-workspace { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr); gap:1.25rem; align-items:start; }
 .stoic-coaches .coach-column { display:grid; gap:1.25rem; min-width:0; }
 .stoic-coaches #coach-workspace section { padding:clamp(1rem,2vw,1.5rem); border:1px solid #514322; border-radius:.75rem; background:#11110f; }
 @media (min-width:700px) { .stoic-coaches #coach-workspace { grid-template-columns:repeat(2,minmax(0,1fr)); } }
}

@media screen {
 .stoic-coaches .coach-header { display:flex; align-items:center; gap:1.25rem; margin:0 0 1.5rem; }
 .stoic-coaches .coach-header .stoic-face-mark { margin:0; flex:0 0 80px; }
 .stoic-coaches .coach-header h1 { margin:.35rem 0; }
 .stoic-coaches #coach-welcome { color:#f5d778; font-size:clamp(1.25rem,2vw,1.75rem); font-weight:700; margin:0; }
 .stoic-coaches #coach-profile { grid-column:1/-1; padding:1.25rem; border:1px solid #514322; border-radius:.75rem; }
 .stoic-coaches #coach-profile input { max-width:32rem; }
 .stoic-coaches #refresh-coverage { margin-bottom:.75rem; }
 @media(max-width:500px) { .stoic-coaches .coach-header { gap:.85rem; } .stoic-coaches .coach-header .stoic-face-mark { width:56px; flex-basis:56px; } }
}

@media screen and (min-width:1100px) { body.stoic-coaches { width:96%; max-width:1800px; padding-inline:clamp(1rem,1.5vw,1.5rem); } }
