/* AppShell adapter. Geometry remains owned by each tested sheet controller. */
body.app-shell-nav-mode { font-family:var(--bm-font); --workspace-paper:var(--bm-paper); }
body.app-shell-nav-mode :is(#search-results-panel,.public-itinerary-results-panel,.trip-publication,.trip-itinerary-panel) { font-family:var(--bm-font); color:var(--bm-ink); background-color:var(--bm-paper); }
body.app-shell-nav-mode :is(.publication-header,.publication-preview-tools,.trip-itinerary-bar) button { min-width:44px; min-height:48px; font-family:var(--bm-font); }
body.app-shell-nav-mode :is(.search-result-title,.public-itinerary-result-title) { font-family:var(--bm-font); line-height:1.5; }
body.app-shell-nav-mode :is(.workspace-trips,.public-itinerary-detail-overlay,#detail-panel,.public-auth-gate__dialog,.photo-review-dialog,.spot-edit-suggest-dialog,.spot-submit-dialog,.trip-add-dialog,.map-ai-dedicated) {
  font-family:var(--bm-font); color:var(--bm-ink); background-color:var(--bm-paper);
}
body.app-shell-nav-mode :is(.workspace-trips,.public-itinerary-detail-overlay,#detail-panel) :is(h1,h2,h3) { font-family:var(--bm-font); line-height:1.4; }
body.app-shell-nav-mode :is(.workspace-trips,.public-itinerary-detail-overlay,#detail-panel,.public-auth-gate__dialog,.photo-review-dialog,.spot-edit-suggest-dialog,.spot-submit-dialog,.trip-add-dialog,.map-ai-dedicated) :is(button,input,textarea,select) { font-family:var(--bm-font); }
/* OAuth brand typography and artwork are owned by providerAuthButtons.css. */
body.app-shell-nav-mode .public-auth-gate__dialog .provider-auth--google { font-family:"Basho Google Sans",Arial,sans-serif; }
body.app-shell-nav-mode :is(.workspace-trips,.public-auth-gate__dialog,.photo-review-dialog,.spot-edit-suggest-dialog,.spot-submit-dialog,.map-ai-dedicated) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),textarea,select) {
  box-sizing:border-box; min-width:0; max-width:100%; font-size:16px; min-height:48px; border-radius:var(--bm-radius-control);
}
body.app-shell-nav-mode :is(.workspace-trips__form-actions,.workspace-trip-detail__utilities,.spot-edit-suggest-actions,.photo-review-actions,.spot-submit-actions) button {
  min-height:48px; font-size:14px; line-height:1.5; border-radius:var(--bm-radius-control); white-space:normal;
}
body.app-shell-nav-mode :is(.workspace-trips__form label,.workspace-guest-notice > p,.workspace-trip-publish-hint,.trip-place-results-hint,.trip-place-evidence,.trip-translation-notice,.spot-edit-suggest-note) { font-size:14px; line-height:1.6; }
body.app-shell-nav-mode :is(.public-auth-gate__dialog,.photo-review-dialog,.spot-edit-suggest-dialog,.spot-submit-dialog,.trip-add-dialog) {
  box-sizing:border-box; max-width:calc(100vw - max(16px,env(safe-area-inset-left,0px)) - max(16px,env(safe-area-inset-right,0px)));
  max-height:calc(var(--mobile-visible-height,100dvh) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 32px);
  overflow-y:auto; overscroll-behavior:contain; border-radius:var(--bm-radius-panel);
}
body.app-shell-nav-mode :is(.public-auth-gate__close,.photo-review-close-icon,.spot-edit-suggest-close,.spot-submit-close,.trip-place-review-close) { min-width:44px; min-height:44px; }
body.app-shell-nav-mode :is(.photo-review-choice,.workspace-guest-consent) { min-height:48px; display:flex; align-items:center; gap:12px; }
body.app-shell-nav-mode :is(.photo-review-choice,.workspace-guest-consent) input[type=checkbox] { width:20px; height:20px; flex:none; accent-color:var(--bm-action); }
body.app-shell-nav-mode :is(button,a,input,textarea,select,summary):focus-visible { outline:3px solid var(--bm-action); outline-offset:3px; }
@media (prefers-reduced-motion:reduce) { body.app-shell-nav-mode :is(.workspace-trips,#detail-panel,.public-itinerary-detail-overlay) { scroll-behavior:auto!important; transition:none!important; } }
/* Keep map/list dismissal and route pins reachable on touch screens. */
body.app-shell-nav-mode .country-search-dialog { top:calc(var(--mobile-visible-top,0px) + env(safe-area-inset-top,0px) + 16px); margin:0 auto; width:min(440px,calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - 32px)); max-height:calc(var(--mobile-visible-height,100dvh) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 32px); padding:16px; border-radius:var(--bm-radius-panel); background:var(--bm-paper); color:var(--bm-ink); font-family:var(--bm-font); }
body.app-shell-nav-mode .country-search-dialog [data-country-close] { width:48px; min-height:48px; flex-shrink:0; border-radius:var(--bm-radius-control); }
body.app-shell-nav-mode .country-search-dialog h3 { font-size:20px; }
body.app-shell-nav-mode .country-search-dialog :is(p,label,small) { font-size:14px; line-height:1.5; }
body.app-shell-nav-mode .spot-edit-suggest-dialog { height:fit-content; inset-block:calc(env(safe-area-inset-top,0px) + 16px) auto; margin:0 auto; }
body.app-shell-nav-mode :is(.spot-edit-suggest-title,.spot-edit-suggest-label,.spot-edit-suggest-note,.spot-edit-suggest-status) { color:var(--bm-ink); }
body.app-shell-nav-mode .spot-edit-suggest-title { font-size:20px; line-height:1.4; }
body.app-shell-nav-mode :is(.spot-edit-suggest-label,.spot-edit-suggest-status) { font-size:14px; line-height:1.6; }
body.app-shell-nav-mode .spot-edit-suggest-primary { background:var(--bm-action); border-color:var(--bm-action); }
body.app-shell-nav-mode .spot-edit-suggest-secondary { background:var(--bm-surface,#fff); color:var(--bm-ink); border-color:#72888c; }
body.app-shell-nav-mode :is(.spot-edit-suggest-close,.photo-review-close-icon) { min-width:48px; min-height:48px; }
body.app-shell-nav-mode #photo-review-modal :is(.photo-review-close-icon,.photo-review-file-btn,.photo-review-actions .photo-review-submit,.photo-review-actions .secondary,.photo-review-credit summary) { min-height:48px; }
body.app-shell-nav-mode #photo-review-modal .photo-review-close-icon { min-width:48px; }
body.app-shell-nav-mode #photo-review-modal :is(.photo-review-credit,.photo-review-note,.photo-review-actions .photo-review-submit,.photo-review-actions .secondary) { font-size:14px; line-height:1.6; }
body.app-shell-nav-mode :is(.public-itinerary-results-close,.search-results-close) {
  width:48px; height:48px; min-width:48px; min-height:48px; flex-shrink:0;
}
body.app-shell-nav-mode .public-trip-preview-pin {
  min-width:48px; min-height:48px; box-sizing:border-box;
}
body.app-shell-nav-mode .share-panel-dialog {
  top:calc(env(safe-area-inset-top,0px) + 16px); transform:translateX(-50%);
  width:min(560px,calc(100% - max(16px,env(safe-area-inset-left,0px)) - max(16px,env(safe-area-inset-right,0px))));
  max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 32px);
  padding:24px; border-radius:20px; background:var(--bm-paper); color:var(--bm-ink); font-family:var(--bm-font);
}
body.app-shell-nav-mode .share-panel-header { padding-right:0; }
body.app-shell-nav-mode .share-panel-title { padding-right:48px; font-size:20px; line-height:1.4; }
body.app-shell-nav-mode .share-panel-close { width:48px; height:48px; border-radius:12px; color:var(--bm-ink); background:var(--bm-surface); }
body.app-shell-nav-mode .share-panel-btn { min-height:48px; border-radius:12px; font:600 14px/1.5 var(--bm-font); color:var(--bm-action); border-color:#72888c; }
body.app-shell-nav-mode .share-panel-btn.primary { background:var(--bm-action); border-color:var(--bm-action); color:white; }
body.app-shell-nav-mode :is(.share-panel-kicker,.share-panel-title,.share-panel-preview-name,.share-panel-url-title,.share-panel-qr-title) { color:var(--bm-ink); }
body.app-shell-nav-mode .share-panel-preview { background:var(--bm-tint); }
body.app-shell-nav-mode :is(.share-panel-intro,.share-panel-qr-intro) { font-size:16px; line-height:1.6; }
body.app-shell-nav-mode :is(.share-panel-preview-region,.share-panel-url-meta,.share-panel-template-purpose,.share-panel-template-text) { font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
/* Planner controls share the AppShell touch and typography scale. */
body.app-shell-nav-mode :is(.workspace-trip-detail__back,.workspace-saved-return,.workspace-saved-map-filter,.workspace-saved-legacy) { min-height:48px; padding:12px; font-size:14px; line-height:1.5; border-radius:var(--bm-radius-control); }
body.app-shell-nav-mode .workspace-material-dialog { background:var(--bm-paper); color:var(--bm-ink); border-radius:var(--bm-radius-panel); max-width:calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - 32px); max-height:calc(var(--mobile-visible-height,100dvh) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 32px); }
body.app-shell-nav-mode .workspace-trip-notes button { min-height:48px; font-size:14px; line-height:1.5; border-radius:var(--bm-radius-control); }
body.app-shell-nav-mode .workspace-trip-notes__head button { flex-basis:48px; width:48px; font-size:22px; }
body.app-shell-nav-mode .workspace-trip-notes__head h4 { font-size:20px; line-height:1.4; }
body.app-shell-nav-mode .workspace-trip-notes :is(label,p,.workspace-trip-scraps__upload span) { font-size:14px; line-height:1.6; }
body.app-shell-nav-mode .workspace-trip-notes__item strong { font-size:16px; }
body.app-shell-nav-mode .workspace-trip-notes button[type=submit] { background:var(--bm-action); border-color:var(--bm-action); color:#fff; }
body.app-shell-nav-mode .workspace-trip-notes__item div { flex-wrap:wrap; }
body.app-shell-nav-mode :is(.workspace-trip-detail__transit,.workspace-trip-detail__private,.workspace-trip-detail__edit) { padding:16px; gap:12px; border-radius:var(--bm-radius-panel); background:var(--bm-paper); color:var(--bm-ink); }
body.app-shell-nav-mode :is(.workspace-trip-detail__transit,.workspace-trip-detail__private,.workspace-trip-detail__edit) > strong { font-size:20px; line-height:1.4; color:var(--bm-ink); }
body.app-shell-nav-mode :is(.workspace-trip-detail__transit,.workspace-trip-detail__private,.workspace-trip-detail__edit) :is(label,p,summary) { font-size:14px; line-height:1.6; }
body.app-shell-nav-mode :is(.workspace-trip-detail__transit,.workspace-trip-detail__private,.workspace-trip-detail__edit) button { min-height:48px; font-size:14px; line-height:1.5; border-radius:var(--bm-radius-control); white-space:normal; }
body.app-shell-nav-mode :is(.workspace-trip-detail__transit,.workspace-trip-detail__private,.workspace-trip-detail__edit) button[type=submit] { background:var(--bm-action); border-color:var(--bm-action); color:#fff; }
body.app-shell-nav-mode .workspace-trip-detail__edit-options summary { min-height:48px; box-sizing:border-box; }
body.app-shell-nav-mode .workspace-trip-detail__edit-place > div { flex-wrap:wrap; }
@media (max-width:359px) {
  body.app-shell-nav-mode :is(.workspace-trip-detail__transit,.workspace-trip-detail__private,.workspace-trip-detail__edit) .workspace-trip-detail__edit-pair { grid-template-columns:minmax(0,1fr); }
}
body.app-shell-nav-mode #public-account-menu { box-sizing: border-box; width: min(260px, calc(100vw - 32px)); max-height: calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 96px); overflow-y: auto; padding: 8px; border-radius: 20px; background: var(--bm-paper); color: var(--bm-ink); }
body.app-shell-nav-mode #public-account-menu button { min-height: 48px; padding: 12px; border-radius: 12px; font: 600 16px/1.5 var(--bm-font); color: var(--bm-ink); }
body.app-shell-nav-mode #public-account-menu [data-account-section=signout] { color: var(--bm-danger); }
body.app-shell-nav-mode .guest-trip-picker { width: min(420px, calc(100vw - 32px)); max-height: calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 32px); overflow: auto; padding: 16px; border-radius: 20px; background: var(--bm-paper); color: var(--bm-ink); font: 16px/1.5 var(--bm-font); }
body.app-shell-nav-mode .guest-trip-picker :is(button,input:not([type=checkbox])) { min-height: 48px; border-radius: 12px; font: inherit; }
body.app-shell-nav-mode .guest-trip-picker [data-close] { min-width: 48px; flex-shrink: 0; }
body.app-shell-nav-mode .guest-trip-picker h2 { font-size: 20px; }
body.app-shell-nav-mode .guest-trip-picker :is(p,label,[data-account]) { font-size: 14px; }
body.app-shell-nav-mode .guest-trip-picker [type=submit] { background: var(--bm-action); color: white; }
body.app-shell-nav-mode .guest-trip-picker [data-list] button { overflow-wrap: anywhere; }
body.app-shell-nav-mode .guest-trip-picker .workspace-guest-consent { min-height: 48px; align-items: flex-start; padding: 12px; border-radius: 12px; }
body.app-shell-nav-mode .guest-trip-picker .workspace-guest-consent input { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 2px; }
body.app-shell-nav-mode .ckl { font: 16px/1.5 var(--bm-font); color: #183e47; }
body.app-shell-nav-mode .ckl button { min-height: 48px; border-radius: 12px; }
body.app-shell-nav-mode .ckl-tabs button[aria-pressed=true],
body.app-shell-nav-mode .ckl-add-actions button,
body.app-shell-nav-mode .ckl-edit-actions [type=submit] { background: #1c6370; color: #fff; }
body.app-shell-nav-mode .ckl :is(.ckl-help, [data-ckl-status], .ckl-list h4, .ckl-name small, .ckl-edit label, .ckl-undo, .ckl-progress label) { font-size: 14px; }
body.app-shell-nav-mode .ckl-progress label { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; }
body.app-shell-nav-mode .ckl-progress input[type=checkbox] { width: 20px; height: 20px; }
body.app-shell-nav-mode .ckl-row { gap: 4px; }
body.app-shell-nav-mode .ckl-row :is(.ckl-handle, [data-ckl-delete]) { flex: 0 0 48px; width: 48px; padding: 8px; }
body.app-shell-nav-mode .ckl-check-target { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; min-height: 48px; }
body.app-shell-nav-mode .ckl-row .ckl-name { min-height: 48px; }
body.app-shell-nav-mode .ckl-row.is-child { margin-left: 12px; padding-left: 4px; }
body.app-shell-nav-mode .ckl-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.app-shell-nav-mode .ckl-edit label { min-width: 0; }
body.app-shell-nav-mode .ckl-add-actions button { flex-shrink: 0; }
body.app-shell-nav-mode .trip-add-dialog { border-radius: 20px; background: #fcfaf5; color: #183e47; max-height: calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 32px); }
body.app-shell-nav-mode .trip-add-dialog__head h3 { font-size: 20px; }
body.app-shell-nav-mode .trip-add-dialog__head button { min-width: 48px; min-height: 48px; flex-shrink: 0; }
body.app-shell-nav-mode .trip-add-dialog__choices strong { font-size: 16px; }
body.app-shell-nav-mode .trip-add-dialog__choices small { font-size: 14px; }
body.app-shell-nav-mode .workspace-trip-day-add-trigger { min-height: 48px; }
@media (max-width: 359px) {
  body.app-shell-nav-mode .ckl-pair { grid-template-columns: minmax(0, 1fr); }
}
