[hidden] { display: none !important; }
body { margin: 0; font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color: #222; }
button, input, select { font: inherit; font-size: 16px; padding: 6px 10px; }
button { cursor: pointer; border: 1px solid #2f6f4f; background: #fff; color: #2f6f4f; border-radius: 6px; }
button:hover { background: #eef5f1; }
.top { display: flex; justify-content: space-between; align-items: center; padding: 10px 16px; background: #2f6f4f; color: #fff; }
.top button { border-color: #fff; color: #2f6f4f; }
.login-box { max-width: 320px; margin: 15vh auto 0; padding: 0 16px; }
.login-box form { display: flex; flex-direction: column; gap: 10px; }
.err { color: #b00020; }
.buh-page { max-width: 1100px; margin: 0 auto; padding: 12px 16px 40px; }
.buh-period { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 8px 0; }
.buh-files { color: #666; margin: 4px 0; }
.buh-warn-line { background: #fff4d6; border: 1px solid #f0c36d; border-radius: 6px; padding: 6px 10px; margin: 6px 0; }
.buh-totals { display: flex; flex-wrap: wrap; gap: 12px; margin: 12px 0; }
.buh-card { flex: 1 1 220px; border: 1px solid #ddd; border-radius: 8px; padding: 10px 12px; }
.buh-card-h, .buh-card-s { color: #666; }
.buh-card-v { font-size: 22px; font-weight: 600; margin-top: 4px; }
.buh-print { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0; }
.buh-section { margin-top: 24px; }
.buh-print-title { font-size: 18px; }
.buh-table { width: 100%; border-collapse: collapse; margin: 6px 0 12px; font-size: 14px; }
.buh-table th, .buh-table td { border: 1px solid #ddd; padding: 4px 6px; text-align: left; }
.buh-table td.num { text-align: right; white-space: nowrap; }
.buh-table tfoot td { font-weight: 600; background: #f6f6f6; }
.buh-sum { font-weight: 600; }
@media print {
  .buh-noprint, .buh-totals, .buh-warn, .buh-title { display: none !important; }
  body.buh-printing .buh-section { display: none; }
  body.buh-printing .buh-section.print-on { display: block; margin: 0; }
  .buh-table { font-size: 11px; }
  .buh-table tr { break-inside: avoid; }
}
