/**
 * Staff timecard screen (Session 15). Layers on csw-design-system.css.
 * Hours only — this screen has no money to style.
 */

/* Width is owned by the design system's screen shell (--csw-screen-max). */

.csw-timecard__header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.csw-timecard__period {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.csw-timecard__period label {
	font-weight: 600;
}

.csw-timecard__summary {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	align-items: center;
	margin-bottom: 1.25rem;
}

.csw-timecard__summary p {
	margin: 0;
}

.csw-timecard__entries {
	margin-bottom: 1.25rem;
}

.csw-timecard__table {
	width: 100%;
	border-collapse: collapse;
}

.csw-timecard__table th,
.csw-timecard__table td {
	text-align: left;
	padding: 0.5rem 0.75rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	vertical-align: top;
}

.csw-timecard__table th {
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.csw-form__row {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	margin-bottom: 0.9rem;
}

.csw-form__row label {
	font-weight: 600;
}

.csw-form__row input,
.csw-form__row textarea,
.csw-form__row select {
	max-width: 32rem;
	padding: 0.4rem 0.5rem;
}

.csw-hint {
	font-size: 0.85rem;
	opacity: 0.75;
}

.csw-btn--small {
	padding: 0.2rem 0.6rem;
	font-size: 0.85rem;
}

.csw-timecard__submit {
	margin-top: 1rem;
}

.csw-timecard__banner {
	padding: 0.75rem 1rem;
	border-radius: 4px;
	margin-bottom: 1rem;
	font-weight: 600;
}

.csw-timecard__banner--ok {
	background: #e6f4ea;
	color: #1e4620;
}

.csw-timecard__banner--error {
	background: #fce8e6;
	color: #611a15;
}

.csw-timecard__locked-note {
	opacity: 0.85;
}
