body { font-family: Arial, Helvetica, sans-serif; }
nav .brand-logo { font-size: 1.4rem; }
.app-card { border-radius: 18px; }
.compact-row { margin-bottom: 0; }
.no-bottom { margin-bottom: 0; }
.ledger-table th,
.ledger-table td { white-space: nowrap; }
.summary-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 18px 0; }
.summary-item { background: #f5f7f8; border-radius: 14px; padding: 12px 14px; }
.summary-item small { display: block; color: #607d8b; margin-bottom: 6px; }
.summary-item strong { font-size: 1.2rem; }
.table-wrap { overflow: auto; }
.actions { margin-top: 18px; }
.actions .btn-flat { margin-top: 10px; }
.totals-top { margin-top: 12px; }
.filter-check { margin: 8px 0 0; }
.print-only { display: none; }
.open-summary-table th,
.open-summary-table td { white-space: nowrap; }
.login-page {
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(circle at top left, rgba(96, 125, 139, 0.22), transparent 32%),
    linear-gradient(160deg, #eceff1 0%, #cfd8dc 100%);
}
.login-shell {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.login-card {
  width: 100%;
  max-width: 460px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.96);
}
.login-card__content {
  padding: 32px;
}
.login-card__content h1 {
  margin: 10px 0 8px;
  font-size: 2rem;
}
.login-card__content p {
  margin: 0 0 24px;
  color: #546e7a;
}
.login-eyebrow {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  background: #eceff1;
  color: #455a64;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.login-submit {
  width: 100%;
}
@media print {
  @page {
    size: A4 portrait;
    margin: 12mm;
  }
  body {
    background: #fff !important;
    color: #111827;
    font-size: 11pt;
  }
  nav,
  .actions,
  #printBtn,
  .card:nth-child(2),
  .input-field,
  .select-wrapper,
  .btn,
  .summary-grid,
  #openSummaryCard,
  .card-title,
  #subtitle {
    display: none !important;
  }
  .print-only {
    display: block !important;
  }
  .container,
  main,
  .row,
  .col,
  .card,
  .card-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    border: 0 !important;
  }
  .row {
    display: block !important;
  }
  .col.s12.m4 {
    display: none !important;
  }
  .col.s12.m8 {
    width: 100% !important;
  }
  .app-card {
    border-radius: 0 !important;
  }
  .print-sheet {
    margin-bottom: 8mm;
  }
  .print-sheet__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16mm;
    padding-bottom: 6mm;
    border-bottom: 1px solid #cbd5e1;
  }
  .print-sheet__eyebrow {
    margin-bottom: 3mm;
    color: #475569;
    font-size: 9pt;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
  }
  .print-sheet h1 {
    margin: 0 0 2mm;
    font-size: 20pt;
    line-height: 1.1;
  }
  .print-sheet p {
    margin: 0;
    color: #475569;
    font-size: 10.5pt;
  }
  .print-sheet__meta {
    min-width: 54mm;
    display: grid;
    gap: 3mm;
  }
  .print-sheet__meta span,
  .print-sheet__entity span,
  .print-summary__item span,
  .print-signature span {
    display: block;
    color: #64748b;
    font-size: 8.5pt;
    text-transform: uppercase;
    letter-spacing: 0.06em;
  }
  .print-sheet__meta strong,
  .print-sheet__entity strong,
  .print-summary__item strong {
    display: block;
    margin-top: 1mm;
    color: #0f172a;
    font-size: 11pt;
    font-weight: 700;
  }
  .print-sheet__entity {
    display: grid;
    grid-template-columns: 2fr 1fr 1.2fr;
    gap: 5mm;
    margin: 6mm 0;
    padding: 4mm 0;
    border-bottom: 1px solid #e2e8f0;
  }
  .print-summary {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4mm;
    margin-bottom: 6mm;
  }
  .print-summary__item {
    padding: 4mm;
    border: 1px solid #cbd5e1;
  }
  .ledger-table-wrap {
    overflow: visible !important;
  }
  .ledger-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
  }
  .ledger-table thead {
    display: table-header-group;
  }
  .ledger-table tr {
    page-break-inside: avoid;
  }
  .ledger-table th,
  .ledger-table td {
    padding: 3mm 2mm;
    border-bottom: 1px solid #e2e8f0;
    font-size: 10pt;
    color: #0f172a;
    background: transparent !important;
  }
  .ledger-table th {
    font-weight: 700;
    text-transform: uppercase;
    font-size: 8.5pt;
    letter-spacing: 0.04em;
  }
  .ledger-table th:nth-child(1),
  .ledger-table td:nth-child(1) {
    width: 16%;
  }
  .ledger-table th:nth-child(2),
  .ledger-table td:nth-child(2) {
    width: 36%;
    white-space: normal;
  }
  .ledger-table th:nth-child(3),
  .ledger-table td:nth-child(3),
  .ledger-table th:nth-child(4),
  .ledger-table td:nth-child(4),
  .ledger-table th:nth-child(5),
  .ledger-table td:nth-child(5) {
    width: 16%;
  }
  .print-footer {
    margin-top: 8mm;
    padding-top: 5mm;
    border-top: 1px solid #cbd5e1;
  }
  .print-footer__note {
    color: #475569;
    font-size: 9pt;
    line-height: 1.4;
  }
  .print-footer__signatures {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12mm;
    margin-top: 12mm;
  }
  .print-signature {
    padding-top: 10mm;
    border-top: 1px solid #94a3b8;
  }
}
