/* Staging-uitbreidingen. De huidige preset gebruikt exact het live hoofdontwerp. */
.planner-brand.compact { position: relative; }
.planner-trip-icon { display:grid; place-items:center; width:100%; height:100%; font-size:34px; line-height:1; background:rgba(255,255,255,.28); }
.planner-trip-icon img { width:100%; height:100%; object-fit:cover; }
.planner-trip-icon[hidden] { display:none; }
.config-btn {
  position: absolute;
  right: 2px;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 50%;
  background: rgba(23,48,90,.82);
  color: var(--butter);
  font-size: 21px;
  z-index: 4;
}
.bottom-dock .dock-config {
  position: relative;
  inset: auto;
  transform: none;
  display: grid;
  place-items: center;
  width: 54px;
  min-width: 54px;
  height: 62px;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--navy);
  box-shadow: none;
  font-size: inherit;
}
.bottom-dock .dock-config .dock-icon { width:42px; height:42px; margin-top:13px; background:rgba(99,208,195,.88); color:rgba(23,48,90,.88); }
.bottom-dock .dock-config .dock-icon svg { width:21px; height:21px; }
.bottom-dock .dock-config .dock-arc-label { position:absolute; z-index:3; top:0; left:50%; width:64px; height:44px; overflow:visible; transform:translateX(-50%); pointer-events:none; }
.bottom-dock .save-row { gap:0; }
.config-panel {
  position: fixed;
  inset: 0;
  z-index: 4000;
  padding: max(14px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom));
  display: grid;
  place-items: center;
  background: rgba(8,13,31,.68);
  backdrop-filter: blur(13px);
  -webkit-backdrop-filter: blur(13px);
}
.config-panel[hidden], .magic-link-status[hidden] { display: none; }
.config-card {
  position: relative;
  width: min(980px,100%);
  max-height: calc(100vh - 28px);
  overflow: auto;
  padding: 26px 22px 22px;
  border-radius: 24px;
  color: #19213a;
  background: linear-gradient(145deg,rgba(255,255,255,.98),rgba(247,242,220,.97));
  box-shadow: 0 24px 70px rgba(0,0,0,.4);
  border: 1px solid rgba(255,255,255,.7);
}
.config-close { position:absolute; right:12px; top:10px; width:40px; height:40px; border:0; border-radius:50%; background:#17305a; color:#fff; font-size:26px; }
.config-kicker { margin:0 0 3px; color:#8d4655; text-transform:uppercase; letter-spacing:.13em; font:400 11px 'Bungee',sans-serif; }
.config-card h2 { margin:0 44px 4px 0; font:400 clamp(24px,6vw,38px) 'Bungee',sans-serif; color:#17305a; }
.member-identity { margin:0 0 16px; color:#59617b; }
.config-tabs { display:flex; gap:8px; margin:16px 0 4px; padding:5px; border-radius:15px; background:rgba(23,48,90,.08); }
.config-tabs[hidden],.config-tab-panel[hidden] { display:none; }
.config-tab { flex:1; min-height:46px; border:0; border-radius:11px; padding:9px 12px; background:transparent; color:#17305a; font-weight:850; }
.config-tab.is-active { background:#17305a; color:#fff; box-shadow:0 6px 16px rgba(23,48,90,.2); }
.admin-users-head { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; margin-top:18px; }
.admin-users-head h3,.admin-users-head p { margin:0; }
.admin-users-head p { margin-top:4px; color:#59617b; }
.admin-users-list { display:grid; gap:10px; margin-top:16px; }
.admin-user-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; padding:14px; border:1px solid rgba(23,48,90,.15); border-radius:15px; background:rgba(255,255,255,.7); }
.admin-user-main { min-width:0; }
.admin-user-name { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.admin-user-name strong { font-size:1.02rem; }
.admin-user-meta { margin:5px 0 0; color:#59617b; font-size:.84rem; overflow-wrap:anywhere; }
.magic-link-current { display:grid; gap:7px; margin-top:12px; padding:10px; border:1px solid rgba(23,48,90,.16); border-radius:12px; background:#f4f7ff; }
.magic-link-current > strong { color:#17305a; font-size:.8rem; }
.magic-link-current > span { color:#59617b; font-size:.75rem; line-height:1.35; }
.magic-link-current-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; }
.magic-link-current-row input { min-width:0; width:100%; height:40px; padding:8px 10px; border:1px solid rgba(23,48,90,.22); border-radius:9px; background:#fff; color:#17305a; font-size:.74rem; }
.magic-link-current-row button { min-height:40px; border:0; border-radius:9px; padding:8px 12px; background:#17305a; color:#fff; font-weight:850; }
.magic-link-current.is-unavailable { background:#fff8d9; }
.user-status { display:inline-flex; align-items:center; min-height:24px; padding:3px 8px; border-radius:999px; font-size:.7rem; font-weight:850; text-transform:uppercase; letter-spacing:.04em; }
.user-status-active { background:#d8f5e7; color:#176342; }
.user-status-invited { background:#fff1bd; color:#775500; }
.user-status-suspended { background:#ffd8df; color:#8f2639; }
.admin-user-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.admin-user-actions button { min-height:38px; border:1px solid rgba(23,48,90,.22); border-radius:10px; padding:8px 10px; background:#fff; color:#17305a; font-weight:800; }
.admin-user-actions .danger { border-color:#cf8895; color:#9a3043; }
.admin-users-empty { padding:22px; border:1px dashed rgba(23,48,90,.25); border-radius:14px; text-align:center; color:#59617b; }
.config-section { margin-top:18px; padding-top:18px; border-top:1px solid rgba(23,48,90,.15); }
.trip-switcher { display:grid; grid-template-columns:1fr auto; align-items:end; gap:10px; }
.public-trip-share { margin-top:16px; padding:16px; border:1px solid rgba(23,48,90,.18); border-radius:14px; background:rgba(255,255,255,.66); }
.public-trip-share h3,.public-trip-share p { margin:0 0 8px; }
.public-trip-share-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px; align-items:center; }
.public-trip-share input { width:100%; min-width:0; min-height:46px; border:1px solid #bac0cf; border-radius:11px; padding:9px 11px; background:#fff; color:#17213a; font:inherit; }
#copyPublicTripLinkBtn { min-height:46px; border:0; border-radius:11px; padding:9px 14px; background:#17305a; color:#fff; font-weight:800; }
.public-trip-share small { display:block; margin-top:8px; color:#526079; }
.trip-config-form,.invite-form,.profile-form { display:grid; gap:12px; margin-top:16px; }
.profile-form { grid-template-columns:minmax(0,1fr) auto; align-items:end; margin:0 0 18px; padding-bottom:18px; border-bottom:1px solid rgba(23,48,90,.12); }
.trip-config-form label,.invite-form label,.profile-form label,.trip-switcher label,.invite-result label { display:grid; gap:6px; font-weight:700; color:#19213a; }
.trip-config-form input,.trip-config-form select,.invite-form input,.profile-form input,.trip-switcher select,.invite-result input {
  width:100%; min-height:48px; border:1px solid #bac0cf; border-radius:12px; padding:10px 12px; background:#fff; color:#17213a; -webkit-text-fill-color:#17213a; font:inherit;
}
.config-grid-2 { display:grid; grid-template-columns:1fr; gap:12px; }
.theme-picker { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; border:0; padding:4px 0 0; margin:0; }
.theme-picker legend { margin-bottom:8px; font-weight:800; }
.theme-option { position:relative; min-height:100px; border:2px solid transparent; border-radius:15px; padding:0; cursor:pointer; overflow:hidden; }
.theme-option input { position:absolute; opacity:0; }
.theme-option span { display:grid; gap:4px; position:relative; min-height:100px; padding:12px; z-index:1; border:3px solid transparent; border-radius:13px; }
.theme-option small { font-size:11px; }
.theme-option-current { background:linear-gradient(135deg,#63d0c3 0 50%,#ff5b64 50%); color:#17305a; }
.theme-option-classy { background:linear-gradient(135deg,#f5efe4,#b49a6b); color:#301f29; font-family:Georgia,serif; }
.theme-option-neon { background:#09000f; color:#55fff2; box-shadow:inset 0 0 0 2px #ff37d1; font-family:'Bungee',sans-serif; }
.theme-option input:checked + span { border-color:#17305a; box-shadow:inset 0 0 0 2px rgba(244,238,130,.95); }
.config-actions { display:flex; flex-wrap:wrap; gap:9px; }
.config-primary,#newTripBtn,#copyMagicLinkBtn { min-height:44px; border:0; border-radius:12px; padding:10px 15px; background:#17305a; color:#fff; font-weight:800; }
.config-danger,.member-logout { min-height:44px; border:1px solid #b54455; border-radius:12px; padding:10px 15px; background:transparent; color:#9a3043; font-weight:800; }
.config-status { min-height:20px; margin:0; color:#526079; }
.invite-result { margin-top:12px; display:grid; gap:9px; }
.invite-result[hidden] { display:none; }
.member-logout { margin-top:18px; width:100%; }
.magic-link-status { position:fixed; z-index:5000; inset:20px 20px auto; margin:auto; width:min(520px,calc(100% - 40px)); padding:16px; border-radius:14px; background:#17305a; color:#fff; text-align:center; box-shadow:0 15px 40px rgba(0,0,0,.35); }
.admin-login-card { max-height:calc(100vh - 28px); overflow:auto; }
.admin-login-details { margin-top:20px; padding-top:14px; border-top:1px solid rgba(23,48,90,.16); }
.admin-login-details summary { min-height:44px; display:flex; align-items:center; cursor:pointer; color:#526079; font-weight:800; }
.account-setup-card label small { color:#59617b; font-size:.72rem; line-height:1.35; }
.account-setup-card .admin-login-submit { margin-top:10px; }

/* Exacte huidige live vormgeving blijft de standaard. */
body[data-trip-theme="current"] { --staging-current-theme: 1; }

/* Fancy/classy: dezelfde componenten en indeling, andere art direction. */
body[data-trip-theme="classy"] {
  --navy:#2d2029; --turquoise:#b9aa89; --coral:#8d4655; --lilac:#d7c9bd; --butter:#d5b874; --pink:#ead9d1; --text-dark:#2d2029;
  background:linear-gradient(120deg,#f5f0e8 0 58%,#d8c8b3 58% 100%) fixed;
  font-family:Georgia,'Times New Roman',serif;
}
body[data-trip-theme="classy"] .planner-header,
body[data-trip-theme="classy"] .panel,
body[data-trip-theme="classy"] .day-item,
body[data-trip-theme="classy"] .timeline-panel { border-radius:5px; border:1px solid rgba(93,69,53,.32); box-shadow:0 14px 34px rgba(58,42,34,.13); }
body[data-trip-theme="classy"] h1,
body[data-trip-theme="classy"] h2,
body[data-trip-theme="classy"] h3,
body[data-trip-theme="classy"] .journey-week-heading { font-family:Georgia,'Times New Roman',serif; letter-spacing:.04em; text-shadow:none; }

/* Neon future brutalisme: exact dezelfde appstructuur met harde neon tokens. */
body[data-trip-theme="neon"] {
  --navy:#07020d; --turquoise:#45ffef; --coral:#ff36c9; --lilac:#8a5cff; --butter:#e8ff3f; --pink:#ff36c9; --text-dark:#09000f;
  background:repeating-linear-gradient(135deg,#08000f 0 22px,#120522 22px 44px) fixed;
  color:#f7f3ff;
}
body[data-trip-theme="neon"] .planner-header,
body[data-trip-theme="neon"] .panel,
body[data-trip-theme="neon"] .day-item,
body[data-trip-theme="neon"] .timeline-panel { border-radius:0; border:3px solid #45ffef; box-shadow:8px 8px 0 #ff36c9; }
body[data-trip-theme="neon"] .day-item:nth-child(even) { border-color:#e8ff3f; box-shadow:8px 8px 0 #8a5cff; }
body[data-trip-theme="neon"] h1,
body[data-trip-theme="neon"] h2,
body[data-trip-theme="neon"] h3,
body[data-trip-theme="neon"] .journey-week-heading { font-family:'Bungee',sans-serif; text-transform:uppercase; text-shadow:2px 2px 0 #ff36c9; }

/* Classy verandert de volledige app: kop, alle rijen, velden, tijdlijn, config en dock. */
body[data-trip-theme="classy"] .planner-header { background:linear-gradient(135deg,#fbf7ef,#e6d8c5); color:#382532; border-color:#b59a6d; }
body[data-trip-theme="classy"] .planner-header h1 { color:#382532; }
body[data-trip-theme="classy"] .planner-logo-wrap { background:#f8f1e5; border-color:#b59a6d; border-radius:50%; }
body[data-trip-theme="classy"] .trip-meta-panel { background:#5d3442; color:#fff8eb; border-color:#c9ae77; }
body[data-trip-theme="classy"] .notes-summary { color:#f6e8c8; }
body[data-trip-theme="classy"] .day-plan-panel { background:#eee4d7; border-color:#b59a6d; }
body[data-trip-theme="classy"] .day-item:nth-child(odd) { background:linear-gradient(135deg,#fffaf1,#e8ddcd); color:#392933; border:1px solid #bea77f; box-shadow:inset 7px 0 0 #8a5968,0 9px 20px rgba(61,40,47,.12); }
body[data-trip-theme="classy"] .day-item:nth-child(even) { background:linear-gradient(135deg,#f4e8e4,#dbc7c2); color:#392933; border:1px solid #b78f96; box-shadow:inset 7px 0 0 #b59a6d,0 9px 20px rgba(61,40,47,.12); }
body[data-trip-theme="classy"] .day-item.current-day { background:linear-gradient(135deg,#fff9df,#e4cf99); border-color:#8d6d32; box-shadow:inset 7px 0 0 #8d6d32,0 0 0 2px #dbc186,0 12px 26px rgba(65,46,23,.2); }
body[data-trip-theme="classy"] .day-item h3,
body[data-trip-theme="classy"] .day-item strong,
body[data-trip-theme="classy"] .day-item summary,
body[data-trip-theme="classy"] .day-item label span { color:#392933; text-shadow:none; }
body[data-trip-theme="classy"] input,
body[data-trip-theme="classy"] select,
body[data-trip-theme="classy"] textarea { background:#fffdf8; color:#35252f; -webkit-text-fill-color:#35252f; border:1px solid #b9a384; border-radius:4px; box-shadow:inset 0 1px 3px rgba(70,48,40,.08); }
body[data-trip-theme="classy"] input::placeholder,
body[data-trip-theme="classy"] textarea::placeholder { color:#8d7d78; -webkit-text-fill-color:#8d7d78; }
body[data-trip-theme="classy"] .activity-card,
body[data-trip-theme="classy"] .activity-editor,
body[data-trip-theme="classy"] .day-photos,
body[data-trip-theme="classy"] .timeline-photo-card,
body[data-trip-theme="classy"] .timeline-empty-moment { background:#f8f1e7; color:#392933; border-color:#bca582; border-radius:4px; }
body[data-trip-theme="classy"] .week-heading { color:#573441; text-shadow:0 .06em 0 #d4bb8a; }
body[data-trip-theme="classy"] .timeline-panel { background:#2f2730; color:#f8edda; border-color:#b59a6d; }
body[data-trip-theme="classy"] .journey-day { color:#f8edda; border-color:rgba(213,184,116,.35); }
body[data-trip-theme="classy"] .journey-dot { background:#d5b874; color:#382532; box-shadow:0 0 0 5px #2f2730,0 0 0 7px #8d4655; }
body[data-trip-theme="classy"] .bottom-dock { background:rgba(45,32,41,.92); border-color:#b59a6d; box-shadow:0 18px 46px rgba(44,27,36,.34),inset 0 1px 0 rgba(255,255,255,.16); }
body[data-trip-theme="classy"] .bottom-dock .dock-arc-label text { fill:#f2deb2; }
body[data-trip-theme="classy"] .bottom-dock .dock-planner .dock-icon { background:#d9c7a3; color:#392933; }
body[data-trip-theme="classy"] .bottom-dock .dock-timeline .dock-icon { background:#a86d7d; color:#fff8eb; }
body[data-trip-theme="classy"] .config-card { background:linear-gradient(145deg,#fffaf1,#e4d4bd); color:#392933; border:2px solid #b59a6d; border-radius:5px; }

/* Neon verandert eveneens elk onderdeel en iedere rij. */
body[data-trip-theme="neon"] .planner-header { background:#07010d; color:#45ffef; border-color:#45ffef; box-shadow:8px 8px 0 #ff36c9; }
body[data-trip-theme="neon"] .planner-header h1 { color:#e8ff3f; text-shadow:3px 3px 0 #ff36c9; }
body[data-trip-theme="neon"] .planner-logo-wrap { background:#11001c; border-color:#e8ff3f; border-radius:0; box-shadow:5px 5px 0 #ff36c9; }
body[data-trip-theme="neon"] .trip-meta-panel { background:#100019; color:#45ffef; border-color:#ff36c9; box-shadow:8px 8px 0 #45ffef; }
body[data-trip-theme="neon"] .notes-summary { color:#e8ff3f; }
body[data-trip-theme="neon"] .day-plan-panel { background:#050009; border-color:#8a5cff; box-shadow:8px 8px 0 #ff36c9; }
body[data-trip-theme="neon"] .day-item:nth-child(odd) { background:#071a1c; color:#eaffff; border:3px solid #45ffef; box-shadow:8px 8px 0 #ff36c9; }
body[data-trip-theme="neon"] .day-item:nth-child(even) { background:#1c0729; color:#fff3ff; border:3px solid #ff36c9; box-shadow:8px 8px 0 #45ffef; }
body[data-trip-theme="neon"] .day-item.current-day { background:#202500; border-color:#e8ff3f; box-shadow:8px 8px 0 #ff36c9,0 0 22px rgba(232,255,63,.55); }
body[data-trip-theme="neon"] .day-item h3,
body[data-trip-theme="neon"] .day-item strong,
body[data-trip-theme="neon"] .day-item summary,
body[data-trip-theme="neon"] .day-item label span { color:#e8ff3f; text-shadow:2px 2px 0 #ff36c9; }
body[data-trip-theme="neon"] input,
body[data-trip-theme="neon"] select,
body[data-trip-theme="neon"] textarea { background:#050009; color:#45ffef; -webkit-text-fill-color:#45ffef; border:2px solid #8a5cff; border-radius:0; box-shadow:4px 4px 0 #ff36c9; }
body[data-trip-theme="neon"] input::placeholder,
body[data-trip-theme="neon"] textarea::placeholder { color:#bca8ca; -webkit-text-fill-color:#bca8ca; }
body[data-trip-theme="neon"] option { background:#09000f; color:#45ffef; }
body[data-trip-theme="neon"] .activity-card,
body[data-trip-theme="neon"] .activity-editor,
body[data-trip-theme="neon"] .day-photos,
body[data-trip-theme="neon"] .timeline-photo-card,
body[data-trip-theme="neon"] .timeline-empty-moment { background:#0d0216; color:#45ffef; border:2px solid #8a5cff; border-radius:0; box-shadow:5px 5px 0 #ff36c9; }
body[data-trip-theme="neon"] .week-heading { color:#e8ff3f; text-shadow:4px 4px 0 #ff36c9,8px 8px 0 #45ffef; }
body[data-trip-theme="neon"] .timeline-panel { background:#050009; color:#45ffef; border-color:#45ffef; box-shadow:8px 8px 0 #ff36c9; }
body[data-trip-theme="neon"] .journey-day { color:#45ffef; border-color:#8a5cff; }
body[data-trip-theme="neon"] .journey-track::before { background:linear-gradient(#45ffef,#ff36c9,#e8ff3f); }
body[data-trip-theme="neon"] .journey-dot { background:#050009; color:#e8ff3f; border:2px solid #45ffef; border-radius:0; box-shadow:5px 5px 0 #ff36c9; }
body[data-trip-theme="neon"] .bottom-dock { background:rgba(4,0,8,.96); border:2px solid #45ffef; border-radius:0; box-shadow:8px 8px 0 #ff36c9; }
body[data-trip-theme="neon"] .bottom-dock .dock-arc-label text { fill:#e8ff3f; }
body[data-trip-theme="neon"] .bottom-dock .dock-planner .dock-icon { background:#45ffef; color:#050009; border-radius:0; }
body[data-trip-theme="neon"] .bottom-dock .dock-timeline .dock-icon { background:#ff36c9; color:#050009; border-radius:0; }
body[data-trip-theme="neon"] .config-card { background:#07010d; color:#45ffef; border:3px solid #45ffef; border-radius:0; box-shadow:10px 10px 0 #ff36c9; }
body[data-trip-theme="neon"] .config-card h2,
body[data-trip-theme="neon"] .config-card label,
body[data-trip-theme="neon"] .member-identity { color:#e8ff3f; }
body[data-trip-theme="neon"] .config-primary,
body[data-trip-theme="neon"] #newTripBtn { background:#45ffef; color:#050009; border-radius:0; box-shadow:5px 5px 0 #ff36c9; }

/* Taste-kaarten wisselen mee met de gekozen reisstijl. */
body[data-trip-theme="classy"] .tracker-entry-list > .tracker-entry:nth-child(odd) { background:linear-gradient(135deg,#fffaf1,#e8ddcd); color:#392933; border:1px solid #bea77f; box-shadow:inset 7px 0 0 #8a5968,0 9px 20px rgba(61,40,47,.12); }
body[data-trip-theme="classy"] .tracker-entry-list > .tracker-entry:nth-child(even) { background:linear-gradient(135deg,#f4e8e4,#dbc7c2); color:#392933; border:1px solid #b78f96; box-shadow:inset 7px 0 0 #b59a6d,0 9px 20px rgba(61,40,47,.12); }
body[data-trip-theme="classy"] .tracker-entry h3,
body[data-trip-theme="classy"] .tracker-entry-type,
body[data-trip-theme="classy"] .tracker-day-label,
body[data-trip-theme="classy"] .tracker-day-label span,
body[data-trip-theme="classy"] .tracker-compact-note,
body[data-trip-theme="classy"] .tracker-expand-label,
body[data-trip-theme="classy"] .tracker-place,
body[data-trip-theme="classy"] .tracker-notes { color:#392933; text-shadow:none; }
body[data-trip-theme="classy"] .tracker-rating-number { color:#8d4655; text-shadow:none; }
body[data-trip-theme="classy"] .tracker-rating-number small,
body[data-trip-theme="classy"] .tracker-rating-number i { color:#392933; }
body[data-trip-theme="classy"] .tracker-scores span { background:rgba(255,255,255,.48); border-color:rgba(57,41,51,.24); }

body[data-trip-theme="neon"] .tracker-entry-list > .tracker-entry:nth-child(odd) { background:#071a1c; color:#eaffff; border:3px solid #45ffef; border-radius:0; box-shadow:8px 8px 0 #ff36c9; }
body[data-trip-theme="neon"] .tracker-entry-list > .tracker-entry:nth-child(even) { background:#1c0729; color:#fff3ff; border:3px solid #ff36c9; border-radius:0; box-shadow:8px 8px 0 #45ffef; }
body[data-trip-theme="neon"] .tracker-entry h3,
body[data-trip-theme="neon"] .tracker-day-label span,
body[data-trip-theme="neon"] .tracker-rating-number { color:#e8ff3f; text-shadow:2px 2px 0 #ff36c9; }
body[data-trip-theme="neon"] .tracker-compact-photo { border-color:#e8ff3f; border-radius:0; }

/* Laptop/fullscreen: alle plannerblokken volgen de goede 980px-breedte van Algemene notities. */
@media (min-width:821px) {
  .planner-shell { width:min(980px,calc(100vw - 24px)); }
  .planner-content-grid { display:block; }
  .planner-header,
  .trip-meta-panel,
  .day-plan-panel,
  .timeline-panel,
  .tracker-panel,
  #panelPlanner,
  #panelTimeline,
  #panelTracker { width:100%; max-width:980px; margin-inline:auto; }
  .day-item-grid,
  .trip-meta-grid { grid-template-columns:1fr; }
  .day-item,
  .activity-editor,
  .day-photos { width:100%; max-width:none; }
  .trip-config-form { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .admin-login-card { padding:24px 18px; }
  .public-trip-share-row { grid-template-columns:1fr; }
  #copyPublicTripLinkBtn { width:100%; }
  .bottom-dock .dock-config { width:50px; min-width:50px; }
  .config-card { padding:24px 16px 18px; border-radius:19px; }
  .theme-picker { grid-template-columns:1fr; }
  .theme-option,.theme-option span { min-height:72px; }
  .trip-switcher { grid-template-columns:1fr; }
  .profile-form { grid-template-columns:1fr; }
  .admin-users-head,.admin-user-card { grid-template-columns:1fr; align-items:stretch; }
  .admin-users-head { display:grid; }
  .admin-user-actions { justify-content:stretch; }
  .admin-user-actions button { flex:1 1 42%; }
}
@media (max-width:360px) {
  .bottom-dock { gap:1px; padding-inline:5px; }
  .bottom-dock .planner-nav-link { width:45px; min-width:45px; }
  .bottom-dock .save-plan-btn,
  .bottom-dock .dock-config,
  .bottom-dock .admin-access-btn { width:43px; min-width:43px; }
  .bottom-dock .planner-nav-link .dock-icon { width:44px; height:44px; }
  .bottom-dock .dock-save .dock-icon,
  .bottom-dock .dock-config .dock-icon,
  .bottom-dock .dock-auth .dock-icon { width:38px; height:38px; }
  .bottom-dock .dock-label.dock-arc-label,
  .bottom-dock .dock-config .dock-arc-label { width:56px; }
  .bottom-dock .dock-arc-label text { font-size:10px; }
  .bottom-dock .save-row { padding-left:4px; }
}
@media (prefers-reduced-motion:reduce) {
  body[data-trip-theme="neon"] *,body[data-trip-theme="classy"] * { animation:none!important; transition:none!important; }
}

/* Op een horizontale telefoon verhuist het dock snel naar de rechterzijde. */
@keyframes dock-landscape-in {
  from { opacity:.35; transform:translate(18px,-50%) scale(.94) rotate(2deg); }
  to { opacity:1; transform:translate(0,-50%) scale(1) rotate(0); }
}
@keyframes dock-portrait-in {
  from { opacity:.35; transform:translate(-50%,14px) scale(.96); }
  to { opacity:1; transform:translate(-50%,0) scale(1); }
}
@media (orientation:landscape) and (max-height:600px) {
  .planner-app { padding-right:78px; padding-bottom:18px; }
  .bottom-dock {
    left:auto;
    right:max(6px,env(safe-area-inset-right));
    top:50%;
    bottom:auto;
    flex-direction:column;
    width:66px;
    max-width:66px;
    max-height:calc(100vh - 12px);
    gap:1px;
    padding:5px;
    transform:translateY(-50%);
    border-radius:27px;
    animation:dock-landscape-in .2s cubic-bezier(.2,.85,.3,1);
  }
  .bottom-dock .planner-nav { flex-direction:column; gap:1px; }
  .bottom-dock .planner-nav-link,
  .bottom-dock .save-plan-btn,
  .bottom-dock .dock-config,
  .bottom-dock .admin-access-btn { width:54px; min-width:54px; height:46px; min-height:46px; }
  .bottom-dock .planner-nav-link .dock-icon { width:40px; height:40px; margin-top:5px; }
  .bottom-dock .dock-save .dock-icon,
  .bottom-dock .dock-config .dock-icon,
  .bottom-dock .dock-auth .dock-icon { width:36px; height:36px; margin-top:7px; }
  .bottom-dock .dock-label.dock-arc-label,
  .bottom-dock .dock-config .dock-arc-label,
  .bottom-dock .dock-auth .dock-label { top:-8px; width:54px; height:38px; }
  .bottom-dock .dock-arc-label text { font-size:9px; }
  .bottom-dock .save-row { width:54px; height:auto; padding:3px 0 0; border-left:0; border-top:1px solid rgba(255,255,255,.18); }
  .bottom-dock > .dock-auth { align-self:center; flex:0 0 46px; width:54px; min-width:54px; height:46px; min-height:46px; margin:0; }
  .route-map-canvas { height:calc(100vh - 42px); min-height:240px; }
}
@media (orientation:portrait) and (max-width:820px) {
  .bottom-dock { animation:dock-portrait-in .2s cubic-bezier(.2,.85,.3,1); }
}
@media (prefers-reduced-motion:reduce) {
  .bottom-dock { animation:none!important; }
}

/* Eindwaarden voor de vergrote navigatie; account/config staan nu in de header. */
@media (min-width:821px) {
  .bottom-dock .planner-nav-link { width:72px; min-width:72px; height:76px; }
  .bottom-dock .planner-nav-link .dock-icon { width:60px; height:60px; margin-top:13px; }
}
@media (max-width:820px) {
  .bottom-dock .planner-nav-link { width:62px; min-width:62px; height:68px; }
  .bottom-dock .planner-nav-link .dock-icon { width:54px; height:54px; margin-top:12px; }
}
@media (orientation:landscape) and (max-height:600px) {
  .planner-app { padding-right:84px; }
  .bottom-dock { width:72px; max-width:72px; padding:6px; }
  .bottom-dock .planner-nav-link { width:58px; min-width:58px; height:51px; min-height:51px; }
  .bottom-dock .planner-nav-link .dock-icon { width:44px; height:44px; margin-top:6px; }
}
