/* Activity Entry — departmental entry pages for manually-tracked scorecard
   metrics. Rides the cpv1 page chrome (campaigns.css); these rules cover the
   entry grids. Alignment contract: fixed column widths, all numeric columns
   centered (headers, inputs, and totals share the same center line). */

.at-month-nav { display: flex; align-items: center; gap: 10px; }
.at-month-label { font-size: 15px; font-weight: 600; min-width: 110px; text-align: center; }
.at-month-arrow { font-size: 18px; line-height: 1; padding: 4px 10px; border: 1px solid var(--border, #e2e8f0); border-radius: 4px; text-decoration: none; color: inherit; background: var(--paper, #fff); }
.at-month-arrow--off { opacity: 0.3; }

.at-card { background: var(--paper, #fff); border: 1px solid var(--border, #e2e8f0); border-radius: 6px; padding: 18px 22px 16px; margin-bottom: 18px; max-width: 760px; }
.at-card-title { font-size: 15px; font-weight: 700; margin: 0 0 12px; }

/* Grid — fixed layout so every column lines up regardless of content */
.at-grid { border-collapse: collapse; table-layout: fixed; width: 100%; }
.at-grid th, .at-grid td { border-bottom: 1px solid var(--border-light, #f1f5f9); }
.at-grid th { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; color: var(--fg-muted, #64748b); padding: 6px 10px; border-bottom: 1px solid var(--border, #e2e8f0); }
.at-grid td { padding: 5px 10px; font-size: 13.5px; }
.at-col-day { width: 170px; text-align: left; white-space: nowrap; color: var(--fg-muted, #475569); }
th.at-col-day { text-align: left; }
.at-col-metric { text-align: right; }
th.at-col-metric { text-align: right; }
.at-col-by { text-align: left; font-size: 12.5px; color: var(--fg-muted, #64748b); }
th.at-col-by { text-align: left; }

.at-input { width: 72px; padding: 4px 8px; text-align: right; font: inherit; font-size: 13.5px; border: 1px solid var(--border-strong, #cbd5e1); border-radius: 4px; }
.at-input { appearance: textfield; -moz-appearance: textfield; }
.at-input::-webkit-outer-spin-button, .at-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.at-input:focus { outline: none; border-color: #2563eb; box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.12); }
.at-input--owed { border-style: dashed; background: #fffbeb; }
.at-input--date { width: 150px; text-align: left; padding: 4px 8px; }

.at-row-today td { background: #fefce8; }
.at-row-today .at-col-day { font-weight: 600; color: inherit; }
.at-row-off .at-col-day { color: var(--fg-faint, #94a3b8); }
.at-off-label { text-align: left; font-size: 12.5px; color: var(--fg-faint, #94a3b8); background: var(--surface, #f8fafc); }

.at-mtd-row td { font-weight: 700; border-bottom: 0; padding-top: 9px; }
.at-mtd-row .at-col-day { color: var(--ink, #0f172a); }

.at-add-row td { border-bottom: 0; padding-top: 9px; }

.at-card-foot { display: flex; align-items: center; justify-content: flex-end; margin-top: 12px; }
.at-activate { background: none; border: 0; padding: 0; color: var(--blue, #2563eb); font: inherit; font-size: 12.5px; cursor: pointer; }

.at-save { border: 0; background: #0f172a; color: #fff; border-radius: 4px; padding: 8px 18px; font-family: inherit; font-size: 13px; font-weight: 600; line-height: 1; cursor: pointer; }
.at-save:hover { background: #1e293b; }
.at-save--sm { padding: 6px 12px; font-size: 12.5px; }
