/* Back-office mobile layout */
.mobile-menu-toggle,.mobile-account-links{display:none}
@media (max-width: 900px){
  body:has(.shell){overflow-x:hidden;background:#eeece7}
  body:has(.shell) .topbar{position:sticky;top:0;z-index:110;height:64px;padding:7px 12px;gap:8px}
  body:has(.shell) .topbar .brand{min-width:0;flex:1}
  body:has(.shell) .topbar .brand-logo{width:112px;max-height:48px;object-position:left center}
  body:has(.shell) .topbar .user{display:none}
  .mobile-menu-toggle{display:grid;width:46px;height:46px;flex:0 0 46px;place-items:center;border:1px solid #51462f;border-radius:9px;background:#191b1e;color:#f0c568;font-size:0;cursor:pointer}
  .mobile-menu-toggle:before{content:'☰';font-size:24px;line-height:1}
  body.admin-menu-open .mobile-menu-toggle:before{content:'×';font-size:31px}
  .shell{display:block;min-height:calc(100vh - 64px)}
  .shell>aside{position:fixed;z-index:105;left:0;top:64px;bottom:0;width:min(86vw,340px);padding:18px 14px;overflow-y:auto;transform:translateX(-105%);transition:transform .25s ease;box-shadow:18px 0 45px #0007}
  body.admin-menu-open .shell>aside{transform:translateX(0)}
  body.admin-menu-open:after{content:'';position:fixed;z-index:100;inset:64px 0 0;background:#0009}
  .shell>aside nav{gap:4px}
  .shell>aside nav a{min-height:46px;padding:12px 14px;font-size:14px}
  .shell>aside .prize-card{margin-top:18px}
  .mobile-account-links{display:grid;gap:6px;margin:16px 0 4px;padding-top:14px;border-top:1px solid #303338}
  .mobile-account-links a{padding:12px 14px;border:1px solid #34373c;border-radius:7px;color:#f0c568;font-size:12px;font-weight:800}
  .content{max-width:none;width:100%;padding:14px 12px 36px;overflow:hidden}
  .panel{width:100%;margin:10px 0;padding:18px 15px;border-radius:10px}
  .panel h2{font-size:24px;line-height:1.15}
  .two-col,.home-grid{grid-template-columns:minmax(0,1fr)!important;gap:10px}
  .stats{grid-template-columns:1fr 1fr;gap:8px}
  .stats article{padding:15px}
  .stats b{font-size:28px}
  .hero.home-hero{min-height:0;padding:28px 20px;display:block}
  .hero.home-hero h1{font-size:40px}
  .hero-prize{display:none}
  .hero-actions{display:grid;gap:8px;margin-top:20px}
  .hero-actions a{width:100%;min-height:45px;text-align:center}
  .form,.player-edit .form{width:100%;gap:14px}
  .form-row,.round-meta{grid-template-columns:minmax(0,1fr)!important;gap:12px}
  .form input,.form select,.form textarea,.round-picker select{width:100%;max-width:100%;font-size:16px}
  .form textarea{min-height:110px}
  .primary,.secondary-btn,.small-btn,.delete-round-btn{min-height:44px;padding:12px 15px;display:inline-flex;align-items:center;justify-content:center}
  .form>.primary{width:100%;justify-self:stretch}
  .round-picker{display:grid;justify-content:stretch;padding:12px}
  .round-picker select{min-width:0}
  .match-builder>div{grid-template-columns:28px minmax(0,1fr)!important;padding:10px;gap:8px}
  .match-builder>div>*:not(b){grid-column:2!important;width:100%}
  .match-builder>div>span{display:none}
  .edit-matches article{grid-template-columns:minmax(0,1fr)!important}
  .pick{grid-template-columns:minmax(0,1fr)!important;align-items:stretch}
  .pick select{width:100%;height:44px}
  .exact{grid-template-columns:minmax(0,1fr) 1fr auto 1fr;gap:6px}
  .exact select{grid-column:1/-1;width:100%}
  .result-list>div{grid-template-columns:minmax(0,1fr) 64px 10px 64px;padding:12px 8px}
  .panel-title-row{align-items:stretch;flex-direction:column;gap:10px}
  .panel-title-row>*{max-width:100%}
  .people>div{grid-template-columns:38px minmax(0,1fr);align-items:start;padding:14px 0}
  .people>div>div{min-width:0}
  .people small{overflow-wrap:anywhere;font-size:11px;line-height:1.5}
  .staff-controls{display:grid!important;grid-template-columns:1fr auto;gap:8px;margin-top:10px}
  .staff-controls select{min-height:42px;font-size:16px}
  .staff-controls button{grid-column:1/-1;width:100%}
  .player-list article{grid-template-columns:40px minmax(0,1fr)!important;align-items:start;gap:10px}
  .player-list article>form,.anonymize-player-form{grid-column:2;margin:5px 0 0!important}
  .entry-card>summary,.entry-cards summary{grid-template-columns:38px minmax(0,1fr)!important}
  .entry-card>summary>strong,.entry-cards summary>strong{grid-column:2;text-align:left!important}
  .entry-picks article{grid-template-columns:minmax(0,1fr)!important}
  .prize-admin article,.penalty-list article{grid-template-columns:minmax(0,1fr)!important;gap:10px}
  .prize-admin form,.penalty-list form{width:100%;grid-column:1!important}
  .month-actions{flex-wrap:wrap}
  .ops-summary{grid-template-columns:1fr 1fr}
  .display-toggles,.duration-grid{grid-template-columns:1fr}
  .audit-table{min-width:680px}
  .panel:has(.audit-table),.panel:has(table){overflow-x:auto;-webkit-overflow-scrolling:touch}
  footer{height:auto;min-height:44px;padding:14px 12px;line-height:1.5}
}
@media (max-width: 480px){
  .content{padding:10px 8px 30px}
  .panel{padding:16px 12px}
  .stats{grid-template-columns:1fr}
  .ops-summary{grid-template-columns:1fr 1fr}
  .hero.home-hero h1{font-size:34px}
  .exact{grid-template-columns:1fr auto 1fr}
  .result-list>div{grid-template-columns:1fr 58px 8px 58px}
  .result-list>div>div:first-child{grid-column:1/-1}
  .inline-actions{align-items:stretch;flex-direction:column}
}
