/* Locals Guide guide dashboard: only what the theme's app.css does not already style. Tokens come from the theme. */
.ggt-dashboard-guard{ max-width: 560px; margin: 0 auto; padding: 32px 0 64px; }
.ggt-dashboard-guard__title{ margin: 4px 0 8px; }
.ggt-dashboard-guard__alt{ margin: 12px 0 0; font-size: 15px; }
.ggt-dashboard-login form p{ display: flex; flex-direction: column; gap: 6px; margin: 0 0 14px; }
.ggt-dashboard-login label{ font-size: 15px; font-weight: 600; }
.ggt-dashboard-login input[type="text"], .ggt-dashboard-login input[type="password"]{ width: 100%; min-height: 48px; padding: 11px 14px; border: 1px solid var(--ggt-line-strong, #CBD5E1); border-radius: var(--ggt-radius-sm, 10px); font-size: 16px; background: var(--ggt-paper, #fff); color: var(--ggt-ink, #0F172A); }
.ggt-dashboard-login .login-remember label{ display: inline-flex; align-items: center; gap: 8px; font-weight: 500; }
.ggt-dashboard-login input[type="submit"]{ width: 100%; min-height: 48px; border: 0; border-radius: var(--ggt-radius-sm, 10px); background: var(--ggt-accent, #0B5FFF); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }

.ggt-dashboard__who{ display: flex; align-items: center; gap: 14px; min-width: 0; }
.ggt-dashboard__who .ggt-eyebrow{ margin: 0; }
.ggt-dashboard__avatar{ width: 56px; height: 56px; border-radius: 50%; object-fit: cover; flex: none; }
.ggt-dashboard__logout{ color: var(--ggt-muted, #64748B) !important; }
.ggt-dashboard__errors{ margin: 6px 0 0; padding-left: 18px; }
.ggt-dashboard__fineprint{ margin: 8px 0 0; font-size: 14px; }
.ggt-dashboard__row-actions{ white-space: normal; min-width: 150px; }
.ggt-dashboard__row-actions > *{ margin: 3px 6px 3px 0; vertical-align: middle; }
.ggt-dashboard__row-actions .ggt-inline-form{ display: inline-block; }
.ggt-dashboard__table td{ vertical-align: middle; }
.ggt-dashboard__table tfoot th{ font-weight: 600; border-top: 1px solid var(--ggt-line, #E2E8F0); }

.ggt-dashboard-tour{ display: flex; align-items: center; gap: 12px; min-width: 220px; }
.ggt-dashboard-tour__img{ width: 56px; height: 56px; border-radius: 10px; object-fit: cover; flex: none; background: var(--ggt-canvas, #F8FAFC); }
.ggt-dashboard-tour__img--empty{ display: inline-block; border: 1px dashed var(--ggt-line-strong, #CBD5E1); }
.ggt-dashboard-tour__title{ display: block; white-space: normal; }
.ggt-dashboard-tour__meta{ display: block; font-size: 13px; color: var(--ggt-muted, #64748B); }
.ggt-dashboard-tour__note{ display: block; margin-top: 4px; font-size: 13px; color: var(--ggt-danger-ink, #B42318); white-space: normal; }

.ggt-dashboard-picker{ display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.ggt-dashboard-picker .ggt-select{ width: auto; min-width: 0; flex: 1 1 220px; max-width: 420px; }
.ggt-dashboard-picker .ggt-field__label{ flex: 0 0 auto; }
.ggt-js .ggt-dashboard-picker__go{ display: none; }

.ggt-dashboard-slots__due td{ background: var(--ggt-warning-soft, #FFFAEB); }
.ggt-dashboard-slot-edit{ scroll-margin-top: calc(var(--ggt-header-h, 72px) + 16px); }
.ggt-dashboard-form__inline-actions{ margin-top: 16px; }
@media (min-width: 900px){
	.ggt-dashboard-form__grid3{ grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
	.ggt-dashboard .ggt-form__actions{ flex-direction: row; align-items: center; }
	.ggt-dashboard .ggt-form__actions .ggt-btn{ width: auto; }
}

.ggt-dashboard-gallery{ display: flex; flex-wrap: wrap; gap: 12px; list-style: none; margin: 16px 0 0; padding: 0; }
.ggt-dashboard-gallery__item{ position: relative; display: flex; flex-direction: column; gap: 6px; width: 160px; }
.ggt-dashboard-gallery__alt-label{ font-size: 12px; font-weight: 600; }
.ggt-dashboard-gallery__alt{ width: 100%; min-height: 36px; padding: 6px 8px; font-size: 13px; }
.ggt-dashboard-gallery__item img{ width: 120px; height: 120px; object-fit: cover; border-radius: 10px; border: 1px solid var(--ggt-line, #E2E8F0); }
.ggt-dashboard-gallery__main{ position: absolute; top: 6px; left: 6px; padding: 2px 8px; border-radius: 999px; background: var(--ggt-ink, #0F172A); color: #fff; font-size: 12px; font-weight: 600; }
.ggt-dashboard-gallery__remove{ font-size: 13px; }
.ggt-dashboard-gallery__item:has(input:checked) img{ opacity: .35; }

.ggt-dashboard-slotgroup{ padding: 16px; background: var(--ggt-paper, #fff); border: 1px solid var(--ggt-line, #E2E8F0); border-radius: var(--ggt-radius, 16px); }
.ggt-dashboard-slotgroup__head{ display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 8px 16px; margin-bottom: 12px; }
.ggt-dashboard-slotgroup__title{ margin: 0; }
.ggt-dashboard-slotgroup__meta{ margin: 4px 0 0; font-size: 14px; color: var(--ggt-muted, #64748B); }
@media (min-width: 768px){ .ggt-dashboard-slotgroup{ padding: 20px 24px; } }

.ggt-dashboard-method__value{ margin: 0; font-weight: 600; }

.ggt-dashboard-avatar{ display: flex; flex-wrap: wrap; align-items: center; gap: 16px 20px; margin-top: 16px; }
.ggt-dashboard-avatar__img{ width: 96px; height: 96px; border-radius: 50%; object-fit: cover; flex: none; }
.ggt-dashboard-avatar .ggt-field{ flex: 1 1 240px; }

/* Payout method: show only the fields of the chosen type (browsers without :has show both). */
#ggt-payout:has(input[name="payout_type"][value="paypal"]:checked) .ggt-dashboard-payout--iban,
#ggt-payout:has(input[name="payout_type"][value="iban"]:checked) .ggt-dashboard-payout--paypal,
#ggt-payout:has(input[name="payout_type"][value=""]:checked) .ggt-dashboard-payout{ display: none; }

/* ---- Package F: tours cards, pager, when-tabs, bulk bar, repeat preview, manifest (P2-19/P2-21), badges ---- */
.ggt-segmented__opt.is-active{ border-color: var(--ggt-accent, #0B5FFF); background: var(--ggt-accent-soft, #EAF1FF); color: var(--ggt-accent, #0B5FFF); text-decoration: none; }
.ggt-dashboard-when{ margin: 12px 0 0; }
.ggt-dashboard-when .ggt-segmented__opt{ text-decoration: none; color: var(--ggt-ink, #0F172A); }
.ggt-pager{ display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; margin: 20px 0 0; }
.ggt-pager__info{ font-size: 14px; color: var(--ggt-muted, #64748B); }
.ggt-dashboard-subnav{ display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.ggt-dashboard-subnav .ggt-chip{ text-decoration: none; }

.ggt-dash-cards{ list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 12px; }
.ggt-dash-card{ display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; padding: 14px 16px; background: var(--ggt-paper, #fff); border: 1px solid var(--ggt-line, #E2E8F0); border-radius: var(--ggt-radius-md, 12px); }
.ggt-dashboard-tour__body{ min-width: 0; }
.ggt-dashboard-tour__badges{ display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.ggt-dashboard-tour-card .ggt-dashboard__row-actions{ min-width: 0; }
.ggt-dashboard-revision__fields{ display: block; margin-top: 4px; font-size: 14px; }
.ggt-dashboard-policy .ggt-chip{ align-items: flex-start; flex-wrap: wrap; }
.ggt-dashboard-code{ font-size: 22px; letter-spacing: .12em; padding: 6px 12px; border-radius: var(--ggt-radius-sm, 10px); background: var(--ggt-sand, #F5F1EA); }
.ggt-dashboard-badges{ list-style: none; margin: 8px 0 16px; padding: 0; display: grid; gap: 8px; }
.ggt-dashboard-badges li{ display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; font-size: 14px; }
.ggt-dashboard-docs .ggt-dash-card{ justify-content: flex-start; }

.ggt-dashboard-bulk{ display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 12px 0; padding: 10px 12px; border: 1px solid var(--ggt-line, #E2E8F0); border-radius: var(--ggt-radius-md, 12px); background: var(--ggt-canvas, #F8FAFC); }
.ggt-dashboard-bulk .ggt-select{ width: auto; flex: 1 1 200px; max-width: 320px; }
.ggt-dashboard-bulk__cap{ width: 110px !important; }
.ggt-dashboard-slots__sel{ width: 36px; }
.ggt-dashboard-slots__sel input{ width: 20px; height: 20px; }
.ggt-dashboard-slots__tour{ display: block; font-size: 13px; color: var(--ggt-muted, #64748B); }
.ggt-dashboard-repeat [hidden]{ display: none !important; }
.ggt-dashboard-repeat__mode{ margin-top: 16px; }
.ggt-dashboard-repeat__opts{ margin-top: 12px; }
.ggt-dashboard-repeat__preview{ margin: 16px 0 8px; padding: 12px 14px; border-radius: var(--ggt-radius-md, 12px); background: var(--ggt-sand, #F5F1EA); }
.ggt-dashboard-repeat__count{ margin: 0 0 8px; font-weight: 600; }
.ggt-dashboard-repeat__dates{ display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 0; }
.ggt-dashboard-repeat__dates li{ padding: 4px 10px; border-radius: var(--ggt-pill, 999px); background: var(--ggt-paper, #fff); border: 1px solid var(--ggt-sand-line, #E7E0D3); font-size: 13px; }
.ggt-dashboard-vacation strong{ margin-right: 4px; }

/* Manifest / Today (P2-19, P2-21): phone-first stacked cards, big buttons, primary action first. */
.ggt-manifest__count{ margin: 6px 0 0; font-weight: 600; }
.ggt-manifest__bar{ margin: 0 0 12px; }
.ggt-manifest__list{ list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ggt-manifest__item{ display: grid; gap: 10px; padding: 14px; border: 1px solid var(--ggt-line, #E2E8F0); border-radius: var(--ggt-radius-md, 12px); background: var(--ggt-paper, #fff); }
.ggt-manifest__item.is-in{ border-color: var(--ggt-success, #12B76A); background: var(--ggt-success-soft, #E7F8EF); }
.ggt-manifest__item.is-noshow{ border-color: var(--ggt-danger, #F04438); background: var(--ggt-danger-soft, #FEEEEC); }
.ggt-manifest__actions{ display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ggt-manifest__actions .ggt-inline-form{ display: block; margin: 0; }
.ggt-manifest__btn{ width: 100%; }
.ggt-manifest__who{ display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.ggt-manifest__name{ font-size: 17px; }
.ggt-manifest__contact{ display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.ggt-manifest__notes{ margin: 0; font-size: 14px; }
@media (min-width: 768px){
	.ggt-manifest__item{ grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
	.ggt-manifest__actions{ order: 2; grid-row: 1 / span 3; grid-column: 2; min-width: 260px; }
	.ggt-manifest__btn{ min-height: 44px; }
}
@media (max-width: 767px){
	/* Sticky primary action on tour day. */
	.ggt-dashboard--today .ggt-manifest__bar{ position: sticky; bottom: 0; z-index: 5; padding: 10px 0; background: var(--ggt-paper, #fff); border-top: 1px solid var(--ggt-line, #E2E8F0); }
	/* Stacked tables: each row a card, actions first. */
	.ggt-table-wrap--stack{ overflow: visible; }
	.ggt-stack thead{ position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.ggt-stack, .ggt-stack tbody, .ggt-stack tr, .ggt-stack td{ display: block; width: 100%; }
	.ggt-stack tr{ display: flex; flex-direction: column; margin: 0 0 12px; padding: 12px 14px; border: 1px solid var(--ggt-line, #E2E8F0); border-radius: var(--ggt-radius-md, 12px); background: var(--ggt-paper, #fff); }
	.ggt-stack td{ padding: 4px 0; border: 0; text-align: left !important; }
	.ggt-stack td[data-label]::before{ content: attr(data-label); display: block; font-size: 12px; font-weight: 600; color: var(--ggt-muted, #64748B); }
	.ggt-stack td.ggt-dashboard-slots__sel::before{ display: none; }
	.ggt-stack .ggt-dashboard__row-actions{ order: -1; display: flex; flex-wrap: wrap; gap: 8px; }
	.ggt-stack .ggt-dashboard__row-actions > *{ margin: 0; }
	.ggt-stack .ggt-dashboard__row-actions .ggt-btn{ min-height: 44px; }
	.ggt-dashboard-tour-card .ggt-dashboard__row-actions{ display: flex; flex-wrap: wrap; gap: 8px; }
	.ggt-dashboard-tour-card .ggt-dashboard__row-actions > *{ margin: 0; }
}
@media print{
	.ggt-dashboard__nav, .ggt-dashboard__head .ggt-actions, .ggt-manifest__actions, .ggt-manifest__bar, .ggt-dashboard-picker, .ggt-dashboard-when, .ggt-pager, .ggt-dash-head .ggt-actions{ display: none !important; }
	.ggt-manifest__item{ break-inside: avoid; }
}

/* Public guide badges with tooltip (P2-20) are styled in assets/guides/guides.css. */

/* Tour format radio cards + missing join link badge. */
.ggt-dashboard-form [hidden]{ display: none !important; }
.ggt-format-cards{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.ggt-format-card{ position: relative; display: flex; flex-direction: column; gap: 6px; padding: 16px; border: 1px solid var(--ggt-line-strong, #CBD5E1); border-radius: var(--ggt-radius-md, 14px); background: var(--ggt-paper, #fff); cursor: pointer; }
.ggt-format-card input{ position: absolute; top: 14px; right: 14px; margin: 0; }
.ggt-format-card:has(input:checked){ border-color: var(--ggt-accent, #0B5FFF); box-shadow: 0 0 0 1px var(--ggt-accent, #0B5FFF) inset; }
.ggt-format-card:has(input:focus-visible){ outline: 2px solid var(--ggt-accent, #0B5FFF); outline-offset: 2px; }
.ggt-format-card__icon{ display: inline-flex; width: 28px; height: 28px; color: var(--ggt-accent, #0B5FFF); }
.ggt-format-card__icon svg{ width: 24px; height: 24px; }
.ggt-format-card__title{ font-size: 16px; color: var(--ggt-ink, #0F172A); }
.ggt-format-card__text{ font-size: 14px; color: var(--ggt-muted, #64748B); line-height: 1.4; }
@media (max-width: 640px){ .ggt-format-cards{ grid-template-columns: 1fr; } }
.ggt-badge--missing-link{ display: inline-block; padding: 2px 8px; border-radius: var(--ggt-pill, 999px); background: var(--ggt-danger-soft, #FEE4E2); color: var(--ggt-danger-ink, #B42318); font-size: 13px; font-weight: 600; }
.ggt-join-link-form{ display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.ggt-join-link-form .ggt-input{ min-width: 220px; flex: 1 1 220px; min-height: 40px; }
