@media (max-width: 1120px) {
  .summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .workspace { grid-template-columns: 1fr; }
  .contracts-list { max-height: none; }
  .overview-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  body { background: var(--bg); }
  .login-view { padding: 1rem; }
  .login-card { border-radius: 24px; }
  .topbar {
    align-items: flex-start;
    flex-direction: column;
    padding: .9rem 1rem;
    position: static;
  }
  .topbar-actions { justify-content: flex-start; width: 100%; }
  .topbar-actions .btn { flex: 1; }
  .app-shell { padding: .8rem .8rem 1.25rem; }
  .summary-grid { gap: .65rem; grid-template-columns: 1fr 1fr; }
  .metric-card { border-radius: 16px; padding: .78rem; }
  .metric-card span, .metric-card small { font-size: .72rem; }
  .metric-card strong { font-size: 1.18rem; }
  .panel { border-radius: 18px; }
  .contracts-panel, .detail-panel, .overview-panel, .kanban-panel { padding: .8rem; }
  .panel-header, .section-header, .detail-hero { align-items: stretch; flex-direction: column; }
  .detail-actions { display: grid; grid-template-columns: 1fr 1fr; justify-content: stretch; }
  .detail-actions .btn:first-child { grid-column: 1 / -1; }
  .filter-row { grid-template-columns: 1fr; }
  .meta-grid { grid-template-columns: 1fr 1fr; }
  .finance-strip { grid-template-columns: 1fr; }
  .two-col-section { grid-template-columns: 1fr; }
  .empty-state { min-height: 260px; padding: 1rem; }
  .grid-form { grid-template-columns: 1fr; }
  .grid-form .span-2 { grid-column: auto; }
  .form-actions { flex-direction: column-reverse; }
  .form-actions .btn { width: 100%; }
  .modal { align-items: end; padding: 0; }
  .modal-card {
    border-radius: 24px 24px 0 0;
    max-height: 92vh;
  }

  .table-wrap { overflow: visible; }
  .data-table { min-width: 0; }
  .responsive-table thead { display: none; }
  .responsive-table, .responsive-table tbody, .responsive-table tr, .responsive-table td { display: block; width: 100%; }
  .responsive-table tr {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
    margin-bottom: .62rem;
    padding: .62rem;
  }
  .responsive-table td {
    border: 0;
    display: grid;
    gap: .25rem;
    grid-template-columns: minmax(110px, .45fr) 1fr;
    padding: .34rem .1rem;
  }
  .responsive-table td::before {
    color: var(--muted);
    content: attr(data-label);
    font-size: .72rem;
    font-weight: 850;
    text-transform: uppercase;
  }

  .kanban-header { align-items: stretch; }
  .kanban-actions { align-items: stretch; flex-direction: column; min-width: 0; width: 100%; }
  .kanban-actions select, .kanban-actions .btn { min-width: 0; width: 100%; }
  .kanban-board {
    grid-template-columns: 1fr;
    overflow-x: visible;
  }
  .kanban-column { min-height: auto; }
  .task-card-top { flex-direction: column; }
  .task-status-select { max-width: none; width: 100%; }
  .task-actions { display: grid; grid-template-columns: 1fr 1fr; }

}

@media (max-width: 420px) {
  .summary-grid { grid-template-columns: 1fr; }
  .meta-grid { grid-template-columns: 1fr; }
  .detail-actions { grid-template-columns: 1fr; }
}
