.section-title {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
}
.section-title > div { min-width: 0; }
.section-title h2, .card > h2 { margin: 0 0 15px; }
.section-title .eyebrow { margin-bottom: 4px; }
.section-title > a {
	display: inline-flex;
	min-height: 38px;
	padding: 8px 15px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--ever-secondary);
	border-radius: 999px;
	color: var(--ever-secondary);
	font-size: .8rem;
	font-weight: 750;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
}
.section-title > a:hover { border-color: var(--ever-primary); background: var(--ever-primary); color: var(--ever-white); }
.empty {
	padding: 25px 18px;
	border: 1px dashed #a9bec9;
	border-radius: 3px 16px 3px 3px;
	background: rgba(242, 248, 251, .45);
	color: var(--ever-muted);
	text-align: center;
}
.card td { min-width: 106px; vertical-align: top; }
.card td:first-child { color: var(--ever-secondary); font-weight: 750; }

.clock > header,
.submission-card > header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
}
.clock h2,
.submission-card h2 { margin: 2px 0 15px; }
.clock {
	display: grid;
	grid-template-columns: minmax(190px, .7fr) minmax(320px, 1.3fr);
	gap: 10px 28px;
	border-color: rgba(33, 147, 193, .48);
	background: linear-gradient(145deg, #fff, var(--ever-soft-blue));
}
.clock > header,
.clock > .meta { grid-column: 1 / -1; }
.clock__time {
	align-self: center;
	color: var(--ever-secondary);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2.35rem, 5vw, 4.3rem);
	font-variant-numeric: tabular-nums;
	letter-spacing: -.045em;
	line-height: 1;
}
.clock__totals {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-column: 1;
	gap: 1px;
	overflow: hidden;
	border: 1px solid var(--ever-line);
	border-radius: 3px 14px 3px 3px;
	background: var(--ever-line);
}
.clock__totals span { padding: 9px; background: rgba(255,255,255,.88); color: var(--ever-muted); font-size: .69rem; text-transform: uppercase; }
.clock__totals strong { display: block; margin-top: 2px; color: var(--ever-secondary); font-size: .95rem; font-variant-numeric: tabular-nums; }
.clock form { grid-column: 2; grid-row: 2 / span 2; align-self: center; }
.clock .field { margin-bottom: 10px; }

