:root {
	--gentle-bg: #0d151d;
	--gentle-surface: #111c25;
	--gentle-border: #273c4c;
	--gentle-text: #e8eef5;
}

html,
body.gentle-work-app-shell {
	margin: 0;
	min-height: 100%;
	background: var(--gentle-bg);
}

html {
	margin-top: 0 !important;
}

body.gentle-work-app-shell {
	color: var(--gentle-text);
	font: 14px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Gentle Book-inspired dark workspace. Gentle Mode overrides remain independent. */
body.gentle-work-app-shell:not(.dsl-gentle-active),
body.gentle-work-app-shell:not(.dsl-gentle-active) .gentle-work-app-main {
	background: #191b1e !important;
	color: #f2f4f6;
}

.gentle-work-frontend .dsl-theme-dark {
	--dsl-dark-bg: #191b1e;
	--dsl-dark-surface: #25292d;
	--dsl-dark-surface-alt: #30363c;
	--dsl-dark-border: #454c53;
	--dsl-dark-text: #f4f6f8;
	--dsl-dark-muted: #b6c8da;
	--dsl-dark-accent: #32689a;
	--dsl-dark-accent-hover: #3e79ad;
	color: var(--dsl-dark-text) !important;
}

.gentle-work-frontend .dsl-theme-dark h1,
.gentle-work-frontend .dsl-theme-dark h2,
.gentle-work-frontend .dsl-theme-dark h3,
.gentle-work-frontend .dsl-theme-dark label,
.gentle-work-frontend .dsl-theme-dark strong,
.gentle-work-frontend .dsl-theme-dark th {
	color: var(--dsl-dark-text) !important;
}

.gentle-work-frontend .dsl-theme-dark p,
.gentle-work-frontend .dsl-theme-dark li,
.gentle-work-frontend .dsl-theme-dark td {
	color: #e1e5e9 !important;
}

.gentle-work-frontend .dsl-theme-dark a {
	color: #a9ccec;
}

.gentle-work-frontend .dsl-theme-dark .description,
.gentle-work-frontend .dsl-theme-dark .dsl-time,
.gentle-work-frontend .dsl-theme-dark .dsl-active-meta,
.gentle-work-frontend .dsl-theme-dark .dsl-table-time,
.gentle-work-frontend .dsl-theme-dark .dsl-table-duration,
.gentle-work-frontend .dsl-theme-dark .dsl-table-pause,
.gentle-work-frontend .dsl-theme-dark .dsl-empty-value {
	color: var(--dsl-dark-muted) !important;
}

.gentle-work-frontend .dsl-theme-dark .dsl-app-header:not(.dsl-style-class-override),
.gentle-work-frontend .dsl-theme-dark .dsl-card:not(.dsl-style-class-override),
.gentle-work-frontend .dsl-theme-dark .dsl-active-work,
.gentle-work-frontend .dsl-theme-dark .dsl-log,
.gentle-work-frontend .dsl-theme-dark .dsl-team-summary,
.gentle-work-frontend .dsl-theme-dark .dsl-points-table,
.gentle-work-frontend .dsl-theme-dark .dsl-points-table-wrap,
.gentle-work-frontend .dsl-theme-dark .dsl-points-table tr.dsl-point-data-row,
.gentle-work-frontend .dsl-theme-dark .dsl-settings-drawer:not(.dsl-style-class-override),
.gentle-work-frontend .dsl-theme-dark .dsl-settings-dialog:not(.dsl-style-class-override),
.gentle-work-frontend .dsl-theme-dark .dsl-quick-settings-dialog:not(.dsl-style-class-override),
.gentle-work-frontend .dsl-theme-dark .dsl-point-edit-dialog,
.gentle-work-frontend .dsl-theme-dark .dsl-team-dialog {
	background: var(--dsl-dark-surface) !important;
	border-color: var(--dsl-dark-border) !important;
	color: var(--dsl-dark-text) !important;
}
.gentle-work-frontend .dsl-settings-drawer[aria-hidden="true"] {
	display: none !important;
	visibility: hidden !important;
}

/* Compact top-level content panels. */
.gentle-work-frontend .dsl-all-records-panel,
.gentle-work-frontend .dsl-teams-panel {
	box-sizing: border-box;
	width: min(100%, 1400px);
	margin: 24px auto 0;
	padding: 20px;
}

.gentle-work-frontend .dsl-teams-panel { width: min(100%, 980px); }
.gentle-work-frontend .dsl-all-records-panel .dsl-completed-sessions-title { margin: 0 0 18px; }
.gentle-work-frontend .dsl-all-records-panel .dsl-year-list { display: grid; gap: 12px; }
.gentle-work-frontend .dsl-all-records-panel .dsl-year-accordion {
	overflow: hidden;
	border: 1px solid var(--dsl-border, #314858);
	border-radius: 9px;
	background: var(--dsl-surface, #172531);
}
.gentle-work-frontend .dsl-all-records-panel .dsl-year-accordion > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	box-sizing: border-box;
	min-height: 48px;
	padding: 13px 16px;
	cursor: pointer;
	list-style: none;
	font-size: 21px;
	font-weight: 700;
}
.gentle-work-frontend .dsl-all-records-panel .dsl-year-accordion > summary::-webkit-details-marker { display: none; }
.gentle-work-frontend .dsl-all-records-panel .dsl-year-accordion > summary > small { margin-left: auto; font-size: 12px; font-weight: 600; }
.gentle-work-frontend .dsl-all-records-panel .dsl-year-accordion[open] > summary { border-bottom: 1px solid var(--dsl-border, #314858); }
.gentle-work-frontend .dsl-all-records-panel .dsl-year-accordion > .dsl-month-list { padding: 12px; }
.gentle-work-frontend .dsl-all-records-panel .dsl-month-list { max-width: none; }
.gentle-work-frontend .dsl-all-records-panel .dsl-month-list { display: grid; gap: 12px; }
.gentle-work-frontend .dsl-all-records-panel .dsl-month-accordion,
.gentle-work-frontend .dsl-all-records-panel .dsl-user-accordion,
.gentle-work-frontend .dsl-all-records-panel .dsl-session-accordion {
	overflow: hidden;
	border: 1px solid var(--dsl-border, #314858);
	background: var(--dsl-surface, #172531);
}
.gentle-work-frontend .dsl-all-records-panel .dsl-month-accordion { border-radius: 8px; }
.gentle-work-frontend .dsl-all-records-panel .dsl-records-month-link {
	display: flex;
	align-items: center;
	gap: 14px;
	box-sizing: border-box;
	width: 100%;
	padding: 14px 16px;
	color: var(--dsl-text, #5b1018) !important;
	font-size: 19px;
	font-weight: 700;
	text-decoration: none;
}
.gentle-work-frontend .dsl-all-records-panel .dsl-records-month-link small { margin-left: auto; color: var(--dsl-muted, #7d6b62); font-size: 12px; font-weight: 600; }
.gentle-work-frontend .dsl-all-records-panel .dsl-records-month-link::after { content: '\203a'; font-size: 24px; font-weight: 400; line-height: 1; }
.gentle-work-frontend .dsl-all-records-panel .dsl-records-month-link:hover,
.gentle-work-frontend .dsl-all-records-panel .dsl-records-month-link:focus { border-color: var(--dsl-accent, #d6365c); background: var(--dsl-surface-alt, #fff6ec); }
.gentle-work-frontend .dsl-all-records-panel .dsl-user-accordion { margin-top: 10px; border-radius: 7px; }
.gentle-work-frontend .dsl-all-records-panel .dsl-session-accordion { border-radius: 6px; }
.gentle-work-frontend .dsl-all-records-panel .dsl-month-accordion > summary,
.gentle-work-frontend .dsl-all-records-panel .dsl-user-accordion > summary,
.gentle-work-frontend .dsl-all-records-panel .dsl-session-accordion > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	cursor: pointer;
	list-style: none;
	font-weight: 700;
	background: var(--dsl-surface-alt, #101c26);
}
.gentle-work-frontend .dsl-all-records-panel .dsl-month-accordion > summary::-webkit-details-marker,
.gentle-work-frontend .dsl-all-records-panel .dsl-user-accordion > summary::-webkit-details-marker,
.gentle-work-frontend .dsl-all-records-panel .dsl-session-accordion > summary::-webkit-details-marker { display: none; }
.gentle-work-frontend .dsl-all-records-panel .dsl-month-accordion[open] > summary,
.gentle-work-frontend .dsl-all-records-panel .dsl-user-accordion[open] > summary,
.gentle-work-frontend .dsl-all-records-panel .dsl-session-accordion[open] > summary { border-bottom: 1px solid var(--dsl-border, #314858); }
.gentle-work-frontend .dsl-all-records-panel .dsl-month-accordion > summary { padding: 14px 16px; font-size: 19px; }
.gentle-work-frontend .dsl-all-records-panel .dsl-user-accordion > summary { padding: 11px 13px; font-size: 16px; }
.gentle-work-frontend .dsl-all-records-panel .dsl-session-accordion > summary { padding: 9px 11px; font-size: 14px; }
.gentle-work-frontend .dsl-all-records-panel .dsl-month-accordion summary small { margin-left: auto; font-size: 12px; font-weight: 600; }
.gentle-work-frontend .dsl-all-records-panel .dsl-month-content { padding: 16px; }
.gentle-work-frontend .dsl-all-records-panel .dsl-month-toolbar { display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin-bottom: 14px; }
.gentle-work-frontend .dsl-all-records-panel .dsl-month-toolbar form { margin: 0; }
.gentle-work-frontend .dsl-all-records-panel .dsl-user-content { display: grid; gap: 8px; padding: 10px; }
.gentle-work-frontend .dsl-all-records-panel .dsl-session-content { padding: 0 10px 10px; }
.gentle-work-frontend .dsl-all-records-panel .dsl-points-table-wrap { width: 100%; margin: 18px 0; overflow-x: auto; border: 1px solid var(--dsl-border, #314858); border-radius: 7px; }
.gentle-work-frontend .dsl-all-records-panel .dsl-points-table { width: 100%; border-collapse: collapse; table-layout: fixed; background: var(--dsl-surface, #172531); }
.gentle-work-frontend .dsl-all-records-panel .dsl-points-table th { padding: 10px 11px; background: var(--dsl-surface-alt, #101c26); border-bottom: 1px solid var(--dsl-border, #385061); text-align: left; font-size: 10px; text-transform: uppercase; letter-spacing: .045em; }
.gentle-work-frontend .dsl-all-records-panel .dsl-points-table td { padding: 11px; border-bottom: 1px solid var(--dsl-border, #2c404f); vertical-align: middle; }
.gentle-work-frontend .dsl-all-records-panel .dsl-points-table tbody tr:last-child td { border-bottom: 0; }
.gentle-work-frontend .dsl-all-records-panel .dsl-points-table .dsl-col-index { width: 38px; text-align: right; }
.gentle-work-frontend .dsl-all-records-panel .dsl-points-table .dsl-col-time { width: 112px; }
.gentle-work-frontend .dsl-all-records-panel .dsl-points-table .dsl-col-contributors { width: 150px; }
.gentle-work-frontend .dsl-all-records-panel .dsl-points-table .dsl-col-tag { width: 90px; }
.gentle-work-frontend .dsl-all-records-panel .dsl-points-table .dsl-col-duration { width: 82px; }
.gentle-work-frontend .dsl-all-records-panel .dsl-points-table .dsl-col-actions { width: 112px; text-align: right; }
.gentle-work-frontend .dsl-all-records-panel .dsl-table-actions { display: flex; justify-content: flex-end; gap: 5px; }
.gentle-work-frontend .dsl-all-records-panel .dsl-table-actions form { margin: 0; }
.gentle-work-frontend .dsl-teams-panel .dsl-teams-toolbar { margin: 0 0 16px; }

.gentle-work-frontend .dsl-workspace-settings-grid { display: grid; gap: 12px; margin-top: 16px; }
.gentle-work-frontend .dsl-workspace-settings-group { padding: 14px 16px; border: 1px solid color-mix(in srgb,currentColor 18%,transparent); border-radius: 8px; }
.gentle-work-frontend .dsl-workspace-settings-group h3 { margin: 0 0 10px; }
.gentle-work-frontend .dsl-workspace-settings-group > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; list-style: none; cursor: pointer; font-weight: 700; min-height: 28px; }
.gentle-work-frontend .dsl-workspace-settings-group > summary::-webkit-details-marker { display: none; }
.gentle-work-frontend .dsl-workspace-settings-group > summary::after { content: ''; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin-right: 4px; }
.gentle-work-frontend .dsl-workspace-settings-group[open] > summary { margin-bottom: 12px; }
.gentle-work-frontend .dsl-workspace-settings-group[open] > summary::after { transform: rotate(225deg); }
.gentle-work-frontend .dsl-workspace-settings-group > summary:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; border-radius: 3px; }
.gentle-work-frontend .dsl-workspace-settings-group .dsl-label-settings-group { min-width: 0; }
.gentle-work-frontend .dsl-workspace-settings-group .dsl-autosave-status { min-height: 0; margin: 6px 0 0; }
.gentle-work-frontend .dsl-workspace-settings-group .dsl-task-safety-toggle { margin-top: 0 !important; padding-top: 0 !important; }
.gentle-work-frontend .dsl-quick-settings-head { justify-content: flex-end; }

/*
 * Team management is replaced in-place by the frontend navigator. Keep its
 * layout in the persistent stylesheet: styles embedded in a parsed response
 * are not reliably activated when that response is imported into the page.
 */
.gentle-work-frontend .dsl-teams-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 20px 0 12px;
}

.gentle-work-frontend .dsl-teams-toolbar h2 { margin: 0; }

body:has(.dsl-team-dialog[open]) .gentle-work-frontend .dsl-teams-toolbar > .button-primary {
	visibility: hidden !important;
}

.gentle-work-frontend .dsl-team-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	gap: 12px;
}

/* All Records accordions: a single compact row with native-looking chevrons. */
.gentle-work-frontend .dsl-all-records-panel .dsl-year-accordion > summary,
.gentle-work-frontend .dsl-all-records-panel .dsl-month-accordion > summary,
.gentle-work-frontend .dsl-all-records-panel .dsl-user-accordion > summary,
.gentle-work-frontend .dsl-all-records-panel .dsl-session-accordion > summary {
	box-sizing: border-box;
	min-height: 42px;
	flex-wrap: nowrap;
}

.gentle-work-frontend .dsl-all-records-panel .dsl-year-accordion > summary::after,
.gentle-work-frontend .dsl-all-records-panel .dsl-month-accordion > summary::after,
.gentle-work-frontend .dsl-all-records-panel .dsl-user-accordion > summary::after,
.gentle-work-frontend .dsl-all-records-panel .dsl-session-accordion > summary::after {
	content: '' !important;
	display: block;
	box-sizing: border-box;
	width: 9px;
	height: 9px;
	margin: 0 4px 4px 3px;
	border: 0;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform .14s ease, margin .14s ease;
}

.gentle-work-frontend .dsl-all-records-panel .dsl-year-accordion[open] > summary::after,
.gentle-work-frontend .dsl-all-records-panel .dsl-month-accordion[open] > summary::after,
.gentle-work-frontend .dsl-all-records-panel .dsl-user-accordion[open] > summary::after,
.gentle-work-frontend .dsl-all-records-panel .dsl-session-accordion[open] > summary::after {
	margin-top: 5px;
	margin-bottom: 0;
	transform: rotate(225deg);
}

.gentle-work-frontend .dsl-all-records-panel .dsl-month-accordion > summary { padding: 11px 14px; }
.gentle-work-frontend .dsl-all-records-panel .dsl-session-accordion-shell { position: relative; }
.gentle-work-frontend .dsl-all-records-panel .dsl-session-accordion > summary {
	display: grid;
	grid-template-columns: minmax(0,1fr) auto 16px;
	gap: 10px;
	padding: 6px 52px 6px 12px;
}
.gentle-work-frontend .dsl-all-records-panel .dsl-session-accordion > summary > span:first-child { grid-column: 1; }
.gentle-work-frontend .dsl-all-records-panel .dsl-session-accordion > summary > small { grid-column: 2; margin: 0; white-space: nowrap; text-align: right; }
.gentle-work-frontend .dsl-all-records-panel .dsl-session-accordion > summary::after { grid-column: 3; justify-self: center; }
.gentle-work-frontend .dsl-all-records-panel .dsl-session-accordion-shell > .dsl-session-day-delete { position: absolute; z-index: 2; top: 6px; right: 38px; display: inline-flex !important; align-items: center; justify-content: center; width: 30px !important; min-width: 30px !important; height: 30px !important; min-height: 30px !important; margin: 0 !important; padding: 0 !important; }
.gentle-work-frontend .dsl-all-records-panel .dsl-month-points th:last-child,
.gentle-work-frontend .dsl-all-records-panel .dsl-table-actions-cell { text-align: center; }
.gentle-work-frontend .dsl-all-records-panel .dsl-table-actions { justify-content: center; }
.gentle-work-frontend .dsl-all-records-panel .dsl-session-content {
	box-sizing: border-box;
	padding: 0 14px 14px;
}

@media (max-width: 680px) {
	.gentle-work-frontend .dsl-all-records-panel,
	.gentle-work-frontend .dsl-teams-panel { margin-top: 14px; padding: 14px; }
	.gentle-work-frontend .dsl-all-records-panel .dsl-session-content { padding: 0 9px 9px; }
	.gentle-work-frontend .dsl-all-records-panel .dsl-session-accordion > summary { grid-template-columns: minmax(0,1fr) 16px; }
	.gentle-work-frontend .dsl-all-records-panel .dsl-session-accordion > summary > small { grid-column: 1; grid-row: 2; text-align: left; }
	.gentle-work-frontend .dsl-all-records-panel .dsl-session-accordion > summary::after { grid-column: 2; grid-row: 1; }
}

.gentle-work-frontend .dsl-team-summary {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100%;
	min-height: 82px !important;
	padding: 15px 16px !important;
	text-align: left !important;
	border-radius: 9px !important;
	background: #1b2834 !important;
	border-color: #344a5b !important;
}

.gentle-work-frontend .dsl-team-summary:hover,
.gentle-work-frontend .dsl-team-summary:focus {
	background: #223441 !important;
	border-color: #718aa0 !important;
}

.gentle-work-frontend .dsl-team-summary-main { display: grid; gap: 4px; }
.gentle-work-frontend .dsl-team-summary-main strong { font-size: 17px; }
.gentle-work-frontend .dsl-team-summary-main small { color: #9eb0c1; }
.gentle-work-frontend .dsl-team-summary-arrow { color: #93b7ff; font-size: 22px; }

.gentle-work-frontend .dsl-team-empty {
	padding: 24px;
	border: 1px dashed #405568;
	border-radius: 9px;
	color: #9eb0c1;
	text-align: center;
}

.gentle-work-frontend .dsl-team-dialog {
	box-sizing: border-box;
	width: min(720px, calc(100% - 28px));
	max-height: min(82vh, 760px);
	padding: 0;
	border: 1px solid #405568;
	border-radius: 12px;
	background: #172531;
	color: #e8eef5;
	box-shadow: 0 28px 80px rgba(0, 0, 0, .55);
}

.gentle-work-frontend .dsl-team-dialog::backdrop {
	background: rgba(4, 9, 14, .72);
	backdrop-filter: blur(3px);
}

.gentle-work-frontend .dsl-team-dialog-inner { padding: 22px; }

.gentle-work-frontend .dsl-team-dialog-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
}

.gentle-work-frontend .dsl-team-dialog-head h2 { margin: 0; }

.gentle-work-frontend .dsl-team-dialog-close {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 34px !important;
	height: 34px !important;
	min-height: 34px !important;
	padding: 0 !important;
	font-size: 22px !important;
}

.gentle-work-frontend .dsl-team-dialog label {
	display: flex;
	flex-direction: column;
	gap: 7px;
	margin-bottom: 13px;
}

.gentle-work-frontend .dsl-team-dialog textarea { min-height: 104px; }

.gentle-work-frontend .dsl-team-name-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 8px;
	margin-bottom: 18px;
	padding-bottom: 16px;
	border-bottom: 1px solid #314554;
}

.gentle-work-frontend .dsl-team-name-form label { margin: 0; }

.gentle-work-frontend .dsl-team-members {
	display: grid;
	gap: 7px;
	margin: 14px 0 18px;
}

.gentle-work-frontend .dsl-team-member {
	display: flex;
	align-items: center;
	gap: 9px;
	min-height: 46px;
	padding: 7px 9px;
	border: 1px solid #344a5b;
	border-radius: 7px;
	background: #121e27;
}

.gentle-work-frontend .dsl-team-member > span {
	min-width: 0;
	flex: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.gentle-work-frontend .dsl-team-member small { color: #9eb0c1; }
.gentle-work-frontend .dsl-team-member form { margin: 0; }
.gentle-work-frontend .dsl-team-role-form { display: grid; justify-items: end; }
.gentle-work-frontend .dsl-team-role-form label { margin: 0; }
.gentle-work-frontend .dsl-team-role-form select { width: 132px; min-height: 34px; }
.gentle-work-frontend .dsl-team-role-status { margin-top: 3px; color: #69cdb8 !important; font-size: 11px; }
.gentle-work-frontend .dsl-team-role-status:empty { display: none; }
.gentle-work-frontend .dsl-team-role-status.is-error { max-width: 180px; color: #ff9d9d !important; text-align: right; }
.gentle-work-frontend .dsl-team-role { min-width: 88px; text-align: right; }
.gentle-work-frontend .dsl-owner-badge { padding: 3px 7px; border: 1px solid currentColor; border-radius: 999px; font-weight: 700; }

.gentle-work-frontend .dsl-team-add {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 8px;
	padding-top: 16px;
	border-top: 1px solid #314554;
}

.gentle-work-frontend .dsl-team-add label { margin: 0; }
.gentle-work-frontend .dsl-team-dialog-note { margin: 12px 0 0 !important; }
.gentle-work-frontend .dsl-team-members-heading { margin: 18px 0 8px; }

.gentle-work-frontend .dsl-team-danger-zone {
	margin: 18px 0 0;
	padding: 12px 14px;
	border: 1px solid #633a43;
	border-radius: 8px;
	background: #231b21;
}

.gentle-work-frontend .dsl-team-danger-zone > summary { cursor: pointer; color: #ffabb3; font-weight: 700; }
.gentle-work-frontend .dsl-team-danger-zone p { margin: 10px 0; color: #c9aeb2; font-size: 12px; }
.gentle-work-frontend .dsl-team-delete { margin: 0; }

.gentle-work-frontend .dsl-team-dialog-actions {
	display: flex;
	justify-content: flex-end;
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid #314554;
}

.gentle-work-frontend .dsl-team-dialog-actions .button { min-width: 88px; }
.gentle-work-frontend .dsl-new-team-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; }
.gentle-work-frontend .dsl-theme-gentle .dsl-team-danger-zone { background: var(--dsl-surface-alt) !important; border-color: var(--dsl-danger) !important; }
.gentle-work-frontend .dsl-theme-gentle .dsl-team-danger-zone > summary { color: var(--dsl-danger) !important; }
.gentle-work-frontend .dsl-theme-gentle .dsl-team-danger-zone p { color: var(--dsl-muted) !important; }

@media (max-width: 600px) {
	.gentle-work-frontend .dsl-teams-toolbar { align-items: flex-start; flex-direction: column; }
	.gentle-work-frontend .dsl-team-dialog { width: calc(100% - 16px); max-height: 88vh; }
	.gentle-work-frontend .dsl-team-dialog-inner { padding: 17px; }
	.gentle-work-frontend .dsl-team-dialog .button { min-height: 44px !important; }
	.gentle-work-frontend .dsl-team-dialog-close { width: 44px !important; height: 44px !important; }
	.gentle-work-frontend .dsl-team-member { align-items: flex-start; flex-wrap: wrap; }
	.gentle-work-frontend .dsl-team-member > span { flex-basis: calc(100% - 46px); }
	.gentle-work-frontend .dsl-team-role-form { margin-left: 37px !important; }
	.gentle-work-frontend .dsl-team-add,
	.gentle-work-frontend .dsl-team-name-form { grid-template-columns: 1fr; }
	.gentle-work-frontend .dsl-team-add .button,
	.gentle-work-frontend .dsl-team-name-form .button { justify-self: start; }
}

.gentle-work-frontend .dsl-theme-dark .dsl-completed-foldout,
.gentle-work-frontend .dsl-theme-dark .dsl-completed-foldout[open] > summary {
	background: var(--dsl-dark-surface) !important;
	border-color: var(--dsl-dark-border) !important;
	color: var(--dsl-dark-text) !important;
}

.gentle-work-frontend .dsl-theme-gentle .dsl-completed-foldout,
.gentle-work-frontend .dsl-theme-gentle .dsl-completed-foldout[open] > summary {
	background: var(--dsl-surface) !important;
	border-color: var(--dsl-border) !important;
	color: var(--dsl-text) !important;
}

.gentle-work-frontend .dsl-theme-gentle .dsl-pdf-options-dialog {
	background: var(--dsl-surface) !important;
	border-color: var(--dsl-border) !important;
	color: var(--dsl-text) !important;
	box-shadow: 0 24px 64px rgba(76, 0, 7, .18) !important;
}

.gentle-work-frontend .dsl-theme-gentle .dsl-pdf-options-dialog::backdrop {
	background: rgba(76, 55, 40, .35) !important;
	backdrop-filter: blur(2px);
}

.gentle-work-frontend .dsl-theme-gentle .dsl-pdf-options-dialog h3,
.gentle-work-frontend .dsl-theme-gentle .dsl-pdf-options-dialog label,
.gentle-work-frontend .dsl-theme-gentle .dsl-pdf-options-dialog .dsl-export-details {
	color: var(--dsl-text) !important;
}

.gentle-work-frontend .dsl-theme-dark .dsl-app-header:not(.dsl-style-class-override) {
	background: #202326 !important;
}

.gentle-work-frontend .dsl-theme-dark .dsl-brand-banner {
	border-color: var(--dsl-dark-border) !important;
}

.gentle-work-frontend .dsl-theme-dark .nav-tab:not(.dsl-style-class-override),
.gentle-work-frontend .dsl-theme-dark .dsl-member-pill,
.gentle-work-frontend .dsl-theme-dark .dsl-user-choice,
.gentle-work-frontend .dsl-theme-dark .dsl-new-point-row,
.gentle-work-frontend .dsl-theme-dark .dsl-team-member,
.gentle-work-frontend .dsl-theme-dark .dsl-settings-drawer-tabs button:not(.dsl-style-class-override),
.gentle-work-frontend .dsl-theme-dark .dsl-appearance-mode,
.gentle-work-frontend .dsl-theme-dark .dsl-quick-tag-row,
.gentle-work-frontend .dsl-theme-dark .dsl-viewport-summary-item {
	background: var(--dsl-dark-surface) !important;
	border-color: var(--dsl-dark-border) !important;
	color: var(--dsl-dark-text) !important;
}

.gentle-work-frontend .dsl-theme-dark .nav-tab:not(.dsl-style-class-override):hover,
.gentle-work-frontend .dsl-theme-dark .nav-tab:not(.dsl-style-class-override):focus,
.gentle-work-frontend .dsl-theme-dark .dsl-settings-drawer-tabs button:not(.dsl-style-class-override):hover,
.gentle-work-frontend .dsl-theme-dark .dsl-settings-drawer-tabs button:not(.dsl-style-class-override):focus,
.gentle-work-frontend .dsl-theme-dark .dsl-team-summary:hover,
.gentle-work-frontend .dsl-theme-dark .dsl-team-summary:focus {
	background: var(--dsl-dark-surface-alt) !important;
	border-color: #64717d !important;
	color: #fff !important;
}

.gentle-work-frontend .dsl-theme-dark .nav-tab-active:not(.dsl-style-class-override),
.gentle-work-frontend .dsl-theme-dark .nav-tab-active:not(.dsl-style-class-override):hover {
	background: var(--dsl-dark-surface-alt) !important;
	border-color: #5e87ad !important;
	color: #fff !important;
	box-shadow: inset 3px 0 var(--dsl-dark-accent) !important;
}

.gentle-work-frontend .dsl-theme-dark .button:not(.dsl-style-class-override),
.gentle-work-frontend .dsl-theme-dark input[type="submit"]:not(.dsl-style-class-override) {
	background: var(--dsl-dark-surface-alt) !important;
	border-color: #56616b !important;
	color: #f2f5f7 !important;
}

.gentle-work-frontend .dsl-theme-dark .button:not(.dsl-style-class-override):hover,
.gentle-work-frontend .dsl-theme-dark .button:not(.dsl-style-class-override):focus {
	background: #394149 !important;
	border-color: #71808d !important;
	box-shadow: none !important;
}

.gentle-work-frontend .dsl-theme-dark .button-primary:not(.dsl-style-class-override),
.gentle-work-frontend .dsl-theme-dark input.button-primary:not(.dsl-style-class-override) {
	background: var(--dsl-dark-accent) !important;
	border-color: #5789b7 !important;
	color: #fff !important;
}

.gentle-work-frontend .dsl-theme-dark .button-primary:not(.dsl-style-class-override):hover,
.gentle-work-frontend .dsl-theme-dark .button-primary:not(.dsl-style-class-override):focus {
	background: var(--dsl-dark-accent-hover) !important;
	border-color: #6a9ac5 !important;
}

.gentle-work-frontend .dsl-theme-dark input[type="text"],
.gentle-work-frontend .dsl-theme-dark input[type="url"],
.gentle-work-frontend .dsl-theme-dark input[type="datetime-local"],
.gentle-work-frontend .dsl-theme-dark textarea,
.gentle-work-frontend .dsl-theme-dark select {
	background: #22262a !important;
	border-color: var(--dsl-dark-border) !important;
	color: #f2f4f6 !important;
	color-scheme: dark;
}

.gentle-work-frontend .dsl-theme-dark .dsl-points-table th,
.gentle-work-frontend .dsl-theme-dark .widefat thead th,
.gentle-work-frontend .dsl-theme-dark .widefat tfoot th {
	background: var(--dsl-dark-surface-alt) !important;
	border-color: var(--dsl-dark-border) !important;
}

.gentle-work-frontend .dsl-theme-dark .dsl-points-table td,
.gentle-work-frontend .dsl-theme-dark .widefat td {
	border-color: #3d4349 !important;
}

.gentle-work-frontend .dsl-theme-dark .dsl-active-work {
	border-color: #4d7598 !important;
	box-shadow: 0 10px 24px rgba(0, 0, 0, .24) !important;
}

.gentle-work-frontend .dsl-theme-dark .dsl-active-label {
	color: #a9ccec !important;
}

.gentle-work-frontend .dsl-theme-dark .dsl-finish-warning,
.gentle-work-frontend .dsl-theme-dark .dsl-finish-container,
.gentle-work-frontend .dsl-theme-dark .notice {
	background: #252b30 !important;
	border-color: #4b555e !important;
	color: #e8edf1 !important;
}

.gentle-work-app-main {
	width: 100%;
	min-height: 100vh;
	background: radial-gradient(circle at 12% 0, rgba(101, 112, 243, .09), transparent 32rem), var(--gentle-bg);
}

.gentle-work-frontend {
	box-sizing: border-box;
	width: min(1280px, 100%);
	margin: 0 auto;
	padding: 36px 40px 56px;
	color: var(--gentle-text);
	font: inherit;
}

.gentle-work-frontend *,
.gentle-work-frontend *::before,
.gentle-work-frontend *::after {
	box-sizing: border-box;
}

.gentle-work-login-gate {
	position: fixed;
	z-index: 100000;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 20px;
	background: rgba(8, 12, 16, .68);
	backdrop-filter: blur(4px);
}

.gentle-work-login-card {
	width: min(460px, 100%);
	padding: 30px;
	border: 1px solid #454c53;
	border-radius: 12px;
	background: #25292d;
	color: #f4f6f8;
	box-shadow: 0 28px 80px rgba(0, 0, 0, .46);
	text-align: center;
}

.gentle-work-login-card h1 {
	margin: 0 0 10px;
	color: inherit;
	font-size: 28px;
}

.gentle-work-login-card p {
	margin: 0 0 22px;
	color: #d6dde3;
}

.gentle-work-login-card .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 8px 18px;
	border: 1px solid #5789b7;
	border-radius: 6px;
	background: #32689a;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
}

.gentle-work-login-gate.dsl-theme-gentle {
	background: rgba(76, 55, 40, .35);
}

.gentle-work-login-gate.dsl-theme-gentle .gentle-work-login-card {
	border-color: var(--dsl-border, #dfa75b);
	background: var(--dsl-surface, #fffaf0);
	color: var(--dsl-text, #4c0007);
	box-shadow: 0 24px 64px rgba(76, 0, 7, .18);
}

.gentle-work-login-gate.dsl-theme-gentle .gentle-work-login-card p {
	color: var(--dsl-muted, #766158);
}

.gentle-work-login-gate.dsl-theme-gentle .gentle-work-login-card .button {
	border-color: var(--dsl-accent, #4c0007);
	background: var(--dsl-accent, #4c0007);
	color: var(--dsl-accent-text, #fff7df);
}

.gentle-work-frontend .wrap {
	width: min(1120px, 100%);
	min-width: 0;
	margin: 0 auto;
}

.gentle-work-frontend .dsl-app-header {
	top: 0;
	width: 100vw;
	margin: -36px calc(50% - 50vw) 22px;
	padding-right: 40px;
	padding-left: 40px;
	border-right: 0;
	border-left: 0;
	border-radius: 0;
}

.gentle-work-frontend .dsl-brand-banner-image {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 60px;
	object-fit: contain;
	object-position: left center;
}

.gentle-work-frontend .dsl-brand-banner,
.gentle-work-frontend .dsl-brand-banner-image {
	-webkit-user-drag: none;
	-webkit-user-select: none;
	user-select: none;
}

.gentle-work-frontend .dsl-brand-banner:focus:not(:focus-visible) {
	outline: none;
	box-shadow: none;
}

.gentle-work-frontend .dsl-chronarium-person img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }

/* Desktop application shell: persistent navigation rail and independent settings control. */
@media (min-width: 701px) {
	body.gentle-work-app-shell {
		padding-left: 248px;
	}

	.gentle-work-frontend {
		width: 100%;
		max-width: none;
		padding-top: 36px;
	}

	.gentle-work-frontend .dsl-app-header {
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 22px;
		width: 248px !important;
		height: 100vh;
		margin: 0 !important;
		padding: 24px 18px !important;
		overflow-y: auto;
		border: 0;
		border-right: 1px solid #314554;
		box-shadow: 10px 0 28px rgba(0, 0, 0, .18);
	}

	.gentle-work-frontend .dsl-brand-banner {
		min-width: 0;
		padding: 0 4px 20px;
		border-right: 0;
		border-bottom: 1px solid #314554;
	}

	.gentle-work-frontend .dsl-brand-banner strong {
		font-size: 31px;
	}

	.gentle-work-frontend .dsl-app-header-nav .nav-tab-wrapper {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
		overflow: visible;
	}

	.gentle-work-frontend .dsl-app-header-nav .nav-tab {
		justify-content: flex-start;
		width: 100%;
	}

	.gentle-work-frontend .dsl-app-header-team {
		width: 100%;
	}

	.gentle-work-frontend .dsl-app-header-team .dsl-teamspace-switcher,
	.gentle-work-frontend .dsl-app-header-team .dsl-teamspace-switcher form {
		width: 100%;
	}

	.gentle-work-frontend .dsl-app-header-team .dsl-teamspace-switcher form {
		align-items: stretch;
		flex-direction: column;
	}

	.gentle-work-frontend .dsl-app-header-team .dsl-teamspace-switcher label {
		display: block;
	}

	.gentle-work-frontend .dsl-app-header-team .dsl-teamspace-switcher select {
		width: 100% !important;
		min-width: 0;
		max-width: none;
	}

	.gentle-work-frontend .dsl-app-header .dsl-settings-gear {
		position: fixed !important;
		top: 18px;
		right: 22px;
		z-index: 80;
		width: 46px !important;
		height: 46px !important;
	}
	.gentle-work-frontend .dsl-app-header .dsl-settings-gear:not(.dsl-style-class-override) {
		border-radius: 50% !important;
		box-shadow: 0 8px 24px rgba(0, 0, 0, .22) !important;
	}
}

@media (min-width: 701px) {
	.gentle-work-frontend .dsl-app-header-nav .nav-tab-wrapper {
		flex-wrap: nowrap;
		overflow-x: auto;
	}
	.gentle-work-frontend .dsl-app-header-nav .nav-tab {
		flex-shrink: 0;
		white-space: nowrap;
	}
}

/*
 * This critical rail rule lives in the first-loaded stylesheet so navigation
 * swaps cannot briefly inherit the generic desktop scroller before the
 * Chronarium stylesheet is applied.
 */
@media (min-width: 701px) {
	body.gentle-work-app-shell:has(.dsl-chronarium-easy-layout) {
		--dsl-rail-width: 290px;
		padding-left: var(--dsl-rail-width) !important;
	}

	.gentle-work-frontend .dsl-chronarium-easy-layout > .dsl-app-header {
		position: fixed !important;
		top: var(--wp-admin--admin-bar--height, 0px) !important;
		bottom: 0 !important;
		left: 0 !important;
		box-sizing: border-box;
		width: var(--dsl-rail-width) !important;
		height: calc(100vh - var(--wp-admin--admin-bar--height, 0px)) !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.gentle-work-frontend .dsl-chronarium-easy-layout > .dsl-app-header,
	.gentle-work-frontend .dsl-chronarium-easy-layout > .dsl-app-header .dsl-sidebar-controls,
	.gentle-work-frontend .dsl-chronarium-easy-layout > .dsl-app-header .dsl-app-header-nav,
	.gentle-work-frontend .dsl-chronarium-easy-layout > .dsl-app-header .nav-tab-wrapper {
		overflow: visible !important;
		scrollbar-width: none;
	}

	.gentle-work-frontend .dsl-chronarium-easy-layout > .dsl-app-header .dsl-app-header-nav::-webkit-scrollbar,
	.gentle-work-frontend .dsl-chronarium-easy-layout > .dsl-app-header .nav-tab-wrapper::-webkit-scrollbar {
		display: none;
	}

	.gentle-work-frontend .dsl-chronarium-easy-layout > .dsl-app-header .dsl-sidebar-controls {
		position: absolute !important;
		top: 425px !important;
		right: 20px !important;
		bottom: 58px !important;
		left: 20px !important;
		display: flex !important;
		flex-direction: column;
		gap: 10px;
	}

	.gentle-work-frontend .dsl-chronarium-easy-layout > .dsl-app-header .dsl-sidebar-controls > .dsl-app-header-nav,
	.gentle-work-frontend .dsl-chronarium-easy-layout > .dsl-app-header .dsl-sidebar-controls > .dsl-app-header-team {
		position: static !important;
		inset: auto !important;
		box-sizing: border-box;
		width: 100% !important;
		margin: 0 !important;
		transform: none !important;
	}

	.gentle-work-frontend .dsl-chronarium-easy-layout > .dsl-app-header .dsl-sidebar-controls > .dsl-app-header-team {
		margin-top: auto !important;
	}
}

/* Profile pages must never expose the old beige fallback while CSS parses. */
.gentle-work-frontend .dsl-theme-profile.dsl-chronarium-easy-layout::after {
	background-color: transparent !important;
}

@media (max-width: 700px) {
	body.gentle-work-app-shell:has(.dsl-chronarium-easy-layout) {
		--dsl-rail-width: 100%;
		padding-left: 0 !important;
	}

	.gentle-work-frontend .dsl-chronarium-easy-layout > .dsl-app-header {
		position: relative !important;
		top: auto !important;
		bottom: auto !important;
		left: auto !important;
		box-sizing: border-box;
		width: 100% !important;
		height: 720px !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
	}

	.gentle-work-frontend .dsl-chronarium-easy-layout > .dsl-app-header:not(.dsl-style-class-override)::after {
		display: none !important;
	}

	.gentle-work-frontend .dsl-chronarium-easy-layout > .dsl-app-header .dsl-sidebar-controls {
		position: absolute !important;
		top: 425px !important;
		right: auto !important;
		bottom: auto !important;
		left: 50% !important;
		display: flex !important;
		flex-direction: column;
		gap: 9px;
		width: min(calc(100% - 40px), 360px) !important;
		overflow: visible !important;
		transform: translateX(-50%) !important;
	}

	.gentle-work-frontend .dsl-chronarium-easy-layout > .dsl-app-header .dsl-sidebar-controls > .dsl-app-header-nav,
	.gentle-work-frontend .dsl-chronarium-easy-layout > .dsl-app-header .dsl-sidebar-controls > .dsl-app-header-team {
		position: static !important;
		inset: auto !important;
		box-sizing: border-box;
		width: 100% !important;
		margin: 0 !important;
		transform: none !important;
	}

	.gentle-work-frontend .dsl-chronarium-easy-layout > .dsl-app-header .dsl-teamspace-switcher form {
		align-items: stretch;
		flex-direction: column;
	}
}

@media (min-width: 701px) and (max-width: 1100px) {
	.gentle-work-frontend .dsl-app-header {
		padding-left: 16px;
		padding-right: 16px;
	}
}

.gentle-work-frontend .wrap > h1 {
	margin: 0;
	font-size: clamp(30px, 4vw, 44px);
	font-weight: 720;
	letter-spacing: -.035em;
	line-height: 1.05;
}

.gentle-work-frontend .dsl-grid,
.gentle-work-frontend .dsl-session-bar,
.gentle-work-frontend .dsl-patchnote,
.gentle-work-frontend .dsl-secondary,
.gentle-work-frontend .dsl-table,
.gentle-work-frontend .dsl-card[style] {
	max-width: none !important;
}

.gentle-work-frontend .nav-tab-wrapper {
	display: flex;
	gap: 6px;
	margin-top: 24px;
	padding: 0 0 1px;
	overflow-x: auto;
	scrollbar-width: none;
}

.gentle-work-frontend .nav-tab-wrapper::-webkit-scrollbar {
	display: none;
}

.gentle-work-frontend .nav-tab {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	margin: 0;
	padding: 8px 14px;
	text-decoration: none;
	white-space: nowrap;
}

.gentle-work-frontend .nav-tab:not(.dsl-style-class-override) {
	border: 1px solid;
}

.gentle-work-frontend .dsl-card {
	min-width: 0;
}

.gentle-work-frontend .button,
.gentle-work-frontend input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 34px;
	margin: 0;
	padding: 6px 12px;
	font: inherit;
	font-weight: 600;
	line-height: 1.25;
	text-decoration: none;
	cursor: pointer;
}

.gentle-work-frontend .button:not(.dsl-style-class-override),
.gentle-work-frontend input[type="submit"]:not(.dsl-style-class-override) {
	border: 1px solid #496075;
	border-radius: 5px;
	background: #22323f;
	color: #d8e5ef;
}

.gentle-work-frontend .button-primary:not(.dsl-style-class-override),
.gentle-work-frontend input.button-primary:not(.dsl-style-class-override) {
	border-color: #7781ff;
	background: #6570f3;
	color: #fff;
}

.dsl-presence-dialog {
	box-sizing: border-box;
	width: min(520px, calc(100% - 24px));
	padding: 0;
	border: 1px solid #405568;
	border-radius: 12px;
	background: #1b2834;
	color: #e8eef5;
	box-shadow: 0 28px 80px rgba(0, 0, 0, .55);
}

.dsl-presence-dialog::backdrop {
	background: rgba(4, 9, 14, .72);
	backdrop-filter: blur(3px);
}

.dsl-presence-dialog .dsl-point-edit-dialog-inner { padding: 24px; }
.dsl-presence-dialog h2 { margin: 0 0 10px; color: inherit; }
.dsl-presence-dialog p { margin: 0; color: inherit; line-height: 1.55; }
.dsl-presence-dialog .dsl-autosave-status { min-height: 0; margin-top: 8px; }
.dsl-presence-dialog .dsl-point-edit-dialog-actions { display: flex; justify-content: flex-end; margin-top: 22px; }
.dsl-presence-dialog .dsl-presence-confirm {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 8px 18px;
	border: 1px solid #5789b7;
	border-radius: 6px;
	background: #356b9b;
	color: #fff;
	box-shadow: none;
	font: inherit;
	font-weight: 700;
	line-height: 1.25;
	cursor: pointer;
}
.dsl-presence-dialog .dsl-presence-confirm:hover,
.dsl-presence-dialog .dsl-presence-confirm:focus { background: #467dae; border-color: #6a9ac5; }
.dsl-presence-dialog .dsl-presence-confirm:disabled { cursor: wait; opacity: .72; }
.dsl-presence-dialog.dsl-theme-gentle {
	border-color: #c9863d;
	background: #fff8ec;
	color: #4f1016;
}
.dsl-presence-dialog.dsl-theme-gentle::backdrop { background: rgba(49, 35, 22, .38); }
.dsl-presence-dialog.dsl-theme-gentle .dsl-presence-confirm {
	border-color: #5a0c14;
	background: #5a0c14;
	color: #fff;
}
.dsl-presence-dialog.dsl-theme-gentle .dsl-presence-confirm:hover,
.dsl-presence-dialog.dsl-theme-gentle .dsl-presence-confirm:focus { border-color: #74131d; background: #74131d; }

.gentle-work-frontend input[type="text"],
.gentle-work-frontend input[type="url"],
.gentle-work-frontend input[type="datetime-local"],
.gentle-work-frontend textarea,
.gentle-work-frontend select {
	width: 100%;
	max-width: 100%;
	padding: 8px 10px;
	font: inherit;
}

.gentle-work-frontend .large-text {
	width: 100%;
}

.gentle-work-frontend .notice {
	margin: 16px 0;
	padding: 10px 14px;
	border: 1px solid #314757;
	border-left-width: 4px;
}

.dsl-connectivity-banner {
	position: fixed;
	left: 50%;
	z-index: 100040;
	box-sizing: border-box;
	max-width: calc(100vw - 24px);
	padding: 6px 10px;
	transform: translateX(-50%);
	border: 1px solid #a95a4b;
	border-radius: 7px;
	background: #fff1e8;
	color: #5a0c14;
	box-shadow: 0 5px 16px rgba(0,0,0,.18);
	font: 600 12px/1.25 system-ui, sans-serif;
	text-align: center;
	pointer-events: none;
}
.dsl-connectivity-banner[hidden] { display: none !important; }
.dsl-connectivity-banner[data-state="restored"] { border-color: #4b946e; background: #e8f6ed; color: #175c38; }

.gentle-work-frontend .dsl-toast {
	position: fixed;
	top: 18px;
	right: 82px;
	z-index: 99989;
	width: auto;
	max-width: min(420px, calc(100vw - 110px));
	margin: 0;
	padding: 10px 15px;
	border-radius: 7px;
	box-shadow: 0 12px 36px rgba(0, 0, 0, .3);
	animation: dsl-toast-in .18s ease-out both;
	cursor: pointer;
}

.gentle-work-frontend .dsl-toast.dsl-toast-leaving {
	animation: dsl-toast-out .2s ease-in both;
}

@keyframes dsl-toast-in {
	from { opacity: 0; transform: translateY(-8px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes dsl-toast-out {
	from { opacity: 1; transform: translateY(0); }
	to { opacity: 0; transform: translateY(-8px); }
}

@media (max-width: 600px) {
	.gentle-work-frontend .dsl-toast {
		top: 70px;
		right: 12px;
		left: 12px;
		max-width: none;
	}
}

/* Team timeline */
.dsl-timeline-page {
	width: min(1500px, 100%);
	margin: 22px auto 50px;
}

.dsl-timeline-page > .dsl-card {
	box-sizing: border-box;
	width: 100%;
	padding: 24px;
	border-radius: 16px;
}

.dsl-timeline-page-head,
.dsl-timeline-page-head > div,
.dsl-timeline-page-head nav,
.dsl-timeline-person > header,
.dsl-timeline-legend,
.dsl-timeline-legend span {
	display: flex;
	align-items: center;
}

.dsl-timeline-page-head {
	justify-content: space-between;
	gap: 22px;
	margin-bottom: 28px;
	padding-right: 58px;
}

.dsl-timeline-page-head > div { gap: 13px; }
.dsl-timeline-page-head > div > .dashicons { width: 28px; height: 28px; font-size: 28px; line-height: 28px; }
.dsl-timeline-page-head h1 { margin: 0 0 4px; font-size: 28px; }
.dsl-timeline-page-head p { margin: 0; color: var(--dsl-muted, #6d5b56); }
.dsl-timeline-page-head nav { gap: 10px; }
.dsl-timeline-date-control { position: relative; display: inline-flex; align-items: center; gap: 7px; min-width: 0; text-align: center; }
.dsl-timeline-date-label { min-width: 170px; color: var(--dsl-text, #5a0c14); font: inherit; font-weight: 700; white-space: nowrap; }
.dsl-timeline-calendar-button { flex: 0 0 auto; }
.dsl-timeline-page-head nav .button { display: inline-flex; align-items: center; justify-content: center; width: 38px; min-width: 38px; height: 38px; padding: 0; line-height: 1; }
.dsl-timeline-page-head nav .button .dashicons { display: block; position: static; width: 18px; height: 18px; margin: 0; font-size: 18px; line-height: 18px; text-align: center; }

.dsl-timeline-calendar { position: absolute; z-index: 100; top: calc(100% + 7px); left: 50%; box-sizing: border-box; width: 286px; padding: 12px; transform: translateX(-50%); border: 1px solid var(--dsl-border, #d9b981); border-radius: 10px; background: var(--dsl-surface, #fffaf1); box-shadow: 0 14px 34px color-mix(in srgb, var(--dsl-text, #5a0c14) 22%, transparent); color: var(--dsl-text, #5a0c14); text-align: left; }
.dsl-timeline-calendar[hidden] { display: none !important; }
.dsl-timeline-calendar-head { display: grid; grid-template-columns: 32px 1fr 78px 32px; gap: 5px; align-items: center; margin-bottom: 10px; }
.dsl-timeline-calendar button,
.dsl-timeline-calendar select { box-sizing: border-box; min-width: 0; height: 32px; margin: 0; border: 1px solid transparent; border-radius: 5px; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.dsl-timeline-calendar select { padding: 0 5px; font-weight: 700; }
.dsl-timeline-calendar button:hover,
.dsl-timeline-calendar select:hover { border-color: var(--dsl-border, #d9b981); background: var(--dsl-surface-alt, #f8ead0); }
.dsl-timeline-calendar button:focus-visible,
.dsl-timeline-calendar select:focus-visible { outline: 2px solid var(--dsl-accent, #397f7a); outline-offset: 1px; }
.dsl-timeline-calendar-weekdays,
.dsl-timeline-calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.dsl-timeline-calendar-weekdays span { padding: 4px 0 6px; color: var(--dsl-muted, #76645e); font-size: 11px; font-weight: 700; text-align: center; }
.dsl-timeline-calendar-grid button { width: 100%; height: 32px; padding: 0; font-size: 12px; text-align: center; }
.dsl-timeline-calendar-grid button.is-outside { color: var(--dsl-muted, #76645e); opacity: .55; }
.dsl-timeline-calendar-grid button.is-today { box-shadow: inset 0 0 0 1px var(--dsl-accent, #397f7a); }
.dsl-timeline-calendar-grid button.is-selected { border-color: var(--dsl-accent, #397f7a); background: var(--dsl-accent, #397f7a); color: #fff; font-weight: 800; }
.dsl-timeline-calendar-footer { display: flex; justify-content: flex-end; margin-top: 9px; padding-top: 8px; border-top: 1px solid color-mix(in srgb, var(--dsl-border, #d9b981) 70%, transparent); }
.dsl-timeline-calendar-footer button { width: auto; padding: 0 8px; color: var(--dsl-accent, #397f7a); font-weight: 700; }
.dsl-datetime-picker { position: relative; width: 100%; }
.dsl-datetime-picker > input[type="datetime-local"] { position: absolute !important; width: 1px !important; height: 1px !important; margin: 0 !important; padding: 0 !important; opacity: 0 !important; pointer-events: none !important; }
.dsl-datetime-trigger { display: grid !important; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 10px; box-sizing: border-box !important; width: 100% !important; min-height: 42px !important; padding: 7px 10px !important; text-align: left !important; }
.dsl-datetime-trigger .dashicons { width: 18px; height: 18px; font-size: 18px; line-height: 18px; }
.dsl-point-pause-list { margin: 16px 0; border: 1px solid var(--dsl-border,#c9863d); border-radius: 7px; padding: 0 12px; }
.dsl-point-pause-placement { grid-column: 1 / -1; min-width: 0; }
.dsl-point-pause-placement .dsl-point-pause-list { margin: 0; }
.dsl-point-pause-panel { position: fixed; z-index: 12000; box-sizing: border-box; max-height: min(320px, calc(100vh - 16px)); overflow-y: auto; padding: 12px; border: 1px solid var(--dsl-border,#c9863d); border-radius: 7px; background: var(--dsl-surface,#fffaf0); color: var(--dsl-text,#5a0c14); box-shadow: 0 12px 28px #0003; }
.dsl-point-pause-panel:not([data-positioned]) { visibility: hidden; }
.dsl-point-edit-fields .dsl-custom-select-native,
.gentle-work-frontend .dsl-custom-select-native,
.dsl-point-edit-dialog .dsl-custom-select-native,
.dsl-timeline-calendar .dsl-custom-select-native,
.dsl-timeline-create-dialog .dsl-custom-select-native { display: none !important; }
.dsl-point-edit-fields > .dsl-point-time-fields { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,1fr) 160px minmax(0,1fr); gap: 10px; min-width: 0; }
.dsl-point-time-fields > label, .dsl-point-duration-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; margin: 0; }
.dsl-point-duration-field > strong { white-space: nowrap; font-size: 13px; }
.dsl-point-duration-controls { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.dsl-point-duration-field .dsl-point-duration-controls > label { display: flex; flex-direction: row; align-items: center; gap: 4px; min-width: 0; margin: 0; }
.dsl-point-duration-controls > label > span { flex: none; font-size: 12px; }
.dsl-point-duration-controls input { box-sizing: border-box; width: 100%; min-width: 0; height: 42px; padding: 8px 6px; border: 1px solid var(--dsl-border,#c9863d); border-radius: 6px; background: var(--dsl-surface,#fffaf0); color: var(--dsl-text,#5a0c14); font: inherit; font-variant-numeric: tabular-nums; text-align: center; }
@media(max-width:600px){.dsl-point-edit-fields > .dsl-point-time-fields{grid-template-columns:1fr}.dsl-point-duration-controls{max-width:180px}}
.dsl-point-select { position: relative; display: block; width: 100%; }
.dsl-timeline-calendar-head .dsl-point-select { min-width: 0; }
.dsl-timeline-calendar .dsl-timeline-calendar-head .dsl-point-select-trigger {
	min-height: 29px; height: 32px; padding: 0 20px 0 5px;
	text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.dsl-timeline-calendar-head .dsl-point-select-trigger::after { right: 7px; width: 5px; height: 5px; }
.dsl-datetime-calendar .dsl-timeline-calendar-head .dsl-point-select-trigger { height: 29px; }
.dsl-point-select-trigger { display: block; width: 100%; min-height: 41px; padding: 8px 34px 8px 12px; border: 1px solid var(--dsl-border,#c9863d); border-radius: 6px; background: var(--dsl-surface,#fffaf0); color: var(--dsl-text,#5a0c14); font: inherit; text-align: left; cursor: pointer; }
.dsl-point-select-trigger::after { content: ''; position: absolute; right: 13px; top: 50%; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-70%) rotate(45deg); pointer-events: none; }
.dsl-point-select-options { position: fixed; z-index: 11000; inset: auto; margin: 0; box-sizing: border-box; display: grid; gap: 2px; max-height: min(240px, 40vh); overflow-y: auto; padding: 5px; border: 1px solid var(--dsl-border,#c9863d); border-radius: 6px; background: var(--dsl-surface,#fffaf0); color: var(--dsl-text,#5a0c14); box-shadow: 0 10px 24px #0003; }
.dsl-point-select-options[hidden] { display: none; }
/* Keep the destructive action apart from Update/Cancel in all point editors. */
.dsl-point-edit-dialog .dsl-session-delete-form {
	display: flex;
	justify-content: flex-end;
	margin: 20px 0 0;
	padding: 16px 0 0;
	border-top: 1px solid var(--dsl-border, #405568);
}
.dsl-point-select-option { min-height: 33px; padding: 5px 9px; border: 0; border-radius: 4px; background: transparent; color: var(--dsl-text,#5a0c14); font: inherit; text-align: left; cursor: pointer; }
.dsl-point-select-option[aria-selected="true"] { background: var(--dsl-surface-alt,#f8ead0); }
/* Calendar menu rows must not inherit Quick add's field/button boxes. */
.dsl-timeline-calendar .dsl-point-select-options .dsl-point-select-option {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	min-height: 33px;
	height: auto;
	padding: 5px 9px;
	text-align: left;
	font-weight: 700;
}
.dsl-timeline-calendar .dsl-point-select-options .dsl-point-select-option[aria-selected="true"] {
	background: var(--dsl-surface-alt) !important;
}
.gentle-work-frontend .dsl-point-select-options .dsl-point-select-option:is(:hover, :focus-visible),
.dsl-point-edit-dialog .dsl-point-select-options .dsl-point-select-option:is(:hover, :focus-visible),
.dsl-timeline-calendar .dsl-point-select-options .dsl-point-select-option:is(:hover, :focus-visible),
.dsl-timeline-create-dialog .dsl-point-select-options .dsl-point-select-option:is(:hover, :focus-visible) {
	background: var(--dsl-secondary-hover-bg-paint, var(--dsl-secondary-hover-bg)) !important;
	color: var(--dsl-secondary-hover-text) !important;
	outline: 1px solid var(--dsl-secondary-hover-border);
	outline-offset: -1px;
	box-shadow: none !important;
	cursor: pointer;
}
.dsl-point-edit-dialog .dsl-assignee-checks,.dsl-quick-import .dsl-assignee-checks{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:8px 0 0}
.dsl-point-edit-dialog .dsl-assignee-check,.dsl-quick-import .dsl-assignee-check{display:inline-flex;align-items:center;gap:7px;width:auto;padding:6px 9px;border:1px solid var(--dsl-border,#c9863d);border-radius:6px;background:var(--dsl-surface,#fffaf0);color:var(--dsl-text,#5a0c14);font-size:13px;cursor:pointer}
.dsl-point-edit-dialog .dsl-assignee-check input,.dsl-quick-import .dsl-assignee-check input{width:auto;min-height:0;margin:0;flex:none}
.dsl-point-edit-dialog .dsl-user-avatar,.dsl-quick-import .dsl-user-avatar{display:block;width:24px;height:24px;border-radius:50%;object-fit:cover;flex:none}
.dsl-point-pause-heading, .dsl-point-duplicate-head, .dsl-point-duplicate-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.dsl-point-pause-heading { min-height: 42px; cursor: pointer; list-style: none; }
.dsl-point-pause-heading::-webkit-details-marker { display: none; }
.dsl-point-pause-heading::after { content: ''; width: 7px; height: 7px; margin: -4px 5px 0 4px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); }
.dsl-point-pause-list[open] .dsl-point-pause-heading::after { margin-top: 4px; transform: rotate(225deg); }
.dsl-point-pause-format { margin: 0 0 8px; font-size: 11px; opacity: .72; }
.dsl-point-pause-panel > [data-dsl-point-pause-add] { margin: 4px 0 0; }
.dsl-point-pause-heading small { opacity: .72; }
.dsl-point-pause-row { display: grid; grid-template-columns: minmax(0,1fr) 140px minmax(0,1fr) 36px; align-items: end; gap: 8px; margin: 10px 0; }
.dsl-point-pause-row label { display: flex; flex-direction: column; min-width: 0; gap: 5px; }
.dsl-point-pause-row .dsl-point-pause-remove { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; min-height: 42px; padding: 0; }
.dsl-point-pause-row .dsl-point-pause-remove .dashicons { font-size: 18px; width: 18px; height: 18px; }
.dsl-point-duplicate-open { margin-left: auto !important; }
.dsl-quick-import h2 { margin: 0; padding-right: 44px; font-size: 34px; line-height: 1.2; }
.dsl-quick-import > .description { margin: 8px 0 12px; }
.dsl-quick-import .dsl-point-text-field { display: grid; gap: 4px; }
.dsl-quick-import input[name="point"] { box-sizing: border-box; width: 100%; height: 36px; min-height: 36px; }
.dsl-quick-import .dsl-point-edit-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 10px 0; }
.dsl-quick-import .dsl-point-edit-fields > label { display: flex; flex-direction: column; min-width: 0; gap: 4px; }
.dsl-quick-import .dsl-point-edit > p { margin: 8px 0; }
.dsl-quick-import .dsl-point-pause-heading { min-height: 36px; padding-top: 7px; padding-bottom: 7px; }
.dsl-quick-import .dsl-point-duplicate-calendar { margin: 12px 0 0; padding: 10px; }
.dsl-quick-import .dsl-point-duplicate-grid { gap: 2px; margin: 8px 0; }
.dsl-quick-import .dsl-point-duplicate-grid button { min-height: 26px; padding: 2px; font-size: 12px; }
.dsl-quick-import .dsl-point-duplicate-grid span { font-size: 11px; }
#dsl-quick-settings-dialog:has([data-dsl-settings-panel="quick-import"]:not([hidden])) { max-height: calc(100dvh - 48px); }
.dsl-quick-import .dsl-point-duplicate-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.dsl-quick-import .dsl-point-duplicate-actions { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.dsl-quick-import [data-dsl-import-next-day] { display: inline-block; margin-left: 6px; padding: 2px 7px; border: 1px solid currentColor; border-radius: 999px; font-size: 11px; line-height: 1.2; white-space: nowrap; }
.dsl-quick-import [data-dsl-import-next-day][hidden] { display: none; }
.dsl-quick-import [data-dsl-quick-import-status]:empty { display: none; }
.dsl-quick-import-feedback { position: fixed; z-index: 999999; top: 50%; left: 50%; transform: translate(-50%,-50%); box-sizing: border-box; width: max-content; max-width: min(420px,calc(100vw - 32px)); padding: 14px 22px; border: 1px solid #c9863d; border-radius: 10px; background: #fff8ec; color: #4f1016; box-shadow: 0 18px 48px rgba(49,35,22,.3); font-size: 16px; font-weight: 700; line-height: 1.4; text-align: center; pointer-events: none; }
.dsl-point-time-rejection { position: fixed; z-index: 999999; top: 50%; left: 50%; transform: translate(-50%,-50%); box-sizing: border-box; width: max-content; max-width: min(420px,calc(100vw - 32px)); padding: 14px 22px; border: 1px solid #c9863d; border-radius: 10px; background: #fff8ec; color: #4f1016; box-shadow: 0 18px 48px rgba(49,35,22,.3); font-size: 16px; font-weight: 700; line-height: 1.4; text-align: center; pointer-events: none; }
.dsl-quick-import-feedback.is-success { border-color: #5a0c14; background: #5a0c14; color: #fff8ec; }
@media(max-width:600px){.dsl-quick-import .dsl-point-edit-fields{grid-template-columns:1fr}}
@media(min-width:700px) and (max-height:800px){
 #dsl-quick-settings-dialog:has([data-dsl-settings-panel="quick-import"]:not([hidden])){max-height:calc(100dvh - 24px)}
 #dsl-quick-settings-dialog:has([data-dsl-settings-panel="quick-import"]:not([hidden])) .dsl-quick-settings-inner{padding:14px}
 .dsl-quick-import h2{font-size:30px}
 .dsl-quick-import > .description{margin:6px 0 8px}
 .dsl-quick-import .dsl-point-edit-fields{gap:6px;margin:8px 0}
 .dsl-quick-import .dsl-datetime-trigger{min-height:36px!important;padding-top:4px!important;padding-bottom:4px!important}
 .dsl-quick-import .dsl-point-select-trigger{min-height:35px;padding-top:5px;padding-bottom:5px}
 .dsl-quick-import .dsl-point-edit > p{margin:6px 0}
 .dsl-quick-import .dsl-point-duplicate-calendar{padding:8px;margin-top:8px}
 .dsl-quick-import .dsl-point-duplicate-grid{gap:1px;margin:4px 0}
 .dsl-quick-import .dsl-point-duplicate-grid button{min-height:24px}
}
.dsl-point-duplicate-calendar { margin: 18px 0; padding: 14px; border: 1px solid var(--dsl-border,#c9863d); border-radius: 8px; }
.dsl-point-duplicate-head > div { display: flex; align-items: center; gap: 8px; }
.dsl-point-duplicate-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 4px; margin: 12px 0; }
.dsl-point-duplicate-grid span { text-align: center; font-size: 12px; opacity: .72; }
.dsl-point-duplicate-grid button { min-height: 34px; border: 1px solid transparent; border-radius: 5px; background: transparent; color: inherit; cursor: pointer; }
.dsl-point-duplicate-grid button:hover { border-color: currentColor; }
.dsl-point-duplicate-grid button.is-selected { background: #5a0c14; color: #fff; }
#dsl-quick-settings-dialog .dsl-quick-import .dsl-point-duplicate-grid button.is-today { border-width: 2px !important; border-style: solid !important; border-color: var(--dsl-accent, #397f7a) !important; font-weight: 800; }
#dsl-quick-settings-dialog .dsl-quick-import .dsl-point-duplicate-grid button.is-today.is-selected { border-color: #fff !important; }
.dsl-point-duplicate-grid button.is-outside { opacity: .5; }
.dsl-point-duplicate-grid { user-select: none; -webkit-user-select: none; }
.dsl-point-duplicate-grid button { touch-action: none; }
.dsl-point-duplicate-grid.is-drag-selecting, .dsl-point-duplicate-grid.is-drag-selecting button { cursor: crosshair; }

/* Reference information, not an editable field. Keep real team form controls unchanged. */
.gentle-work-frontend .dsl-role-legend { border: 0; border-radius: 0; box-shadow: none; background: transparent; }
.gentle-work-frontend .dsl-role-legend table { border: 0; background: transparent; }
.gentle-work-frontend .dsl-role-legend th,
.gentle-work-frontend .dsl-role-legend td { border: 0; border-radius: 0; background: transparent; box-shadow: none; padding-top: 7px; padding-bottom: 7px; }
.gentle-work-frontend .dsl-quick-settings-dialog .dsl-team-dialog .dsl-role-legend thead th { color: inherit; font-weight: 700; border-bottom: 2px solid; border-bottom-color: color-mix(in srgb, currentColor 25%, transparent) !important; padding-bottom: 9px; }
.gentle-work-frontend .dsl-quick-settings-dialog .dsl-team-dialog .dsl-role-legend tbody tr:not(:last-child) > * { border-bottom: 1px solid; border-bottom-color: color-mix(in srgb, currentColor 12%, transparent) !important; }
.gentle-work-frontend .dsl-role-legend th:first-child { white-space: normal; }
@media(max-width:600px){.dsl-point-pause-row{grid-template-columns:minmax(0,1fr) 36px}.dsl-point-pause-row>label,.dsl-point-pause-row>.dsl-point-duration-field{grid-column:1}.dsl-point-pause-row .dsl-point-pause-remove{grid-column:2;grid-row:1 / 4}}
.dsl-point-edit-dialog:has(.dsl-datetime-calendar:not([hidden])) { overflow: visible; }
.dsl-datetime-calendar { position: fixed; z-index: 13000; top: 0; left: 0; width: min(295px, calc(100vw - 28px)); max-height: calc(100vh - 16px); overflow-y: auto; padding: 9px; transform: none; }
.dsl-datetime-calendar .dsl-timeline-calendar-head { grid-template-columns: 28px 1fr 64px 28px; gap: 4px; margin-bottom: 4px; }
.dsl-datetime-calendar .dsl-timeline-calendar-head button,
.dsl-datetime-calendar .dsl-timeline-calendar-head select { height: 29px; padding: 0 4px; font-size: 13px; }
.dsl-datetime-calendar .dsl-timeline-calendar-weekdays span { padding: 2px 0 3px; font-size: 11px; }
.dsl-datetime-calendar .dsl-timeline-calendar-grid { gap: 2px; }
.dsl-datetime-calendar .dsl-timeline-calendar-grid button { height: 25px; font-size: 13px; }
.dsl-datetime-calendar-time { display: grid; grid-template-columns: auto 46px 10px 46px 30px 30px; gap: 4px; align-items: center; justify-content: start; margin-top: 4px; padding-top: 4px; border-top: 1px solid color-mix(in srgb, var(--dsl-border, #d9b981) 70%, transparent); }
.dsl-datetime-calendar-time > span { font-size: 13px; font-weight: 700; }
.dsl-datetime-calendar-time .dsl-datetime-step { box-sizing: border-box; width: 30px; height: 29px; padding: 0; border: 1px solid var(--dsl-border, #d9b981); border-radius: 5px; background: var(--dsl-surface-alt, #f8ead0); color: var(--dsl-text, #5a0c14); font: inherit; font-size: 18px; line-height: 1; cursor: pointer; }
.dsl-datetime-calendar-time .dsl-datetime-step:hover, .dsl-datetime-calendar-time .dsl-datetime-step:focus-visible { border-color: var(--dsl-accent, #397f7a); }
.dsl-datetime-calendar-time input[type="text"] { box-sizing: border-box; width: 46px !important; min-width: 0; height: 29px; margin: 0; padding: 2px 4px; border: 1px solid var(--dsl-border, #d9b981) !important; border-radius: 5px !important; background: var(--dsl-surface-alt, #f8ead0) !important; color: var(--dsl-text, #5a0c14) !important; text-align: center; font: inherit; font-size: 13px; font-variant-numeric: tabular-nums; }
.dsl-datetime-calendar-time .dsl-datetime-separator { font-size: 18px; text-align: center; }
.dsl-datetime-calendar-time.is-12-hour { grid-template-columns: auto 34px 6px 34px 48px 30px 30px; gap: 3px; }
.dsl-datetime-calendar-time.is-12-hour input[type="text"] { width: 34px !important; }
.dsl-datetime-calendar-time .dsl-datetime-period { box-sizing: border-box; width: 48px; min-width: 0; height: 29px; padding: 2px; margin: 0; border: 1px solid var(--dsl-border); border-radius: 5px; background: var(--dsl-surface-alt); color: var(--dsl-text); font: inherit; font-size: 13px; }
.dsl-datetime-calendar-footer { justify-content: space-between; margin-top: 4px; padding-top: 4px; }
.dsl-datetime-calendar-footer button { height: 29px; font-size: 13px; }
.dsl-datetime-calendar-footer .dsl-datetime-done { border-color: var(--dsl-accent, #397f7a); background: var(--dsl-accent, #397f7a); color: var(--dsl-accent-text, #fff); }
/* Local date/time picker experiment: full-width calendar and time scrubber. */
.dsl-datetime-calendar.is-wide-picker { width: min(476px, calc(100vw - 24px)); max-height: calc(100dvh - 16px); padding: 0; overflow-x: hidden; }
.dsl-datetime-picker-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 48px; padding: 10px 18px; border-bottom: 1px solid var(--dsl-border, #d9b981); background: var(--dsl-surface, #fff8eb); }
.dsl-datetime-picker-heading strong { font-size: 16px; line-height: 1.2; }
.dsl-datetime-picker-heading span { font-size: 13px; text-align: right; }
.dsl-datetime-picker-body { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 16px 18px 12px; }
.dsl-datetime-picker-dates, .dsl-datetime-picker-times { min-width: 0; }
.dsl-datetime-picker-times { display: flex; flex-direction: column; align-items: stretch; gap: 8px; padding: 8px 14px; border: 0; background: transparent; }
.dsl-datetime-wheel-row { --dsl-wheel-pad: 40px; position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(100%, 320px); height: calc(40px + 2 * var(--dsl-wheel-pad)); margin: auto; }
.dsl-datetime-wheel-row.is-12-hour { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dsl-datetime-wheel-row::before { display: none; }
.dsl-datetime-wheel-guides { position: absolute; z-index: 1; inset: var(--dsl-wheel-pad) 0 auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); height: 40px; pointer-events: none; }
.dsl-datetime-wheel-row.is-12-hour .dsl-datetime-wheel-guides { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dsl-datetime-wheel-guides span { margin-inline: 12px; border-block: 1px solid var(--dsl-muted, #76645e); }
.dsl-datetime-wheel { position: relative; height: 100%; min-width: 0; overflow: hidden !important; overscroll-behavior: contain; touch-action: none; scrollbar-width: none !important; outline-offset: -3px; cursor: grab; mask-image: linear-gradient(to bottom, transparent, #000 17%, #000 83%, transparent); }
.dsl-datetime-wheel.is-dragging { cursor: grabbing; user-select: none; }
.dsl-datetime-wheel:focus-visible { outline: 2px solid var(--dsl-accent, #397f7a); border-radius: 6px; }
.dsl-datetime-wheel:focus:not(:focus-visible) { outline: none; }
.dsl-datetime-wheel::-webkit-scrollbar { display: none; }
.dsl-datetime-wheel-track { padding-block: var(--dsl-wheel-pad); }
.dsl-datetime-wheel-item { display: flex; align-items: center; justify-content: center; box-sizing: border-box; height: 40px; color: var(--dsl-muted, #76645e); font-size: 13px; font-variant-numeric: tabular-nums; user-select: none; cursor: grab; }
.dsl-datetime-wheel-item.is-selected { color: var(--dsl-text, #5a0c14); font-size: 17px; font-weight: 700; }
.dsl-datetime-type-toggle { align-self: center; min-height: 32px; padding: 3px 10px; border: 0; background: transparent; color: var(--dsl-text, #5a0c14); text-decoration: underline; cursor: pointer; }
.dsl-datetime-calendar.is-wide-picker .dsl-datetime-calendar-time[hidden] { display: none !important; }
.dsl-datetime-slider-label { display: grid; gap: 8px; color: var(--dsl-muted, #76645e); font-size: 12px; font-weight: 700; }
.dsl-datetime-slider-label input { width: 100%; min-width: 0; margin: 0; accent-color: var(--dsl-accent, #397f7a); cursor: pointer; }
.dsl-datetime-calendar.is-wide-picker .dsl-timeline-calendar-head { grid-template-columns: 34px minmax(0, 1fr) 78px 34px; gap: 6px; margin-bottom: 9px; }
.dsl-datetime-calendar.is-wide-picker .dsl-timeline-calendar-weekdays span { font-size: 12px; }
.dsl-datetime-calendar.is-wide-picker .dsl-timeline-calendar-grid button { height: 40px; font-size: 13px; }
.dsl-datetime-calendar.is-wide-picker .dsl-datetime-calendar-time, .dsl-datetime-calendar.is-wide-picker .dsl-datetime-calendar-time.is-12-hour { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px; margin: 0; padding: 0; border: 0; }
.dsl-datetime-calendar.is-wide-picker .dsl-datetime-calendar-time > span:first-child { flex: 0 0 auto; text-align: left; }
.dsl-datetime-calendar.is-wide-picker .dsl-datetime-calendar-time input[type="text"], .dsl-datetime-calendar.is-wide-picker .dsl-datetime-calendar-time.is-12-hour input[type="text"] { width: 42px !important; height: 36px; font-size: 15px; }
.dsl-datetime-calendar.is-wide-picker .dsl-datetime-calendar-time .dsl-datetime-step { width: 34px; height: 36px; }
.dsl-datetime-calendar.is-wide-picker .dsl-datetime-calendar-time .dsl-datetime-period { height: 36px; }
.dsl-datetime-calendar.is-wide-picker .dsl-datetime-calendar-time .dsl-point-select { flex: 0 0 64px; width: 64px; }
.dsl-datetime-calendar.is-wide-picker .dsl-datetime-calendar-time .dsl-point-select-trigger { box-sizing: border-box; min-height: 36px; height: 36px; padding: 4px 20px 4px 7px; }
.dsl-datetime-calendar.is-wide-picker .dsl-datetime-calendar-time .dsl-point-select-trigger::after { right: 8px; }
.dsl-datetime-calendar.is-wide-picker .dsl-datetime-calendar-footer { margin: 0 18px 14px; padding-top: 10px; }
.dsl-datetime-calendar.is-wide-picker .dsl-datetime-calendar-footer button { min-width: 68px; height: 36px; padding: 0 12px; }
.dsl-datetime-picker-body.is-time-only { display: block; }
.dsl-datetime-picker-body.is-time-only .dsl-datetime-picker-times { width: 100%; margin: auto; }
@media(max-width:600px){.dsl-datetime-calendar.is-wide-picker{width:min(476px,calc(100vw - 16px))}.dsl-datetime-picker-heading{align-items:flex-start;flex-direction:column;gap:4px;min-height:0;padding:10px 12px}.dsl-datetime-picker-heading span{text-align:left}.dsl-datetime-picker-body{gap:10px;padding:12px}.dsl-datetime-picker-times{gap:7px;padding:10px}.dsl-datetime-wheel-row{--dsl-wheel-pad:40px}.dsl-datetime-calendar.is-wide-picker .dsl-timeline-calendar-grid button{height:34px}.dsl-datetime-calendar.is-wide-picker .dsl-datetime-calendar-footer{margin:0 12px 12px}}
.gentle-work-frontend .dsl-tag-badge { display: inline-flex !important; align-items: center !important; justify-content: center !important; box-sizing: border-box; height: 18px; min-height: 18px; padding: 0 7px !important; line-height: 1 !important; text-align: center; text-box-trim: trim-both; text-box-edge: cap alphabetic; vertical-align: middle; }

.dsl-timeline-body { min-width: 0; }
.dsl-timeline-axis {
	position: relative;
	height: 16px;
	margin: 0 0 8px;
	color: var(--dsl-muted, #76645e);
	font-size: 11px;
	font-variant-numeric: tabular-nums;
}
.dsl-timeline-axis > span { position: absolute; top: 0; transform: translateX(-50%); white-space: nowrap; }
.dsl-timeline-axis > span:first-child { transform: translateX(0); }
.dsl-timeline-axis > span:last-child { transform: translateX(-100%); }

.dsl-timeline-person {
	position: relative;
	padding: 15px 0;
	border-top: 1px solid color-mix(in srgb, var(--dsl-border, #d9b981) 72%, transparent);
}
.dsl-timeline-person:first-child { border-top: 0; }

.dsl-timeline-person > header {
	gap: 9px;
	margin-bottom: 9px;
}

.dsl-timeline-person > header > strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dsl-timeline-person > header > span:last-child { margin-left: auto; color: var(--dsl-muted, #76645e); font-size: 12px; }
.dsl-timeline-person > header > span:last-child b { color: var(--dsl-text, #5a0c14); font-variant-numeric: tabular-nums; }
.dsl-timeline-add { display: inline-flex; align-items: center; justify-content: center; width: 25px; min-width: 25px; height: 25px; padding: 0; border: 1px solid var(--dsl-border, #d9b981); border-radius: 50%; background: var(--dsl-surface, #fffaf1); color: var(--dsl-text, #5a0c14); cursor: pointer; }
.dsl-timeline-plus { position: relative; display: block; width: 14px; height: 14px; flex: 0 0 14px; }
.dsl-timeline-plus::before,
.dsl-timeline-plus::after { position: absolute; top: 50%; left: 50%; border-radius: 1px; background: currentColor; content: ''; transform: translate(-50%, -50%); }
.dsl-timeline-plus::before { width: 12px; height: 2px; }
.dsl-timeline-plus::after { width: 2px; height: 12px; }
.dsl-timeline-add:hover,
.dsl-timeline-add:focus-visible,
.dsl-timeline-add[aria-pressed="true"] { border-color: var(--dsl-accent, #397f7a); background: var(--dsl-accent, #397f7a); color: #fff; outline: none; }
.dsl-timeline-zoom-reset { min-width: 34px; height: 24px; padding: 0 7px; border: 1px solid var(--dsl-border, #d9b981); border-radius: 999px; background: var(--dsl-surface-alt, #f8ead0); color: var(--dsl-text, #5a0c14); font: inherit; font-size: 11px; font-weight: 700; cursor: pointer; }
.dsl-timeline-zoom-reset[hidden] { display: none !important; }
.dsl-timeline-zoom-reset:hover { border-color: var(--dsl-accent, #397f7a); }

.dsl-timeline-track {
	position: relative;
	box-sizing: border-box;
	height: calc((var(--dsl-timeline-lanes) * 36px) + 16px);
	margin-left: 0;
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--dsl-border, #d9b981) 75%, transparent);
	border-radius: 10px;
	background-color: color-mix(in srgb, var(--dsl-surface-alt, #f8ead0) 55%, transparent);
	background-image: repeating-linear-gradient(to right, transparent 0, transparent calc(var(--dsl-timeline-grid-size, 25%) - 1px), color-mix(in srgb, var(--dsl-border, #d9b981) 55%, transparent) calc(var(--dsl-timeline-grid-size, 25%) - 1px), color-mix(in srgb, var(--dsl-border, #d9b981) 55%, transparent) var(--dsl-timeline-grid-size, 25%));
	background-position-x: var(--dsl-timeline-grid-offset, 0%);
}
.dsl-timeline-track.is-zoomed:not(.is-create-armed) { cursor: grab; }
.dsl-timeline-track.is-panning { cursor: grabbing !important; user-select: none; }
.dsl-timeline-track.has-hidden-left::before,
.dsl-timeline-track.has-hidden-right::after { position: absolute; z-index: 6; top: 0; bottom: 0; width: 24px; content: ''; pointer-events: none; }
.dsl-timeline-track.has-hidden-left::before { left: 0; background: linear-gradient(to right, color-mix(in srgb, var(--dsl-text, #5a0c14) 18%, transparent), transparent); }
.dsl-timeline-track.has-hidden-right::after { right: 0; background: linear-gradient(to left, color-mix(in srgb, var(--dsl-text, #5a0c14) 18%, transparent), transparent); }

.dsl-timeline-task {
	position: absolute;
	z-index: 2;
	box-sizing: border-box;
	height: 29px;
	min-width: 5px;
	padding: 4px 8px;
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--dsl-task-color) 72%, #000);
	border-radius: 5px;
	background: linear-gradient(180deg, rgba(255,255,255,.38) 0%, rgba(255,255,255,.13) 38%, rgba(0,0,0,.04) 54%, rgba(0,0,0,.28) 100%), var(--dsl-task-color);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.45), inset 0 -1px 0 rgba(0,0,0,.2);
	color: #fff;
	font: inherit;
	line-height: 1.05;
	text-align: left;
	cursor: help;
	transition: filter .12s ease, box-shadow .12s ease;
}

.dsl-timeline-task:hover,
.dsl-timeline-task:focus-visible { z-index: 4; filter: brightness(1.12); }
.dsl-timeline-task:focus-visible { outline: 2px solid rgba(255,255,255,.96); outline-offset: 1px; }
.dsl-timeline-task > span,
.dsl-timeline-task > small { position: relative; z-index: 2; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #fff !important; text-shadow: 0 1px 2px rgba(0,0,0,.55); }
.dsl-timeline-task > span { font-size: 11px; font-weight: 700; }
.dsl-timeline-task > small { margin-top: 2px; font-size: 8px; opacity: .82; }
.dsl-timeline-task.is-active { box-shadow: inset 0 1px 0 rgba(255,255,255,.45), inset 0 -1px 0 rgba(0,0,0,.2), inset 0 0 0 1px color-mix(in srgb, var(--dsl-task-color) 78%, #fff); }
.dsl-timeline-task.is-paused { opacity: .82; }
.dsl-timeline-task.is-editable { cursor: grab; touch-action: none; user-select: none; }
.dsl-timeline-task.is-editable::before,
.dsl-timeline-task.is-editable::after { position: absolute; z-index: 5; top: 4px; bottom: 4px; width: 3px; border-radius: 2px; background: rgba(255,255,255,.78); content: ''; opacity: 0; transition: opacity .12s ease; }
.dsl-timeline-task.is-editable::before { left: 3px; }
.dsl-timeline-task.is-editable::after { right: 3px; }
.dsl-timeline-task.is-editable:hover::before,
.dsl-timeline-task.is-editable:hover::after { opacity: 1; }
.dsl-timeline-task.is-dragging { z-index: 8; cursor: grabbing; opacity: .86; outline: 2px solid #fff; outline-offset: 2px; }
.dsl-timeline-track.is-creatable.is-create-armed { cursor: crosshair; box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--dsl-accent, #397f7a) 72%, transparent); }
.dsl-timeline-selection { position: absolute; z-index: 7; top: 6px; bottom: 6px; min-width: 2px; border: 2px solid var(--dsl-accent, #397f7a); border-radius: 6px; background: color-mix(in srgb, var(--dsl-accent, #397f7a) 28%, transparent); pointer-events: none; }

.dsl-timeline-break { position: absolute; z-index: 1; top: 0; bottom: 0; display: block; }
.dsl-timeline-break.is-pause,
.dsl-timeline-legend .is-pause {
	overflow: hidden;
	background:
		repeating-linear-gradient(135deg, color-mix(in srgb, var(--dsl-task-color, var(--dsl-accent, #397f7a)) 36%, transparent) 0 1px, transparent 1px 5px),
		linear-gradient(180deg, color-mix(in srgb, var(--dsl-task-color, var(--dsl-accent, #397f7a)) 58%, #fff) 0%, color-mix(in srgb, var(--dsl-task-color, var(--dsl-accent, #397f7a)) 63%, #fff) 55%, color-mix(in srgb, var(--dsl-task-color, var(--dsl-accent, #397f7a)) 68%, #fff) 100%);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.62), inset 0 -1px 0 color-mix(in srgb, var(--dsl-task-color, var(--dsl-accent, #397f7a)) 65%, #000);
}
.dsl-timeline-break.is-pause::before,
.dsl-timeline-break.is-pause::after {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 3px;
	content: '';
	pointer-events: none;
}
.dsl-timeline-break.is-pause::before {
	left: 0;
	background: linear-gradient(90deg,
		color-mix(in srgb, var(--dsl-task-color, var(--dsl-accent, #397f7a)) 70%, #454a48) 0 1px,
		color-mix(in srgb, var(--dsl-task-color, var(--dsl-accent, #397f7a)) 68%, #aca4a4) 1px 2px,
		color-mix(in srgb, var(--dsl-task-color, var(--dsl-accent, #397f7a)) 63%, #f2f2f2) 2px 3px);
}
.dsl-timeline-break.is-pause::after {
	right: 0;
	background: linear-gradient(90deg,
		color-mix(in srgb, var(--dsl-task-color, var(--dsl-accent, #397f7a)) 63%, #f2f2f2) 0 1px,
		color-mix(in srgb, var(--dsl-task-color, var(--dsl-accent, #397f7a)) 68%, #aca4a4) 1px 2px,
		color-mix(in srgb, var(--dsl-task-color, var(--dsl-accent, #397f7a)) 70%, #454a48) 2px 3px);
}
.dsl-timeline-legend .is-pause { position: relative; --dsl-task-color: #397f7a; }
.dsl-timeline-break.is-stopped,
.dsl-timeline-legend .is-stopped { background: #626a6e; }
.dsl-timeline-overlap { position: absolute; z-index: 1; top: 0; bottom: 0; background: rgba(122, 84, 188, .24); border-right: 1px solid rgba(122, 84, 188, .5); border-left: 1px solid rgba(122, 84, 188, .5); }

.dsl-timeline-counted { margin-top: 7px; }
.dsl-timeline-counted > div { position: relative; height: 4px; overflow: hidden; border-radius: 999px; background: color-mix(in srgb, var(--dsl-border, #d9b981) 30%, transparent); }
.dsl-timeline-counted i { position: absolute; top: 0; bottom: 0; border-radius: 999px; background: var(--dsl-accent, #397f7a); }
.dsl-timeline-tooltip {
	position: fixed;
	z-index: 100020;
	box-sizing: border-box;
	max-width: min(390px, calc(100vw - 24px));
	padding: 9px 11px;
	border: 1px solid #405568;
	border-radius: 7px;
	background: #101c26;
	box-shadow: 0 10px 28px rgba(0, 0, 0, .34);
	color: #f4f7fa;
	font-size: 12px;
	line-height: 1.4;
	pointer-events: none;
}
.dsl-timeline-tooltip[hidden] { display: none !important; }
.dsl-timeline-tooltip strong,
.dsl-timeline-tooltip span { display: block; }
.dsl-timeline-tooltip strong { margin-bottom: 5px; font-size: 13px; }
.dsl-timeline-tooltip span + span { margin-top: 3px; }
.dsl-theme-gentle ~ .dsl-timeline-tooltip,
body:has(.dsl-theme-gentle) > .dsl-timeline-tooltip {
	border-color: #c9863d;
	background: #fff8ec;
	color: #4f1016;
}
.dsl-timeline-save-status { position: fixed; z-index: 100030; right: 22px; bottom: 22px; padding: 10px 14px; border-radius: 8px; background: #176b55; color: #fff; box-shadow: 0 10px 28px rgba(0,0,0,.28); font-size: 13px; font-weight: 700; }
.dsl-timeline-save-status.is-error { background: #8a2f3a; }
.dsl-timeline-save-status[hidden] { display: none !important; }
.dsl-timeline-drag-hint { position: fixed; z-index: 100003; min-width: 108px; padding: 5px 8px; border: 1px solid #587186; border-radius: 6px; background: #172531; color: #fff; box-shadow: 0 7px 18px rgba(0,0,0,.28); font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.2; text-align: center; white-space: nowrap; pointer-events: none; }
body:has(.dsl-theme-gentle) > .dsl-timeline-drag-hint { border-color: #c9863d; background: #fff8ec; color: #4f1016; box-shadow: 0 7px 18px rgba(79,16,22,.18); }
.dsl-timeline-create-dialog { box-sizing: border-box; width: min(700px, calc(100% - 24px)); max-height: calc(100vh - 24px); padding: 0; overflow: auto; }
.dsl-timeline-create-dialog:not(.dsl-style-class-override) { border: 1px solid #405568; border-radius: 14px; background: #172531; color: #e8eef5; box-shadow: 0 24px 70px rgba(0,0,0,.5); }
.dsl-timeline-create-dialog::backdrop { background: rgba(4,9,14,.64); backdrop-filter: blur(2px); }
.dsl-timeline-create-dialog form { display: grid; gap: 18px; margin: 0; padding: 24px; }
.dsl-timeline-create-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-bottom: 14px; border-bottom: 1px solid color-mix(in srgb, currentColor 18%, transparent); }
.dsl-timeline-create-dialog header strong { font-family: Georgia, 'Times New Roman', serif; font-size: 25px; line-height: 1.15; }
.dsl-timeline-create-dialog header button { display: inline-flex !important; align-items: center !important; justify-content: center !important; box-sizing: border-box; width: 38px !important; min-width: 38px !important; height: 38px !important; min-height: 38px !important; padding: 0 !important; font: 700 20px/1 Arial, sans-serif !important; text-align: center; cursor: pointer; }
.dsl-timeline-create-dialog header button:not(.dsl-style-class-override) { border: 1px solid #627889; border-radius: 8px; background: transparent; color: inherit; }
.dsl-timeline-create-dialog label { display: grid; gap: 8px; margin: 0; color: inherit; font-weight: 700; }
.dsl-timeline-create-dialog .dsl-point-edit-fields { margin: 0; min-width: 0; }
/* Quick add lives under body, outside the frontend's shared button styles. */
.dsl-timeline-create-dialog .dsl-datetime-trigger { margin: 0; border: 1px solid #627889; border-radius: 6px; background: #101c26; color: #fff; font: inherit; font-weight: 400; line-height: 1.25; cursor: pointer; }
.dsl-timeline-create-dialog .dsl-datetime-trigger:focus-visible { outline: 2px solid var(--dsl-accent, #397f7a); outline-offset: 2px; }
.dsl-timeline-create-dialog input { box-sizing: border-box; width: 100%; min-height: 43px; margin: 0; padding: 9px 11px; border: 1px solid #627889; border-radius: 7px; background: #101c26; color: #fff; font: inherit; }
.dsl-timeline-create-dialog select { box-sizing: border-box; width: 100%; min-height: 43px; margin: 0; padding: 9px 34px 9px 11px; border: 1px solid #627889; border-radius: 7px; background-color: #101c26; color: #fff; font: inherit; }
/* Field values must not inherit the bold label weight. */
.dsl-timeline-create-dialog input,
.dsl-timeline-create-dialog select,
.dsl-timeline-create-dialog textarea { font-weight: 400; }
.dsl-timeline-create-dialog .dsl-datetime-trigger { font-weight: 600; }
.dsl-timeline-create-dialog fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; min-width: 0; margin: 0; padding: 0; border: 0; }
.dsl-timeline-create-dialog input:focus { border-color: var(--dsl-accent, #397f7a); outline: 2px solid color-mix(in srgb, var(--dsl-accent, #397f7a) 30%, transparent); outline-offset: 1px; }
.dsl-timeline-create-dialog select:focus { border-color: var(--dsl-accent, #397f7a); outline: 2px solid color-mix(in srgb, var(--dsl-accent, #397f7a) 30%, transparent); outline-offset: 1px; }
.dsl-timeline-create-dialog p { width: fit-content; margin: -7px 0 0; padding: 6px 10px; border-radius: 999px; background: color-mix(in srgb, currentColor 8%, transparent); font-size: 12px; font-variant-numeric: tabular-nums; }
.dsl-timeline-create-dialog form > div:not(.dsl-point-edit-fields) { display: flex; justify-content: flex-end; gap: 10px; padding-top: 2px; }
.dsl-timeline-create-dialog form > div:not(.dsl-point-edit-fields) button { display: inline-flex; align-items: center; justify-content: center; min-height: 39px; margin: 0; padding: 8px 16px; font: inherit; font-size: 13px; font-weight: 700; line-height: 1.2; cursor: pointer; }
.dsl-timeline-create-dialog form > div:not(.dsl-point-edit-fields) button:not(.dsl-style-class-override) { border: 1px solid #627889; border-radius: 7px; background: transparent; color: inherit; }
.dsl-timeline-create-dialog form > div:not(.dsl-point-edit-fields) button.button-primary:not(.dsl-style-class-override) { border-color: var(--dsl-accent, #397f7a); background: var(--dsl-accent, #397f7a); color: #fff; }
.dsl-timeline-create-dialog form > div:not(.dsl-point-edit-fields) button:not(.dsl-style-class-override):hover,
.dsl-timeline-create-dialog form > div:not(.dsl-point-edit-fields) button:not(.dsl-style-class-override):focus-visible { filter: brightness(1.08); outline: 2px solid color-mix(in srgb, var(--dsl-accent, #397f7a) 30%, transparent); outline-offset: 2px; }
.dsl-timeline-create-dialog small { min-height: 18px; color: #ff9da6; }
.dsl-timeline-create-dialog [data-timeline-create-error]:empty { display: none; }
body:has(.dsl-theme-gentle) > .dsl-timeline-create-dialog:not(.dsl-style-class-override) { border-color: #c9863d; background: #fff8ec; color: #4f1016; }
body:has(.dsl-theme-gentle) > .dsl-timeline-create-dialog input { border-color: #c9863d; background: #fffdf7; color: #4f1016; }
body:has(.dsl-theme-gentle) > .dsl-timeline-create-dialog select { border-color: #c9863d; background-color: #fffdf7; color: #4f1016; }
body:has(.dsl-theme-gentle) > .dsl-timeline-create-dialog header button:not(.dsl-style-class-override),
body:has(.dsl-theme-gentle) > .dsl-timeline-create-dialog form > div:not(.dsl-point-edit-fields) button:not(.dsl-style-class-override) { border-color: #c9863d; background: #fff8ec; color: #4f1016; }
body:has(.dsl-theme-gentle) > .dsl-timeline-create-dialog .dsl-datetime-trigger { border-color: #c9863d; background: #fffdf7; color: #4f1016; }
body:has(.dsl-theme-gentle) > .dsl-timeline-create-dialog form > div:not(.dsl-point-edit-fields) button.button-primary:not(.dsl-style-class-override) { background: #5a0c14; color: #fff; }
@media (max-width: 520px) { .dsl-timeline-create-dialog fieldset { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .dsl-timeline-create-dialog form { padding: 18px; gap: 14px; } }
.dsl-timeline-legend { flex-wrap: wrap; gap: 15px; color: var(--dsl-muted, #76645e); font-size: 11px; }
.dsl-timeline-legend span { gap: 6px; }
.dsl-timeline-legend i { display: inline-block; width: 17px; height: 8px; border-radius: 3px; }
.dsl-timeline-legend .is-task { background: #397f7a; }
.dsl-timeline-legend .is-overlap { background: rgba(122, 84, 188, .45); }

/* Keep important timeline controls and labels readable over the Gentle artwork. */
.gentle-work-frontend .dsl-theme-gentle .dsl-timeline-page-head h1,
.gentle-work-frontend .dsl-theme-gentle .dsl-timeline-page-head nav strong,
.gentle-work-frontend .dsl-theme-gentle .dsl-timeline-person > header > strong,
.gentle-work-frontend .dsl-theme-gentle .dsl-timeline-person > header > span:last-child b {
	color: #4f1016 !important;
}

.gentle-work-frontend .dsl-theme-gentle .dsl-timeline-page-head p,
.gentle-work-frontend .dsl-theme-gentle .dsl-timeline-axis,
.gentle-work-frontend .dsl-theme-gentle .dsl-timeline-counted,
.gentle-work-frontend .dsl-theme-gentle .dsl-timeline-legend,
.gentle-work-frontend .dsl-theme-gentle .dsl-timeline-person > header > span:last-child {
	color: #674f47 !important;
}

.gentle-work-frontend .dsl-theme-gentle .dsl-timeline-page-head nav .button:not(.dsl-style-class-override) {
	background: #fff8ec !important;
	border-color: #c9863d !important;
	color: #4f1016 !important;
}

/* Keep every report cell aligned with its matching header. */
.gentle-work-frontend .dsl-all-records-panel .dsl-month-points {
	width: 100%;
	table-layout: fixed;
}
.gentle-work-frontend .dsl-all-records-panel .dsl-month-points th:first-child,
.gentle-work-frontend .dsl-all-records-panel .dsl-month-points td:first-child { width: 22%; }
.gentle-work-frontend .dsl-all-records-panel .dsl-month-points th:last-child,
.gentle-work-frontend .dsl-all-records-panel .dsl-month-points td:last-child { width: 82px; }
.gentle-work-frontend .dsl-all-records-panel .dsl-month-points .dsl-table-actions-cell { white-space: nowrap; }
.dsl-trash-feedback {
	margin: 12px 0 16px;
	padding: 10px 12px;
	border: 1px solid var(--dsl-border, #d69a4c);
	border-left: 4px solid var(--dsl-accent, #6b0008);
	border-radius: 7px;
	background: var(--dsl-surface-alt, #fff1dc);
	color: var(--dsl-text, #4f1016);
	box-shadow: none;
	font-size: 13px;
	font-weight: 700;
	transition: opacity .25s ease;
}
.dsl-trash-feedback.dsl-is-leaving { opacity: 0; }
.dsl-trash-bulk-toggle,.dsl-trash-bulk-toolbar,.dsl-trash-bulk-toolbar>label,.dsl-trash-point-name { display:flex; align-items:center; gap:10px; }
.dsl-trash-bulk-toggle { margin:14px 0; cursor:pointer; }
.dsl-trash-bulk-toolbar { flex-wrap:wrap; margin:12px 0; padding:12px; border:1px solid var(--dsl-border,#c9863d); border-radius:7px; }
.dsl-trash-bulk-toolbar[hidden],.dsl-trash-point-name input[hidden] { display:none!important; }
.dsl-trash-point-name input { flex:0 0 auto; margin:0; }
.dsl-trash-point-name strong { min-width:0; overflow-wrap:anywhere; }
[data-dsl-trash-page][aria-busy="true"] { cursor:progress; }
.gentle-work-frontend .dsl-team-mutation-status {
	margin: 0 0 12px;
	padding: 10px 12px;
	border: 1px solid var(--dsl-border, #405568);
	border-left: 4px solid var(--dsl-accent, #93b7ff);
	border-radius: 7px;
	background: var(--dsl-surface-alt, #1b2834);
	color: var(--dsl-text, #e8eef5);
	font-size: 13px;
	font-weight: 700;
}
.gentle-work-frontend .dsl-team-mutation-status.is-error { border-left-color: var(--dsl-danger, #ff9da6); }

@media (max-width: 760px) {
	.dsl-timeline-page > .dsl-card { padding: 15px; }
	.dsl-timeline-page-head { align-items: flex-start; flex-direction: column; padding-right: 52px; }
	.dsl-timeline-page-head nav { width: 100%; justify-content: space-between; }
	.dsl-timeline-axis,
	.dsl-timeline-track { margin-left: 0; }
	.dsl-timeline-person > header { margin-bottom: 8px; }
}

@media (max-width: 1100px) {
	.dsl-timeline-page-head {
		align-items: flex-start;
		flex-direction: column;
		gap: 15px;
		padding-right: 58px;
	}
	.dsl-timeline-page-head > div { width: 100%; }
	.dsl-timeline-page-head h1 { white-space: nowrap; }
	.dsl-timeline-page-head nav {
		width: 100%;
		justify-content: flex-start;
	}
}

@media (max-width: 1150px) {
	.gentle-work-frontend .dsl-month-points tr.dsl-point-data-row {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.gentle-work-frontend .dsl-month-points tr.dsl-point-data-row td {
		min-width: 0;
	}

	.gentle-work-frontend .dsl-month-points tr.dsl-point-data-row td.dsl-point-copy,
	.gentle-work-frontend .dsl-month-points tr.dsl-point-data-row td.dsl-table-actions-cell {
		grid-column: 1 !important;
	}
}

.gentle-work-frontend .dsl-session-member-totals {
	margin: 14px 0 0;
	padding: 14px;
	border: 1px solid #314858;
	border-radius: 7px;
	background: #121f29;
}

.gentle-work-frontend .dsl-session-member-totals h3 {
	margin: 0 0 10px;
	font-size: 16px;
}

.gentle-work-frontend .dsl-session-member-total-list {
	display: grid;
	gap: 6px;
}

.gentle-work-frontend .dsl-session-member-total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 32px;
	padding: 6px 9px;
	border: 1px solid #2b4050;
	border-radius: 5px;
	background: #172531;
}

.gentle-work-frontend .dsl-session-member-avatar {
	width: 28px;
	height: 28px;
}

.gentle-work-frontend .dsl-session-member-total > strong {
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.gentle-work-frontend .dsl-theme-gentle .dsl-session-member-totals,
.gentle-work-frontend .dsl-theme-gentle .dsl-session-member-total {
	border-color: var(--dsl-border) !important;
	background: var(--dsl-surface-alt) !important;
	color: var(--dsl-text) !important;
}

.gentle-work-frontend .notice p,
.gentle-work-frontend form p {
	margin: 8px 0;
}

.gentle-work-frontend .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.gentle-work-login {
	box-sizing: border-box;
	width: min(460px, calc(100% - 32px));
	margin: 56px auto;
	padding: 28px;
	border: 1px solid var(--gentle-border);
	border-radius: 14px;
	background: var(--gentle-surface);
	box-shadow: 0 20px 60px rgba(0, 0, 0, .22);
	color: var(--gentle-text);
}

.gentle-work-login input:not([type="checkbox"]) {
	width: 100%;
}

.gentle-work-demo {
	display: grid;
	place-items: center;
	min-height: calc(100vh - 64px);
	padding: 32px;
	background: var(--gentle-bg);
	color: var(--gentle-text);
}

.gentle-work-demo-card {
	box-sizing: border-box;
	width: min(620px, 100%);
	padding: 30px;
	border: 1px solid var(--gentle-border);
	border-radius: 12px;
	background: var(--gentle-surface);
	box-shadow: 0 18px 55px rgba(0, 0, 0, .2);
}

.gentle-work-license-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-top: 20px;
}

.gentle-work-license-blocked .gentle-work-license-background {
	pointer-events: none;
	user-select: none;
}

.gentle-work-license-curtain {
	position: fixed;
	z-index: 100000;
	inset: 0;
	background: rgba(40, 23, 20, .54);
	backdrop-filter: blur(5px) saturate(.82);
}

.gentle-work-license-dialog {
	position: fixed;
	z-index: 100001;
	top: 50%;
	left: 50%;
	box-sizing: border-box;
	width: min(520px, calc(100vw - 32px));
	padding: 34px;
	transform: translate(-50%, -50%);
	border: 1px solid var(--dsl-border, #d99342);
	border-radius: 18px;
	background: var(--dsl-surface, #fff4df);
	box-shadow: 0 28px 90px rgba(49, 18, 14, .34);
	color: var(--dsl-text, #570006);
	text-align: center;
}

.gentle-work-license-mark {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	margin: 0 auto 16px;
	border: 1px solid var(--dsl-border, #d99342);
	border-radius: 50%;
	background: var(--dsl-surface-alt, #f7e5c8);
	color: var(--dsl-accent, #730008);
}

.gentle-work-license-mark .dashicons {
	width: 24px;
	height: 24px;
	font-size: 24px;
}

.gentle-work-license-eyebrow {
	margin: 0 0 7px !important;
	color: var(--dsl-accent, #730008) !important;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.gentle-work-license-dialog h1 {
	margin: 0 0 12px;
	color: inherit;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: clamp(27px, 4vw, 38px);
	font-weight: 500;
	line-height: 1.08;
}

.gentle-work-license-dialog > p:not(.gentle-work-license-eyebrow) {
	margin: 0;
	color: var(--dsl-muted, #7d6259);
	font-size: 15px;
	line-height: 1.6;
}

.gentle-work-license-dialog .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 8px 17px;
	border: 1px solid var(--dsl-border, #d99342);
	border-radius: 8px;
	background: var(--dsl-surface-alt, #f7e5c8);
	box-shadow: none;
	color: var(--dsl-text, #570006);
	font-weight: 700;
	text-decoration: none;
}

.gentle-work-license-dialog .button-primary {
	border-color: var(--dsl-accent, #730008);
	background: var(--dsl-accent, #730008);
	color: var(--dsl-accent-text, #fff8ea);
}

@media (max-width: 540px) {
	.gentle-work-license-dialog {
		padding: 28px 22px;
	}

	.gentle-work-license-actions .button {
		width: 100%;
	}
}

.gentle-work-demo {
	align-content: center;
	gap: 14px;
}

.gentle-work-demo-warning {
	box-sizing: border-box;
	width: min(620px, 100%);
	padding: 14px 18px;
	border: 1px solid var(--gentle-accent);
	border-radius: 8px;
	background: var(--gentle-surface);
}

.gentle-work-demo-warning strong,
.gentle-work-demo-warning span {
	display: block;
}

.gentle-work-demo-warning span {
	margin-top: 4px;
}

.gentle-work-demo-card label {
	display: block;
	margin: 20px 0 7px;
	font-weight: 700;
}

.gentle-work-demo-card input {
	box-sizing: border-box;
	width: 100%;
	min-height: 44px;
}

.gentle-work-view-only-notice {
	margin: 0 auto 14px;
	padding: 12px 16px;
	border: 1px solid var(--gentle-border);
	border-radius: 8px;
	background: var(--gentle-surface);
	color: var(--gentle-text);
}

.gentle-work-view-only form,
.gentle-work-view-only button,
.gentle-work-view-only .dsl-session-edit-trigger,
.gentle-work-view-only [data-dsl-point-edit-open] {
	display: none !important;
}

.dsl-demo-app {
	position: relative;
	min-height: 100vh;
}

.dsl-demo-content {
	max-width: 1120px;
	margin: 0 auto;
}

/* Demo uses the same visual structure as the full frontend. */
.dsl-demo-content .dsl-session-bar {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 20px 0 0;
}

.dsl-demo-content .dsl-session-bar-label {
	margin: 0;
}

.dsl-demo-content .dsl-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	margin-top: 20px;
}

.dsl-demo-content .dsl-card {
	box-sizing: border-box;
	padding: 24px;
}

.dsl-demo-session-card {
	overflow: hidden;
	padding: 0 !important;
}

.dsl-demo-session-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	padding: 22px 24px 8px;
}

.dsl-demo-session-head .dsl-title-row {
	display: flex;
	align-items: center;
	gap: 5px;
}

.dsl-demo-session-head h2 {
	margin: 0 !important;
	font: 500 26px/1.2 Georgia, 'Times New Roman', serif;
}

.dsl-demo-session-head p,
.dsl-demo-owner {
	margin: 5px 0;
}

.dsl-demo-owner {
	padding: 0 24px;
}

.dsl-demo-session-card .dsl-active-work {
	margin: 20px 24px;
	padding: 18px;
	border: 1px solid #e2a92f;
	border-radius: 8px;
}

.dsl-demo-session-card .dsl-active-work-header {
	display: flex;
	align-items: center;
	gap: 10px;
	padding-bottom: 12px;
}

.dsl-demo-session-card .dsl-active-work-header h3 {
	margin: 0 !important;
	font: 500 23px/1.2 Georgia, 'Times New Roman', serif;
}

.dsl-demo-session-card .dsl-active-point {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 14px 0 2px;
	border-top: 1px solid #314657;
}

.dsl-demo-session-card .dsl-active-point-main {
	display: grid;
	gap: 6px;
	min-width: 0;
}

.dsl-demo-session-card .dsl-active-label {
	display: inline-flex;
	padding: 2px 7px;
	border: 1px solid currentColor;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 800;
}

.dsl-demo-session-card .dsl-active-actions,
.dsl-demo-session-card .dsl-table-actions {
	display: flex;
	gap: 7px;
	flex-wrap: wrap;
}

.dsl-demo-entry {
	margin: 22px 24px;
}

.dsl-demo-entry .dsl-demo-point-label {
	margin: 0 0 9px;
}

.dsl-demo-entry input,
.dsl-demo-create input {
	box-sizing: border-box;
	width: 100%;
	min-height: 40px;
}

.dsl-demo-session-card .dsl-completed-foldout {
	margin: 20px 24px 18px;
	border: 1px solid #314858;
	border-radius: 7px;
	overflow: hidden;
}

.dsl-demo-session-card .dsl-completed-foldout > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 14px;
	cursor: pointer;
	font-size: 18px;
	font-weight: 700;
	list-style: none;
}

.dsl-demo-session-card .dsl-completed-foldout > summary::after { content: '+'; font-size: 22px; font-weight: 400; }
.dsl-demo-session-card .dsl-completed-foldout[open] > summary::after { content: '−'; }
.dsl-demo-session-card .dsl-completed-foldout[open] > summary { border-bottom: 1px solid #314858; }
.dsl-demo-session-card .dsl-demo-completed-empty { margin: 0; padding: 14px; }

.dsl-demo-content .dsl-points-table-wrap {
	width: 100%;
	overflow-x: auto;
}

.dsl-demo-content .dsl-points-table {
	width: 100%;
	border-collapse: collapse;
	background: #172531;
}

.dsl-demo-content .dsl-points-table th {
	padding: 9px 10px;
	background: #101c26;
	border-bottom: 1px solid #385061;
	text-align: left;
	font-size: 10px;
	letter-spacing: .045em;
	text-transform: uppercase;
}

.dsl-demo-content .dsl-points-table td {
	padding: 9px 10px;
	border-bottom: 1px solid #2c404f;
	vertical-align: middle;
}

.dsl-demo-content .dsl-table-time,
.dsl-demo-content .dsl-table-duration {
	white-space: nowrap;
	font-size: 12px;
}

.dsl-demo-content .dsl-table-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: 28px !important;
	height: 28px !important;
	min-height: 28px !important;
	padding: 0 !important;
}

.dsl-demo-content .dsl-table-icon .dashicons { width: 16px; height: 16px; font-size: 16px; line-height: 16px; }

.dsl-demo-session-card .dsl-finish-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin: 0;
	padding: 18px 24px;
	border-top: 1px solid #3d4f5c;
	background: #15212b;
}

.dsl-demo-session-card .dsl-finish-warning {
	flex: 1;
	margin: 0;
	padding: 12px;
}

.dsl-demo-content .dsl-completed-sessions-title { margin: 28px 0 14px; }
.dsl-demo-content .dsl-completed-empty { max-width: none; }
.dsl-demo-content .dsl-month-list { display: grid; gap: 12px; }
.dsl-demo-content .dsl-month-accordion,
.dsl-demo-content .dsl-user-accordion,
.dsl-demo-content .dsl-session-accordion { overflow: hidden; border: 1px solid #314858; border-radius: 8px; background: #172531; }
.dsl-demo-content .dsl-user-accordion { margin-top: 10px; background: #121f29; }
.dsl-demo-content .dsl-session-accordion { border-radius: 6px; }
.dsl-demo-content .dsl-month-accordion > summary,
.dsl-demo-content .dsl-user-accordion > summary,
.dsl-demo-content .dsl-session-accordion > summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 16px; cursor: pointer; list-style: none; font-weight: 700; }
.dsl-demo-content .dsl-user-accordion > summary { padding: 11px 13px; }
.dsl-demo-content .dsl-session-accordion > summary { padding: 9px 11px; }
.dsl-demo-content .dsl-month-accordion > summary::after,
.dsl-demo-content .dsl-user-accordion > summary::after,
.dsl-demo-content .dsl-session-accordion > summary::after { content: '+'; order: 3; font-size: 20px; font-weight: 400; }
.dsl-demo-content .dsl-month-accordion[open] > summary::after,
.dsl-demo-content .dsl-user-accordion[open] > summary::after,
.dsl-demo-content .dsl-session-accordion[open] > summary::after { content: '−'; }
.dsl-demo-content .dsl-month-accordion summary small,
.dsl-demo-content .dsl-user-accordion summary small,
.dsl-demo-content .dsl-session-accordion summary small { margin-left: auto; font-size: 12px; }
.dsl-demo-content .dsl-month-content { padding: 16px; }
.dsl-demo-content .dsl-month-toolbar { display: flex; justify-content: flex-end; margin-bottom: 14px; }
.dsl-demo-content .dsl-month-toolbar .button { display: inline-flex; align-items: center; gap: 6px; }
.dsl-demo-content .dsl-user-content { display: grid; gap: 8px; padding: 10px; }
.gentle-work-frontend .dsl-points-table-wrap { scrollbar-gutter: auto; }
.gentle-work-frontend .dsl-session-content { padding: 0; }
.gentle-work-frontend .dsl-session-content > .dsl-points-table-wrap { box-sizing: border-box; width: 100%; max-width: 100%; margin: 8px 0 0; overflow: hidden; scrollbar-gutter: auto; border-right: 0; border-bottom: 0; border-left: 0; border-radius: 0; }
.gentle-work-frontend .dsl-session-content .dsl-month-points { box-sizing: border-box; width: 100%; min-width: 0; table-layout: fixed; }
.gentle-work-frontend .dsl-session-content .dsl-month-points th:first-child { width: 22%; min-width: 0; }
.gentle-work-frontend .dsl-session-content .dsl-month-points th:nth-child(2),
.gentle-work-frontend .dsl-session-content .dsl-month-points th:nth-child(3) { width: 14%; }
.gentle-work-frontend .dsl-session-content .dsl-month-points th:nth-child(4),
.gentle-work-frontend .dsl-session-content .dsl-month-points th:nth-child(5),
.gentle-work-frontend .dsl-session-content .dsl-month-points th:nth-child(6),
.gentle-work-frontend .dsl-session-content .dsl-month-points th:nth-child(7) { width: 10%; }
.gentle-work-frontend .dsl-session-content .dsl-month-points th:last-child { width: 10%; }
.gentle-work-frontend .dsl-session-accordion > summary {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 130px 170px 20px;
	gap: 10px;
	align-items: center;
}
.gentle-work-frontend .dsl-session-accordion > summary > span:first-child { grid-column: 1; min-width: 0; overflow-wrap: anywhere; }
.gentle-work-frontend .dsl-session-accordion > summary > .dsl-session-edit-trigger { grid-column: 2; box-sizing: border-box; justify-content: center !important; width: 130px; }
.gentle-work-frontend .dsl-session-accordion > summary > small { grid-column: 3; margin-left: 0; text-align: right; }
.gentle-work-frontend .dsl-session-accordion > summary::after { grid-column: 4; justify-self: end; }

@media (max-width: 782px) {
	.gentle-work-frontend .dsl-session-accordion > summary { grid-template-columns: minmax(0, 1fr) 38px 130px 20px; gap: 8px; }
	.gentle-work-frontend .dsl-session-accordion > summary > .dsl-session-edit-trigger { width: 38px !important; }
}

@media (max-width: 520px) {
	.gentle-work-frontend .dsl-session-accordion > summary { grid-template-columns: minmax(0, 1fr) 38px 20px; }
	.gentle-work-frontend .dsl-session-accordion > summary > small { grid-column: 1 / -1; grid-row: 2; text-align: left; }
	.gentle-work-frontend .dsl-session-accordion > summary > .dsl-session-edit-trigger { grid-column: 2; grid-row: 1; }
	.gentle-work-frontend .dsl-session-accordion > summary::after { grid-column: 3; grid-row: 1; }
}

.dsl-theme-gentle .dsl-demo-content .dsl-points-table,
.dsl-theme-gentle .dsl-demo-content .dsl-month-accordion,
.dsl-theme-gentle .dsl-demo-content .dsl-user-accordion,
.dsl-theme-gentle .dsl-demo-content .dsl-session-accordion { background: var(--dsl-surface) !important; border-color: var(--dsl-border) !important; }
.dsl-theme-gentle .dsl-demo-content .dsl-points-table th,
.dsl-theme-gentle .dsl-demo-content details > summary,
.dsl-theme-gentle .dsl-demo-session-card .dsl-finish-container { background: var(--dsl-surface-alt) !important; border-color: var(--dsl-border) !important; color: var(--dsl-text) !important; }
.dsl-theme-gentle .dsl-demo-content .dsl-points-table td,
.dsl-theme-gentle .dsl-demo-session-card .dsl-active-point,
.dsl-theme-gentle .dsl-demo-session-card .dsl-completed-foldout { border-color: var(--dsl-border) !important; }

@media (max-width: 1250px) {
	.dsl-demo-content .dsl-points-table-wrap {
		overflow: visible;
	}

	.dsl-demo-content .dsl-points-table,
	.dsl-demo-content .dsl-points-table tbody {
		display: block;
		background: transparent;
	}

	.dsl-demo-content .dsl-points-table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		margin: -1px;
		padding: 0;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
		border: 0;
	}

	.dsl-demo-content .dsl-points-table tr.dsl-point-data-row {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0 18px;
		margin: 8px;
		padding: 9px 11px;
		border: 1px solid #314858;
		border-radius: 7px;
		background: #172531;
	}

	.dsl-demo-content .dsl-points-table tr.dsl-point-data-row td {
		display: grid;
		grid-template-columns: 96px minmax(0, 1fr);
		gap: 8px;
		width: auto !important;
		padding: 5px 0;
		border: 0;
		white-space: normal;
	}

	.dsl-demo-content .dsl-points-table tr.dsl-point-data-row td.dsl-point-copy {
		grid-column: 1 / -1;
	}

	.dsl-demo-content .dsl-points-table tr.dsl-point-data-row td::before {
		content: attr(data-label);
		color: #91a5b5;
		font-size: 10px;
		font-weight: 700;
		letter-spacing: .04em;
		text-transform: uppercase;
	}

	.dsl-demo-content .dsl-points-table .dsl-table-actions {
		justify-content: flex-start;
	}

	.dsl-theme-gentle .dsl-demo-content .dsl-points-table tr.dsl-point-data-row {
		background: var(--dsl-surface) !important;
		border-color: var(--dsl-border) !important;
	}
}

.dsl-demo-app .dsl-app-header-nav {
	display: grid !important;
	gap: 8px;
}

.dsl-demo-app .dsl-app-header-nav .nav-tab {
	display: block !important;
	float: none !important;
	box-sizing: border-box;
	width: 100%;
	margin: 0 !important;
	text-align: left;
}

.dsl-demo-license-badge {
	position: fixed;
	z-index: 99989;
	right: 18px;
	bottom: 18px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	border: 1px solid #d6a74e;
	border-radius: 999px;
	background: #2d2516;
	box-shadow: 0 10px 26px rgba(0, 0, 0, .26);
	color: #ffe2a0;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	cursor: pointer;
}

.dsl-demo-license-badge > span {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #f0b94b;
	box-shadow: 0 0 0 4px rgba(240, 185, 75, .15);
}

.dsl-demo-warning-dialog {
	box-sizing: border-box;
	width: min(560px, calc(100% - 28px));
	padding: 0;
	border: 1px solid #405568;
	border-radius: 12px;
	background: #1b2834;
	box-shadow: 0 28px 80px rgba(0, 0, 0, .58);
	color: #e8eef5;
}

.dsl-demo-warning-dialog::backdrop {
	background: rgba(4, 9, 14, .76);
	backdrop-filter: blur(3px);
}

.dsl-demo-warning-inner {
	padding: 28px;
}

.dsl-demo-warning-inner h1 {
	margin: 12px 0 18px;
	color: #f4f7fa;
	font: 500 30px/1.15 Georgia, 'Times New Roman', serif;
}

.dsl-demo-warning-inner p {
	margin: 9px 0;
	color: #d6e1eb;
	line-height: 1.55;
}

.dsl-demo-warning-icon {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border: 1px solid #d6a74e;
	border-radius: 50%;
	background: #2d2516;
	color: #ffd276;
}

.dsl-demo-warning-icon .dashicons {
	width: 22px;
	height: 22px;
	font-size: 22px;
	line-height: 22px;
}

.dsl-demo-warning-actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 22px;
}

.dsl-demo-edit-dialog,
.dsl-demo-confirm-dialog {
	box-sizing: border-box;
	width: min(700px, calc(100% - 24px));
	max-height: min(88vh, 820px);
	padding: 0;
	border: 1px solid #405568;
	border-radius: 12px;
	background: #1b2834;
	box-shadow: 0 28px 80px rgba(0, 0, 0, .55);
	color: #e8eef5;
}

.dsl-demo-edit-dialog::backdrop,
.dsl-demo-confirm-dialog::backdrop {
	background: rgba(4, 9, 14, .72);
	backdrop-filter: blur(3px);
}

.dsl-demo-edit-dialog .dsl-point-edit-dialog-inner,
.dsl-demo-confirm-dialog .dsl-point-edit-dialog-inner { padding: 24px; }
.dsl-demo-edit-dialog .dsl-point-edit-dialog-head,
.dsl-demo-confirm-dialog .dsl-point-edit-dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.dsl-demo-edit-dialog .dsl-point-edit-dialog-head h2,
.dsl-demo-confirm-dialog .dsl-point-edit-dialog-head h2 { margin: 0; }
.dsl-demo-edit-dialog .dsl-point-edit-dialog-close,
.dsl-demo-confirm-dialog .dsl-point-edit-dialog-close { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 40px !important; height: 40px !important; min-height: 40px !important; padding: 0 !important; font-size: 23px !important; }
.dsl-demo-edit-dialog .dsl-point-text-field { display: flex; flex-direction: column; gap: 7px; }
.dsl-demo-edit-dialog input,
.dsl-demo-edit-dialog textarea { box-sizing: border-box; width: 100%; min-height: 42px; }
.dsl-demo-edit-dialog textarea { min-height: 72px; resize: vertical; }
.dsl-demo-edit-dialog .dsl-point-edit-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 16px 0; }
.dsl-demo-edit-dialog .dsl-point-edit-fields label { display: flex; flex-direction: column; gap: 6px; }
.dsl-demo-edit-dialog .dsl-point-edit-fields .dsl-point-pause-field { grid-column: 1 / -1; }
.dsl-demo-edit-dialog .dsl-assignee-checks { display: flex; flex-wrap: wrap; gap: 7px; }
.dsl-demo-edit-dialog .dsl-assignee-check { display: inline-flex; align-items: center; gap: 7px; width: auto; padding: 6px 9px; border: 1px solid var(--dsl-border, #405568); border-radius: 6px; background: var(--dsl-surface, #15212b); color: var(--dsl-text, #dce8f2); }
.dsl-demo-edit-dialog .dsl-assignee-check.dsl-is-checked { background: var(--dsl-surface-alt, #25305b); }
.dsl-demo-edit-dialog .dsl-assignee-check input { width: auto; min-height: 0; margin: 0; }
.dsl-demo-edit-dialog .dsl-point-edit-dialog-actions,
.dsl-demo-confirm-dialog .dsl-point-edit-dialog-actions { display: flex; align-items: center; gap: 8px; margin: 20px 0 0; }

@media (max-width: 600px) {
	.dsl-demo-edit-dialog .dsl-point-edit-dialog-inner { padding: 18px; }
	.dsl-demo-edit-dialog .dsl-point-edit-fields { grid-template-columns: 1fr; }
	.dsl-demo-edit-dialog .dsl-point-edit-fields .dsl-point-pause-field { grid-column: auto; }
}

.dsl-theme-gentle .dsl-demo-edit-dialog,
.dsl-theme-gentle .dsl-demo-confirm-dialog {
	border-color: var(--dsl-border);
	background: var(--dsl-surface);
	color: var(--dsl-text);
}

.dsl-theme-gentle .dsl-demo-warning-dialog {
	border-color: var(--dsl-border);
	background: var(--dsl-surface);
	color: var(--dsl-text);
}

.dsl-theme-gentle .dsl-demo-warning-dialog h1,
.dsl-theme-gentle .dsl-demo-warning-dialog p {
	color: var(--dsl-text);
}

.dsl-demo-create,
.dsl-demo-empty,
.dsl-demo-teams {
	max-width: 1000px;
	margin-top: 20px;
}

.dsl-demo-create label,
.dsl-demo-point-label,
.dsl-demo-teams > label {
	display: grid;
	gap: 7px;
	margin: 16px 0;
	font-weight: 700;
}

.dsl-demo-actions {
	display: flex;
	align-items: center;
	gap: 9px;
	flex-wrap: wrap;
	margin: 10px 0 18px;
}

.dsl-demo-points {
	margin-top: 18px;
	padding-top: 12px;
	border-top: 1px solid #314554;
}

.dsl-demo-easy {
	margin: clamp(50px, 12vh, 130px) auto 0;
}

.dsl-demo-browser-note {
	margin-top: 24px;
	color: #9eb0c1 !important;
	font-size: 12px;
}

.dsl-demo-team-list {
	display: grid;
	gap: 9px;
	margin: 18px 0;
}

.dsl-demo-team-list .dsl-team-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 14px;
	border: 1px solid #344a5b;
	border-radius: 7px;
	background: #15212b;
}

.dsl-demo-team-lock {
	display: flex;
	align-items: center;
	gap: 9px;
	min-width: 210px;
	padding: 7px 10px;
	border: 1px solid #405568;
	border-radius: 7px;
	background: #172531;
	color: #e8eef5;
}

.dsl-demo-team-lock > span:nth-child(2) {
	display: grid;
	line-height: 1.15;
}

.dsl-demo-team-lock small {
	color: #9eb0c1;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.dsl-demo-team-lock em {
	margin-left: auto;
	padding: 3px 6px;
	border-radius: 999px;
	background: #2d2516;
	color: #ffd276;
	font-size: 9px;
	font-style: normal;
	font-weight: 800;
	text-transform: uppercase;
}

.dsl-demo-locked-card {
	text-align: center;
}

.dsl-demo-locked-card p {
	max-width: 620px;
	margin: 10px auto 22px;
}

.dsl-demo-lock-icon {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	margin: 0 auto 15px;
	border: 1px solid #405568;
	border-radius: 50%;
	background: #15212b;
	color: #9eb0c1;
}

.dsl-demo-app .dsl-settings-drawer h2 {
	margin: 24px 0 10px;
	font: 700 15px/1.3 -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.dsl-demo-app .dsl-appearance-modes {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
}

.dsl-demo-app .dsl-appearance-mode {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	min-height: 76px;
	padding: 13px;
	border: 1px solid #405568;
	border-radius: 8px;
	background: #15212b;
	color: #e8eef5;
	cursor: pointer;
}

.dsl-demo-app .dsl-appearance-mode input {
	flex: 0 0 auto;
	margin-top: 2px;
}

.dsl-demo-app .dsl-appearance-mode small {
	display: inline-block;
	margin-top: 5px;
	color: #9eb0c1;
	line-height: 1.35;
}

.dsl-theme-gentle .dsl-demo-team-lock,
.dsl-theme-gentle .dsl-demo-app .dsl-appearance-mode {
	border-color: var(--dsl-border);
	background: var(--dsl-surface-alt);
	color: var(--dsl-text);
}

.dsl-demo-stop-inner {
	padding: 22px;
}

.dsl-demo-stop-inner input {
	box-sizing: border-box;
	width: 100%;
}

.dsl-theme-gentle .dsl-demo-license-badge {
	border-color: var(--dsl-border);
	background: var(--dsl-surface-alt);
	color: var(--dsl-text);
}

@media (max-width: 700px) {
	.gentle-work-frontend .dsl-app-header {
		position: relative;
		top: auto;
		display: grid;
		grid-template-columns: minmax(0, 1fr) 46px;
		gap: 12px;
		align-items: start;
	}

	.gentle-work-frontend .dsl-brand-banner {
		grid-column: 1;
		min-width: 0;
		padding-right: 12px;
		border-right: 0;
	}

	.gentle-work-frontend .dsl-app-header .dsl-settings-gear {
		position: static !important;
		grid-column: 2;
		grid-row: 1;
	}

	.gentle-work-frontend .dsl-app-header-nav,
	.gentle-work-frontend .dsl-app-header-team {
		grid-column: 1 / -1;
		width: 100%;
	}

	.gentle-work-frontend .dsl-app-header-nav .nav-tab-wrapper {
		display: grid !important;
		grid-template-columns: 1fr;
		gap: 7px;
		margin: 0;
		overflow: visible;
	}

	.gentle-work-frontend .dsl-app-header-nav .nav-tab,
	.gentle-work-frontend .dsl-app-header-team .dsl-teamspace-switcher,
	.gentle-work-frontend .dsl-demo-team-lock {
		box-sizing: border-box;
		width: 100%;
		max-width: none;
	}

	.dsl-demo-session-head,
	.dsl-demo-session-card .dsl-active-point,
	.dsl-demo-session-card .dsl-finish-container {
		align-items: flex-start;
		flex-direction: column;
	}

	.dsl-demo-session-head,
	.dsl-demo-session-card .dsl-finish-container { padding-right: 16px; padding-left: 16px; }
	.dsl-demo-owner { padding-right: 16px; padding-left: 16px; }
	.dsl-demo-session-card .dsl-active-work,
	.dsl-demo-entry,
	.dsl-demo-session-card .dsl-completed-foldout { margin-right: 16px; margin-left: 16px; }
	.dsl-demo-content .dsl-month-content { padding: 10px; }
	.dsl-demo-content .dsl-user-content { padding: 8px; }
	.dsl-demo-content .dsl-points-table tr.dsl-point-data-row { display: block; }
	.dsl-demo-content .dsl-points-table tr.dsl-point-data-row td { display: block; padding: 4px 0; }
	.dsl-demo-content .dsl-points-table tr.dsl-point-data-row td::before { display: block; margin-bottom: 2px; }

	.dsl-demo-license-badge {
		right: 10px;
		bottom: 10px;
	}

	.dsl-demo-warning-inner {
		padding: 22px;
	}

	.dsl-demo-warning-actions {
		flex-direction: column;
	}

	.dsl-demo-warning-actions .button {
		justify-content: center;
		width: 100%;
	}
}

@media (max-width: 900px) {
	.gentle-work-frontend {
		padding: 26px 22px 40px;
	}

	.gentle-work-frontend .dsl-grid {
		gap: 14px;
	}

	.gentle-work-frontend .dsl-app-header {
		width: 100vw;
		margin: -26px calc(50% - 50vw) 18px;
		padding-right: 22px;
		padding-left: 22px;
	}
}

@media (max-width: 600px) {
	.gentle-work-frontend {
		padding: 20px 12px 32px;
	}

	.gentle-work-frontend .wrap > h1 {
		font-size: 31px;
	}

	.gentle-work-frontend .dsl-app-header {
		width: 100vw;
		margin: -20px calc(50% - 50vw) 16px;
		padding-right: 12px;
		padding-left: 12px;
	}

	.gentle-work-frontend .nav-tab-wrapper {
		margin-right: -12px;
		padding-right: 12px;
	}

	.gentle-work-frontend .dsl-card {
		padding: 15px;
	}

	.gentle-work-frontend .dsl-session-buttons .button,
	.gentle-work-frontend .dsl-session-switch {
		max-width: 100%;
	}

	.gentle-work-frontend .dsl-session-switch span:last-child {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.gentle-work-frontend .dsl-finish-container {
		margin-right: -15px;
		margin-bottom: -15px;
		margin-left: -15px;
		padding: 15px;
	}
}

.dsl-appearance-select {
	display: grid !important;
	grid-template-columns: 28px minmax(0, 1fr) minmax(150px, 220px);
	align-items: center;
	gap: 12px;
	margin: 16px 0;
	padding: 14px 16px;
	border: 1px solid var(--dsl-border, #405568);
	border-radius: 9px;
	background: var(--dsl-surface, #1b2834);
	color: var(--dsl-text, #e8eef5);
}
.gentle-work-frontend .dsl-settings-drawer-appearance {
	background: var(--dsl-surface, #1b2834) !important;
}
.gentle-work-frontend .dsl-settings-drawer-appearance select:not(:disabled) {
	cursor: pointer;
}
.gentle-work-frontend .dsl-settings-drawer-appearance select:not(:disabled):is(:hover, :focus-visible),
.gentle-work-frontend .dsl-point-select-trigger:not(:disabled):is(:hover, :focus-visible),
.dsl-point-edit-dialog .dsl-point-select-trigger:not(:disabled):is(:hover, :focus-visible),
.dsl-timeline-calendar .dsl-point-select-trigger:not(:disabled):is(:hover, :focus-visible),
.dsl-timeline-create-dialog .dsl-point-select-trigger:not(:disabled):is(:hover, :focus-visible) {
	background: var(--dsl-secondary-hover-bg-paint, var(--dsl-secondary-hover-bg)) !important;
	color: var(--dsl-secondary-hover-text) !important;
	border-color: var(--dsl-secondary-hover-border) !important;
	box-shadow: none !important;
}
.dsl-appearance-select > .dashicons { color: var(--dsl-accent, #2f847b); font-size: 23px; width: 23px; height: 23px; }
.dsl-appearance-select > span:nth-child(2) { display: grid; gap: 2px; }
.dsl-appearance-select small { color: var(--dsl-muted, #9eb0c1); }
.dsl-appearance-select select { width: 100%; min-height: 42px; border-color: var(--dsl-border, #405568); }
/* Only the requested workspace, appearance, records and patchnote dropdowns. */
.gentle-work-frontend :is(.dsl-teamspace-switcher, .dsl-appearance-select, .dsl-records-controls, .dsl-records-breakdown-picker, .dsl-patch-month, .dsl-patch-add) select:not(:disabled) {
	cursor: pointer;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.gentle-work-frontend :is(.dsl-teamspace-switcher, .dsl-appearance-select, .dsl-records-controls, .dsl-records-breakdown-picker, .dsl-patch-month, .dsl-patch-add) select:not(:disabled):hover {
	border-color: var(--dsl-accent, #2f847b) !important;
	box-shadow: inset 0 0 0 1px var(--dsl-accent, #2f847b), 0 0 0 3px color-mix(in srgb, var(--dsl-accent, #2f847b) 18%, transparent) !important;
}
.gentle-work-frontend :is(.dsl-teamspace-switcher, .dsl-appearance-select, .dsl-records-controls, .dsl-records-breakdown-picker, .dsl-patch-month, .dsl-patch-add) select:not(:disabled):focus-visible {
	outline: 2px solid var(--dsl-accent, #2f847b) !important;
	outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
	.gentle-work-frontend :is(.dsl-teamspace-switcher, .dsl-appearance-select, .dsl-records-controls, .dsl-records-breakdown-picker, .dsl-patch-month, .dsl-patch-add) select { transition: none; }
}
.gentle-work-teamspace-list[hidden] { display: none !important; }
@media (max-width: 600px) {
	.dsl-appearance-select { grid-template-columns: 28px minmax(0, 1fr); }
	.dsl-appearance-select select { grid-column: 1 / -1; }
}

/* Use one real WordPress close glyph with identical optical centering. */
.dsl-icon-close {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	padding: 0 !important;
	line-height: 1 !important;
	text-align: center !important;
	cursor: pointer !important;
	user-select: none !important;
	-webkit-user-select: none !important;
	caret-color: transparent;
}
.dsl-icon-close .dashicons {
	display: block !important;
	flex: 0 0 20px;
	width: 20px !important;
	height: 20px !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 20px !important;
	line-height: 20px !important;
	pointer-events: none;
	user-select: none;
	-webkit-user-select: none;
	caret-color: transparent;
}
.dsl-icon-close.dsl-style-class-override {
	/* The Hub draws its configured stroke with ::after; hide WordPress's old edge. */
	border-color: transparent !important;
}
.dsl-icon-close:not(.dsl-style-class-override)::before,
.dsl-icon-close:not(.dsl-style-class-override)::after {
	display: none !important;
	content: none !important;
}
.dsl-point-add-dialog-actions { width: 100%; }
.dsl-point-add-dialog-actions .dsl-add-completed-point { margin-left: auto; }

.dsl-tab-loading-surface {
	position: relative;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr));
	gap: 24px;
	width: 100%;
	min-height: min(520px, 68vh);
	box-sizing: border-box;
	pointer-events: none;
}
.dsl-tab-refresh-target { position: relative !important; }
.dsl-tab-refresh-curtain { z-index: 100; min-height: 180px; pointer-events: all; }
.dsl-tab-loading-panel {
	min-height: 260px;
	padding: 24px;
	border-color: var(--dsl-border, #d6365c) !important;
	background: var(--dsl-surface, #fff) !important;
}
.dsl-tab-loading-surface > .dsl-tab-loading-curtain {
	background: transparent;
	backdrop-filter: none;
}
.dsl-tab-loading-line {
	display: block;
	width: 72%;
	height: 13px;
	margin: 20px 0;
	border-radius: 999px;
	background: color-mix(in srgb, var(--dsl-text, #1d2327) 12%, transparent);
}
.dsl-tab-loading-line.is-heading { width: 42%; height: 18px; margin-top: 0; }
.dsl-tab-loading-line.is-short { width: 55%; }
.dsl-tab-loading-curtain {
	position: absolute;
	inset: 0;
	z-index: 5;
	display: grid;
	place-items: center;
	border-radius: 12px;
	background: color-mix(in srgb, var(--dsl-surface, #fff) 64%, transparent);
	backdrop-filter: blur(2px);
}
.dsl-tab-loading-spinner {
	width: 34px;
	height: 34px;
	box-sizing: border-box;
	border: 3px solid color-mix(in srgb, var(--dsl-accent, #d6365c) 24%, transparent);
	border-top-color: var(--dsl-accent, #d6365c);
	border-radius: 50%;
	animation: dsl-tab-loading-spin .72s linear infinite;
}
@keyframes dsl-tab-loading-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .dsl-tab-loading-spinner { animation-duration: 1.8s; } }

/* Patchnote layout must persist across AJAX tab swaps. */
.gentle-work-frontend .dsl-patchnote { max-width: 1160px; margin-top: 20px; }
.gentle-work-frontend .dsl-patchnote-grid { display: grid; grid-template-columns: minmax(300px, 360px) minmax(0, 760px); gap: 20px; align-items: start; }
.gentle-work-frontend .dsl-patchnote .dsl-card { padding: 22px; }
.gentle-work-frontend .dsl-patch-source-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; align-items: end; margin: 14px 0; }
.gentle-work-frontend .dsl-patch-month { display: grid; gap: 5px; }
.gentle-work-frontend .dsl-patch-month strong { font-size: 12px; }
.gentle-work-frontend .dsl-patch-month select { width: 100%; }
.gentle-work-frontend .dsl-patch-source-list { display: grid; gap: 8px; max-height: min(58vh, 620px); margin: 0; overflow: auto; padding-right: 4px; }
.gentle-work-frontend .dsl-patch-source { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; gap: 7px; align-items: center; padding: 8px 9px; border: 1px solid var(--dsl-border, #344a5b); border-radius: 6px; background: var(--dsl-surface-alt, #15212b); }
.gentle-work-frontend .dsl-patch-source.dsl-is-checked { border-color: var(--dsl-accent, #7580ff); background: color-mix(in srgb, var(--dsl-accent, #7580ff) 12%, var(--dsl-surface-alt, #15212b)); }
.gentle-work-frontend .dsl-patch-source input[type="checkbox"] { appearance: none; display: grid; place-content: center; box-sizing: border-box; width: 16px; height: 16px; margin: 0; border: 1px solid var(--dsl-border, #344a5b); border-radius: 3px; background: var(--dsl-surface, #1b2834); cursor: pointer; }
.gentle-work-frontend .dsl-patch-source input[type="checkbox"]:checked { border-color: var(--dsl-accent, #7580ff); background-color: var(--dsl-accent, #7580ff); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.2' d='m3.2 8.2 3 3 6.6-6.6'/%3E%3C/svg%3E"); background-position: center; background-repeat: no-repeat; background-size: 12px 12px; }
.gentle-work-frontend .dsl-patch-source input[type="checkbox"]:focus-visible { outline: 2px solid color-mix(in srgb, var(--dsl-accent, #7580ff) 55%, transparent); outline-offset: 2px; }
.gentle-work-frontend .dsl-patch-source small { color: var(--dsl-muted, #9eb0c1); }
.gentle-work-frontend .dsl-patch-editor { display: grid; gap: 8px; margin: 14px 0; }
.gentle-work-frontend .dsl-patch-section { padding: 10px; border: 1px solid var(--dsl-border, #344a5b); border-radius: 7px; background: var(--dsl-surface-alt, #15212b); }
.gentle-work-frontend .dsl-patch-section-head { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.gentle-work-frontend .dsl-patch-section-head .dsl-tag-badge { display: inline-flex !important; align-items: center !important; width: auto !important; height: auto !important; min-height: 18px; padding: 2px 8px !important; border-radius: 999px; color: #fff; font-size: 11px; font-weight: 700; line-height: 1.35; }
.gentle-work-frontend .dsl-patch-section-head strong { text-transform: uppercase; }
.gentle-work-frontend .dsl-patch-items { display: grid; gap: 5px; }
.gentle-work-frontend .dsl-patch-item { display: grid; grid-template-columns: minmax(0, 1fr) 34px; gap: 8px; align-items: start; }
.gentle-work-frontend .dsl-patch-item textarea { box-sizing: border-box; height: 34px; min-height: 34px; padding: 6px 10px; overflow: hidden; resize: none; }
.gentle-work-frontend #dsl-patch-intro { min-height: 58px; resize: none; }
.gentle-work-frontend .dsl-patch-trash { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 34px !important; height: 34px !important; min-height: 34px !important; padding: 0 !important; }
.gentle-work-frontend .dsl-patch-trash .dashicons { width: 17px; height: 17px; margin: 0; font-size: 17px; }
.gentle-work-frontend .dsl-patch-add { display: grid; grid-template-columns: minmax(150px, 220px) minmax(220px, 1fr) auto; gap: 8px; align-items: center; }
.gentle-work-frontend .dsl-patch-output { width: 100%; min-height: 360px; margin-top: 8px; resize: none; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important; line-height: 1.55; }
.gentle-work-frontend .dsl-patch-output-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.gentle-work-frontend .dsl-patch-clear-status { margin: 8px 0 0; padding: 7px 10px; border: 1px solid var(--dsl-border); border-radius: 6px; color: var(--dsl-text); background: var(--dsl-surface-alt); }
.gentle-work-frontend .dsl-patch-clear-status[hidden] { display: none !important; }

/* Recording decoration is shared with the admin preview in clocktower-recording-effects.css. */
.gentle-work-frontend .dsl-patch-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.gentle-work-frontend .dsl-patch-output-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.gentle-work-frontend .dsl-patch-output-head .button { flex: 0 0 auto; white-space: nowrap; }
.gentle-work-frontend .dsl-patch-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, 260px); gap: 12px; }
.gentle-work-frontend .dsl-patchnote > .dsl-card { container-type: inline-size; }
@container (max-width: 520px) {
	.gentle-work-frontend .dsl-patch-fields,
	.gentle-work-frontend .dsl-patch-add { grid-template-columns: minmax(0, 1fr); }
	.gentle-work-frontend .dsl-patch-add .button { justify-self: start; }
}
.gentle-work-frontend .dsl-patch-status { min-height: 20px; color: var(--dsl-accent, #69cdb8); }
.gentle-work-frontend .dsl-patch-empty { padding: 20px; border: 1px dashed var(--dsl-border, #405568); border-radius: 7px; color: var(--dsl-muted, #9eb0c1); text-align: center; }
@media (max-width: 900px) {
	.gentle-work-frontend .dsl-patchnote { max-width: 760px; }
	.gentle-work-frontend .dsl-patchnote-grid { grid-template-columns: 1fr; }
	.gentle-work-frontend .dsl-patch-fields { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	.gentle-work-frontend .dsl-patch-source-controls { grid-template-columns: 1fr; }
	.gentle-work-frontend .dsl-patch-source-controls .button { justify-self: start; }
	.gentle-work-frontend .dsl-patch-source { grid-template-columns: 20px minmax(0, 1fr); }
	.gentle-work-frontend .dsl-patch-source > small { grid-column: 2; }
	.gentle-work-frontend .dsl-patch-add { grid-template-columns: 1fr; }
	.gentle-work-frontend .dsl-patch-add .button { justify-self: start; }
}
.dsl-records-v2{box-sizing:border-box;width:min(1120px,calc(100% - 32px))!important;max-width:1120px!important;margin-right:auto!important;margin-left:auto!important;padding:18px!important}
.dsl-records-v2:not(.dsl-style-class-override){background:var(--dsl-surface)!important;border-color:var(--dsl-border)!important;color:var(--dsl-text)!important}
.dsl-records-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px;padding-right:58px}.dsl-records-heading h2{margin:0!important}.dsl-records-heading p{margin:3px 0 0;color:var(--dsl-muted)}
.dsl-records-heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dsl-records-display-switch{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--dsl-border);border-radius:9px;background:var(--dsl-surface-alt)}.dsl-records-display-switch button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:32px;padding:5px 10px;border:0;border-radius:6px;background:transparent;color:var(--dsl-muted);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.dsl-records-display-switch button[aria-pressed="true"]{background:var(--dsl-text);color:var(--dsl-surface);box-shadow:0 2px 6px color-mix(in srgb,var(--dsl-text) 16%,transparent)}.dsl-records-display-switch button:focus-visible{outline:2px solid var(--dsl-accent);outline-offset:2px}.dsl-records-display-switch .dashicons{width:16px;height:16px;font-size:16px;line-height:16px}
.dsl-records-export-actions,.dsl-records-export-actions form{display:flex;align-items:center;gap:7px;margin:0}.dsl-records-export-actions .button{display:inline-flex!important;align-items:center!important;gap:5px!important}
.dsl-records-export-tags{display:inline-flex;align-items:center;gap:6px;margin:0 5px 0 0;font-weight:600;white-space:nowrap}.dsl-records-export-tags input{margin:0}
.dsl-export-controls [data-dsl-records-export-year-field][hidden]{display:none!important}
.dsl-records-controls{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));gap:9px;margin:0 0 14px;padding:12px;border:1px solid var(--dsl-border);border-radius:8px;background:var(--dsl-surface-alt)}
.dsl-records-v2[data-dsl-records-display="graph"] .dsl-records-controls{grid-template-columns:repeat(4,minmax(110px,1fr))}.dsl-records-v2[data-dsl-records-display="graph"] [data-dsl-records-list-control]{display:none}.dsl-records-results[hidden],.dsl-records-graph[hidden]{display:none!important}
.dsl-records-controls label{display:grid;gap:4px;min-width:0}.dsl-records-controls label>span{color:var(--dsl-muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.dsl-records-controls select{width:100%!important;min-width:0!important;background:var(--dsl-surface)!important;border-color:var(--dsl-border)!important;color:var(--dsl-text)!important}
.dsl-records-results{display:grid;gap:10px}.dsl-record-group{overflow:hidden;border:1px solid var(--dsl-border);border-radius:8px;background:var(--dsl-surface)}.dsl-record-group>header{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:42px;padding:7px 12px;border-bottom:1px solid var(--dsl-border);background:var(--dsl-surface-alt)}.dsl-record-group>header strong{font-size:14px}.dsl-record-group>header span{color:var(--dsl-muted);font-size:11px;font-weight:600}.dsl-record-group-meta{display:flex;align-items:center;justify-content:flex-end;gap:8px}.dsl-records-discord-form{display:inline-flex;margin:0}.dsl-records-discord-button{display:inline-flex!important;align-items:center!important;gap:4px!important;min-height:28px!important;padding:2px 8px!important;font-size:11px!important;white-space:nowrap}.dsl-records-discord-button .dashicons{width:15px;height:15px;font-size:15px}
.dsl-records-graph{display:grid;gap:15px}.dsl-records-graph-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.dsl-records-graph-summary>div{display:grid;align-content:space-between;gap:13px;min-height:92px;padding:14px 16px;border:1px solid var(--dsl-border);border-radius:10px;background:var(--dsl-surface-alt)}.dsl-records-graph-summary span{color:var(--dsl-muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.dsl-records-graph-summary strong{font-size:23px;line-height:1.1;font-variant-numeric:tabular-nums}.dsl-records-analytics-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:12px}.dsl-records-analytics-card{min-width:0;padding:16px;border:1px solid var(--dsl-border);border-radius:10px;background:var(--dsl-surface)}.dsl-records-analytics-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:15px}.dsl-records-analytics-heading h3{margin:0;font-size:17px;color:var(--dsl-text)}.dsl-records-analytics-heading p{margin:3px 0 0;color:var(--dsl-muted);font-size:11px}.dsl-records-analytics-heading>span{color:var(--dsl-muted);font-size:11px;white-space:nowrap}.dsl-records-chart-scroll{overflow-x:auto;scrollbar-width:thin}.dsl-records-chart{display:grid;grid-template-columns:repeat(31,minmax(12px,1fr));gap:3px;min-width:550px;height:210px;padding:7px 3px 0;border-bottom:1px solid var(--dsl-border);background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(25% - 1px),color-mix(in srgb,var(--dsl-border) 60%,transparent) 25%)}.dsl-records-chart-day{display:grid;grid-template-rows:minmax(0,1fr) 23px;min-width:0;min-height:0;padding:0;border:0;background:transparent;color:var(--dsl-muted);font:inherit;cursor:pointer}.dsl-records-chart-day:focus-visible{outline:2px solid var(--dsl-accent);outline-offset:-1px}.dsl-records-chart-column{display:flex;align-items:flex-end;justify-content:center;min-height:0}.dsl-records-chart-bar{display:block;width:min(100%,19px);min-height:2px;border-radius:4px 4px 0 0;background:linear-gradient(0deg,color-mix(in srgb,var(--dsl-accent) 72%,var(--dsl-text)),var(--dsl-accent));transition:height .2s ease,filter .2s ease}.dsl-records-chart-bar.is-empty{background:color-mix(in srgb,var(--dsl-border) 70%,transparent)}.dsl-records-chart-day:hover .dsl-records-chart-bar,.dsl-records-chart-day[aria-pressed="true"] .dsl-records-chart-bar{filter:brightness(1.16)}.dsl-records-chart-day[aria-pressed="true"] .dsl-records-chart-bar{box-shadow:0 0 0 2px var(--dsl-text)}.dsl-records-chart-number{align-self:center;justify-self:center;font-size:10px;font-weight:600;opacity:.55}.dsl-records-chart-number.is-major,.dsl-records-chart-day[aria-pressed="true"] .dsl-records-chart-number{opacity:1}.dsl-records-chart-day[aria-pressed="true"] .dsl-records-chart-number{color:var(--dsl-text);font-weight:800}.dsl-records-day-detail{min-height:88px;margin-top:14px;padding-top:12px;border-top:1px solid var(--dsl-border)}.dsl-records-day-detail-heading{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.dsl-records-day-detail-heading strong{font-size:13px}.dsl-records-day-detail-heading span,.dsl-records-day-detail p{color:var(--dsl-muted);font-size:11px}.dsl-records-day-detail ul{display:grid;gap:4px;margin:10px 0 0;padding:0;list-style:none}.dsl-records-day-detail li{display:flex;justify-content:space-between;gap:10px;font-size:11px}.dsl-records-day-detail li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dsl-records-day-detail li b{white-space:nowrap;font-variant-numeric:tabular-nums}.dsl-records-breakdown-picker{display:grid;gap:4px;margin-bottom:15px;color:var(--dsl-muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.dsl-records-breakdown-picker select{max-width:210px;background:var(--dsl-surface-alt)!important;border-color:var(--dsl-border)!important;color:var(--dsl-text)!important}.dsl-records-breakdown{display:grid;gap:15px}.dsl-records-breakdown-label{display:flex;align-items:center;gap:7px;margin-bottom:6px;font-size:11px}.dsl-records-breakdown-label span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dsl-records-breakdown-label b{white-space:nowrap;font-variant-numeric:tabular-nums}.dsl-records-breakdown-dot{width:8px;height:8px;flex:none;border-radius:50%;background:var(--dsl-breakdown-color)}.dsl-records-breakdown-track{height:7px;overflow:hidden;border-radius:999px;background:var(--dsl-surface-alt)}.dsl-records-breakdown-track span{display:block;height:100%;border-radius:inherit}.dsl-records-breakdown-empty{color:var(--dsl-muted);font-size:12px}.dsl-records-graph-note{margin:0;color:var(--dsl-muted);font-size:11px}
.dsl-record-row{display:grid;grid-template-columns:76px minmax(190px,2fr) minmax(90px,.8fr) minmax(100px,.9fr) minmax(100px,.8fr) 76px 32px;gap:10px;align-items:center;min-height:38px;padding:3px 10px;border-bottom:1px solid color-mix(in srgb,var(--dsl-border) 72%,transparent);color:var(--dsl-text)}.dsl-record-row:last-child{border-bottom:0}.dsl-record-row:hover{background:color-mix(in srgb,var(--dsl-accent) 5%,transparent)}.dsl-record-row>time,.dsl-record-row-user{overflow:hidden;color:var(--dsl-muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.dsl-record-row>strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.dsl-record-row>b{text-align:right;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.dsl-record-row-tag,.dsl-record-row-project{min-width:0}.dsl-record-row .dsl-tag-badge,.dsl-project-badge{box-sizing:border-box;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dsl-project-badge{display:inline-flex;align-items:center;padding:2px 7px;border:1px solid color-mix(in srgb,var(--dsl-project-color) 75%,var(--dsl-border));border-radius:999px;background:color-mix(in srgb,var(--dsl-project-color) 16%,transparent);color:var(--dsl-text);font-size:10px;font-weight:700;line-height:1.35}.dsl-record-row-actions{display:flex;justify-content:flex-end}.dsl-records-empty{margin:16px 0;color:var(--dsl-muted)}
.dsl-project-badge{justify-content:center;text-align:center}
.gentle-work-frontend .dsl-project-badge,
.gentle-work-frontend .dsl-record-status { display:inline-grid!important; place-items:center!important; align-content:center!important; justify-content:center!important; box-sizing:border-box; height:18px; min-height:18px; padding-top:0!important; padding-bottom:0!important; line-height:normal!important; text-align:center; text-box-trim:trim-both; text-box-edge:text text; vertical-align:middle; }
.gentle-work-frontend .dsl-table-icon,
.gentle-work-frontend .dsl-icon-close,
.gentle-work-frontend .dsl-settings-gear { display:inline-grid!important; place-items:center!important; align-content:center!important; justify-content:center!important; }
.gentle-work-frontend .dsl-table-icon > .dashicons,
.gentle-work-frontend .dsl-icon-close > .dashicons,
.gentle-work-frontend .dsl-settings-gear > .dashicons { display:grid!important; place-items:center!important; position:static!important; margin:0!important; line-height:1!important; vertical-align:middle!important; transform:none!important; }
.dsl-chronarium-entry-list .dsl-project-badge,.dsl-chronarium-cooperation .dsl-project-badge{margin:0 6px}
.dsl-point-project{display:flex;align-items:center;gap:9px}.dsl-point-project select{width:160px}
@media(max-width:1400px){.dsl-records-controls{grid-template-columns:repeat(4,minmax(0,1fr))}.dsl-record-row{grid-template-columns:64px minmax(0,2fr) minmax(92px,.9fr) minmax(105px,.95fr) minmax(72px,.55fr) 64px 34px;gap:8px}.dsl-record-row-actions{min-width:34px;justify-self:end}}
@media(max-width:1260px){.dsl-record-row{grid-template-columns:64px minmax(0,2fr) minmax(72px,.8fr) minmax(82px,.72fr) 64px 34px}.dsl-record-row-project{display:none}}
@media(max-width:980px){.dsl-record-row{grid-template-columns:54px minmax(0,1fr) minmax(72px,.65fr) 62px 34px;gap:7px;padding:6px 8px}.dsl-record-row-tag,.dsl-record-row-project{display:none}.dsl-record-row-user{display:block}}
@media(max-width:1260px){.dsl-records-analytics-grid{grid-template-columns:1fr}}
@media(max-width:782px){.dsl-records-chart{min-width:550px}}
@media(max-width:782px){.dsl-records-v2{width:calc(100% - 16px)!important;padding:12px!important}.dsl-records-heading{align-items:flex-start;flex-direction:column;padding-right:0}.dsl-records-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.dsl-record-group>header{align-items:flex-start;flex-direction:column;gap:4px}.dsl-record-group-meta{width:100%;justify-content:space-between;flex-wrap:wrap}.dsl-records-export-actions{box-sizing:border-box;width:100%;padding-right:58px}.dsl-records-export-actions form{flex:1}.dsl-records-export-actions .button{justify-content:center;width:100%}}
@media(max-width:782px){.dsl-records-heading-actions{width:100%;align-items:stretch;flex-direction:column}.dsl-records-display-switch{align-self:flex-start}.dsl-records-v2[data-dsl-records-display="graph"] .dsl-records-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.dsl-records-graph-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.dsl-records-graph-summary>div{min-height:78px;padding:11px 12px}.dsl-records-graph-summary strong{font-size:20px}.dsl-records-analytics-card{padding:12px}}
.dsl-records-chart{position:relative}
.dsl-records-chart-lines{position:absolute;z-index:1;top:7px;left:3px;width:calc(100% - 6px);height:calc(100% - 30px);overflow:visible;pointer-events:none}
.dsl-records-chart-line{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.dsl-records-chart-day{position:relative;z-index:2}
.dsl-records-chart-day[aria-pressed="true"]{background:color-mix(in srgb,var(--dsl-accent) 7%,transparent)}
.dsl-records-chart-frame{display:grid;grid-template-columns:36px minmax(0,1fr);gap:6px}
.dsl-records-chart-axis{position:relative;height:200px;margin-top:34px;color:var(--dsl-muted);font-size:10px;font-variant-numeric:tabular-nums}
.dsl-records-chart-axis span{position:absolute;right:0;transform:translateY(-50%);white-space:nowrap}
.dsl-records-chart-months{display:grid;min-width:0;height:26px;font-size:10px;color:var(--dsl-muted)}
.dsl-records-chart-months span{display:flex;align-items:center;padding:0 7px;white-space:nowrap;overflow:hidden}
.dsl-records-previous-label{background:color-mix(in srgb,var(--dsl-muted) 12%,transparent);border-right:1px dashed var(--dsl-muted)}
.dsl-records-chart-frame .dsl-records-chart{box-sizing:border-box;min-width:0;width:100%;height:232px;padding:8px 0 0;gap:0;background:none}
.dsl-records-chart-frame .dsl-records-chart-scroll{min-width:0;overflow:visible}
.dsl-records-chart-frame .dsl-records-chart-day{grid-template-columns:minmax(0,1fr)}
.dsl-records-chart-day:first-of-type .dsl-records-chart-number{justify-self:start}
.dsl-records-chart-day:last-of-type .dsl-records-chart-number{justify-self:end}
@media(min-width:1261px){.dsl-records-analytics-grid{grid-template-columns:minmax(0,2.1fr) minmax(240px,1fr)}}
@media(max-width:782px){.dsl-records-chart-number:not(.is-major){display:none}.dsl-records-chart-day[aria-pressed="true"] .dsl-records-chart-number{display:block}}
.dsl-records-chart-frame .dsl-records-chart::before{content:"";position:absolute;inset:0 auto 0 0;width:var(--dsl-context-width);background:color-mix(in srgb,var(--dsl-muted) 9%,transparent);border-right:1px dashed var(--dsl-muted);pointer-events:none;box-sizing:border-box}
.dsl-records-chart-frame .dsl-records-chart-lines{top:8px;left:0;width:100%;height:200px}
.dsl-records-chart-gridline{stroke:var(--dsl-border);stroke-opacity:.45;stroke-width:1;vector-effect:non-scaling-stroke}
.dsl-records-day-users li{padding:7px 0;border-bottom:1px solid color-mix(in srgb,var(--dsl-border) 35%,transparent);font-size:12px}
.dsl-records-day-users li:last-child{border-bottom:0}
.dsl-records-day-users li span{display:flex;align-items:center;gap:8px}
.dsl-records-day-users i{width:8px;height:8px;border-radius:50%;flex:none}
.dsl-point-time-error{grid-column:1/-1;margin:4px 0 8px;color:var(--dsl-danger,#b32d2e);font-size:12px;line-height:1.4}
.dsl-point-pause-list.is-time-invalid{border-color:var(--dsl-danger,#b32d2e)}
.dsl-point-pause-row>[data-dsl-pause-time-error]{margin:4px 0 2px;padding:10px 12px;border:1px solid var(--dsl-danger,#b32d2e);border-radius:6px;background:color-mix(in srgb,var(--dsl-danger,#b32d2e) 12%,var(--dsl-surface,#fff));font-size:14px;font-weight:700}
.dsl-point-pause-row>[data-dsl-pause-time-error][hidden]{display:none}
.dsl-datetime-trigger[aria-invalid="true"]{border-color:var(--dsl-danger,#b32d2e)!important}
.dsl-records-day-portions{display:flex;flex-wrap:wrap;gap:5px 13px;margin-top:9px}
.dsl-records-day-portions span{display:inline-flex;align-items:center;gap:5px;color:var(--dsl-muted);font-size:11px}
.dsl-records-day-portions i{display:inline-block;flex:none;width:8px;height:8px;border-radius:50%}

/* The report form is isolated from Clocktower form handlers and field rules. */
.dsl-bug-report-dialog{box-sizing:border-box;width:min(560px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px);height:80vh;height:80dvh;max-height:calc(100dvh - 32px)!important;padding:0!important;overflow:hidden;border:1px solid var(--dsl-border,#ddd);border-radius:12px;box-shadow:0 24px 70px #0006;background:var(--dsl-surface,#fff);color:var(--dsl-text,#222)}
.dsl-bug-report-dialog[open]{display:flex!important;flex-direction:column}
.dsl-bug-report-dialog::backdrop{background:#04090e99;backdrop-filter:blur(3px)}
.dsl-bug-report-heading{display:flex;flex:none;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--dsl-border,#ddd)}
.dsl-bug-report-heading h2{min-width:0;margin:0;font-family:inherit;font-size:18px;line-height:1.35;font-weight:600;color:inherit}
.dsl-bug-report-heading .dsl-icon-close{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:none;width:40px!important;height:40px!important;min-height:40px!important;padding:0!important}
.dsl-report-panel{display:flex;flex:1 1 0;min-height:0;min-width:0}
.dsl-report-panel iframe{display:block;flex:1;width:100%;height:100%;min-height:0;border:0;background:var(--dsl-surface,#fff)}
.dsl-settings-report-footer{margin-top:24px}
.dsl-settings-report-footer .dsl-report-launcher{display:inline-flex!important;width:auto!important;min-height:32px!important;padding:6px 10px!important;font-size:12px!important;line-height:1.4!important}
@media(max-width:420px){.dsl-bug-report-heading{gap:8px;padding:12px}}
@media(max-height:600px){.dsl-bug-report-dialog{height:calc(100vh - 32px);height:calc(100dvh - 32px)}}
