.mobile-filter-panel > summary { display: none; }
@media (max-width: 700px) {
    html { scroll-padding-top: 16px; }
    .main-shell { min-width: 0; border-radius: 0; }
    .main-shell > main { padding: 16px 12px; }
    .main-shell .page-heading { margin-bottom: 14px; gap: 10px; }
    .main-shell .page-heading h1 { font-size: 22px; line-height: 1.25; letter-spacing: -.5px; }
    .main-shell .page-heading p { margin-top: 6px; font-size: 12px; line-height: 1.5; }
    .main-shell .heading-actions { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; }
    .main-shell .heading-actions > * { max-width: 100%; }
    .main-shell .button { min-height: 44px; white-space: normal; text-align: center; }
    .main-shell input:not([type=checkbox]):not([type=radio]),
    .main-shell select, .main-shell textarea { min-width: 0; max-width: 100%; font-size: 16px; box-sizing: border-box; }
    .main-shell input:not([type=checkbox]):not([type=radio]), .main-shell select { min-height: 44px; }
    .main-shell label { min-width: 0; }
    .main-shell .panel-heading, .main-shell .section-title { flex-wrap: wrap; gap: 10px; }
    .main-shell .panel-heading { padding: 16px; }
    .main-shell .panel, .main-shell .form-panel, .main-shell .detail-panel { min-width: 0; max-width: 100%; }
    .main-shell .form-panel, .main-shell .detail-panel { padding: 16px; }
    .main-shell .field-grid, .main-shell .detail-layout, .main-shell .detail-grid,
    .main-shell .registration-workspace, .main-shell .registration-form,
    .main-shell .review-readiness-list, .main-shell .map-layout { grid-template-columns: minmax(0, 1fr); }
    .main-shell .field-grid > *, .main-shell .detail-grid > * { min-width: 0; grid-column: auto; }
    .main-shell .sticky, .main-shell .decision-panel { position: static; }
    .main-shell .tender-form { padding: 0; }
    .main-shell .selection-tabs, .main-shell .stage-navigation,
    .main-shell .interest-category-tabs, .main-shell .cw-tabs, .main-shell .detail-shortcuts {
        display: flex; flex-wrap: nowrap; gap: 6px; max-width: 100%; overflow-x: auto;
        padding: 8px; margin-bottom: 12px; scrollbar-width: thin; overscroll-behavior-x: contain;
    }
    .main-shell .selection-tabs > *, .main-shell .interest-category-tabs > *,
    .main-shell .cw-tabs > *, .main-shell .detail-shortcuts > * { flex: 0 0 auto; }
    .main-shell .selection-tabs a { display: flex; align-items: center; min-height: 44px; white-space: nowrap; }
    .main-shell .selection-step-separator { display: none; }
    .main-shell .compact-summary { padding: 10px 14px; margin-bottom: 12px; }
    .main-shell .mobile-filter-panel { border: 1px solid #dce5ef; border-radius: 12px; margin-bottom: 12px; background: #fff; }
    .main-shell .mobile-filter-panel > summary { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 12px; min-height: 48px; padding: 10px 14px; cursor: pointer; font-weight: 650; color: #01213e; }
    .main-shell .mobile-filter-panel > summary::after { content: '+'; margin-left: auto; font-size: 20px; color: #0066f9; }
    .main-shell .mobile-filter-panel[open] > summary::after { content: '−'; }
    .main-shell .mobile-filter-panel > summary span { color: #617892; font-size: 11px; font-weight: 400; }
    .main-shell .mobile-filter-panel .filter-panel { margin: 0; padding: 12px; border: 0; box-shadow: none; }
    .main-shell .filter-primary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .main-shell .filter-search, .main-shell .sort-control { grid-column: 1 / -1; }
    .main-shell .advanced-filter-grid { grid-template-columns: minmax(0, 1fr); }
    .main-shell .match-filter-body { width: min(280px, calc(100vw - 64px)); max-width: calc(100vw - 64px); }
    .main-shell .review-toolbar { padding: 10px; gap: 10px; }
    .main-shell .review-toolbar-actions { display: flex; gap: 8px; }
    .main-shell .review-toolbar-actions > * { flex: 1 1 0; }
    .main-shell .view-switch-options { width: auto; }
    .main-shell .tender-card-grid { padding: 0; gap: 12px; }
    .main-shell .tender-card { padding: 14px; }
    .main-shell .tender-card-title { font-size: 16px; line-height: 1.4; }
    .main-shell .table-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
    .main-shell .table-footer, .main-shell .pagination, .main-shell .registration-save,
    .main-shell .hero-actions, .main-shell .document-actions { display: flex; flex-wrap: wrap; gap: 10px; }
    .main-shell .table-footer { padding: 14px; }
    .main-shell .registration-save { position: static; }
    .main-shell .registration-save > div { width: 100%; flex-wrap: wrap; }
    .main-shell .record-project-title { font-size: 20px; line-height: 1.4; }
    .main-shell .record-heading, .main-shell .opportunity-hero-top, .main-shell .group-tools { flex-wrap: wrap; gap: 10px; }
    .main-shell .attachment, .main-shell .task-file-record, .main-shell .group-member { flex-wrap: wrap; min-width: 0; overflow-wrap: anywhere; }
    .main-shell .prose, .main-shell .comment-content, .main-shell .history-values { overflow-wrap: anywhere; }
    .main-shell .json-example, .main-shell pre { max-width: 100%; overflow-x: auto; }
    .main-shell .import-method-body, .main-shell .import-destination { padding: 14px; }
    .main-shell .import-steps { flex-wrap: wrap; gap: 8px; }
    .main-shell .map-canvas { min-height: 300px; height: 50dvh; }
    .main-shell .map-controls { flex-wrap: wrap; }
    .main-shell .partners-heading, .main-shell .partners-toolbar, .main-shell .partners-filters { flex-wrap: wrap; gap: 12px; }
    .main-shell .partners-filters, .main-shell .partners-filters label, .main-shell .partners-filters input { width: 100%; }
    .main-shell .permission-layout, .main-shell .permission-options, .main-shell .permission-email-form { grid-template-columns: minmax(0, 1fr); }
    .main-shell .permission-savebar { position: static; flex-wrap: wrap; gap: 10px; }
    .main-shell .workspace-column-row { display: flex; flex-wrap: wrap; gap: 10px; padding: 12px; }
    .main-shell .workspace-column-row input { flex: 1 1 160px; }
    .main-shell .workspace-row-actions { display: flex; flex-wrap: wrap; gap: 6px; }
    .main-shell .ai-provider-switch { gap: 8px; }
    .main-shell [data-ai-provider] { padding: 14px; }
    .main-shell .cw-heading, .main-shell .cw-board-toolbar, .main-shell .cw-task-filters { flex-wrap: wrap; gap: 10px; }
    .main-shell .cw-heading h1 { font-size: 22px; overflow-wrap: anywhere; }
    .main-shell .cw-form, .main-shell .cw-review-grid, .main-shell .cw-task-filter-fields { grid-template-columns: minmax(0, 1fr); }
    .main-shell .cw-form > * { min-width: 0; grid-column: auto; }
    .main-shell .cw-panel { padding: 14px; min-width: 0; }
    .main-shell .cw-board, .main-shell .cw-task-board { max-width: 100%; overflow-x: auto; grid-auto-columns: minmax(260px, 85vw); overscroll-behavior-x: contain; scroll-snap-type: x proximity; }
    .main-shell .cw-column { scroll-snap-align: start; }
    .main-shell .cw-calendar-scroll { max-width: 100%; overflow-x: auto; }
    dialog:not(.quick-review-dialog) { box-sizing: border-box; width: calc(100vw - 24px); max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); padding: 16px; overflow-y: auto; }
    dialog input:not([type=checkbox]):not([type=radio]), dialog textarea, dialog select { max-width: 100%; font-size: 16px; }
    dialog .field-grid, dialog .cw-form { grid-template-columns: minmax(0, 1fr); }
    .access-page.access-redesign { padding: 16px; }
    .access-page .access-layout { display: block; min-width: 0; width: 100%; }
    .access-page .access-intro { display: none; }
    .access-page .access-card { width: 100%; min-width: 0; padding: 24px 18px; }
    .access-page input { width: 100%; min-height: 44px; font-size: 16px; }
    .access-page .button { min-height: 44px; width: 100%; }
    .main-shell > footer { padding-bottom: max(16px, env(safe-area-inset-bottom)); }
}
@media (max-width: 380px) {
    .main-shell .filter-primary { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 700px) {
    .main-shell .tender-list { overflow: visible; border: 0; background: transparent; }
    .main-shell .tender-list table, .main-shell .tender-list tbody { display: block; width: 100%; min-width: 0; }
    .main-shell .tender-list thead { display: block; margin-bottom: 10px; }
    .main-shell .tender-list thead tr { display: flex; overflow-x: auto; gap: 6px; padding: 4px 0; }
    .main-shell .tender-list thead th { flex: 0 0 auto; width: auto; padding: 4px 10px; border: 1px solid #dce5ef; border-radius: 8px; }
    .main-shell .tender-list thead th[aria-label="Seleccionar"], .main-shell .tender-list thead th:last-child { display: none; }
    .main-shell .tender-list .column-sort { min-height: 36px; font-size: 11px; white-space: nowrap; }
    .main-shell .tender-list .tender-list-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; padding: 14px; border: 1px solid #dce5ef; border-radius: 12px; background: white; }
    .main-shell .tender-list tbody .tender-list-row td { display: block; width: auto; min-width: 0; max-width: none; padding: 0!important; border: 0; }
    .main-shell .tender-list .row-select, .main-shell .tender-list .title-cell, .main-shell .tender-list .list-budget, .main-shell .tender-list .inline-actions { grid-column: 1 / -1; }
    .main-shell .tender-list .row-select { text-align: left; }
    .main-shell .tender-list .row-select input { width: 22px; height: 22px; margin: 4px; }
    .main-shell .tender-list .list-match-score { font-size: 12px; }
    .main-shell .tender-list .list-match small { margin-bottom: 0; }
    .main-shell .tender-list .date-cell::before { content: 'Presentación'; display: block; margin-bottom: 4px; color: #617892; font-size: 10px; }
    .main-shell .tender-list .inline-actions { border-top: 1px solid #dce5ef; padding-top: 10px!important; }
    .main-shell .tender-list .list-budget > strong { font-size: 16px; }
}

@media (max-width: 700px) {
    .main-shell .review-toolbar .view-switch-options { display: none; }
    .main-shell .review-toolbar { display: grid; grid-template-columns: minmax(0, 1fr); align-items: stretch; gap: 8px; padding: 0 0 12px; }
    .main-shell .review-toolbar .toolbar-select-all { min-height: 44px; margin: 0; }
    .main-shell .review-toolbar .review-toolbar-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: 8px; margin: 0; }
    .main-shell .review-toolbar-actions .button { width: 100%; min-width: 0; height: 44px; margin: 0; padding: 8px; font-size: 12px; }
    .main-shell .review-toolbar-actions .button:only-child { grid-column: 1 / -1; }
    .main-shell .selection-tabs { scrollbar-width: none; }
    .main-shell .selection-tabs::-webkit-scrollbar { display: none; }
}

.mobile-stage-menu { display: none; }
@media (max-width: 700px) {
    .main-shell .selection-tabs.stage-navigation { display: none; }
    .main-shell .mobile-stage-menu { display: block; margin: 0 0 12px; border: 1px solid #dce5ef; border-radius: 12px; background: #fff; }
    .mobile-stage-menu > summary { display: flex; align-items: center; gap: 10px; padding: 12px 14px; min-height: 64px; cursor: pointer; list-style: none; }
    .mobile-stage-menu > summary::-webkit-details-marker { display: none; }
    .mobile-stage-menu > summary > span:first-child { flex: 1; min-width: 0; }
    .mobile-stage-menu small { display: block; margin-bottom: 3px; color: #617892; font-size: 10px; }
    .mobile-stage-menu strong { display: block; color: #01213e; font-size: 13px; line-height: 1.4; overflow-wrap: anywhere; }
    .mobile-stage-menu b { flex-shrink: 0; padding: 3px 7px; border-radius: 6px; background: #edf4ff; color: #0066f9; font-size: 12px; }
    .mobile-stage-menu .stage-menu-chevron { color: #0066f9; font-size: 20px; }
    .mobile-stage-menu[open] .stage-menu-chevron { transform: rotate(180deg); }
    .mobile-stage-menu nav { display: grid; gap: 4px; padding: 6px; border-top: 1px solid #e5edf5; }
    .mobile-stage-menu nav a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding: 10px; border-radius: 8px; color: #365773; font-size: 13px; line-height: 1.4; }
    .mobile-stage-menu nav a[aria-current="page"] { color: #0054cc; background: #edf4ff; font-weight: 650; }
    .mobile-stage-menu nav a:hover { background: #f3f7fc; }
    .mobile-stage-menu summary:focus-visible { outline: 2px solid #0066f9; outline-offset: 2px; border-radius: 12px; }
}