.status, .tag {
	display: inline-flex;
	min-height: 28px;
	padding: 5px 10px;
	align-items: center;
	border: 1px solid var(--ever-line);
	border-radius: 999px;
	background: var(--ever-white);
	color: var(--ever-muted);
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .04em;
	line-height: 1;
	text-transform: uppercase;
}
.status--working, .status--submitted { border-color: rgba(33,147,193,.4); background: #e4f5fa; color: #116b8d; }
.status--paid_break { border-color: #b9d2a8; background: #edf6e7; color: #466e2e; }
.status--unpaid_break, .status--rejected { border-color: #e5bcbc; background: #fff0f0; color: #8b2929; }
.status--approved { border-color: #acd2bf; background: #e9f6ef; color: #216445; }
.record-meta { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.tag { border-color: transparent; background: var(--ever-soft-blue); color: var(--ever-primary-dark); }

.date-selector {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: end;
	gap: 22px;
}
.date-selector h2 { margin: 2px 0 6px; }
.date-selector p { margin: 0; }
.date-selector form { display: flex; align-items: end; gap: 8px; }
.date-selector .field { min-width: 190px; margin: 0; }
.submission-card { max-width: 1050px; }
.submission-card form { display: grid; gap: 15px; }
.submission-card form > .field { margin: 0; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.form-grid .field { margin: 0; }
fieldset { min-width: 0; margin: 14px 0; padding: 14px; border: 1px solid var(--ever-line-soft); border-radius: 3px 14px 3px 3px; }
legend { padding: 0 7px; color: var(--ever-secondary); font-size: .875rem; font-weight: 800; }
.readout {
	padding: 14px 16px;
	border: 1px solid var(--ever-line-soft);
	border-radius: 3px 16px 3px 3px;
	background: var(--ever-cream);
}
.readout > span { display: block; color: var(--ever-muted); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.readout > strong { display: block; margin-top: 2px; color: var(--ever-secondary); font-family: Georgia, "Times New Roman", serif; font-size: 1.55rem; font-weight: 400; }

.review-heading, .period-filter { display: flex; align-items: end; justify-content: space-between; gap: 22px; }
.review-heading h2, .period-filter h2 { margin: 2px 0 6px; }
.review-heading p, .period-filter p { margin: 0; }
.review-heading form, .period-filter form { display: flex; align-items: end; gap: 8px; }
.review-heading .field, .period-filter .field { min-width: 210px; margin: 0; }
.review-list, .period-list { display: grid; gap: 12px; margin-bottom: 18px; }
.review-card, .period-card { margin: 0; padding: 16px 18px; border-radius: 3px 16px 3px 3px; }
.review-card > header, .period-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.review-card > header div, .period-card > header div { display: grid; gap: 2px; }
.review-card > header strong, .period-card > header strong { color: var(--ever-secondary); font-size: 1rem; }
.review-card > header span:not(.status), .period-card > header span:not(.status) { color: var(--ever-muted); font-size: .82rem; }
.review-metrics, .period-summary { display: grid; grid-template-columns: repeat(auto-fit,minmax(130px,1fr)); gap: 1px; margin: 13px 0; overflow: hidden; border: 1px solid var(--ever-line-soft); border-radius: 3px 12px 3px 3px; background: var(--ever-line-soft); }
.review-metrics > div, .period-summary > div { padding: 10px 12px; background: #fff; }
.review-metrics span, .period-summary span, .period-range span { display: block; color: var(--ever-muted); font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.review-metrics strong, .period-summary strong { display: block; color: var(--ever-secondary); font-size: 1.02rem; }
.review-metrics small, .period-summary small { display: block; color: var(--ever-muted); font-size: .74rem; }
.entry-note { margin: 10px 0; padding: 10px 12px; border-left: 3px solid var(--ever-primary); background: var(--ever-cream); color: var(--ever-secondary); }
.review-form { display: grid; grid-template-columns: minmax(240px,1fr) auto; align-items: end; gap: 10px; margin-top: 12px; }
.review-form .field { margin: 0; }
.override, .period-drill { margin-top: 12px; border-top: 1px solid var(--ever-line-soft); }
.override > summary, .period-drill > summary { padding-top: 11px; color: var(--ever-primary-dark); font-weight: 750; cursor: pointer; }
.override form { padding-top: 12px; }
.period-filter { flex-wrap: wrap; }
.period-range { flex: 1 1 100%; padding-top: 12px; border-top: 1px solid var(--ever-line-soft); }
.period-range strong { color: var(--ever-secondary); }
.period-actions { display: flex; align-items: center; gap: 10px; }
.period-drill .review-list { margin: 12px 0 0; }
.period-drill .review-card { border-radius: 3px; box-shadow: none; }

.sales-entry { display: grid; grid-template-columns: minmax(210px,.42fr) minmax(480px,1.58fr); gap: 20px 30px; }
.sales-entry h2 { margin: 2px 0 7px; }
.sales-entry form { display: grid; gap: 14px; }
.sales-entry .field { margin: 0; }
.sales-review details { margin: 10px 0; padding: 10px 12px; border: 1px solid var(--ever-line-soft); background: var(--ever-cream); }
.sales-review details summary { color: var(--ever-primary-dark); font-weight: 750; cursor: pointer; }
.correction-list { display: grid; gap: 9px; margin-bottom: 18px; }
.sales-correction { margin: 0; padding: 14px 16px; }
.sales-correction > summary { color: var(--ever-secondary); font-weight: 800; cursor: pointer; }
.sales-correction > form { display: grid; gap: 13px; margin-top: 14px; }
.check { display: flex; gap: 8px; align-items: flex-start; margin: 8px 0; color: var(--ever-secondary); font-size: .84rem; }
.check input { width: auto; margin-top: 2px; }
.award-list { display: grid; gap: 1px; border: 1px solid var(--ever-line-soft); background: var(--ever-line-soft); }
.award-row { display: grid; grid-template-columns: minmax(260px,1fr) auto minmax(410px,1.2fr); gap: 14px; align-items: center; padding: 12px; background: #fff; }
.award-row > div { display: grid; gap: 2px; }
.award-row > div span,.award-row > div small { color: var(--ever-muted); }
.award-action { display: grid; grid-template-columns: 1fr 1.5fr auto; gap: 8px; align-items: end; }
.award-action .field { margin: 0; }
.record-list { display: grid; gap: 1px; overflow: hidden; border: 1px solid var(--ever-line-soft); border-radius: 3px 14px 3px 3px; background: var(--ever-line-soft); }
.record { display: grid; grid-template-columns: minmax(260px,1fr) auto auto; gap: 12px; align-items: center; padding: 12px 14px; background: var(--ever-white); }
.record > div { display: grid; gap: 2px; min-width: 0; }
.record > div strong { color: var(--ever-secondary); }
.record > div span,.record > div small { color: var(--ever-muted); overflow-wrap: anywhere; }
.record details > summary { color: var(--ever-primary-dark); font-weight: 750; cursor: pointer; }
.record details[open] { grid-column: 1 / -1; width: 100%; min-width: 0; padding: 14px; border: 1px solid var(--ever-line-soft); background: var(--ever-cream); }
.inline-form { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; }
.inline-form input,.inline-form select { min-width: 180px; }
.payroll-run .section-title > strong { color: var(--ever-secondary); font-family: Georgia,"Times New Roman",serif; font-size: 1.65rem; font-weight: 400; }
.payroll-run > .actions { margin-top: 14px; }

@media (max-width: 850px) {
	.clock { grid-template-columns: 1fr; }
	.clock__totals, .clock form { grid-column: 1; grid-row: auto; }
	.date-selector { grid-template-columns: 1fr; align-items: stretch; }
	.date-selector form { justify-content: flex-start; }
	.sales-entry { grid-template-columns: 1fr; }
	.award-row { grid-template-columns: 1fr auto; }
	.award-row form { grid-column: 1 / -1; }
	.record { grid-template-columns: 1fr auto; }
	.record > form { grid-column: 1 / -1; }
	.form-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	.section-title { display: block; }
	.section-title > a { width: 100%; min-height: 46px; margin: 2px 0 15px; }
	.table-wrap { margin-inline: -16px; border-right: 0; border-left: 0; border-radius: 0; }
	th, td { padding: 10px; }
	.clock > header, .submission-card > header { display: block; }
	.record-meta { margin-bottom: 14px; justify-content: flex-start; }
	.clock__totals { grid-template-columns: 1fr; }
	.clock .actions .button, .submission-card .actions .button { flex: 1 1 calc(50% - 8px); min-height: 48px; }
	.date-selector form { display: grid; }
	.date-selector .field { min-width: 0; }
	.form-grid { grid-template-columns: 1fr; }
	.review-heading, .period-filter, .review-card > header, .period-card > header { align-items: stretch; flex-direction: column; }
	.review-heading form, .period-filter form, .review-form { display: grid; width: 100%; grid-template-columns: 1fr; }
	.review-heading .field, .period-filter .field { min-width: 0; }
	.review-form .button, .period-actions .button { width: 100%; min-height: 46px; }
	.award-row { grid-template-columns: 1fr; }
	.award-action { grid-template-columns: 1fr; }
	.record { grid-template-columns: 1fr; }
	.inline-form { display: grid; grid-template-columns: 1fr; }
	.inline-form input,.inline-form select,.inline-form .button { width: 100%; min-width: 0; }
}
.disclosure-panel { padding: 0; }
.disclosure-panel > summary { display: flex; min-height: 72px; padding: 18px 20px; align-items: center; justify-content: space-between; gap: 18px; cursor: pointer; list-style: none; }
.disclosure-panel > summary::-webkit-details-marker { display: none; }
.disclosure-panel > summary > span:first-child { display: grid; gap: 3px; min-width: 0; }
.disclosure-panel > summary strong { color: var(--ever-secondary); font-size: 1rem; }
.disclosure-panel > summary small { color: var(--ever-muted); line-height: 1.35; }
.disclosure-control { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 8px; color: var(--ever-primary-dark); font-size: .76rem; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.disclosure-control::after { width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; content: ""; transform: rotate(45deg); transition: transform .18s ease; }
.disclosure-panel[open] .disclosure-control::after { transform: rotate(225deg); }
.activity-list { display: grid; border-top: 1px solid var(--ever-line-soft); }
.activity-head,.activity-row { display: grid; grid-template-columns: minmax(160px,1.15fr) minmax(150px,.9fr) minmax(260px,1.55fr) minmax(190px,1fr); gap: 16px; align-items: center; }
.activity-head { padding: 9px 20px; background: var(--ever-soft-blue); color: var(--ever-secondary); font-size: .66rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.activity-row { min-height: 74px; padding: 12px 20px; border-bottom: 1px solid var(--ever-line-soft); background: var(--ever-white); }
.activity-row:last-child { border-bottom: 0; }
.activity-row:nth-child(odd) { background: rgba(242,248,251,.48); }
.activity-row:hover { background: #edf7fa; }
.activity-row > div { display: grid; gap: 4px; min-width: 0; }
.activity-person strong,.activity-submission strong { color: var(--ever-secondary); }
.activity-person span,.activity-row small { color: var(--ever-muted); overflow-wrap: anywhere; line-height: 1.4; }
.activity-clock .status { justify-self: start; }
.holiday-list { display: grid; border-top: 1px solid var(--ever-line-soft); }
.holiday-row { display: grid; grid-template-columns: 112px minmax(180px,1fr) auto; min-height: 64px; padding: 11px 20px; align-items: center; gap: 16px; border-bottom: 1px solid var(--ever-line-soft); }
.holiday-row:last-child { border-bottom: 0; }
.holiday-row time { color: var(--ever-primary-dark); font-size: .78rem; font-weight: 850; letter-spacing: .03em; }
.holiday-row > div { display: grid; gap: 2px; }
.holiday-row strong { color: var(--ever-secondary); }
.holiday-row small { color: var(--ever-muted); }
.holiday-row--paid { background: #edf6e7; }
.holiday-kind { padding: 5px 9px; border: 1px solid var(--ever-line-soft); border-radius: 999px; background: var(--ever-white); color: var(--ever-muted); font-size: .66rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.holiday-row--paid .holiday-kind { border-color: #b9d2a8; color: #466e2e; }
.holiday-empty { margin: 0; border: 0; border-top: 1px solid var(--ever-line-soft); border-radius: 0; }
.kpi-chips { display: flex; flex-wrap: wrap; gap: .55rem; margin: 1rem 0; }
.kpi-chips > span { display: grid; gap: .15rem; padding: .55rem .7rem; border: 1px solid var(--ever-line-soft); border-radius: .55rem; background: var(--ever-soft-blue); }
.kpi-chips small { color: var(--ever-muted); }
@media (max-width: 1050px) {
	.activity-head,.activity-row { grid-template-columns: minmax(150px,1fr) minmax(140px,.8fr) minmax(220px,1.25fr); }
	.activity-head > :last-child,.activity-latest { grid-column: 1 / -1; }
	.activity-head > :last-child { display: none; }
	.activity-latest { padding-top: 7px; border-top: 1px dashed var(--ever-line-soft); }
}
@media (max-width: 700px) {
	.disclosure-panel > summary { min-height: 68px; padding: 15px 16px; align-items: flex-start; }
	.disclosure-control { padding-top: 2px; font-size: 0; }
	.disclosure-control::after { margin: 3px; }
	.activity-head { display: none; }
	.activity-row { grid-template-columns: 1fr 1fr; gap: 12px 14px; padding: 15px 16px; }
	.activity-submission,.activity-latest { grid-column: 1 / -1; }
	.activity-latest { padding-top: 8px; }
	.holiday-row { grid-template-columns: 1fr auto; padding: 13px 16px; gap: 5px 12px; }
	.holiday-row time { grid-column: 1; }
	.holiday-row > div { grid-column: 1; }
	.holiday-kind { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
}
@media (max-width: 460px) {
	.activity-row { grid-template-columns: 1fr; }
	.activity-submission,.activity-latest { grid-column: auto; }
	.activity-clock { padding-top: 8px; border-top: 1px dashed var(--ever-line-soft); }
	.holiday-row { grid-template-columns: 1fr; }
	.holiday-kind { grid-column: 1; grid-row: auto; justify-self: start; }
}
