/* ENTER NUMBERS — the hand-entered sheet for one building and one month.
 * Industry tokens from styles.css; nothing here computes, nothing here is
 * inline (CSP: style-src 'self'). */

.entry-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; max-width: 980px; }
.entry-card { padding: 22px; gap: 12px; }
.entry-card .card-body { max-width: 62ch; }
.entry-where { font-size: 12.5px; color: var(--color-muted); margin: 0; }
.entry-where strong { font-weight: 600; color: var(--color-text); }

.entry-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 16px; margin-top: 6px; }
.entry-fields .field.wide { grid-column: 1 / -1; }
.entry-fields input.num { text-align: right; font-variant-numeric: tabular-nums; }
.entry-unit { font-size: 11.5px; color: var(--color-muted); margin-top: 3px; display: block; }

.entry-or { display: flex; align-items: center; gap: 10px; margin: 6px 0; }
.entry-or .button { padding: 4px 10px; font-size: 12.5px; }
.entry-new[hidden] { display: none; }
.entry-new { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 14px; }

.entry-days { display: flex; flex-wrap: wrap; gap: 6px; }
.entry-day { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px;
  border: 1px solid var(--color-divider); background: var(--color-surface); cursor: pointer;
  font-family: var(--font-heading); font-weight: 600; font-size: 13px; letter-spacing: 0.02em; user-select: none; }
.entry-day input { width: auto; min-height: 0; margin: 0; }
.entry-day:has(input:checked) { border-color: var(--color-accent); background: var(--color-accent-100); color: var(--color-accent-800); }

.cleaners-wrap { margin-top: 6px; }
.cleaners-table th:first-child { width: 38%; }
.cleaners-table td { padding: 5px 6px 5px 0; vertical-align: middle; border-bottom: 1px solid var(--color-hairline); }
.cleaners-table td.num input { text-align: right; font-variant-numeric: tabular-nums; }
.cleaners-table td.act { width: 34px; padding-right: 0; }
.cleaners-table .icon-button { width: 28px; height: 28px; font-size: 16px; line-height: 1; }
.cleaners-table .name-cell { display: flex; align-items: center; gap: 8px; }
.cleaners-table .name-cell input { flex: 1; }
.cleaners-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 8px; flex-wrap: wrap; }
.cleaners-foot .text-muted { font-size: 12.5px; }

.entry-src { display: inline-flex; align-items: center; font-size: 10px; letter-spacing: 0.08em;
  text-transform: uppercase; padding: 2px 6px; white-space: nowrap;
  background: var(--color-neutral-100); color: var(--color-neutral-800); border: 1px solid var(--color-hairline); }
.entry-src.quickbooks, .entry-src.gusto, .entry-src.cleansmarts { background: var(--color-accent-100); color: var(--color-accent-800); border-color: transparent; }

.entry-shared { font-size: 12.5px; color: var(--color-muted); margin: 10px 0 0; }
.entry-shared strong { color: var(--color-text); font-weight: 600; }

.entry-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 18px; margin-top: 6px; }
.entry-sum-group { display: flex; flex-direction: column; gap: 6px; }
.entry-sum-group h4 { margin: 0 0 2px; font-size: 15px; }
.entry-sum-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; font-size: 13px; padding: 4px 0; border-bottom: 1px solid var(--color-hairline); }
.entry-sum-row .val { font-variant-numeric: tabular-nums; text-align: right; }
.entry-sum-row.blank .val { color: var(--color-muted); }
.entry-sum-row .effect { grid-column: 1 / -1; font-size: 11.5px; color: var(--color-muted); }
.entry-sum-row.blank .effect { color: var(--color-bad); opacity: 0.9; }

.entry-result { margin-top: 24px; display: grid; grid-template-columns: minmax(0, 560px) 1fr; gap: 24px; align-items: start; }
.entry-result .button-row { margin-top: 12px; }
.entry-created { margin: 10px 0 0; padding-left: 18px; font-size: 12.5px; color: var(--color-muted); }

@media (max-width: 1000px) {
  .entry-grid, .entry-result, .entry-new { grid-template-columns: 1fr; }
  .entry-fields, .entry-summary { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .entry-fields, .entry-summary { grid-template-columns: 1fr; }
}
