/*
 * TourDesk tour operator pages: sign-up, login and the tour operator dashboard.
 * Uses the same --tdsk-* colour variables as the rest of TourDesk (Kadence palette).
 */

.tdsk-operator { max-width: 1100px; margin: 0 auto; font-size: 1rem; line-height: 1.55; }
.tdsk-dash { container: tdsk-dash / inline-size; }
.tdsk-operator--narrow { max-width: 640px; }
.tdsk-operator h2, .tdsk-operator h3 { margin: 0 0 12px; line-height: 1.25; }
.tdsk-operator h2 { font-size: 1.45rem; }
.tdsk-operator h3 { font-size: 1.1rem; }
.tdsk-operator p { margin: 0 0 12px; }
.tdsk-operator p:last-child { margin-bottom: 0; }
.tdsk-operator a { color: var(--tdsk-accent); }
.tdsk-operator .tdsk-muted { color: var(--tdsk-muted); }
.tdsk-operator .tdsk-small { font-size: 0.875rem; margin-top: 10px; }

/* Panels */
.tdsk-operator .tdsk-panel { background: var(--tdsk-bg); border: 1px solid var(--tdsk-line); border-radius: var(--tdsk-radius); padding: clamp(16px, 2.5vw, 26px); margin: 0 0 20px; }
.tdsk-operator .tdsk-panel--note { background: var(--tdsk-surface); }
.tdsk-operator .tdsk-panel__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin: 0 0 14px; }
.tdsk-operator .tdsk-panel__head h2 { margin: 0; }
.tdsk-operator .tdsk-empty { color: var(--tdsk-muted); margin: 0; }

