@media (max-width: 1180px) {
    :root { --sidebar-width: 274px; }
    .admin-header { padding-inline: 24px; }
    .admin-main { padding-inline: 24px; }
    .catalog-filters, .users-filters, .roles-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 920px) {
    body.admin-page { overflow-x: hidden; }
    .admin-sidebar {
        width: min(286px, calc(100vw - 46px));
        min-width: 0;
        transform: translateX(-102%);
        transition: transform .24s ease;
    }
    .admin-shell.is-sidebar-open .admin-sidebar { transform: translateX(0); }
    .admin-sidebar__close { display: grid; place-items: center; }
    .admin-sidebar__backdrop {
        position: fixed;
        inset: 0;
        z-index: 70;
        display: block;
        width: 100%;
        height: 100%;
        padding: 0;
        visibility: hidden;
        opacity: 0;
        background: rgba(15,23,42,.48);
        border: 0;
        transition: opacity .2s ease, visibility .2s ease;
    }
    .admin-shell.is-sidebar-open .admin-sidebar__backdrop { visibility: visible; opacity: 1; }
    .admin-workspace { margin-left: 0; }
    .sidebar-toggle { display: grid; }
    .admin-header__logo { display: block; }
    .admin-header { min-height: 70px; padding-inline: 18px; }
    .admin-main { padding: 22px 18px 36px; }
    .profile-grid { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
    .admin-header__title span { display: none; }
    .admin-header__title strong { font-size: 1.12rem; }
    .admin-profile-link span, .button--logout span { display: none; }
    .admin-profile-link, .button--logout { width: 40px; min-width: 40px; height: 40px; padding: 0; justify-content: center; }
    .page-heading, .catalog-header, .users-header, .roles-header, .dashboard-hero { flex-direction: column; }
    .dashboard-hero { padding: 22px; }
    .dashboard-hero__access { width: 100%; }
    .dashboard-status__grid, .catalog-summary-grid, .roles-summary-card__facts, .users-summary-card__facts { grid-template-columns: 1fr; }
    .form-grid, .catalog-form-grid, .users-form-grid, .roles-form-grid { grid-template-columns: 1fr; }
    .catalog-field--wide, .roles-field--wide, .form-span, .catalog-field--full, .users-field--full { grid-column: auto; }
    .catalog-filters, .catalog-filters--three, .users-filters, .roles-filters { grid-template-columns: 1fr; }
    .catalog-actions, .users-filters__actions, .roles-filters__actions { align-items: stretch; flex-wrap: wrap; }
    .catalog-actions > *, .users-filters__actions > *, .roles-filters__actions > * { flex: 1 1 140px; }
    .session-item { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 480px) {
    .admin-header { padding-inline: 12px; gap: 8px; }
    .admin-header__leading, .admin-header__actions { gap: 8px; }
    .admin-header__logo { height: 36px; }
    .admin-header__title { max-width: 120px; }
    .admin-main { padding: 18px 12px 30px; }
    .panel, .users-form-card, .users-table-card, .catalog-protected-panel, .roles-protected-panel, .dashboard-status, .dashboard-readiness { border-radius: 13px; }
    .panel { padding: 17px; }
    th, td { padding: 11px 12px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@media (max-width: 720px) {
    .session-timeout__dialog { grid-template-columns: 1fr; padding: 22px; }
    .session-timeout__actions, .session-timeout__status { grid-column: auto; }
    .session-timeout__actions, .session-timeout__actions form, .session-timeout__actions .button { width: 100%; }
}


/* YONDAPIZ 15UI.1 — RESPUESTA MAESTRA */
@media (max-width: 1180px) {
  :root { --ui-sidebar: 252px; }
  .admin-sidebar { width: var(--ui-sidebar); min-width: var(--ui-sidebar); }
  .admin-workspace { margin-left: var(--ui-sidebar); }
}

@media (max-width: 920px) {
  :root { --ui-sidebar: 286px; }
  .admin-workspace { margin-left: 0; }
  .admin-main > * { max-width: 100%; }
  .admin-sidebar__top { min-height: 118px; }
  .admin-brand__logo { height: 78px; }
}

@media (max-width: 720px) {
  .admin-main { padding: 18px 14px 30px; }
  .page-heading h1, .catalog-header h1, .users-header h1, .roles-header h1 { font-size: 1.75rem; }
  .panel, .content-card, .users-form-card, .users-table-card, .catalog-protected-panel, .roles-protected-panel { padding: 15px; border-radius: 13px; }
  .dashboard-grid, .dashboard-grid--metrics { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .metric-card { min-height: 100px; }
  .form-grid, .catalog-form-grid, .users-form-grid, .roles-form-grid { grid-template-columns: 1fr; }
  .table-shell, .catalog-table-region, .users-table-region, .roles-table-region { margin-inline: -2px; width: calc(100% + 4px); }
}

@media (max-width: 480px) {
  .dashboard-grid, .dashboard-grid--metrics { grid-template-columns: 1fr; }
  .admin-header__actions { flex-shrink: 0; }
  .admin-main { padding-inline: 10px; }
  .button, .catalog-primary-action, .catalog-secondary-action { min-height: 39px; }
}

@media (min-resolution: 1.5dppx) {
  .admin-brand__logo, .admin-header__logo { image-rendering: auto; }
}
