/* POURA v0.5.8 — desktop layout, workspace context and admin usability */
html,body{max-width:100%;overflow-x:hidden}
.app-shell,.main-shell,#pageContainer{min-width:0;max-width:100%}
#pageContainer{overflow-x:clip}
.main-shell .page,.main-shell .page-wide,.main-shell .page-admin,.v041-page,.v041-nutrition{box-sizing:border-box;min-width:0}
.main-shell img,.main-shell svg{max-width:100%}

@media(min-width:901px){
  .app-shell{grid-template-columns:280px minmax(0,1fr)}
  .sidebar{width:auto;min-width:0}
  .main-shell{width:auto;overflow-x:hidden}
  .main-shell>.topbar{min-width:0;padding-inline:clamp(22px,2.4vw,40px)}
  .main-shell .page,.main-shell .page-wide,.main-shell .page-admin,.v041-page,.v041-nutrition{
    width:100%!important;max-width:1600px!important;margin-inline:auto!important;padding-left:clamp(22px,2.8vw,46px)!important;padding-right:clamp(22px,2.8vw,46px)!important
  }
  .v041-nutrition-grid{grid-template-columns:minmax(0,1.75fr) minmax(280px,.78fr);width:100%}
  .v041-nutrition-grid>* ,.v041-nutrition-main,.v041-nutrition-side,.v041-food-log,.v041-section-card,#foodTotals,#foodTotals>*{min-width:0;max-width:100%}
  .v041-food-log .ai-add-input-row{grid-template-columns:minmax(0,1fr) minmax(120px,150px)}
  .v041-nutrition .card,.v041-nutrition .food-water-panel,.v041-nutrition .food-summary-card{min-width:0;max-width:100%;overflow:hidden}
  .v041-nutrition .macro-legend{flex-wrap:wrap;gap:.65rem}
  .v041-nutrition .water-btns{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(min-width:901px) and (max-width:1260px){
  .app-shell{grid-template-columns:240px minmax(0,1fr)}
  .v041-nutrition-grid{grid-template-columns:1fr}
}

/* Profile uses independent cards rather than two uneven document columns. */
.v058-profile-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.v058-profile-section{min-width:0;display:grid;gap:8px;align-content:start}
.v058-profile-section>.section-label{margin:0}
.v058-profile-section>.card,.v058-profile-section>.stat-grid,.v058-profile-section>.v051-plan-card{margin:0;min-width:0}
.v058-profile-section.is-wide{grid-column:1/-1}
@media(max-width:900px){.v058-profile-sections{grid-template-columns:1fr}.v058-profile-section.is-wide{grid-column:auto}}

/* Admin/Gym pages must use the available desktop canvas without squashing cards. */
.v058-control-page,.v058-gym-page{min-width:0}
.v041-settings-section,.v05-settings-section{grid-template-columns:minmax(260px,.62fr) minmax(0,1.7fr);gap:clamp(24px,3vw,54px);align-items:start}
.v041-settings-section>*,.v05-settings-section>*{min-width:0}
.v041-form-grid,.v051-form-grid,.v051-email-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}
.v054-sponsored-access{display:grid!important;grid-template-columns:minmax(260px,.65fr) minmax(0,1.6fr)!important;gap:clamp(28px,4vw,64px)!important;align-items:start}
.v058-sponsored-contract{width:100%;margin-top:18px;display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.35fr);gap:clamp(26px,4vw,58px);align-items:start}
.v058-sponsored-contract .v041-card-header{display:grid;align-content:start;margin:0}
.v058-sponsored-contract .v055-contract-metrics{display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));gap:10px}
.v058-sponsored-contract .v041-form-grid{grid-column:2;grid-template-columns:repeat(2,minmax(200px,1fr))}
.v054-sponsored-access .v041-form-grid{grid-template-columns:repeat(2,minmax(210px,1fr))}
.v055-contract-stats{display:grid!important;grid-template-columns:repeat(3,minmax(110px,1fr))!important;gap:10px!important}
.v041-tenant-row{grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(80px,.55fr)) minmax(300px,auto)}
.v056-tenant-actions{justify-content:flex-end}
.v058-settings-note{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}
.v058-settings-note p{margin:4px 0 0;color:var(--text-dim)}
.v058-operation-section>div:last-child{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(260px,1.3fr);gap:18px;align-items:start}
.v058-operation-section .btn{justify-self:end}

/* The gym people cards stay readable at laptop widths. */
.v056-person-card{grid-template-columns:minmax(210px,.85fr) minmax(0,2.4fr) auto}
.v056-person-facts{grid-template-columns:repeat(5,minmax(0,1fr))}
.v056-person-facts strong,.v056-person-facts small{overflow-wrap:anywhere}

/* Tables scroll internally; the whole application never does. */
.v041-people-table,.responsive-table,.table-card{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}

@media(max-width:1100px){
  .v041-settings-section,.v05-settings-section,.v054-sponsored-access,.v058-sponsored-contract{grid-template-columns:1fr!important}
  .v058-sponsored-contract .v041-form-grid{grid-column:auto}
  .v041-form-grid,.v051-form-grid,.v051-email-grid{grid-template-columns:1fr 1fr}
  .v041-tenant-row{grid-template-columns:1fr 1fr 1fr}
  .v041-tenant-row>:first-child,.v041-tenant-row>:last-child{grid-column:1/-1}
  .v056-tenant-actions{justify-content:flex-start}
  .v056-person-card{grid-template-columns:1fr auto}
  .v056-person-facts{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  .v041-form-grid,.v051-form-grid,.v051-email-grid,.v058-operation-section>div:last-child{grid-template-columns:1fr}
  .v056-person-facts{grid-template-columns:1fr 1fr}
  .v058-settings-note{align-items:flex-start;flex-direction:column}
}

/* v0.5.8 desktop touchpad/wheel scrolling hotfix */
@media (min-width: 900px) {
  html,
  body {
    overflow-y: auto !important;
    overscroll-behavior-y: auto !important;
    touch-action: pan-y !important;
  }

  .app-shell,
  .main-shell,
  #pageContainer {
    height: auto !important;
    max-height: none !important;
    overflow-y: visible !important;
    overscroll-behavior-y: auto !important;
    touch-action: pan-y !important;
  }

  .sidebar {
    overscroll-behavior-y: auto !important;
    touch-action: pan-y !important;
  }
}