/* Forms */
.tdsk-operator .tdsk-form__title { margin-bottom: 6px; }
.tdsk-operator .tdsk-form__intro { color: var(--tdsk-muted); margin-bottom: 18px; }
.tdsk-operator .tdsk-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.tdsk-operator .tdsk-field { margin: 0 0 14px; display: flex; flex-direction: column; gap: 5px; }
.tdsk-operator .tdsk-field--wide { grid-column: 1 / -1; }
.tdsk-operator .tdsk-field > label, .tdsk-operator .tdsk-field__label { font-weight: 600; color: var(--tdsk-ink); font-size: 0.95rem; }
.tdsk-operator .tdsk-field__help { color: var(--tdsk-muted); font-size: 0.85rem; }
.tdsk-operator input[type=text], .tdsk-operator input[type=email], .tdsk-operator input[type=tel], .tdsk-operator input[type=url],
.tdsk-operator input[type=password], .tdsk-operator input[type=number], .tdsk-operator select, .tdsk-operator textarea {
	width: 100%; max-width: 100%; padding: 10px 12px; border: 1px solid var(--tdsk-line); border-radius: var(--tdsk-radius-sm);
	background: var(--tdsk-bg); color: var(--tdsk-ink); font: inherit; line-height: 1.4; box-shadow: none; margin: 0;
}
.tdsk-operator input:focus, .tdsk-operator select:focus, .tdsk-operator textarea:focus { border-color: var(--tdsk-accent); outline: 2px solid color-mix(in srgb, var(--tdsk-accent) 25%, transparent); outline-offset: 0; }
.tdsk-operator .tdsk-check-line label { display: flex; gap: 8px; align-items: flex-start; }
.tdsk-operator .tdsk-check-line input { margin-top: 4px; }
.tdsk-operator .tdsk-form__foot { text-align: center; color: var(--tdsk-muted); margin-top: 14px; }
.tdsk-operator .tdsk-trap { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.tdsk-operator #loginform p { margin: 0 0 14px; display: flex; flex-direction: column; gap: 5px; }
.tdsk-operator #loginform label { font-weight: 600; color: var(--tdsk-ink); }
.tdsk-operator #loginform .login-remember label { font-weight: 400; flex-direction: row; display: flex; gap: 8px; align-items: center; }
.tdsk-operator #loginform input[type=submit] { width: 100%; }
.tdsk-operator #loginform input[type=submit], .tdsk-operator .tdsk-button {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 10px 18px; border-radius: var(--tdsk-radius-sm) !important;
	border: 1px solid var(--tdsk-line) !important; background: var(--tdsk-bg) !important; color: var(--tdsk-ink) !important;
	font: inherit; font-weight: 600; line-height: 1.3; text-decoration: none !important; cursor: pointer; box-shadow: none !important;
}
.tdsk-operator #loginform input[type=submit], .tdsk-operator .tdsk-button--primary { background: var(--tdsk-accent) !important; border-color: var(--tdsk-accent) !important; color: #fff !important; }
.tdsk-operator .tdsk-button--primary:hover, .tdsk-operator #loginform input[type=submit]:hover { background: var(--tdsk-accent-strong) !important; }
.tdsk-operator .tdsk-button:hover { border-color: var(--tdsk-accent) !important; }
.tdsk-operator .tdsk-button--block { width: 100%; }
.tdsk-operator .tdsk-button--link { background: transparent !important; border-color: transparent !important; color: var(--tdsk-accent) !important; padding-left: 8px; padding-right: 8px; }
.tdsk-operator .tdsk-button--danger { color: #b3261e !important; }
.tdsk-operator .tdsk-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.tdsk-operator .tdsk-inline-form { display: inline; margin: 0; }

/* Notices */
.tdsk-operator .tdsk-notice { border-radius: var(--tdsk-radius-sm); padding: 12px 16px; margin: 0 0 16px; border-left: 4px solid var(--tdsk-accent); background: var(--tdsk-surface); }
.tdsk-operator .tdsk-notice p { margin: 0; }
.tdsk-operator .tdsk-notice p + p { margin-top: 6px; }
.tdsk-operator .tdsk-notice--error { border-left-color: #b3261e; background: #fbeceb; color: #5f1410; }
.tdsk-operator .tdsk-notice--success { border-left-color: #2e7d32; background: #edf6ee; color: #173f19; }
.tdsk-operator .tdsk-notice--warn { border-left-color: var(--tdsk-sun); background: #fdf5e7; color: #4d3510; }
.tdsk-operator .tdsk-legacy { margin-top: 8px !important; padding: 8px 10px; background: #fff; border-radius: 6px; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 0.9rem; }

/* Pills */
.tdsk-operator .tdsk-pill { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: 0.8rem; font-weight: 600; background: var(--tdsk-surface); color: var(--tdsk-text); white-space: nowrap; }
.tdsk-operator .tdsk-pill--publish, .tdsk-operator .tdsk-pill--completed, .tdsk-operator .tdsk-pill--payout-completed { background: #e3f1e4; color: #1d5a21; }
.tdsk-operator .tdsk-pill--pending, .tdsk-operator .tdsk-pill--processing, .tdsk-operator .tdsk-pill--payout-pending, .tdsk-operator .tdsk-pill--warn { background: #fdf0d9; color: #6b4a12; }
.tdsk-operator .tdsk-pill--on-hold { background: #e7eefb; color: #23407a; }
.tdsk-operator .tdsk-pill--cancelled, .tdsk-operator .tdsk-pill--refunded, .tdsk-operator .tdsk-pill--failed, .tdsk-operator .tdsk-pill--payout-decline { background: #f6e3e2; color: #7a1f19; }

/* Dashboard shell */
.tdsk-dash__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 14px; }
.tdsk-dash__who { display: flex; align-items: center; gap: 12px; min-width: 0; }
.tdsk-operator .tdsk-dash__logo { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; flex: none; }
.tdsk-dash__logo--initial { display: inline-flex; align-items: center; justify-content: center; background: var(--tdsk-accent); color: #fff; font-weight: 700; font-size: 1.3rem; }
.tdsk-operator .tdsk-dash__name { font-size: 1.2rem; font-weight: 700; color: var(--tdsk-ink); margin: 0; line-height: 1.2; }
.tdsk-dash__logout { white-space: nowrap; }
.tdsk-dash__nav { display: flex; gap: 4px; overflow-x: auto; border-bottom: 1px solid var(--tdsk-line); margin: 0 0 22px; scrollbar-width: thin; }
.tdsk-operator .tdsk-dash__nav a { padding: 10px 14px; text-decoration: none; color: var(--tdsk-text); font-weight: 600; border-bottom: 3px solid transparent; margin-bottom: -1px; white-space: nowrap; }
.tdsk-operator .tdsk-dash__nav a:hover { color: var(--tdsk-ink); }
.tdsk-operator .tdsk-dash__nav a.is-current { color: var(--tdsk-accent); border-bottom-color: var(--tdsk-accent); }

/* Stats */
.tdsk-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 0 0 20px; }
.tdsk-stats--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tdsk-stat { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; border: 1px solid var(--tdsk-line); border-radius: var(--tdsk-radius); background: var(--tdsk-bg); }
.tdsk-stat__label { color: var(--tdsk-muted); font-size: 0.875rem; font-weight: 600; }
.tdsk-stat__value { font-size: clamp(1.15rem, 3.2cqi, 1.5rem); color: var(--tdsk-ink); line-height: 1.2; font-variant-numeric: tabular-nums; }
.tdsk-stat__note { color: var(--tdsk-muted); font-size: 0.8rem; }
.tdsk-operator .tdsk-stat a { font-size: 0.875rem; font-weight: 600; }

/* Lists and tables */
.tdsk-operator .tdsk-list { list-style: none; margin: 0; padding: 0; }
.tdsk-operator .tdsk-list li { display: grid; grid-template-columns: 170px 1fr auto; gap: 12px; padding: 10px 0; border-top: 1px solid var(--tdsk-line); margin: 0; align-items: baseline; }
.tdsk-operator .tdsk-list li:first-child { border-top: 0; }
.tdsk-list__date { font-weight: 600; color: var(--tdsk-ink); }
.tdsk-list__meta { color: var(--tdsk-muted); white-space: nowrap; }
.tdsk-table-wrap { overflow-x: auto; }
.tdsk-operator .tdsk-table { width: 100%; border-collapse: collapse; font-size: 0.95rem; margin: 0; border: 0; }
.tdsk-operator .tdsk-table th, .tdsk-operator .tdsk-table td { text-align: left; padding: 11px 10px; border: 0; border-bottom: 1px solid var(--tdsk-line); vertical-align: top; background: none; }
.tdsk-operator .tdsk-table th { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--tdsk-muted); font-weight: 700; }
.tdsk-operator .tdsk-table .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.tdsk-operator .tdsk-table tr.is-void td { color: var(--tdsk-muted); text-decoration: line-through; text-decoration-color: color-mix(in srgb, currentColor 40%, transparent); }
.tdsk-operator .tdsk-table tr.is-void td .tdsk-pill { text-decoration: none; }
.tdsk-segmented { display: inline-flex; border: 1px solid var(--tdsk-line); border-radius: 999px; padding: 3px; }
.tdsk-operator .tdsk-segmented a { padding: 5px 14px; border-radius: 999px; text-decoration: none; color: var(--tdsk-text); font-weight: 600; font-size: 0.9rem; }
.tdsk-operator .tdsk-segmented a.is-current { background: var(--tdsk-accent); color: #fff; }
.tdsk-pager { display: flex; justify-content: center; align-items: center; gap: 18px; margin: 16px 0 0; color: var(--tdsk-muted); }

/* Tours list */
.tdsk-operator .tdsk-tours { list-style: none; margin: 0 0 20px; padding: 0; border: 1px solid var(--tdsk-line); border-radius: var(--tdsk-radius); background: var(--tdsk-bg); }
.tdsk-operator .tdsk-tours__item { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 14px 16px; border-top: 1px solid var(--tdsk-line); margin: 0; }
.tdsk-operator .tdsk-tours__item:first-child { border-top: 0; }
.tdsk-tours__thumb { width: 72px; height: 54px; border-radius: 8px; overflow: hidden; background: var(--tdsk-surface); }
.tdsk-operator .tdsk-tours__thumb img { width: 100%; height: 100%; object-fit: cover; }
.tdsk-operator .tdsk-tours__title { font-weight: 700; color: var(--tdsk-ink); margin: 0 0 4px; }
.tdsk-operator .tdsk-tours__meta { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; margin: 0; font-size: 0.9rem; }
.tdsk-tours__actions { display: flex; flex-wrap: wrap; gap: 4px; justify-content: flex-end; align-items: center; }

/* Tour form */
.tdsk-operator .tdsk-photo { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.tdsk-operator .tdsk-photo__preview:empty { display: none; }
.tdsk-operator .tdsk-photo__preview img { width: 220px; height: 150px; object-fit: cover; border-radius: 8px; }
.tdsk-operator .tdsk-photo--small .tdsk-photo__preview img { width: 80px; height: 80px; border-radius: 50%; }
.tdsk-terms { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.tdsk-operator .tdsk-terms__group { border: 0; padding: 0; margin: 0; min-width: 0; }
.tdsk-operator .tdsk-terms__group legend { font-weight: 600; color: var(--tdsk-ink); padding: 0; margin-bottom: 6px; }
.tdsk-terms__list { max-height: 220px; overflow-y: auto; border: 1px solid var(--tdsk-line); border-radius: var(--tdsk-radius-sm); padding: 8px 10px; }
.tdsk-operator .tdsk-terms__list label { display: flex; gap: 8px; align-items: center; padding: 3px 0; font-size: 0.95rem; }
.tdsk-operator .tdsk-panel--editor { padding: 0; overflow: hidden; }
.tdsk-operator .tdsk-panel--editor > h3 { padding: 18px 22px 0; }
.tdsk-operator .tdsk-panel--editor .tdsk-editor { border: 0; }
.tdsk-operator .tdsk-panel--editor .tdsk-editor input[type=checkbox], .tdsk-operator .tdsk-panel--editor .tdsk-editor input[type=radio] { width: auto; }
.tdsk-operator .tdsk-panel--editor .button { display: inline-block; padding: 6px 12px; border: 1px solid var(--tdsk-accent); color: var(--tdsk-accent); background: var(--tdsk-bg); border-radius: 6px; font-size: 0.9rem; line-height: 1.4; cursor: pointer; text-decoration: none; }
.tdsk-operator .wp-editor-wrap { border: 1px solid var(--tdsk-line); border-radius: var(--tdsk-radius-sm); overflow: hidden; }
.tdsk-savebar { position: sticky; bottom: 0; z-index: 5; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; padding: 14px 16px; margin: 0 0 20px; background: var(--tdsk-bg); border: 1px solid var(--tdsk-line); border-radius: var(--tdsk-radius); box-shadow: 0 -6px 18px rgba(0, 0, 0, 0.06); }

@container tdsk-dash (max-width: 860px) {
	.tdsk-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tdsk-terms { grid-template-columns: minmax(0, 1fr); }
}
@container tdsk-dash (max-width: 480px) {
	.tdsk-stats, .tdsk-stats--3 { grid-template-columns: minmax(0, 1fr); }
}
@container tdsk-dash (max-width: 520px) {
	.tdsk-operator .tdsk-form__grid { grid-template-columns: minmax(0, 1fr); }
	.tdsk-operator .tdsk-list li { grid-template-columns: minmax(0, 1fr); gap: 2px; }
	.tdsk-operator .tdsk-tours__item { grid-template-columns: 56px minmax(0, 1fr); }
	.tdsk-tours__thumb { width: 56px; height: 44px; }
	.tdsk-tours__actions { grid-column: 1 / -1; justify-content: flex-start; }
	/* Tables become cards. */
	.tdsk-operator .tdsk-table thead { display: none; }
	.tdsk-operator .tdsk-table, .tdsk-operator .tdsk-table tbody, .tdsk-operator .tdsk-table tr, .tdsk-operator .tdsk-table td { display: block; width: 100%; }
	.tdsk-operator .tdsk-table tr { border-bottom: 1px solid var(--tdsk-line); padding: 8px 0; }
	.tdsk-operator .tdsk-table td { border: 0; padding: 4px 0; text-align: left !important; }
	.tdsk-operator .tdsk-table td::before { content: attr(data-label); display: block; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--tdsk-muted); font-weight: 700; }
}

/* ---------- Theme-proofing ----------
 * Page builders and themes style every h2/h3/p/button/input inside page content.
 * These rules use a doubled class (.tdsk.tdsk-operator) so they win over those. */
.tdsk.tdsk-operator h2, .tdsk.tdsk-operator h3, .tdsk.tdsk-operator h4 { margin: 0 0 12px; padding: 0; font-weight: 700; letter-spacing: normal; text-transform: none; }
.tdsk.tdsk-operator h2 { font-size: 1.45rem; }
.tdsk.tdsk-operator h3 { font-size: 1.1rem; }
.tdsk.tdsk-operator p { margin: 0 0 12px; }
.tdsk.tdsk-operator p:last-child { margin-bottom: 0; }
.tdsk.tdsk-operator ul, .tdsk.tdsk-operator ol { margin: 0; padding: 0; }
.tdsk.tdsk-operator a { text-decoration: none; }
.tdsk.tdsk-operator a:hover { text-decoration: underline; }
.tdsk.tdsk-operator .tdsk-dash__nav a:hover, .tdsk.tdsk-operator .tdsk-button:hover, .tdsk.tdsk-operator .tdsk-segmented a:hover { text-decoration: none; }
.tdsk.tdsk-operator legend { font-size: 0.95rem; font-weight: 600; line-height: 1.4; }
.tdsk.tdsk-operator input[type=checkbox], .tdsk.tdsk-operator input[type=radio] {
	appearance: auto; -webkit-appearance: auto; width: 18px !important; height: 18px !important; min-width: 18px; margin: 0; padding: 0; flex: none; accent-color: var(--tdsk-accent); box-shadow: none;
}

/* Tour details editor (the admin editor shown on the front end). */
.tdsk.tdsk-operator .tdsk-editor { margin: 0; grid-template-columns: 200px minmax(0, 1fr); font-size: 0.95rem; }
.tdsk.tdsk-operator .tdsk-editor__tabs { background: var(--tdsk-surface); border-right: 1px solid var(--tdsk-line); padding: 8px 0; }
.tdsk.tdsk-operator button.tdsk-editor__tab {
	display: block; width: 100%; margin: 0; padding: 10px 16px !important; border: 0 !important; border-left: 3px solid transparent !important; border-radius: 0 !important;
	background: transparent !important; color: var(--tdsk-text) !important; font: inherit; font-size: 0.92rem; font-weight: 500; text-align: left; text-transform: none; letter-spacing: normal; box-shadow: none !important; line-height: 1.4; min-height: 0;
}
.tdsk.tdsk-operator button.tdsk-editor__tab:hover { background: var(--tdsk-bg) !important; color: var(--tdsk-ink) !important; }
.tdsk.tdsk-operator button.tdsk-editor__tab[aria-selected="true"] { background: var(--tdsk-bg) !important; border-left-color: var(--tdsk-accent) !important; color: var(--tdsk-accent) !important; font-weight: 700; }
.tdsk.tdsk-operator .tdsk-editor__panels { padding: 18px 22px; min-width: 0; }
.tdsk.tdsk-operator .tdsk-editor__panel-title { font-size: 1.05rem; margin: 0 0 14px; }
.tdsk.tdsk-operator .tdsk-editor label { font-weight: 600; color: var(--tdsk-ink); }
.tdsk.tdsk-operator .tdsk-editor .tdsk-f__check { font-weight: 400; color: var(--tdsk-text); gap: 8px; }
.tdsk.tdsk-operator .tdsk-editor .tdsk-f__help { color: var(--tdsk-muted); font-size: 0.85rem; margin: 4px 0 0; }
.tdsk.tdsk-operator .tdsk-editor button:not(.tdsk-editor__tab), .tdsk.tdsk-operator .tdsk-editor .button {
	display: inline-flex; align-items: center; padding: 6px 12px !important; border: 1px solid var(--tdsk-accent) !important; border-radius: 6px !important;
	background: var(--tdsk-bg) !important; color: var(--tdsk-accent) !important; font: inherit; font-size: 0.875rem; font-weight: 600; line-height: 1.4; text-transform: none; letter-spacing: normal; box-shadow: none !important; min-height: 0;
}
.tdsk.tdsk-operator .tdsk-editor .tdsk-repeater__row summary { cursor: pointer; }
.tdsk.tdsk-operator .tdsk-editor .tdsk-repeater__row summary button { padding: 2px 6px !important; border: 0 !important; background: none !important; }
.tdsk.tdsk-operator .tdsk-editor [data-tdsk-remove] { color: #b3261e !important; }
.tdsk.tdsk-operator .tdsk-panel--editor > h3 { padding: 20px 22px 6px; margin: 0; }
@container tdsk-dash (max-width: 760px) {
	.tdsk.tdsk-operator .tdsk-editor { grid-template-columns: minmax(0, 1fr); }
	.tdsk.tdsk-operator .tdsk-editor__tabs { flex-direction: row; flex-wrap: nowrap; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--tdsk-line); padding: 0; }
	.tdsk.tdsk-operator button.tdsk-editor__tab { width: auto; white-space: nowrap; border-left: 0 !important; border-bottom: 3px solid transparent !important; }
	.tdsk.tdsk-operator button.tdsk-editor__tab[aria-selected="true"] { border-bottom-color: var(--tdsk-accent) !important; }
	.tdsk.tdsk-operator .tdsk-editor__panels { padding: 16px; }
}

/* Sign-up and login forms (not inside the dashboard container) */
@media (max-width: 640px) {
	.tdsk-operator .tdsk-form__grid { grid-template-columns: minmax(0, 1fr); }
}
.tdsk-operator .tdsk-tours__item--plain { grid-template-columns: minmax(0, 1fr) auto; }
