@media(max-width: 1000px) {
  .season-plans { grid-template-columns: 1fr; }
  .summary-grid, .side-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .champion-grid, .role-grid, .item-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .analytics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .analytics .item-grid { grid-template-columns: 1fr; }
  .inter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .detail-hero { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media(max-width: 960px) {
  .topbar {
    align-items: flex-start;
    flex-direction: column;
    gap: 16px;
  }
  .top-right {
    align-items: flex-start;
    width: 100%;
  }
  .language-switch {
    align-self: flex-start;
  }
  .status {
    text-align: left;
  }
}

@media(max-width: 820px) {
  main { padding-top: 34px; }
  .top-right { align-items: flex-start; }
  .language-switch { align-self: flex-start; }
  .season-countdown {
    width: 100%;
    min-width: 0;
    text-align: center;
    margin: 2px auto 0;
    flex: 1 0 100%;
  }
  #lpChartSection .section-actions {
    width: 100%;
    justify-content: center;
  }
  .status-actions { align-items: flex-start; }
  .season-goals { grid-template-columns: 1fr; }
  .inter-controls { justify-content: flex-start; width: 100%; }
  .topbar { align-items: flex-start; flex-direction: column; }
  .status { text-align: left; }
  .grid { grid-template-columns: 1fr; }
  .analytics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .team-grid { grid-template-columns: 1fr; }
  .section-head { align-items: flex-start; flex-direction: column; }
  .summary-grid, .side-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .champion-grid, .role-grid, .item-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-runtime { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-account { grid-template-columns: 1fr 1fr; }
  .admin-account code { grid-column: 1 / -1; }
  .admin-add-account { grid-template-columns: 1fr; }
  .admin-log { grid-template-columns: 1fr; }
  .admin-log span:first-child { color: var(--muted); }
}

@media(max-width: 700px) {
  .admin-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-tab { text-align: center; }
  .admin-profile-list, .admin-subscription-list { max-height: 560px; }
  .admin-profile-summary, .admin-subscription-summary { grid-template-columns: minmax(0, 1fr) auto; }
  .admin-subscription-summary > .meta { grid-column: 1 / -1; margin-top: 0; }
  .admin-profile-summary::after, .admin-subscription-summary::after { display: none; }
}

@media(max-width: 700px) and (orientation: portrait) {
  .chart-wrap { height: 410px; padding: 0 0 10px; overflow: hidden; }
  .chart-wrap svg { width: 100%; max-width: 100%; height: 400px; }
  .chart-label { font-size: 10px; }
  .chart-date { font-size: 9px; }
  .chart-rank-label { font-size: 8.7px; }
  .chart-style-legend { gap: 9px; font-size: 0.61rem; }
  .chart-style-legend .legend-line { width: 24px; }
}

@media(max-width: 620px) {
  .analytics { grid-template-columns: 1fr; }
  .match-loadout-grid { grid-template-columns: 1fr; }
}



@media(max-width: 560px) {
  .bg-options-grid { grid-template-columns: 1fr; }
  .settings-control-field-wide { grid-column: auto; }
  .summary-editor-list, .about-grid { grid-template-columns: 1fr; }
  .about-card.wide { grid-column: auto; }
  .form-grid { grid-template-columns: 1fr; }
  .form-field.full { grid-column: auto; }
  .special-hero, .form-card { padding: 18px; }
  .side-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stats { grid-template-columns: 1fr; min-height: unset; }
  .stat { min-height: unset; }
  .links { grid-template-columns: 1fr; }
  .champion-grid, .role-grid, .item-grid, .analytics .item-grid, .inter-grid { grid-template-columns: 1fr; }
  .detail-hero { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .match-row { grid-template-columns: 40px auto minmax(0, 1fr) 20px; }
  .champion { width: 36px; height: 36px; }
  .kda { grid-column: 3; text-align: left; margin-top: -5px; }
  .chev { grid-column: 4; grid-row: 1 / 3; }
  .roles-sides-row {
    flex-direction: column;
    gap: 16px;
    padding-left: 16px;
    padding-right: 16px;
  }
  .summary-tiles-head {
    padding-left: 16px;
    padding-right: 16px;
  }
  .section-head, .history, .analytics, .champions, .roles, .sides, .summary-grid, .inter-grid {
    padding-left: 16px;
    padding-right: 16px;
  }
  .card-head, .stats, .links {
    padding-left: 17px;
    padding-right: 17px;
  }
  .profile-title { align-items: flex-start; flex-direction: column; }
  .section-actions { width: 100%; }
  .range-switch { width: 100%; }
  .range-button { flex: 1 1 calc(33.333% - 4px); text-align: center; }
  .summoner-spells img { width: 16px; height: 16px; }
  .admin-subscription-head { align-items: flex-start; flex-direction: column; gap: 2px; }
  .status-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    width: 100%;
    justify-content: flex-end;
  }
  .action-buttons-row {
    grid-column: 1 / -1;
    grid-row: 3;
    margin-top: 4px;
    width: 100%;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 6px;
  }
  #pushControls, .push-controls {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    margin: 0;
    gap: 0;
  }
  #pushToggle, .push-toggle, .push-settings-button {
    min-height: 44px;
    min-width: 0;
    height: 44px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 auto;
    width: 100%;
    white-space: nowrap;
  }
  #gearControls, .gear-controls {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    margin-left: 0;
  }
  #gearButton, .gear-button {
    min-width: 44px;
    min-height: 44px;
    width: 44px;
    height: 44px;
    flex: 0 0 auto;
    margin: 0;
  }
}

@media (max-width: 640px) {
  .ai-floating-container {
    bottom: 18px;
    right: 18px;
  }
  .ai-widget-panel {
    position: fixed;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    z-index: 99999 !important;
    border-radius: 0 !important;
    border: none !important;
  }
}

/* Ukryj pływający asystent AI na stronach specjalnych */
body.is-special .ai-floating-container,
body.is-special #aiFloatingWidget,
body.is-special .ai-bubble-btn {
  display: none !important;
}

@media (max-width: 768px) {
  body.layout-customizing .section-edit-handle .btn-panel-size { display: none; }
  #layoutEditBar {
    width: min(390px, calc(100vw - 24px));
    max-width: 390px;
    box-sizing: border-box;
    bottom: 12px;
    padding: 10px 12px;
    border-radius: 10px;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
  }
  #layoutEditBar .layout-edit-bar-title { flex: 1 0 100%; text-align: center; margin: 0; }
  #layoutEditBar .layout-edit-btn { min-width: 0; white-space: normal; }
}
