.module2-page-extension { display: grid; gap: 20px; margin-top: 20px; }
.module2-section,
.module2-today { background: var(--surface, #fff); border: 1px solid var(--line, #e5e7eb); border-radius: 18px; box-shadow: 0 8px 28px rgba(27, 67, 50, .06); overflow: hidden; padding: 22px; }
.module2-section-head,
.module2-today-head { align-items: flex-start; display: flex; gap: 18px; justify-content: space-between; margin-bottom: 18px; }
.module2-section-head h2,
.module2-today-head h2 { margin: 2px 0 4px; }
.module2-section-head p { color: var(--muted, #667085); margin: 0; }
.module2-metric-grid { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 16px 0; }
.module2-metric-grid.six { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.module2-metric-grid article { background: #f7faf8; border: 1px solid #e3ece6; border-radius: 14px; min-width: 0; padding: 15px; }
.module2-metric-grid small,
.module2-metric-grid span,
.module2-record-card span,
.module2-record-card small { color: var(--muted, #667085); display: block; }
.module2-metric-grid strong { color: #183f31; display: block; font-size: clamp(1.15rem, 2vw, 1.65rem); line-height: 1.25; margin: 5px 0 2px; }
.module2-card-grid { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); margin-top: 16px; }
.module2-record-card { border: 1px solid #e4ebe6; border-radius: 14px; display: grid; gap: 4px; padding: 15px; }
.module2-quick-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.module2-severity { border-radius: 999px; display: inline-flex; font-size: .7rem; font-weight: 800; letter-spacing: .05em; padding: 5px 9px; }
.module2-severity.info,
.module2-severity.good { background: #eaf8f0; color: #166534; }
.module2-severity.watch { background: #eef4ff; color: #1d4ed8; }
.module2-severity.warning { background: #fff7dc; color: #92400e; }
.module2-severity.critical { background: #feeceb; color: #b42318; }
.row-stepper { display: flex; gap: 8px; margin-bottom: 16px; overflow-x: auto; padding: 2px 1px 8px; scrollbar-width: thin; }
.row-stepper button { background: #f4f7f5; border: 1px solid #dce7e0; border-radius: 999px; color: #36594c; flex: 0 0 auto; font: inherit; font-size: .82rem; font-weight: 700; padding: 8px 13px; }
.row-stepper button.active { background: #173f31; border-color: #173f31; color: #fff; }
.row-stepper button.complete:not(.active) { background: #e7f7ed; border-color: #a7d8b8; color: #166534; }
.egg-form-summary { display: grid; gap: 10px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 14px; }
.egg-form-summary span { background: #f7faf8; border-radius: 12px; padding: 11px; }
.egg-form-summary small,
.egg-form-summary strong { display: block; }
.egg-entry-scroll { max-height: min(48vh, 520px); overflow: auto; }
.egg-entry-table { border-collapse: collapse; width: 100%; }
.egg-entry-table th,
.egg-entry-table td { border-bottom: 1px solid #edf1ee; padding: 9px; text-align: left; }
.egg-cell-input { max-width: 120px; min-height: 44px; text-align: center; }
.search-panel { min-height: 330px; }
.search-input-row { align-items: center; background: #f6f8f7; border: 1px solid #dfe7e2; border-radius: 14px; display: flex; gap: 10px; padding: 0 13px; }
.search-input-row input { background: transparent; border: 0; font: inherit; min-height: 52px; outline: none; width: 100%; }
.search-results { display: grid; gap: 7px; margin-top: 12px; }
.search-results button { align-items: center; background: #fff; border: 1px solid #e4ebe6; border-radius: 12px; color: inherit; display: flex; gap: 12px; padding: 11px; text-align: left; width: 100%; }
.search-results button:hover { background: #f7faf8; }
.search-result-icon { align-items: center; background: #e8f3ec; border-radius: 10px; color: #205941; display: inline-flex; flex: 0 0 38px; font-weight: 800; height: 38px; justify-content: center; }
.search-results strong,
.search-results small { display: block; }
.search-results small,
.search-empty { color: var(--muted, #667085); }
.search-empty { padding: 24px 8px; text-align: center; }

@media (max-width: 1100px) {
  .module2-metric-grid.six { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .module2-section,
  .module2-today { border-radius: 14px; padding: 15px; }
  .module2-section-head,
  .module2-today-head { display: grid; }
  .module2-section-head .table-actions,
  .module2-today-head .table-actions { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .module2-section-head .table-actions button,
  .module2-today-head .table-actions button { min-height: 44px; }
  .module2-metric-grid,
  .module2-metric-grid.six { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .egg-form-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .module2-quick-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 420px) {
  .module2-metric-grid,
  .module2-metric-grid.six { grid-template-columns: 1fr; }
}

.module2-subtitle { color: var(--ink, #16372b); font-size: 1rem; margin: 22px 0 10px; }
.module2-alert-list { display: grid; gap: 9px; margin-top: 16px; }
.module2-alert-list h3 { margin: 0 0 4px; }
.module2-alert-list button { align-items: center; background: var(--surface, #fff); border: 1px solid var(--line, #dfe8e2); border-radius: 14px; color: inherit; cursor: pointer; display: grid; gap: 12px; grid-template-columns: auto 1fr; padding: 13px; text-align: left; width: 100%; }
.module2-alert-list button span:last-child { display: grid; gap: 2px; }
.module2-alert-list button small { color: var(--muted, #63756d); }
.module2-invoice { display: grid; gap: 16px; }
.module2-invoice-brand { color: var(--brand, #236346); display: flex; gap: 16px; justify-content: space-between; }
.module2-invoice-grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.module2-invoice-grid span { border: 1px solid var(--line, #dfe8e2); border-radius: 12px; display: grid; gap: 2px; padding: 11px; }
.module2-invoice-totals { display: flex; flex-wrap: wrap; gap: 20px; justify-content: flex-end; }
@media (max-width: 620px) { .module2-invoice-grid { grid-template-columns: 1fr; } }
@media print { body.printing-invoice * { visibility: hidden !important; } body.printing-invoice .module2-invoice, body.printing-invoice .module2-invoice * { visibility: visible !important; } body.printing-invoice .module2-invoice { background: #fff; inset: 0; padding: 24px; position: fixed; } .module2-invoice .form-actions { display: none; } }
