.policy-overview-stats > .stats {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.policy-print-customer {
  display: none;
}

.installment-summary {
  padding: 14px 18px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  border-top: 1px solid var(--line);
  background: #fafbfc;
}

.installment-total {
  min-width: 0;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
}

.installment-total.featured {
  border-right: 4px solid var(--primary);
}

.installment-total span {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 11px;
}

.installment-total strong {
  display: block;
  font-size: 19px;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.policy-filters {
  padding: 16px 18px;
  border-bottom: 1px solid var(--line);
  background: #fafbfc;
}

.filter-search-main {
  display: flex;
  align-items: end;
  gap: 10px;
}

.filter-search-actions {
  display: flex;
  gap: 8px;
}

.filter-control {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.filter-control.grow {
  flex: 1;
}

.filter-control > span {
  color: #344054;
  font-size: 11px;
}

.filter-grid {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(5, minmax(120px, 1fr)) auto;
  align-items: end;
  gap: 10px;
}

.filter-export {
  display: flex;
}

@media (max-width: 720px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  .page-heading .actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-heading .actions > * {
    width: 100%;
    min-width: 0;
    padding-inline: 8px;
  }

  .policy-overview-stats > .stats,
  .installment-summary {
    grid-template-columns: 1fr;
  }

  .installment-summary {
    padding: 12px;
  }

  .policy-filters {
    padding: 12px;
  }

  .filter-search-main,
  .filter-search-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .filter-search-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .filter-grid {
    grid-template-columns: 1fr;
  }

  .filter-export > button {
    width: 100%;
  }
}

@media print {
  html,
  body,
  body.policy-print .shell,
  body.policy-print .content {
    min-height: 0 !important;
    height: auto !important;
  }

  body.policy-print .content > * {
    display: none !important;
  }

  body.policy-print .content > .print-heading,
  body.policy-print .content > .policy-print-sheet {
    display: block !important;
  }

  body.policy-print .print-heading {
    margin-bottom: 2.5mm;
    padding-bottom: 2mm;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 4mm;
    border-bottom: 1px solid #cfd7e3;
  }

  body.policy-print .print-heading p {
    margin: 0;
    line-height: 1.4;
  }

  body.policy-print .print-heading h1 {
    margin: 0;
    font-size: 16px;
    line-height: 1.3;
  }

  body.policy-print .print-heading small {
    font-size: 8px;
  }

  body.policy-print .print-heading img {
    max-width: 14mm;
    max-height: 14mm;
  }

  body.policy-print .policy-print-customer {
    margin-bottom: 2mm;
    padding: 1.5mm 3mm;
    display: flex !important;
    align-items: center;
    gap: 4mm;
    border: 1px solid #cfd7e3;
    break-after: avoid;
    page-break-after: avoid;
  }

  body.policy-print .policy-print-customer span {
    color: #667085;
    font-size: 10px;
  }

  body.policy-print .policy-print-customer strong {
    font-size: 13px;
  }

  body.policy-print .policy-print-sheet,
  body.policy-print .policy-print-sheet .panel {
    margin: 0;
    overflow: visible;
  }

  body.policy-print .policy-print-sheet .panel-head {
    min-height: 0;
    padding: 1.5mm 3mm;
    background: #f4f7fb;
    break-after: avoid;
    page-break-after: avoid;
  }

  body.policy-print .policy-print-sheet .panel-head h2 {
    font-size: 11px;
  }

  body.policy-print .policy-installments-table {
    table-layout: fixed;
    white-space: normal;
  }

  body.policy-print .policy-installments-table th,
  body.policy-print .policy-installments-table td {
    padding: 1.15mm 1.2mm;
    font-size: 8px;
    overflow-wrap: anywhere;
  }

  body.policy-print .policy-installments-table th {
    color: #26364f;
    background: #edf2f8;
  }

  body.policy-print .policy-installments-table tbody tr:nth-child(even) {
    background: #f8fafc;
  }

  body.policy-print .policy-installments-table tr {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  body.policy-print .installment-summary {
    padding: 1.5mm 0 0;
    grid-template-columns: repeat(2, 1fr);
    gap: 4mm;
    border-top: 1px solid #cfd7e3;
    background: #fff;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  body.policy-print .installment-total {
    padding: 1.5mm 3mm;
    border-radius: 0;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  body.policy-print .installment-total strong {
    font-size: 12px;
  }
}
