/* TASK-042 — responsive del shell y componentes canónicos. */

@media (max-width: 1279px) {
  :root { --hp-sidebar-width: 13.5rem; }
  .hp-sidebar { padding-inline: var(--hp-space-3); }
  .hp-brand { margin-inline: var(--hp-space-2); }
  .hp-workspace { padding-inline: var(--hp-space-5); }
  .hp-opportunity-table th:nth-child(7), .hp-opportunity-table td:nth-child(7) { display: none; }
  .hp-account-360-grid { grid-template-columns: 1fr 1fr; }
  .hp-account-360-grid > section:last-child { grid-column: 1 / -1; }
  .hp-capability-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  body.hp-app { padding-top: 4rem; }
  .hp-sidebar { display: none; }
  .hp-sidebar-reopen { display: none !important; }
  .hp-mobile-header {
    position: fixed;
    z-index: 80;
    inset: 0 0 auto;
    display: grid;
    grid-template-columns: 2.75rem 1fr 2.75rem;
    align-items: center;
    min-height: 4rem;
    padding: 0 var(--hp-space-4);
    border-bottom: 1px solid var(--hp-border);
    background: var(--hp-surface-translucent);
  }
  .hp-mobile-brand { justify-self: center; gap: var(--hp-space-2); }
  .hp-mobile-brand .hp-brand-mark { width: 2rem; height: 2rem; }
  .hp-mobile-brand strong { font-size: 1.05rem; }
  .hp-mobile-hunter {
    display: grid;
    place-items: center;
    width: 2.5rem;
    height: 2.5rem;
    justify-self: end;
    border-radius: var(--hp-radius-md);
    color: var(--hp-primary);
  }
  .hp-mobile-menu { position: relative; margin: 0; }
  .hp-mobile-menu > summary {
    display: grid;
    place-items: center;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    list-style: none;
    cursor: pointer;
    color: var(--hp-text);
  }
  .hp-mobile-menu > summary::after { display: none; }
  .hp-mobile-menu > nav {
    position: fixed;
    z-index: 90;
    inset: 4rem auto 0 0;
    display: grid;
    align-content: start;
    width: min(20rem, 88vw);
    padding: var(--hp-space-5);
    border-right: 1px solid var(--hp-border);
    background: var(--hp-surface);
    box-shadow: var(--hp-shadow-overlay);
  }
  .hp-mobile-menu > nav > a,
  .hp-mobile-add > summary {
    display: block;
    margin: 0;
    padding: var(--hp-space-3);
    border-radius: var(--hp-radius-md);
    color: var(--hp-text);
    text-decoration: none;
  }
  .hp-mobile-menu > nav > a[aria-current="page"] { background: var(--hp-primary-soft); color: var(--hp-primary); font-weight: 700; }
  .hp-mobile-menu > nav .hp-hunter-cta { margin-bottom: var(--hp-space-4); color: var(--hp-on-primary); }
  .hp-mobile-add { margin: 0; }
  .hp-mobile-add > summary { list-style: none; cursor: pointer; }
  .hp-workspace { width: 100%; min-height: calc(100vh - 4rem); margin: 0; padding: var(--hp-space-5); }
  .hp-inspector { width: 100vw; max-width: 100vw; }
  .hp-detail-grid { grid-template-columns: 1fr; }
  .hp-critical-summary { grid-template-columns: 1fr 1fr; }
  .hp-tender-timeline { grid-template-columns: repeat(3, 1fr); gap: var(--hp-space-3); }
  .hp-tender-timeline li { border: 1px solid var(--hp-border); border-top-width: 2px; border-radius: var(--hp-radius-md); padding: var(--hp-space-4); }
  .hp-tender-timeline li::before { display: none; }
  .hp-tender-timeline li.is-critical { margin: 0; }
  .hp-inline-research { grid-template-columns: 1fr 1fr; }
  .hp-inline-research button { grid-column: 1 / -1; }
  .hp-account-360-grid { grid-template-columns: 1fr; }
  .hp-account-360-grid > section:last-child { grid-column: auto; }
  .research-counts, .access-gap-checklist { grid-template-columns: 1fr; }
  .decision-summary-grid { grid-template-columns: 1fr; }
  .decision-context dl { grid-template-columns: 1fr; }
  .hp-form-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .hp-workspace { padding: var(--hp-space-5) var(--hp-space-4) 5rem; }
  .hp-app h1 { font-size: 1.65rem; }
  .hp-app h2 { font-size: 1.18rem; }
  .page-intro p:last-child { font-size: .82rem; }
  .quick-add-popover { inset: auto var(--hp-space-2) var(--hp-space-2); width: auto; max-height: calc(100vh - 5rem); transform: none; }
  .home-count { display: none; }
  .home-footer-actions { flex-direction: column; }
  .flow-stages { margin-inline: calc(var(--hp-space-4) * -1); padding-inline: var(--hp-space-4); }
  .hp-list-heading { align-items: flex-start; }
  .hp-filter-bar { grid-template-columns: 1fr; }
  .hp-filter-bar .advanced-filters { grid-column: 1; }
  .hp-table-shell { overflow: visible; }
  .hp-data-table thead { display: none; }
  .hp-data-table, .hp-data-table tbody { display: grid; }
  .hp-data-table tbody { gap: var(--hp-space-3); padding: var(--hp-space-3); }
  .hp-data-table tr.flow-card { display: grid; grid-template-columns: 1fr 1fr; gap: var(--hp-space-2) var(--hp-space-4); padding: var(--hp-space-4); border: 1px solid var(--hp-border); border-left: .2rem solid var(--hp-info); border-radius: var(--hp-radius-md); background: var(--hp-surface); }
  .hp-data-table tr.flow-card.is-selected { border-color: var(--hp-primary); background: var(--hp-primary-soft); }
  .hp-data-table tr.flow-card td { display: grid; grid-template-columns: minmax(5.5rem, .7fr) 1fr; min-height: auto; padding: .18rem 0; border: 0; background: transparent; }
  .hp-data-table tr.flow-card .hp-opportunity-cell { grid-column: 1 / -1; display: block; padding-bottom: var(--hp-space-2); border-bottom: 1px solid var(--hp-border); }
  .hp-data-table tr.flow-card td::before { content: attr(data-label); color: var(--hp-text-muted); font-size: .62rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
  .hp-data-table tr.flow-card .hp-opportunity-cell::before, .hp-data-table tr.flow-card .hp-row-action::before { display: none; }
  .hp-data-table tr.flow-card .hp-row-sequence { width: auto; text-align: left; }
  .hp-data-table tr.flow-card .hp-row-action { grid-column: 1 / -1; display: block; width: auto; padding-top: var(--hp-space-2); text-align: right; }
  .hp-opportunity-table th:nth-child(7), .hp-opportunity-table td:nth-child(7) { display: grid; }
  .hp-inspector { padding: var(--hp-space-4); }
  .intelligence-contract { grid-template-columns: 1fr; }
  .next-action { align-items: flex-start; flex-direction: column; }
  .next-action .decision-actions { flex-wrap: wrap; width: 100%; }
  .next-action .decision-actions > * { flex: 0 0 auto; }
  .hp-record-header, .hp-source-summary, .hp-evidence-list li { align-items: flex-start; flex-direction: column; }
  .hp-record-header .detail-action-bar { width: 100%; }
  .hp-evidence-list li > div:first-child { width: 100%; }
  .hp-document-card .hp-document-meta { gap: .35rem var(--hp-space-2); }
  .hp-document-title { font-size: .9rem; }
  .hp-record-header .detail-action-bar > * { flex: 1 1 auto; }
  .hp-tender-timeline { grid-template-columns: 1fr; }
  .hp-inline-research, .hp-critical-summary { grid-template-columns: 1fr; }
  .hp-commercial-grid { grid-template-columns: 1fr; }
  .hp-account-toolbar { grid-template-columns: 1fr; }
  .hp-account-table { display: grid; }
  .hp-account-table thead { display: none; }
  .hp-account-table tbody { display: grid; gap: var(--hp-space-3); padding: var(--hp-space-3); }
  .hp-account-table tr.account-card { display: grid; grid-template-columns: 1fr 1fr; gap: var(--hp-space-2) var(--hp-space-4); padding: var(--hp-space-4); border: 1px solid var(--hp-border); border-radius: var(--hp-radius-md); }
  .hp-account-table tr.account-card td { display: grid; grid-template-columns: 7rem 1fr; min-height: auto; padding: .18rem 0; border: 0; }
  .hp-account-table tr.account-card td:first-child, .hp-account-table tr.account-card td:nth-child(6), .hp-account-table tr.account-card td:last-child { grid-column: 1 / -1; }
  .hp-account-table tr.account-card td:first-child { display: block; padding-bottom: var(--hp-space-2); border-bottom: 1px solid var(--hp-border); }
  .hp-account-table tr.account-card td::before { content: attr(data-label); color: var(--hp-text-muted); font-size: .62rem; font-weight: 700; text-transform: uppercase; }
  .hp-account-table tr.account-card td:first-child::before, .hp-account-table tr.account-card td:last-child::before { display: none; }
  .hp-account-table tr.account-card td:nth-child(6) { min-width: 0; padding-top: var(--hp-space-3); }
  .hp-next-move-actions { align-items: stretch; flex-direction: column; width: 100%; }
  .section-heading, .hp-source-toolbar { align-items: flex-start; flex-direction: column; }
  .hp-search-bar { grid-template-columns: 1fr; }
  .hp-person-table, .hp-source-table { display: grid; }
  .hp-person-table thead, .hp-source-table thead { display: none; }
  .hp-person-table tbody, .hp-source-table tbody { display: grid; gap: var(--hp-space-3); padding: var(--hp-space-3); }
  .hp-person-table tr, .hp-source-table tr { display: grid; gap: var(--hp-space-2); padding: var(--hp-space-4); border: 1px solid var(--hp-border); border-radius: var(--hp-radius-md); }
  .hp-person-table td, .hp-source-table td { display: grid; grid-template-columns: 7rem 1fr; min-height: auto; height: auto; padding: .2rem 0; border: 0; }
  .hp-person-table td::before, .hp-source-table td::before { content: attr(data-label); color: var(--hp-text-muted); font-size: .62rem; font-weight: 700; text-transform: uppercase; }
  .hp-person-table td:first-child, .hp-source-table td:first-child { display: block; padding-bottom: var(--hp-space-2); border-bottom: 1px solid var(--hp-border); }
  .hp-person-table td:first-child::before, .hp-source-table td:first-child::before { display: none; }
  .research-key-findings li { grid-template-columns: 1fr; }
  .hp-form-workspace { padding-top: var(--hp-space-5); }
  .hp-form-grid-2, .hp-form-grid-3 { grid-template-columns: 1fr; }
  .hp-form-card { padding: var(--hp-space-4); }
  .hp-form-card > header { align-items: flex-start; flex-direction: column; gap: var(--hp-space-1); }
  .hp-form-disclosure > summary { padding: var(--hp-space-4); }
  .hp-form-disclosure-body { padding: var(--hp-space-4); }
  .hp-form-actions { align-items: stretch; }
}

@media (max-width: 430px) {
  .hp-mobile-header { padding-inline: var(--hp-space-3); }
  .hp-workspace { padding-inline: var(--hp-space-3); }
  .hp-app :where(button, [role="button"], input[type="submit"]) { width: 100%; }
  .hp-data-table tr.flow-card { grid-template-columns: 1fr; }
  .hp-data-table tr.flow-card td { grid-template-columns: 6rem 1fr; }
  .hp-inspector-critical, .hp-compact-dl { grid-template-columns: 1fr; }
  .account-summary { justify-content: flex-start; width: 100%; overflow-x: auto; }
  .hp-account-kpis { flex-direction: column; }
  .hp-account-kpis > div { padding: 0 0 var(--hp-space-2); border-right: 0; border-bottom: 1px solid var(--hp-border); }
  .hp-account-table tr.account-card { grid-template-columns: 1fr; }
  .hp-account-table tr.account-card td { grid-template-columns: 7rem 1fr; }
  .hp-capability-grid { grid-template-columns: 1fr; }
  .hp-form-actions, .hp-form-actions > div { align-items: stretch; flex-direction: column; }
  .hp-form-actions .hp-danger-link { width: auto; text-align: center; }
  .hp-danger-zone form, .hp-danger-button { width: 100%; }
}
