/* ============================================================================
   TRIPLOOM · TURQUOISE MINT SOFT UI DESIGN SYSTEM · V15.1.54
   Scope: user/public visual normalization. No grid/flex/data/logic behavior changes. Admin is not loaded with this stylesheet.
   Palette roles:
   - Turquoise = primary action / navigation
   - Sky       = information / secondary travel mood
   - Orange    = energetic secondary action / journey highlight
   - Yellow    = warning / attention / pending
   - Green     = success / verified / completed
   - Red       = danger / invalid / destructive
   ============================================================================ */
:root{
  --tm-neu-bg:#F4FCFB;
  --tm-neu-surface:#FFFFFF;
  --tm-neu-surface-2:#ECF2F4;
  --tm-neu-surface-3:#DDF7F4;
  --tm-neu-text:#193446;
  --tm-neu-text-2:#4A6474;
  --tm-neu-muted:#7A8994;
  --tm-neu-line:#C5DCE0;
  --tm-neu-line-strong:#AFC9CE;

  --tm-neu-blue:#43C8BE;
  --tm-neu-blue-deep:#249D98;
  --tm-neu-blue-soft:#DDF7F4;
  --tm-neu-sky:#2E88D8;
  --tm-neu-sky-deep:#256FAF;
  --tm-neu-sky-soft:#E9F4FC;
  --tm-neu-orange:#FF9B5E;
  --tm-neu-orange-deep:#E66B1E;
  --tm-neu-orange-soft:#FFF3EA;
  --tm-neu-yellow:#FFD15C;
  --tm-neu-yellow-deep:#C89112;
  --tm-neu-yellow-soft:#FFF8E2;
  --tm-neu-green:#73C98A;
  --tm-neu-green-deep:#2EA455;
  --tm-neu-green-soft:#EDF9F0;
  --tm-neu-red:#E25563;
  --tm-neu-red-deep:#C93C4C;
  --tm-neu-red-soft:#FFF0F2;
  --tm-neu-violet:#8EDFF0;
  --tm-neu-violet-soft:#EAF9FC;
  --tm-neu-turquoise:#3FBDB5;
  --tm-neu-turquoise-soft:#DDF7F4;
  --tm-neu-coral:#FF9B5E;
  --tm-neu-coral-soft:#FFF3EA;

  --tm-neu-radius-xs:10px;
  --tm-neu-radius-sm:14px;
  --tm-neu-radius-md:18px;
  --tm-neu-radius-lg:24px;
  --tm-neu-radius-xl:30px;

  --tm-neu-shadow-raised:0 10px 26px rgba(34,52,61,.055);
  --tm-neu-shadow-raised-sm:0 3px 10px rgba(53,79,96,.12);
  --tm-neu-shadow-raised-xs:0 2px 7px rgba(48,76,94,.08);
  --tm-neu-shadow-hover:0 15px 34px rgba(34,52,61,.075);
  --tm-neu-shadow-inset:inset 0 1px 3px rgba(31,59,77,.10);
  --tm-neu-shadow-inset-sm:inset 0 1px 2px rgba(31,59,77,.09);
  --tm-neu-shadow-blue:0 10px 22px rgba(67,200,190,.20),inset 0 1px 0 rgba(255,255,255,.90);
  --tm-neu-shadow-orange:0 6px 16px rgba(255,155,94,.18);
  --tm-neu-focus:0 0 0 4px rgba(67,200,190,.12),var(--tm-neu-shadow-inset-sm);
  --tm-neu-motion:160ms cubic-bezier(.2,.75,.2,1);

  /* Compatibility aliases used by existing pages. */
  --tm-bg:var(--tm-neu-bg);
  --tm-surface:var(--tm-neu-surface);
  --tm-surface-soft:var(--tm-neu-surface-2);
  --tm-text:var(--tm-neu-text);
  --tm-muted:var(--tm-neu-muted);
  --tm-line:var(--tm-neu-line);
  --tm-primary:var(--tm-neu-blue);
  --tm-primary-hover:var(--tm-neu-blue-deep);
  --tm-info:var(--tm-neu-sky);
  --tm-success:var(--tm-neu-green);
  --tm-warning:var(--tm-neu-yellow);
  --tm-danger:var(--tm-neu-red);
}

html{background:var(--tm-neu-bg);}
body:not(.print-page-v4),
.triploom-public-page,
.admin-console-body,
.admin-login-body,
.admin-denied{
  background:var(--tm-neu-bg);
  color:var(--tm-neu-text);
  font-family:"Nunito",system-ui,-apple-system,"Segoe UI",sans-serif;
}
body:not(.print-page-v4):not([data-page="login"]) :where(h1,h2,h3,h4,h5,h6){color:var(--tm-neu-text);}
body:not(.print-page-v4):not([data-page="login"]) :where(.muted,small,.helper,.hint,.subtext){color:var(--tm-neu-muted);}

/* Core shells: keep layout intact, only harmonize surfaces. */
body:not(.print-page-v4):not([data-page="login"]) :where(.app-shell,.main,.content,.page,.page-shell,.dashboard-shell,.trip-shell),
.admin-console-body :where(.admin-main,.admin-content){background-color:transparent;}

/* Raised surfaces */
body:not(.print-page-v4):not([data-page="login"]) :where(
  .panel,.mini-panel,.ui-card,.card,.sticky-card,.form-section,.notice,
  .journey-v15-card,.journey-v15-tab-panel,.story-card-v14,.story-v16-card,
  .privacy-card-v142730,.passport-wow-card-v142745,.passport-spotlight-card-v142745,
  .passport-collection-card-v142745,.collection-tier-panel-v142759,
  .preview-wow-hero-v142749,.journey-rank-card-v142738,
  .trip-route-card-v15108,.trip-route-card-small-v15108,.trip-route-card-large-v15108,
  .tm-preview-card-head-v142769,.checkgear-v161-pane,.booking-card,.place-card,
  .journal-card,.collection-card,.backup-card,.checkin-place-card,
  .upload-box,.trip-uploader-v204,.trip-uploader-v205,.trip-media-uploader-v15115
),
.admin-console-body :where(.admin-card,.admin-chart-card,.admin-member-stat,.admin-member-stat-v142713,.admin-note,.admin-empty,.admin-table-wrap,.admin-health-card),
.admin-login-body :where(.admin-login-card),
.triploom-public-page :where(.triploom-legal-card,.triploom-legal-nav,.triploom-about-card,.triploom-public-card){
  background:var(--tm-neu-surface);
  border-color:var(--tm-neu-line);
  box-shadow:var(--tm-neu-shadow-raised);
}

body:not(.print-page-v4):not([data-page="login"]) :where(.panel,.mini-panel,.ui-card,.journey-v15-card,.story-card-v14,.story-v16-card,.place-card,.booking-card),
.admin-console-body :where(.admin-card,.admin-chart-card){
  transition:box-shadow var(--tm-neu-motion),transform var(--tm-neu-motion),border-color var(--tm-neu-motion),background var(--tm-neu-motion);
}
body:not(.print-page-v4):not([data-page="login"]) :where(a.panel,a.ui-card,a.journey-v15-card,a.story-card-v14,a.story-v16-card,a.place-card,a.booking-card):hover,
.admin-console-body :where(a.admin-card):hover{
  box-shadow:var(--tm-neu-shadow-hover);
  transform:translateY(-1px);
}

/* Section headers / inner wells */
body:not(.print-page-v4):not([data-page="login"]) :where(
  .section-head,.form-section-title,.trip-route-section-head-v15108,
  .story-v16-comment-section-head,.checkgear-v161-pane-head,
  .journey-v15-smartbar-v1510,.trip-route-section-v15108,
  .tm99-stop-section,.tm74-stop-group,.tm94-stop-group-plain,.tm15154-route-block
),
.admin-console-body :where(.admin-card-head,.admin-page-head,.admin-dashboard-cluster-head-v142714){
  border-color:var(--tm-neu-line);
}

/* Search / select wrappers should look inset as one control, not stacked boxes. */
body:not(.print-page-v4):not([data-page="login"]) :where(.triploom-select-menu-v1565,.auth-v227-gender-menu){
  background:var(--tm-neu-surface-2)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-raised)!important;
}

/* Shared buttons */
body:not(.print-page-v4):not([data-page="login"]) :where(.btn,.ui-button,button:not(.modal-close):not(.icon-btn):not(.gallery-icon-btn-v27):not(.task-v27-icon-btn)),
.admin-login-body :where(button,.admin-primary-btn,.admin-secondary-btn),
.admin-console-body :where(button,.admin-primary-btn,.admin-secondary-btn,.admin-danger-btn),
.triploom-public-page :where(button,.triploom-public-account){
  border-color:transparent;
  transition:transform var(--tm-neu-motion),box-shadow var(--tm-neu-motion),background var(--tm-neu-motion),color var(--tm-neu-motion),filter var(--tm-neu-motion);
}
body:not(.print-page-v4):not([data-page="login"]) :where(.btn,.ui-button,.btn-soft,.btn-white),
.admin-console-body :where(.admin-secondary-btn),
.triploom-public-page :where(.triploom-public-account){
  background:var(--tm-neu-surface)!important;
  color:var(--tm-neu-blue-deep)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-raised-sm)!important;
}
body:not(.print-page-v4):not([data-page="login"]) :where(.btn,.ui-button,.btn-soft,.btn-white):hover,
.admin-console-body :where(.admin-secondary-btn):hover,
.triploom-public-page :where(.triploom-public-account):hover{
  transform:translateY(-1px);
  box-shadow:var(--tm-neu-shadow-hover)!important;
}
body:not(.print-page-v4):not([data-page="login"]) :where(.btn,.ui-button,.btn-soft,.btn-white):active,
.admin-console-body :where(.admin-secondary-btn):active{
  transform:translateY(0);
  box-shadow:var(--tm-neu-shadow-inset-sm)!important;
}

/* Primary = blue, with dimensional colored surface. */
body:not(.print-page-v4):not([data-page="login"]) :where(.btn-primary,.primary,.ui-button-primary,.auth-v227-primary),
.admin-login-body :where(.admin-primary-btn),
.admin-console-body :where(.admin-primary-btn){
  background:linear-gradient(145deg,var(--tm-neu-blue),var(--tm-neu-blue-deep))!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.38)!important;
  box-shadow:var(--tm-neu-shadow-blue)!important;
}
body:not(.print-page-v4):not([data-page="login"]) :where(.btn-primary,.primary,.ui-button-primary,.auth-v227-primary):hover,
.admin-login-body .admin-primary-btn:hover,
.admin-console-body .admin-primary-btn:hover{
  filter:saturate(1.05) brightness(1.02);
  transform:translateY(-1px);
}
body:not(.print-page-v4):not([data-page="login"]) :where(.btn-primary,.primary,.ui-button-primary,.auth-v227-primary):active,
.admin-login-body .admin-primary-btn:active,
.admin-console-body .admin-primary-btn:active{
  transform:translateY(0);
  box-shadow:inset 3px 3px 8px rgba(16,70,150,.28),inset -2px -2px 7px rgba(255,255,255,.18)!important;
}

/* Orange is reserved for energetic journey / secondary emphasis. */
body:not(.print-page-v4):not([data-page="login"]) :where(.btn-orange,.action-orange,.journey-accent-action){
  background:linear-gradient(145deg,#ffa36f,var(--tm-neu-orange))!important;
  color:var(--tm-neu-text)!important;
  box-shadow:var(--tm-neu-shadow-orange)!important;
}

/* Danger / delete */
body:not(.print-page-v4):not([data-page="login"]) :where(.btn-danger,.danger,.delete,.mini-delete),
.admin-console-body :where(.admin-danger-btn){
  color:var(--tm-neu-red-deep)!important;
}
body:not(.print-page-v4):not([data-page="login"]) :where(.btn-danger),
.admin-console-body :where(.admin-danger-btn){
  background:linear-gradient(145deg,#cf3f51,var(--tm-neu-red-deep))!important;
  color:#fff!important;
  box-shadow:5px 5px 12px rgba(184,52,68,.20),-4px -4px 10px rgba(255,255,255,.60)!important;
}

/* Icon buttons / circular actions */
body:not(.print-page-v4):not([data-page="login"]) :where(
  .icon-btn,.circle-link,.ui-circle-btn,.gallery-icon-btn-v27,.task-v27-icon-btn,
  .journal-action-v32,.trip-info-manage-action-v33,.modal-close,.trip-route-close-v15108,
  .auth-v227-eye
),
.admin-console-body :where(.admin-icon-btn){
  background:var(--tm-neu-surface)!important;
  color:var(--tm-neu-blue-deep)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
body:not(.print-page-v4):not([data-page="login"]) :where(.icon-btn,.circle-link,.ui-circle-btn,.gallery-icon-btn-v27,.task-v27-icon-btn,.modal-close,.trip-route-close-v15108):hover{
  color:var(--tm-neu-blue)!important;
  box-shadow:var(--tm-neu-shadow-raised-sm)!important;
  transform:translateY(-1px);
}
body:not(.print-page-v4):not([data-page="login"]) :where(.icon-btn,.circle-link,.ui-circle-btn,.gallery-icon-btn-v27,.task-v27-icon-btn,.modal-close,.trip-route-close-v15108):active{
  transform:none;
  box-shadow:var(--tm-neu-shadow-inset-sm)!important;
}

/* Tabs / segmented controls / menus */
body:not(.print-page-v4):not([data-page="login"]) :where(.tabs,.subtabs,.trip-tabs,.journey-v15-subtabs,.story-tabs,.segmented,.tab-list),
.triploom-public-page :where(.triploom-public-topbar nav),
.admin-console-body :where(.admin-tabs,.admin-filter){
  background:var(--tm-neu-surface)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-inset-sm)!important;
}
body:not(.print-page-v4):not([data-page="login"]) :where(.tabs,.subtabs,.trip-tabs,.journey-v15-subtabs,.story-tabs,.segmented,.tab-list) :where(a,button),
.triploom-public-page .triploom-public-topbar nav a,
.admin-console-body :where(.admin-tabs,.admin-filter) :where(a,button){
  color:var(--tm-neu-text-2)!important;
  box-shadow:none;
}
body:not(.print-page-v4):not([data-page="login"]) :where(.tabs,.subtabs,.trip-tabs,.journey-v15-subtabs,.story-tabs,.segmented,.tab-list) :where(a,button).active,
.triploom-public-page .triploom-public-topbar nav a.active,
.admin-console-body :where(.admin-tabs,.admin-filter) :where(a,button).active{
  background:linear-gradient(145deg,var(--tm-neu-blue),var(--tm-neu-blue-deep))!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.32)!important;
  box-shadow:3px 3px 8px rgba(41,91,155,.20),-3px -3px 8px rgba(255,255,255,.60)!important;
}

/* Chips / badges: functional colors, no random palette. */
body:not(.print-page-v4):not([data-page="login"]) :where(.badge,.chip,.badge-soft,.story-v16-context-chip,.tm-preview-mini-badge-v142770),
.admin-console-body :where(.admin-badge){
  background:var(--tm-neu-surface-2);
  color:var(--tm-neu-text-2);
  border-color:var(--tm-neu-line);
  box-shadow:var(--tm-neu-shadow-raised-xs);
}
body:not(.print-page-v4):not([data-page="login"]) :where(.success,.good,.verified,.is-ready,.tone-good),
.admin-console-body :where(.good,.ok){
  --tm-state:var(--tm-neu-green);
  --tm-state-soft:var(--tm-neu-green-soft);
}
body:not(.print-page-v4):not([data-page="login"]) :where(.warning,.warn,.pending),
.admin-console-body :where(.warn){
  --tm-state:var(--tm-neu-yellow-deep);
  --tm-state-soft:var(--tm-neu-yellow-soft);
}
body:not(.print-page-v4):not([data-page="login"]) :where(.danger,.bad,.error,.rejected,.invalid),
.admin-console-body :where(.danger,.bad){
  --tm-state:var(--tm-neu-red);
  --tm-state-soft:var(--tm-neu-red-soft);
}
body:not(.print-page-v4):not([data-page="login"]) :where(.info,.sky){--tm-state:var(--tm-neu-sky-deep);--tm-state-soft:var(--tm-neu-sky-soft);}
body:not(.print-page-v4):not([data-page="login"]) :where(.peach,.orange){--tm-state:var(--tm-neu-orange-deep);--tm-state-soft:var(--tm-neu-orange-soft);}
body:not(.print-page-v4):not([data-page="login"]) :where(.yellow,.sand){--tm-state:var(--tm-neu-yellow-deep);--tm-state-soft:var(--tm-neu-yellow-soft);}
body:not(.print-page-v4):not([data-page="login"]) :where(.mint){--tm-state:var(--tm-neu-green-deep);--tm-state-soft:var(--tm-neu-green-soft);}
body:not(.print-page-v4):not([data-page="login"]) :where(.violet){--tm-state:var(--tm-neu-violet);--tm-state-soft:var(--tm-neu-violet-soft);}
body:not(.print-page-v4):not([data-page="login"]) :where(.badge,.chip,.notice,.story-v16-context-chip)[class*="success"],
body:not(.print-page-v4):not([data-page="login"]) :where(.badge,.chip,.notice,.story-v16-context-chip)[class*="good"],
body:not(.print-page-v4):not([data-page="login"]) :where(.badge,.chip,.notice,.story-v16-context-chip)[class*="verified"],
body:not(.print-page-v4):not([data-page="login"]) :where(.badge,.chip,.notice,.story-v16-context-chip)[class*="warning"],
body:not(.print-page-v4):not([data-page="login"]) :where(.badge,.chip,.notice,.story-v16-context-chip)[class*="danger"],
body:not(.print-page-v4):not([data-page="login"]) :where(.badge,.chip,.notice,.story-v16-context-chip)[class*="error"]{
  background:var(--tm-state-soft,var(--tm-neu-surface-2))!important;
  color:var(--tm-state,var(--tm-neu-text-2))!important;
}

/* Notices / alerts with good contrast. */
body:not(.print-page-v4):not([data-page="login"]) :where(.notice,.alert,.flash,.auth-alert),
.admin-console-body :where(.admin-flash){
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-raised-sm)!important;
}
body:not(.print-page-v4):not([data-page="login"]) :where(.notice.success,.alert.success,.flash.success){background:var(--tm-neu-green-soft)!important;color:var(--tm-neu-green-deep)!important;}
body:not(.print-page-v4):not([data-page="login"]) :where(.notice.warning,.alert.warning,.flash.warning){background:var(--tm-neu-yellow-soft)!important;color:#7d5d00!important;}
body:not(.print-page-v4):not([data-page="login"]) :where(.notice.danger,.notice.error,.alert.danger,.alert.error,.flash.error){background:var(--tm-neu-red-soft)!important;color:var(--tm-neu-red-deep)!important;}

/* Modal / popup: floating raised sheet over soft tinted backdrop. */
body:not(.print-page-v4):not([data-page="login"]) :where(.modal,.story-v16-modal,.expense-modal-v28,.booking-modal-v141,[class*="modal-v"]){
  --tm-modal-surface:var(--tm-neu-surface);
}
body:not(.print-page-v4):not([data-page="login"]) :where(.modal-card,.story-v16-modal-card,.expense-modal-card-v28,.booking-modal-card-v141,.trip-route-modal-v15108),
body:not(.print-page-v4) [class*="modal-card"]{
  background:var(--tm-neu-surface)!important;
  border-color:rgba(255,255,255,.58)!important;
  box-shadow:18px 18px 42px rgba(91,111,130,.34),-12px -12px 30px rgba(255,255,255,.92)!important;
}
body:not(.print-page-v4):not([data-page="login"]) :where(.modal)::before,
body:not(.print-page-v4):not([data-page="login"]) :where(.story-v16-modal)::before{
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}

/* Uploaders / drop zones = inset wells before file, raised preview after file. */
body:not(.print-page-v4):not([data-page="login"]) :where(.upload-box,.trip-media-empty-v15115,[class*="upload-drop"],[class*="dropzone"]){
  background:var(--tm-neu-surface)!important;
  border-color:rgba(38,120,243,.20)!important;
  box-shadow:var(--tm-neu-shadow-inset)!important;
}
body:not(.print-page-v4):not([data-page="login"]) :where(.trip-media-cloud-v15115,.trip-media-choose-v15115){color:var(--tm-neu-blue)!important;}
body:not(.print-page-v4):not([data-page="login"]) :where(.trip-media-selected-v15115,[class*="upload-preview"]){
  background:var(--tm-neu-surface-2)!important;
  box-shadow:var(--tm-neu-shadow-raised-sm)!important;
}

/* Tables: quiet surface, inset header separator. */
body:not(.print-page-v4):not([data-page="login"]) :where(.table-wrap,.data-table-wrap),
.admin-console-body :where(.admin-table-wrap){
  background:var(--tm-neu-surface)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-raised)!important;
}
body:not(.print-page-v4):not([data-page="login"]) :where(table) thead,
.admin-console-body .admin-table thead{background:var(--tm-neu-surface-3)!important;}
body:not(.print-page-v4):not([data-page="login"]) :where(table) :where(th,td),
.admin-console-body .admin-table :where(th,td){border-color:var(--tm-neu-line)!important;}
body:not(.print-page-v4):not([data-page="login"]) :where(table) tbody tr:hover,
.admin-console-body .admin-table tbody tr:hover{background:rgba(73,184,255,.055)!important;}

/* Progress / meters */
body:not(.print-page-v4):not([data-page="login"]) :where(progress,.progress,.progress-track,[class*="progress-track"]){
  background:var(--tm-neu-surface-3);
  box-shadow:var(--tm-neu-shadow-inset-sm);
}
body:not(.print-page-v4):not([data-page="login"]) :where(.progress-fill,[class*="progress-fill"]){
  background:linear-gradient(90deg,var(--tm-neu-sky),var(--tm-neu-blue));
  box-shadow:0 2px 8px rgba(38,120,243,.22);
}

/* Global header / nav */
body:not(.print-page-v4):not([data-page="login"]) :where(.topbar,.triploom-global-header-v1503,.mobile-bottom-nav,.bottom-nav){
  background:rgba(237,243,248,.94)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:0 9px 24px rgba(137,154,171,.20),inset 0 1px 0 rgba(255,255,255,.75)!important;
  backdrop-filter:blur(18px) saturate(120%);
  -webkit-backdrop-filter:blur(18px) saturate(120%);
}
body:not(.print-page-v4):not([data-page="login"]) :where(.triploom-gh-quick-link-v1503,.triploom-gh-account-link-v1503){
  border-color:transparent!important;
  background:var(--tm-neu-surface)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}

/* Authentication: preserve artwork/layout, convert card and controls. */
body[data-page="login"],body[data-page="register"],body[data-page="forgot"],body[data-page="reset"]{
  background:#eaf2f8!important;
}
body[data-page]:not([data-page="login"]) .auth-v227-card{
  background:rgba(237,243,248,.97)!important;
  border-color:rgba(255,255,255,.68)!important;
  box-shadow:16px 16px 38px rgba(123,143,161,.30),-12px -12px 30px rgba(255,255,255,.93)!important;
}
body[data-page]:not([data-page="login"]) .auth-v227-field,
body[data-page]:not([data-page="login"]) .auth-v227-control{
  background:var(--tm-neu-surface)!important;
  border-color:transparent!important;
  box-shadow:var(--tm-neu-shadow-inset)!important;
}
body[data-page]:not([data-page="login"]) .auth-v227-card input:not([type="checkbox"]):not([type="radio"]),
body[data-page]:not([data-page="login"]) .auth-v227-card select{
  background:transparent!important;
  box-shadow:none!important;
}
body[data-page]:not([data-page="login"]) .auth-v227-social-btn,
body[data-page]:not([data-page="login"]) .auth-v227-create{
  background:var(--tm-neu-surface)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-raised-sm)!important;
}
body[data-page]:not([data-page="login"]) .auth-v227-social-btn:hover,
body[data-page]:not([data-page="login"]) .auth-v227-create:hover{box-shadow:var(--tm-neu-shadow-hover)!important;}
body[data-page]:not([data-page="login"]) .auth-v227-social-mark{background:var(--tm-neu-surface-2)!important;border-color:transparent!important;box-shadow:var(--tm-neu-shadow-inset-sm)!important;}
body[data-page]:not([data-page="login"]) .auth-v227-noverify{background:var(--tm-neu-green-soft)!important;border-color:rgba(38,182,122,.18)!important;box-shadow:var(--tm-neu-shadow-inset-sm)!important;}
body[data-page]:not([data-page="login"]) .auth-v227-remember input{background:var(--tm-neu-surface)!important;border-color:transparent!important;box-shadow:var(--tm-neu-shadow-inset-sm)!important;}
body[data-page]:not([data-page="login"]) .auth-v227-remember input:checked{background:linear-gradient(145deg,var(--tm-neu-blue),var(--tm-neu-blue-deep))!important;box-shadow:var(--tm-neu-shadow-blue)!important;}

/* Trip workspace: strong active tab, quiet itinerary cards. */
body[data-page="trip"] .trip-tabs-top-shell .trip-tabs{
  background:var(--tm-neu-surface)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-inset-sm)!important;
}
body[data-page="trip"] .trip-tabs-top-shell .trip-tabs>a{
  color:var(--tm-neu-text-2)!important;
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
body[data-page="trip"] .trip-tabs-top-shell .trip-tabs>a:hover{
  background:var(--tm-neu-surface-2)!important;
  color:var(--tm-neu-blue-deep)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
body[data-page="trip"] .trip-tabs-top-shell .trip-tabs>a.active{
  background:linear-gradient(145deg,var(--tm-neu-blue),var(--tm-neu-blue-deep))!important;
  color:#fff!important;
  box-shadow:var(--tm-neu-shadow-blue)!important;
}
body[data-page="trip"] :where(.premium-stop-card,.premium-travel-leg,.premium-day-summary .sticky-card,[class*="itinerary-card"]){
  border-color:var(--tm-neu-line)!important;
}
body[data-page="trip"] :where(.premium-stop-card,.premium-day-summary .sticky-card){
  background:var(--tm-neu-surface)!important;
  box-shadow:var(--tm-neu-shadow-raised-sm)!important;
}
body[data-page="trip"] :where(.trip-route-footer-v15108,.trip-route-header-v15108){border-color:var(--tm-neu-line)!important;}
body[data-page="trip"] :where(.trip-route-heading-v15108,.trip-route-brand-v15108){color:var(--tm-neu-text)!important;}

/* Journey / story cards */
body[data-page="dashboard"] :where(.journey-v15-card,.journey-v15-tab-panel,.journey-v15-smartbar-v1510){
  background:var(--tm-neu-surface)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-raised-sm)!important;
}
body[data-page="stories"] :where(.story-card-v14,.story-v16-card),
body[data-page="story"] :where(.story-card-v14,.story-v16-card,.story-v16-comment),
body[data-page="story_form"] :where(.story-compose-card,.story-form-card){
  background:var(--tm-neu-surface)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-raised-sm)!important;
}
body[data-page="story"] .story-v16-comment{box-shadow:var(--tm-neu-shadow-raised-xs)!important;}

/* Admin visual normalization */
.admin-console-body .admin-sidebar,
.admin-console-body .admin-topbar,
.admin-login-body .admin-login-art{
  background:var(--tm-neu-surface)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-raised-sm)!important;
}
.admin-console-body .admin-sidebar a.active{
  background:linear-gradient(145deg,var(--tm-neu-blue),var(--tm-neu-blue-deep))!important;
  color:#fff!important;
  box-shadow:var(--tm-neu-shadow-blue)!important;
}
.admin-console-body .admin-sidebar a:not(.active):hover{
  background:var(--tm-neu-surface-2)!important;
  color:var(--tm-neu-blue-deep)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
.admin-console-body .admin-eyebrow,
.admin-login-body .admin-eyebrow{color:var(--tm-neu-blue-deep)!important;}
.admin-console-body :where(.admin-health-card.ok,.good){color:var(--tm-neu-green-deep)!important;}
.admin-console-body :where(.admin-health-card.bad,.bad){color:var(--tm-neu-red-deep)!important;}
.admin-console-body .admin-footer{border-color:var(--tm-neu-line)!important;color:var(--tm-neu-muted)!important;}
.admin-login-body .admin-login-card input{background:var(--tm-neu-surface)!important;box-shadow:var(--tm-neu-shadow-inset)!important;border-color:transparent!important;}

/* Public / legal pages */
.triploom-public-page .triploom-public-topbar{
  background:rgba(237,243,248,.95)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:0 9px 24px rgba(137,154,171,.18),inset 0 1px 0 rgba(255,255,255,.82)!important;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.triploom-public-page .triploom-legal-nav a{
  border-color:transparent!important;
  color:var(--tm-neu-text-2)!important;
}
.triploom-public-page .triploom-legal-nav a:hover{
  background:var(--tm-neu-surface-2)!important;
  color:var(--tm-neu-blue-deep)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
.triploom-public-page .triploom-legal-nav a.active{
  background:linear-gradient(145deg,var(--tm-neu-blue),var(--tm-neu-blue-deep))!important;
  color:#fff!important;
  box-shadow:var(--tm-neu-shadow-blue)!important;
}
.triploom-public-page .triploom-legal-footer{background:var(--tm-neu-surface-3)!important;border-color:var(--tm-neu-line)!important;}
.triploom-public-page a{color:var(--tm-neu-blue-deep);}

/* Focus and keyboard accessibility */
body:not(.print-page-v4):not([data-page="login"]) :where(a,button,input,select,textarea,summary):focus-visible,
.admin-console-body :where(a,button,input,select,textarea,summary):focus-visible,
.admin-login-body :where(a,button,input,select,textarea,summary):focus-visible,
.triploom-public-page :where(a,button,input,select,textarea,summary):focus-visible{
  outline:2px solid var(--tm-neu-blue)!important;
  outline-offset:3px!important;
}

/* Disabled state stays visibly inactive. */
body:not(.print-page-v4):not([data-page="login"]) :where(button,input,select,textarea):disabled,
.admin-console-body :where(button,input,select,textarea):disabled{
  opacity:.62;
  filter:saturate(.65);
  cursor:not-allowed;
}

/* Dark Neumorphism: keep existing theme support instead of breaking it. */
html[data-theme="dark"]{
  --tm-neu-bg:#1b2632;
  --tm-neu-surface:#1e2a37;
  --tm-neu-surface-2:#22303e;
  --tm-neu-surface-3:#18232e;
  --tm-neu-text:#eef6ff;
  --tm-neu-text-2:#c0d0df;
  --tm-neu-muted:#8fa3b6;
  --tm-neu-line:rgba(212,229,244,.10);
  --tm-neu-line-strong:rgba(212,229,244,.18);
  --tm-neu-blue-soft:#233e62;
  --tm-neu-sky-soft:#1d3d50;
  --tm-neu-orange-soft:#4b3327;
  --tm-neu-yellow-soft:#443c20;
  --tm-neu-green-soft:#203f34;
  --tm-neu-red-soft:#4a2830;
  --tm-neu-shadow-raised:10px 10px 24px rgba(8,13,19,.48),-8px -8px 20px rgba(62,79,95,.24);
  --tm-neu-shadow-raised-sm:6px 6px 14px rgba(8,13,19,.44),-5px -5px 12px rgba(62,79,95,.22);
  --tm-neu-shadow-raised-xs:3px 3px 8px rgba(8,13,19,.42),-3px -3px 8px rgba(62,79,95,.20);
  --tm-neu-shadow-hover:12px 12px 27px rgba(7,12,18,.54),-9px -9px 22px rgba(66,84,101,.27);
  --tm-neu-shadow-inset:inset 4px 4px 9px rgba(7,12,18,.52),inset -4px -4px 9px rgba(62,79,95,.20);
  --tm-neu-shadow-inset-sm:inset 2px 2px 5px rgba(7,12,18,.50),inset -2px -2px 5px rgba(62,79,95,.18);
}
html[data-theme="dark"] body:not(.print-page-v4),
html[data-theme="dark"] body[data-page="login"],
html[data-theme="dark"] body[data-page="register"],
html[data-theme="dark"] body[data-page="forgot"],
html[data-theme="dark"] body[data-page="reset"]{background:var(--tm-neu-bg)!important;}
html[data-theme="dark"] body[data-page]:not([data-page="login"]) .auth-v227-card{background:rgba(30,42,55,.98)!important;border-color:var(--tm-neu-line)!important;}
html[data-theme="dark"] body:not(.print-page-v4):not([data-page="login"]) :where(.topbar,.triploom-global-header-v1503,.mobile-bottom-nav,.bottom-nav){background:rgba(30,42,55,.94)!important;}
html[data-theme="dark"] body:not(.print-page-v4):not([data-page="login"]) :where(input,textarea,select)::placeholder{color:#7f94a8;}

/* Responsive: reduce shadow spread on small screens, preserve touch clarity. */
@media(max-width:1024px){
  :root{
    --tm-neu-shadow-raised:8px 8px 19px rgba(154,171,187,.31),-8px -8px 19px rgba(255,255,255,.91);
    --tm-neu-shadow-hover:10px 10px 22px rgba(148,165,182,.34),-10px -10px 22px rgba(255,255,255,.95);
  }
  html[data-theme="dark"]{
    --tm-neu-shadow-raised:8px 8px 19px rgba(8,13,19,.46),-7px -7px 17px rgba(62,79,95,.22);
    --tm-neu-shadow-hover:10px 10px 22px rgba(7,12,18,.52),-8px -8px 19px rgba(66,84,101,.25);
  }
}
@media(max-width:640px){
  :root{
    --tm-neu-radius-md:16px;
    --tm-neu-radius-lg:20px;
    --tm-neu-radius-xl:24px;
    --tm-neu-shadow-raised:6px 6px 15px rgba(154,171,187,.29),-6px -6px 15px rgba(255,255,255,.89);
    --tm-neu-shadow-hover:8px 8px 18px rgba(148,165,182,.32),-8px -8px 18px rgba(255,255,255,.93);
  }
  body:not(.print-page-v4):not([data-page="login"]) :where(.btn,.ui-button,button){-webkit-tap-highlight-color:transparent;}
  body:not(.print-page-v4):not([data-page="login"]) :where(.modal-card,.story-v16-modal-card,.expense-modal-card-v28,.booking-modal-card-v141,.trip-route-modal-v15108),
  body:not(.print-page-v4) [class*="modal-card"]{
    box-shadow:10px 10px 25px rgba(91,111,130,.28),-7px -7px 19px rgba(255,255,255,.86)!important;
  }
}

@media(prefers-reduced-motion:reduce){
  body:not(.print-page-v4) *,
  .admin-console-body *,
  .admin-login-body *,
  .triploom-public-page *{
    scroll-behavior:auto!important;
    transition-duration:.001ms!important;
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
  }
}

/* Print must remain clean and ink-friendly. */
@media print{
  *{box-shadow:none!important;text-shadow:none!important;}
}

/* ============================================================================
   V15.1.37 coverage extension — exact application components discovered in PHP
   templates. Visual properties only; no structural selectors/properties.
   ============================================================================ */
body:not(.print-page-v4){background:var(--tm-neu-bg)!important;}

body:not(.print-page-v4):not([data-page="login"]) :where(
  .collection-pro-card-v142726,.collection-wow-card-v142748,.trip-maker-top-card-v142770,
  .trip-maker-traffic-card-v142770,.trip-maker-income-source-card-v142773,
  .preview-passport-wow-card-v142754,.passport-original-card-v142757,.preview-map-route-card-v142766,
  .preview-recap-wow-card-v142749,.tmi-preview-table-card-v142769,.preview-collection-card-wow-v142749,
  .achievement-showcase-card-v1514,.achievement-pursuit-card-v1514,
  .tm-preview-chart-card-v142770,.tm-preview-card-v142769,.journey-feature-card-v142725,
  .story-v16-file25-card,.story-card-lite-v142,.dashwow-side-card,.prose-card,.route-overview-card,
  .stop-add-card,.tm74-stop-card,.story-compose-card-v1523,.story-v16-route-card,.story-v16-place-card,
  .story-v16-legacy-route-card,.story-v16-legacy-place-card,.story-v16-compose-card,.task-v27-card,
  .task-reminder-alert-card,.task-v27-modal-card,.auth-card,.v8-auth-card,.dashwow-trip-card,
  .footprint-trip-card-v38,.dashwow-rank-card,.dashwow-quick-card,.province-card,
  .places-wow-province-card-v15117,.v7-place-map-card,.live-booking-card-v15170,.live-stop-card,
  .trip-card-v2,.trip-card-shell,.departure-map-card,.trip-story-gate-card,.route-overview-budget-card,
  .route-overview-data-card,.smart-day-card,.departure-timeline-card,.stop-card,.premium-stop-card,
  .v7-map-focus-card,.split-compact-card-v45,.booking-card-v139,.booking-attachment-card-v144,
  .v152-vault-modal-card,.v153-vault-file-card,.checkgear-v161-modal-card,.gallery-album-card-v27,
  .v7-photo-card,.gallery-photo-card-v27,.journal-card-v32,.journal-view-card-v06,.tm91-smart-card,
  .tm15153-stop-edit-card,.tm89-day-card,.v6-ready-card,.group-account-card-v36,.level-next-card,
  .level-feature-card,.privacy-preview-card-v142730,.story-compose-choice-card-v1523,
  .story-preview-card-v38,.journey-v15-media-choice-card-v237,.journey-v15-trip-card,
  .journey-v15-place-card,.journey-v15-footprint-map-card,.triploom-gh-account-journey-card-v1506,
  .level-feature-modal-card,.level-feature-modal-card-v142733,.level-badge-modal-card,.levelup-celebration-card,
  .pack-v167-modal-card,.pack-add-card-v1559,.v11-ready-card
){
  background:var(--tm-neu-surface)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-raised-sm)!important;
}

.admin-console-body :where(
  .admin-funnel-card,.admin-retention-card,.admin-cohort-card,.admin-trip-quality-card,.admin-geo-card,
  .admin-top-location-card,.admin-system-health-card,.admin-members-chart-card-v142713,
  .admin-usage-card-v142713,.admin-level-members-card-v142713,.admin-member-detail-card,
  .admin-travel-profile-card,.admin-member-filter-card-v142716,.admin-members-card,
  .admin-members-card-v142716,.admin-activity-chart-card,.admin-rank-card,.admin-checkin-chart-card,
  .admin-level-distribution-card,.admin-level-editor-card
){
  background:var(--tm-neu-surface)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-raised-sm)!important;
}

/* Explicit action-role mapping across trip tabs. */
body:not(.print-page-v4):not([data-page="login"]) :where(
  .task-v27-add-btn,
  .dashwow-btn-main
){
  background:linear-gradient(145deg,var(--tm-neu-blue),var(--tm-neu-blue-deep))!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.34)!important;
  box-shadow:var(--tm-neu-shadow-blue)!important;
}

body:not(.print-page-v4):not([data-page="login"]) :where(
  .story-compose-icon-action-v1542,.story-visited-action
){
  background:linear-gradient(145deg,#ffa36f,var(--tm-neu-orange))!important;
  color:var(--tm-neu-text)!important;
  border-color:rgba(255,255,255,.34)!important;
  box-shadow:var(--tm-neu-shadow-orange)!important;
}

body:not(.print-page-v4):not([data-page="login"]) :where(.status-btn.done,.task-v27-status-btn.done){
  background:linear-gradient(145deg,var(--tm-neu-green-deep),#137a53)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.34)!important;
  box-shadow:5px 5px 12px rgba(23,121,79,.20),-4px -4px 10px rgba(255,255,255,.60)!important;
}
body:not(.print-page-v4) .task-v27-status-btn.doing{
  background:linear-gradient(145deg,#ffd968,var(--tm-neu-yellow))!important;
  color:#6b5100!important;
  border-color:rgba(255,255,255,.42)!important;
  box-shadow:5px 5px 12px rgba(165,126,21,.18),-4px -4px 10px rgba(255,255,255,.60)!important;
}
body:not(.print-page-v4):not([data-page="login"]) :where(
  .task-v27-icon-btn.delete
){
  background:var(--tm-neu-red-soft)!important;
  color:var(--tm-neu-red-deep)!important;
  border-color:rgba(233,75,91,.16)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}

/* Neutral utility actions remain clearly clickable without competing with primary. */
body:not(.print-page-v4):not([data-page="login"]) :where(
  .dashwow-btn-ghost
){
  background:var(--tm-neu-surface)!important;
  color:var(--tm-neu-blue-deep)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
/* Trip-page story action is owned by trip-page-actions-v15408.css. */
/* Compact state buttons that are not yet completed use a quiet inset surface. */
body:not(.print-page-v4) .status-btn:not(.done){
  background:var(--tm-neu-surface)!important;
  color:var(--tm-neu-text-2)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-inset-sm)!important;
}

/* Final print guard must stay last because the coverage extension uses important shadows. */
@media print{
  *{box-shadow:none!important;text-shadow:none!important;filter:none!important;}
  body{background:#fff!important;color:#111!important;}
}

/* ============================================================================
   V15.1.37 · NEUMORPHISM CONSISTENCY PASS
   Fixes high-specificity legacy surfaces that visually remained flat:
   - global header utility icons / avatar trigger
   - Add/Edit stop section cards and fields
   - V16 Chuyện Hành Trình composer and generated image uploader
   Visual-only. No layout, data, action, or JS behavior changes.
   ============================================================================ */

/* Header utility controls — one Soft UI language for launcher/theme/language/bell/account. */
html body:not(.print-page-v4) :is(
  .triploom-gh-all-trigger-v1503,
  .triploom-gh-circle-v1503,
  .triploom-gh-avatar-trigger-v1503,
  .triploom-gh-quick-link-v1503
){
  background:linear-gradient(145deg,var(--tm-neu-surface-2),var(--tm-neu-surface-3))!important;
  border-color:rgba(255,255,255,.72)!important;
  color:var(--tm-neu-text-2)!important;
  box-shadow:var(--tm-neu-shadow-raised-sm)!important;
}
html body:not(.print-page-v4) :is(
  .triploom-gh-all-trigger-v1503,
  .triploom-gh-circle-v1503,
  .triploom-gh-avatar-trigger-v1503,
  .triploom-gh-quick-link-v1503
):hover{
  color:var(--tm-neu-blue-deep)!important;
  border-color:rgba(73,184,255,.20)!important;
  box-shadow:var(--tm-neu-shadow-hover)!important;
}
html body:not(.print-page-v4) :is(
  .triploom-gh-all-trigger-v1503,
  .triploom-gh-circle-v1503,
  .triploom-gh-avatar-trigger-v1503,
  .triploom-gh-quick-link-v1503
):active,
html body:not(.print-page-v4) :is(
  .triploom-gh-all-trigger-v1503,
  .triploom-gh-circle-v1503
)[aria-expanded="true"],
html body:not(.print-page-v4) .triploom-gh-quick-link-v1503.active{
  background:var(--tm-neu-blue-soft)!important;
  color:var(--tm-neu-blue-deep)!important;
  border-color:rgba(31,111,218,.12)!important;
  box-shadow:var(--tm-neu-shadow-inset-sm)!important;
}
html body:not(.print-page-v4) .triploom-gh-avatar-v1503{
  border-color:rgba(255,255,255,.62)!important;
  box-shadow:var(--tm-neu-shadow-inset-sm)!important;
}

/* Add/Edit stop — section card itself must read as a raised Soft UI surface. */
html body[data-page="trip"] :is(#stop-add,#stop-edit-modal) .tm99-stop-section{
  background-color:var(--tm-neu-surface)!important;
  background-image:linear-gradient(145deg,rgba(255,255,255,.26),rgba(219,229,238,.16))!important;
  border-color:rgba(255,255,255,.66)!important;
  box-shadow:var(--tm-neu-shadow-raised-sm)!important;
}
html body[data-page="trip"] :is(#stop-add,#stop-edit-modal) .tm99-stop-section-title{
  border-bottom-color:var(--tm-neu-line)!important;
}
html body[data-page="trip"] :is(#stop-add,#stop-edit-modal) .tm99-stop-section-title>span{
  background:linear-gradient(145deg,var(--tm-neu-sky-soft),var(--tm-neu-surface))!important;
  border-color:rgba(255,255,255,.72)!important;
  color:var(--tm-neu-blue-deep)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
html body[data-page="trip"] :is(#stop-add,#stop-edit-modal) .tm99-stop-section-place .tm74-stop-group+.tm74-stop-group{
  border-top-color:var(--tm-neu-line)!important;
}

/* Stop fields — clearly recessed instead of flat white bordered boxes. */
html body[data-page="trip"] :is(#stop-add,#stop-edit-modal) .tm99-stop-section :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  select,textarea
){
  background-color:var(--tm-neu-surface)!important;
  border-color:transparent!important;
  color:var(--tm-neu-text)!important;
  box-shadow:var(--tm-neu-shadow-inset)!important;
}
html body[data-page="trip"] :is(#stop-add,#stop-edit-modal) .tm99-stop-section :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  select,textarea
):focus{
  outline:0!important;
  border-color:transparent!important;
  box-shadow:var(--tm-neu-focus)!important;
}
html body[data-page="trip"] :is(#stop-add,#stop-edit-modal) .tm74-map-field>.map-input-wrap{
  background:var(--tm-neu-surface)!important;
  border-color:transparent!important;
  box-shadow:var(--tm-neu-shadow-inset)!important;
}
html body[data-page="trip"] :is(#stop-add,#stop-edit-modal) .tm74-map-field>.map-input-wrap:hover{
  border-color:rgba(73,184,255,.16)!important;
  box-shadow:var(--tm-neu-shadow-inset),0 0 0 2px rgba(73,184,255,.06)!important;
}
html body[data-page="trip"] :is(#stop-add,#stop-edit-modal) .tm74-map-field>.map-input-wrap:focus-within{
  border-color:transparent!important;
  box-shadow:var(--tm-neu-focus)!important;
}
html body[data-page="trip"] :is(#stop-add,#stop-edit-modal) .tm74-map-field>.map-input-wrap>input{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
html body[data-page="trip"] :is(#stop-add,#stop-edit-modal) .tm74-map-field>.map-input-wrap::before{
  background:linear-gradient(145deg,var(--tm-neu-sky-soft),var(--tm-neu-surface))!important;
  border-color:rgba(255,255,255,.64)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
html body[data-page="trip"] :is(#stop-add,#stop-edit-modal) .stop-map-picker-toggle-v15124{
  background:linear-gradient(145deg,var(--tm-neu-surface-2),var(--tm-neu-surface-3))!important;
  color:var(--tm-neu-blue-deep)!important;
  border-color:rgba(255,255,255,.66)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
html body[data-page="trip"] :is(#stop-add,#stop-edit-modal) .stop-map-picker-toggle-v15124:hover,
html body[data-page="trip"] :is(#stop-add,#stop-edit-modal) .stop-map-picker-toggle-v15124.is-open{
  background:var(--tm-neu-blue-soft)!important;
  color:var(--tm-neu-blue-deep)!important;
  box-shadow:var(--tm-neu-shadow-inset-sm)!important;
}

/* Chuyện Hành Trình V16 composer — raised shell + recessed fields. */
html body:not(.print-page-v4) #story-v16-compose.story-v16-modal .story-v16-compose-card{
  background:var(--tm-neu-surface)!important;
  border-color:rgba(255,255,255,.70)!important;
  box-shadow:18px 18px 42px rgba(91,111,130,.34),-12px -12px 30px rgba(255,255,255,.92)!important;
}
html body:not(.print-page-v4) #story-v16-compose .story-v16-compose-head>button,
html body:not(.print-page-v4) #story-v16-compose .modal-close{
  background:linear-gradient(145deg,var(--tm-neu-surface-2),var(--tm-neu-surface-3))!important;
  border-color:rgba(255,255,255,.70)!important;
  color:var(--tm-neu-blue-deep)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
html body:not(.print-page-v4) #story-v16-compose .story-v16-compose-head>button:hover,
html body:not(.print-page-v4) #story-v16-compose .modal-close:hover{
  box-shadow:var(--tm-neu-shadow-hover)!important;
}
html body:not(.print-page-v4) #story-v16-compose .story-v16-compose-head>button:active,
html body:not(.print-page-v4) #story-v16-compose .modal-close:active{
  box-shadow:var(--tm-neu-shadow-inset-sm)!important;
}
html body:not(.print-page-v4) #story-v16-compose .story-v16-compose-form :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
  select,textarea
){
  background-color:var(--tm-neu-surface)!important;
  border-color:transparent!important;
  color:var(--tm-neu-text)!important;
  box-shadow:var(--tm-neu-shadow-inset)!important;
}
html body:not(.print-page-v4) #story-v16-compose .story-v16-compose-form :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
  select,textarea
):focus{
  outline:0!important;
  border-color:transparent!important;
  box-shadow:var(--tm-neu-focus)!important;
}
html body:not(.print-page-v4) #story-v16-compose .story-v16-choice>div>button,
html body:not(.print-page-v4) #story-v16-compose .story-v16-attach-group,
html body:not(.print-page-v4) #story-v16-compose .story-v16-trip-attach{
  background:var(--tm-neu-surface)!important;
  border-color:rgba(255,255,255,.62)!important;
  box-shadow:var(--tm-neu-shadow-raised-sm)!important;
}
html body:not(.print-page-v4) #story-v16-compose .story-v16-choice>div>button:hover{
  background:var(--tm-neu-blue-soft)!important;
  border-color:rgba(31,111,218,.10)!important;
  box-shadow:var(--tm-neu-shadow-hover)!important;
}
html body:not(.print-page-v4) #story-v16-compose .story-v16-choice>div>button:active{
  box-shadow:var(--tm-neu-shadow-inset-sm)!important;
}
html body:not(.print-page-v4) #story-v16-compose .story-v16-choice>div>button>span{
  background:var(--tm-neu-green-soft)!important;
  box-shadow:var(--tm-neu-shadow-inset-sm)!important;
}
html body:not(.print-page-v4) #story-v16-compose .story-v16-choice>div>button:nth-child(2)>span{
  background:var(--tm-neu-sky-soft)!important;
}

/* Runtime-generated image uploader inside the composer. */
html body:not(.print-page-v4) #story-v16-compose .trip-image-field-v15114 .trip-upload-basic-card-v15114,
html body:not(.print-page-v4) #story-v16-compose label.trip-image-upload-v15114{
  background:var(--tm-neu-surface)!important;
  border-color:rgba(31,111,218,.20)!important;
  box-shadow:var(--tm-neu-shadow-inset)!important;
}
html body:not(.print-page-v4) #story-v16-compose .trip-image-field-v15114 .trip-upload-basic-card-v15114:hover,
html body:not(.print-page-v4) #story-v16-compose label.trip-image-upload-v15114:hover,
html body:not(.print-page-v4) #story-v16-compose label.trip-image-upload-v15114:focus-within{
  background:var(--tm-neu-surface-2)!important;
  border-color:rgba(31,111,218,.28)!important;
  box-shadow:var(--tm-neu-focus)!important;
}
html body:not(.print-page-v4) #story-v16-compose .trip-upload-basic-card-v15114 .trip-upload-icon-v15114,
html body:not(.print-page-v4) #story-v16-compose label.trip-image-upload-v15114>.trip-upload-icon-v15114{
  background:linear-gradient(145deg,var(--tm-neu-green-soft),var(--tm-neu-surface))!important;
  border-color:rgba(255,255,255,.65)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
html body:not(.print-page-v4) #story-v16-compose .trip-upload-basic-card-v15114 .trip-upload-action-v15114,
html body:not(.print-page-v4) #story-v16-compose label.trip-image-upload-v15114>.trip-upload-action-v15114{
  background:linear-gradient(145deg,var(--tm-neu-surface-2),var(--tm-neu-surface-3))!important;
  color:var(--tm-neu-blue-deep)!important;
  border-color:rgba(255,255,255,.68)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
html body:not(.print-page-v4) #story-v16-compose .trip-upload-basic-card-v15114 .trip-upload-action-v15114:active,
html body:not(.print-page-v4) #story-v16-compose label.trip-image-upload-v15114>.trip-upload-action-v15114:active{
  box-shadow:var(--tm-neu-shadow-inset-sm)!important;
}

/* Dark-theme parity for the newly strengthened high-specificity components. */
html[data-theme="dark"] body:not(.print-page-v4) :is(
  .triploom-gh-all-trigger-v1503,.triploom-gh-circle-v1503,.triploom-gh-avatar-trigger-v1503,.triploom-gh-quick-link-v1503
),
html[data-theme="dark"] body[data-page="trip"] :is(#stop-add,#stop-edit-modal) .tm99-stop-section,
html[data-theme="dark"] body:not(.print-page-v4) #story-v16-compose.story-v16-modal .story-v16-compose-card,
html[data-theme="dark"] body:not(.print-page-v4) #story-v16-compose .story-v16-choice>div>button,
html[data-theme="dark"] body:not(.print-page-v4) #story-v16-compose .story-v16-attach-group,
html[data-theme="dark"] body:not(.print-page-v4) #story-v16-compose .story-v16-trip-attach{
  background-color:var(--tm-neu-surface)!important;
  border-color:var(--tm-neu-line)!important;
}
html[data-theme="dark"] body[data-page="trip"] :is(#stop-add,#stop-edit-modal) .tm99-stop-section :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea
),
html[data-theme="dark"] body:not(.print-page-v4) #story-v16-compose .story-v16-compose-form :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),select,textarea
){
  background-color:var(--tm-neu-surface)!important;
  color:var(--tm-neu-text)!important;
  border-color:transparent!important;
  box-shadow:var(--tm-neu-shadow-inset)!important;
}

/* Final print guard remains authoritative. */
@media print{
  *{box-shadow:none!important;text-shadow:none!important;filter:none!important;}
}

/* ============================================================================
   V15.1.38 · NEUMORPHISM DEEP POLISH
   Broader visual audit after the first consistency pass.
   Goals:
   - every interactive surface uses one raised / inset language
   - legacy high-specificity flat-white rules no longer visually win
   - menus, popovers, modal families, filters, switches, tables, map/calendar,
     uploaders, task/booking/checklist rows and pagination share one system
   - layout, dimensions, grid/flex flow and business logic remain untouched
   ============================================================================ */

/* Global search / filter wells ------------------------------------------------ */
html body:not(.print-page-v4) :is(
  .triploom-gh-search-v1503,.journey-v15-search,.modal-search,.search-box,.big-search,
  .collections-wow-search-v142748,.journey-place-search-v142748,.places-wow-search-v15117,
  .admin-search-modern-v142774,.admin-sidebar-search-field-v142775,
  .calendar-map-filter-v168,.gallery-filter-v27,.footprints-filter-v142766
){
  background:var(--tm-neu-surface)!important;
  border-color:transparent!important;
  box-shadow:var(--tm-neu-shadow-inset)!important;
}
html body:not(.print-page-v4) :is(
  .triploom-gh-search-v1503,.journey-v15-search,.modal-search,.search-box,.big-search,
  .collections-wow-search-v142748,.journey-place-search-v142748,.places-wow-search-v15117,
  .admin-search-modern-v142774,.admin-sidebar-search-field-v142775,
  .calendar-map-filter-v168,.gallery-filter-v27,.footprints-filter-v142766
):focus-within{
  border-color:transparent!important;
  box-shadow:var(--tm-neu-focus)!important;
}
html body:not(.print-page-v4) :is(
  .triploom-gh-search-v1503,.journey-v15-search,.modal-search,.search-box,.big-search,
  .collections-wow-search-v142748,.journey-place-search-v142748,.places-wow-search-v15117,
  .admin-search-modern-v142774,.admin-sidebar-search-field-v142775
) :is(input,select,textarea){
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
html body:not(.print-page-v4) :is(
  .filters-bar,.journey-place-filters-v142748,.admin-filter,.admin-audit-filter,
  .admin-audit-filter-v142717,.admin-checkin-filter,.admin-member-filter-v142716,
  .admin-member-filter-card-v142716,.passport-filter-shell-v142743,
  .passport-filter-shell-wow-v142745,.recap-filter-v142725,.recap-filter-wow-v142748
){
  background:var(--tm-neu-surface)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-raised-sm)!important;
}

/* Custom select menu/options. Trigger surface is owned by canonical V15.1.85 below. */
html body:not(.print-page-v4) .triploom-select-menu-v1565{
  background:var(--tm-neu-surface-2)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-raised)!important;
}
html body:not(.print-page-v4) .triploom-select-option-v1565:hover,
html body:not(.print-page-v4) .triploom-select-option-v1565.is-active{
  background:var(--tm-neu-blue-soft)!important;
  color:var(--tm-neu-blue-deep)!important;
}
html body:not(.print-page-v4) .triploom-select-option-v1565.is-selected{
  background:linear-gradient(145deg,var(--tm-neu-blue-soft),var(--tm-neu-sky-soft))!important;
  color:var(--tm-neu-blue-deep)!important;
  box-shadow:var(--tm-neu-shadow-inset-sm)!important;
}

/* Header launcher + account/language/notification popovers ----------------- */
html body:not(.print-page-v4) :is(
  .triploom-gh-mega-v1503,.triploom-gh-notification-popover-v1503,
  .triploom-gh-notification-popover-v15019,.triploom-gh-account-menu-v1506,
  .top-account-menu-v142727,.language-popover,.triploom-language-popover-v1504,
  .story-v16-menu>div,.trip-card-menu-panel,.trip-hero-menu-panel,
  .journey-v15-follow-menu,.admin-member-menu>div
){
  background:var(--tm-neu-surface)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-raised)!important;
}
html body:not(.print-page-v4) :is(
  .triploom-gh-mega-head-v1503,.triploom-gh-notification-head-v15019,
  .triploom-gh-account-head-v1503,.language-popover-head
){border-color:var(--tm-neu-line)!important;}
html body:not(.print-page-v4) :is(
  .triploom-gh-mega-group-v1503>a,.triploom-gh-account-link-v1503,
  .triploom-gh-account-mini-grid-v1506>a,.language-popover>button,
  .triploom-gh-notification-list-v15019>a,.story-v16-menu button,
  .trip-card-menu-panel a,.trip-card-menu-panel button,
  .trip-hero-menu-panel a,.trip-hero-menu-panel button,
  .journey-v15-follow-menu button,.admin-member-menu a,.admin-member-menu button
){
  color:var(--tm-neu-text)!important;
  transition:background var(--tm-neu-motion),box-shadow var(--tm-neu-motion),color var(--tm-neu-motion),transform var(--tm-neu-motion)!important;
}
html body:not(.print-page-v4) :is(
  .triploom-gh-mega-group-v1503>a,.triploom-gh-account-link-v1503,
  .triploom-gh-account-mini-grid-v1506>a,.language-popover>button,
  .triploom-gh-notification-list-v15019>a,.story-v16-menu button,
  .trip-card-menu-panel a,.trip-card-menu-panel button,
  .trip-hero-menu-panel a,.trip-hero-menu-panel button,
  .journey-v15-follow-menu button,.admin-member-menu a,.admin-member-menu button
):hover{
  background:var(--tm-neu-surface-2)!important;
  color:var(--tm-neu-blue-deep)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
html body:not(.print-page-v4) .language-popover>button.active,
html body:not(.print-page-v4) .triploom-gh-notification-list-v15019>a.is-unread{
  background:var(--tm-neu-blue-soft)!important;
  color:var(--tm-neu-blue-deep)!important;
  box-shadow:var(--tm-neu-shadow-inset-sm)!important;
}
html body:not(.print-page-v4) :is(
  .story-v16-menu summary,.admin-member-menu summary,
  .trip-card-menu summary,.trip-hero-menu summary
){
  background:linear-gradient(145deg,var(--tm-neu-surface-2),var(--tm-neu-surface-3))!important;
  color:var(--tm-neu-text-2)!important;
  border-color:rgba(255,255,255,.62)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
html body:not(.print-page-v4) :is(
  .story-v16-menu summary,.admin-member-menu summary,
  .trip-card-menu summary,.trip-hero-menu summary
):hover{
  color:var(--tm-neu-blue-deep)!important;
  box-shadow:var(--tm-neu-shadow-hover)!important;
}
html body:not(.print-page-v4) :is(
  .story-v16-menu[open] summary,.admin-member-menu[open] summary,
  .trip-card-menu[open] summary,.trip-hero-menu[open] summary
){
  background:var(--tm-neu-blue-soft)!important;
  color:var(--tm-neu-blue-deep)!important;
  box-shadow:var(--tm-neu-shadow-inset-sm)!important;
}
html body:not(.print-page-v4) .story-v16-menu button.danger,
html body:not(.print-page-v4) :is(.trip-card-menu-panel,.trip-hero-menu-panel) .danger,
html body:not(.print-page-v4) .admin-member-menu button.lock{
  color:var(--tm-neu-red-deep)!important;
}
html body:not(.print-page-v4) .story-v16-menu button.danger:hover,
html body:not(.print-page-v4) :is(.trip-card-menu-panel,.trip-hero-menu-panel) .danger:hover,
html body:not(.print-page-v4) .admin-member-menu button.lock:hover{
  background:var(--tm-neu-red-soft)!important;
  box-shadow:var(--tm-neu-shadow-inset-sm)!important;
}

/* Account/header micro-surfaces --------------------------------------------- */
html body:not(.print-page-v4) .triploom-gh-account-journey-card-v1506,
html body:not(.print-page-v4) .triploom-gh-mega-group-v1503>a>span,
html body:not(.print-page-v4) .triploom-gh-account-link-v1503>span,
html body:not(.print-page-v4) .triploom-gh-notification-avatar-v15019{
  background:linear-gradient(145deg,var(--tm-neu-surface-2),var(--tm-neu-surface-3))!important;
  border-color:rgba(255,255,255,.55)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
html body:not(.print-page-v4) .triploom-gh-notification-empty-v15019{
  background:var(--tm-neu-surface-2)!important;
  color:var(--tm-neu-muted)!important;
  box-shadow:var(--tm-neu-shadow-inset-sm)!important;
}

/* Modal family: raised shell, inset content well, raised close controls ----- */
html body:not(.print-page-v4) :is(.modal,.task-v27-modal,.story-v16-modal,.premium-modal-v1547,.pack-v167-modal-backdrop){
  background-color:rgba(24,43,58,.38)!important;
  backdrop-filter:blur(10px) saturate(112%)!important;
  -webkit-backdrop-filter:blur(10px) saturate(112%)!important;
}
html body:not(.print-page-v4) :is(
  .modal-card,.task-v27-modal-card,.story-v16-compose-card,.premium-modal-shell-v1547,
  .pack-v167-modal-card,.level-feature-modal-card,.level-feature-modal-card-v142733,
  .level-badge-modal-card,.booking-attachment-card-v144,.journal-view-card-v06
){
  background:var(--tm-neu-surface)!important;
  border-color:rgba(255,255,255,.64)!important;
  box-shadow:16px 16px 38px rgba(91,111,130,.30),-11px -11px 28px rgba(255,255,255,.90)!important;
}
html body:not(.print-page-v4) :is(
  .modal-close,.premium-modal-close-v1547,.premium-modal-back-v1547,
  .pack-v167-modal-close,.task-reminder-alert-close
){
  background:linear-gradient(145deg,var(--tm-neu-surface-2),var(--tm-neu-surface-3))!important;
  color:var(--tm-neu-text-2)!important;
  border-color:rgba(255,255,255,.62)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
html body:not(.print-page-v4) :is(
  .modal-close,.premium-modal-close-v1547,.premium-modal-back-v1547,
  .pack-v167-modal-close,.task-reminder-alert-close
):hover{
  color:var(--tm-neu-blue-deep)!important;
  box-shadow:var(--tm-neu-shadow-hover)!important;
}
html body:not(.print-page-v4) :is(
  .modal-close,.premium-modal-close-v1547,.premium-modal-back-v1547,
  .pack-v167-modal-close,.task-reminder-alert-close
):active{box-shadow:var(--tm-neu-shadow-inset-sm)!important;}

/* Generic modal form blocks that legacy CSS leaves flat-white. */
html body:not(.print-page-v4) .modal-card .form-stack>:is(
  label,.form-grid,.upload-box,.v5-day-profile,.notice,.check-line,.switch-row,
  .task-v27-phase,.task-v27-reminder-box
){
  background:var(--tm-neu-surface)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}

/* Mobile/tablet trip popup standard: same material as desktop. */
html body[data-page="trip"] .modal[data-trip-mobile-modal="1"]>:is(.modal-card,[role="dialog"]){
  background:var(--tm-neu-surface)!important;
  color:var(--tm-neu-text)!important;
  border-color:rgba(255,255,255,.64)!important;
  box-shadow:16px 16px 38px rgba(38,55,70,.34),-8px -8px 24px rgba(255,255,255,.78)!important;
}
html body[data-page="trip"] .modal[data-trip-mobile-modal="1"] :is(
  .trip-route-header-v15108,.tm91-smart-header,.tm74-stop-header,.tm92-stop-edit-header,.tm89-day-header,
  .booking-modal-head-v141,.v152-vault-modal-head,.journal-view-head-v06
){
  background:linear-gradient(145deg,var(--tm-neu-surface-2),var(--tm-neu-surface))!important;
  border-bottom-color:var(--tm-neu-line)!important;
  color:var(--tm-neu-text)!important;
}
html body[data-page="trip"] .modal[data-trip-mobile-modal="1"] :is(
  .trip-route-section-v15108,.tm91-smart-scroll,.tm74-stop-scroll,.tm92-stop-edit-scroll,.tm89-day-scroll,
  .booking-modal-body-v141,.v152-vault-modal-body,.journal-view-body-v06
){
  background:var(--tm-neu-surface)!important;
  border-color:transparent!important;
  box-shadow:var(--tm-neu-shadow-inset)!important;
}
html body[data-page="trip"] .modal[data-trip-mobile-modal="1"] :is(
  .modal-close,[data-modal-close],[data-task-close],[data-expense-close],[data-booking-modal-close],[data-vault-close],
  [data-photo-close],[data-journal-close],[data-checklist-close],[data-group-modal-close],
  .tm91-smart-close,.tm74-stop-close,.tm92-stop-edit-close,.tm89-day-close
){
  background:linear-gradient(145deg,var(--tm-neu-surface-2),var(--tm-neu-surface-3))!important;
  color:var(--tm-neu-blue-deep)!important;
  border-color:rgba(255,255,255,.64)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
html body[data-page="trip"] .modal[data-trip-mobile-modal="1"] :is(
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea
){
  background:var(--tm-neu-surface)!important;
  border-color:transparent!important;
  color:var(--tm-neu-text)!important;
  box-shadow:var(--tm-neu-shadow-inset)!important;
}
html body[data-page="trip"] .modal[data-trip-mobile-modal="1"] :is(
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea
):focus{
  background:var(--tm-neu-surface)!important;
  border-color:transparent!important;
  box-shadow:var(--tm-neu-focus)!important;
}

/* Desktop route / idea / booking style popup bodies. */
html body[data-page="trip"] .trip-route-card-v15108 .trip-route-section-v15108{
  background:var(--tm-neu-surface)!important;
  border-color:transparent!important;
  box-shadow:var(--tm-neu-shadow-inset)!important;
}
html body[data-page="trip"] .trip-route-card-v15108 .trip-route-section-head-v15108>span{
  background:linear-gradient(145deg,var(--tm-neu-sky-soft),var(--tm-neu-surface))!important;
  color:var(--tm-neu-blue-deep)!important;
  border-color:rgba(255,255,255,.65)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}

/* Stop Add/Edit + legacy TM72/TM73/TM92 families ---------------------------- */
html body[data-page="trip"] :is(#stop-add,#stop-edit-modal,.tm72-modal,.tm73-modal) :is(
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea,
  .triploom-select-v1565,.tm92-map-shell,.ev-charge-input-shell
){
  background:var(--tm-neu-surface)!important;
  border-color:transparent!important;
  color:var(--tm-neu-text)!important;
  box-shadow:var(--tm-neu-shadow-inset)!important;
}
html body[data-page="trip"] :is(#stop-add,#stop-edit-modal,.tm72-modal,.tm73-modal) :is(
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea,
  .triploom-select-v1565,.tm92-map-shell,.ev-charge-input-shell
):focus-within{
  border-color:transparent!important;
  box-shadow:var(--tm-neu-focus)!important;
}
html body[data-page="trip"] #stop-edit-modal :is(.tm92-ev-panel,.tm92-ev-charge,.stop-ev-use-choice),
html body[data-page="trip"] :is(.tm72-modal,.tm73-modal) :is(.smart-tool-grid>form,.route-choice,.stop-transport-choice,.stop-ev-use-choice){
  background:var(--tm-neu-surface)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
html body[data-page="trip"] #stop-edit-modal .tm92-stop-delete-btn{
  background:var(--tm-neu-red-soft)!important;
  color:var(--tm-neu-red-deep)!important;
  border-color:rgba(233,75,91,.16)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}

/* Icon-only actions ---------------------------------------------------------- */
html body:not(.print-page-v4) :is(
  .icon-btn,.gallery-icon-btn-v27,.task-v27-icon-btn,.admin-icon-btn,.v6-inbox-icon-btn,
  .trip-tab-hero-group-iconbtn-v37,.journal-action-v32,.journal-card-actions-v52 button
){
  background:linear-gradient(145deg,var(--tm-neu-surface-2),var(--tm-neu-surface-3))!important;
  color:var(--tm-neu-text-2)!important;
  border-color:rgba(255,255,255,.58)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
html body:not(.print-page-v4) :is(
  .icon-btn,.gallery-icon-btn-v27,.task-v27-icon-btn,.admin-icon-btn,.v6-inbox-icon-btn,
  .trip-tab-hero-group-iconbtn-v37,.journal-action-v32,.journal-card-actions-v52 button
):hover{
  color:var(--tm-neu-blue-deep)!important;
  box-shadow:var(--tm-neu-shadow-hover)!important;
}
html body:not(.print-page-v4) :is(
  .icon-btn,.gallery-icon-btn-v27,.task-v27-icon-btn,.admin-icon-btn,.v6-inbox-icon-btn,
  .trip-tab-hero-group-iconbtn-v37,.journal-action-v32,.journal-card-actions-v52 button
):active{box-shadow:var(--tm-neu-shadow-inset-sm)!important;}
html body:not(.print-page-v4) :is(.task-v27-icon-btn.delete,.v6-inbox-icon-btn.delete,.gallery-icon-btn-v27.delete){
  background:var(--tm-neu-red-soft)!important;
  color:var(--tm-neu-red-deep)!important;
}
html body:not(.print-page-v4) :is(.task-v27-icon-btn.done,.v6-inbox-icon-btn.active.like){
  background:var(--tm-neu-green-soft)!important;
  color:var(--tm-neu-green-deep)!important;
  box-shadow:var(--tm-neu-shadow-inset-sm)!important;
}

/* Switches / toggles --------------------------------------------------------- */
html body:not(.print-page-v4) :is(.switch-row,.privacy-switch-v142730,.group-switch-v36){
  border-color:var(--tm-neu-line)!important;
}
html body:not(.print-page-v4) :is(
  .switch-row i,.privacy-switch-v142730>i,.privacy-guard-v142730>i,.group-switch-v36 i,.admin-toggle span
){
  background:var(--tm-neu-surface-3)!important;
  box-shadow:var(--tm-neu-shadow-inset-sm)!important;
}
html body:not(.print-page-v4) :is(
  .switch-row i,.privacy-switch-v142730>i,.privacy-guard-v142730>i,.group-switch-v36 i,.admin-toggle span
)::after{
  background:var(--tm-neu-surface-2)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
html body:not(.print-page-v4) .switch-row input:checked+i,
html body:not(.print-page-v4) .privacy-switch-v142730 input:checked+i,
html body:not(.print-page-v4) .privacy-guard-v142730 input:checked+i,
html body:not(.print-page-v4) .group-switch-v36 input:checked~i,
html body:not(.print-page-v4) .admin-toggle input:checked+span{
  background:linear-gradient(145deg,var(--tm-neu-sky),var(--tm-neu-blue))!important;
  box-shadow:var(--tm-neu-shadow-inset-sm)!important;
}
html body:not(.print-page-v4) :is(input[type="checkbox"],input[type="radio"]){accent-color:var(--tm-neu-blue);}
html body[data-page="trip"] .task-v27-modal .task-v27-reminder-toggle>input[type="checkbox"]{
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  min-height:20px!important;
  border:1.5px solid #7FCFC8!important;
  border-radius:6px!important;
  background:#FFFFFF!important;
  box-shadow:none!important;
}
html body[data-page="trip"] .task-v27-modal .task-v27-reminder-toggle>input[type="checkbox"]:checked{
  border-color:#3FBDB5!important;
  background:#3FBDB5!important;
  box-shadow:none!important;
}
html body[data-page="trip"] .task-v27-modal .task-v27-reminder-toggle>input[type="checkbox"]:checked::after{
  left:50%!important;
  top:46%!important;
  width:4px!important;
  height:8px!important;
  transform:translate(-50%,-50%) rotate(45deg)!important;
}
html body[data-page="trip"] .checkgear-v161-toggle button{
  background:linear-gradient(145deg,var(--tm-neu-surface-2),var(--tm-neu-surface-3))!important;
  border-color:rgba(255,255,255,.58)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
html body[data-page="trip"] .checkgear-v161-toggle button:hover{box-shadow:var(--tm-neu-shadow-hover)!important;}
html body[data-page="trip"] .checkgear-v161-toggle button:active,
html body[data-page="trip"] .checkgear-v161-toggle button[aria-pressed="true"]{box-shadow:var(--tm-neu-shadow-inset-sm)!important;}

/* Tabs / segmented navigation ------------------------------------------------ */
html body:not(.print-page-v4) :is(
  .journey-v15-tabs,.journey-v15-subtabs,.admin-dashboard-tabs,.admin-chart-tabs,
  .admin-level-tabs-v142778,.admin-member-tabs,.moderation-tabs-v14,
  .preview-passport-tabs-v142754,.preview-recap-tabs-v142749,.privacy-preview-tabs-v142730
){
  background:var(--tm-neu-surface)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-inset-sm)!important;
}
html body:not(.print-page-v4) :is(
  .journey-v15-tabs a,.journey-v15-subtabs a,.admin-dashboard-tabs a,.admin-chart-tabs a,
  .admin-level-tabs-v142778 a,.admin-member-tabs a,.moderation-tabs-v14 a,
  .preview-passport-tabs-v142754 a,.preview-recap-tabs-v142749 a,.privacy-preview-tabs-v142730 a,
  .admin-dashboard-tabs button,.admin-chart-tabs button,.admin-level-tabs-v142778 button,.admin-member-tabs button
){
  background:transparent!important;
  color:var(--tm-neu-text-2)!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
html body:not(.print-page-v4) :is(
  .journey-v15-tabs a,.journey-v15-subtabs a,.admin-dashboard-tabs a,.admin-chart-tabs a,
  .admin-level-tabs-v142778 a,.admin-member-tabs a,.moderation-tabs-v14 a,
  .preview-passport-tabs-v142754 a,.preview-recap-tabs-v142749 a,.privacy-preview-tabs-v142730 a,
  .admin-dashboard-tabs button,.admin-chart-tabs button,.admin-level-tabs-v142778 button,.admin-member-tabs button
):hover{
  background:var(--tm-neu-surface-2)!important;
  color:var(--tm-neu-blue-deep)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
html body:not(.print-page-v4) :is(
  .journey-v15-tabs a.active,.journey-v15-subtabs a.active,.admin-dashboard-tabs a.active,.admin-chart-tabs a.active,
  .admin-level-tabs-v142778 a.active,.admin-member-tabs a.active,.moderation-tabs-v14 a.active,
  .preview-passport-tabs-v142754 a.active,.preview-recap-tabs-v142749 a.active,.privacy-preview-tabs-v142730 a.active,
  .admin-dashboard-tabs button.active,.admin-chart-tabs button.active,.admin-level-tabs-v142778 button.active,.admin-member-tabs button.active
){
  background:var(--tm-neu-blue-soft)!important;
  color:var(--tm-neu-blue-deep)!important;
  border-color:var(--tm-neu-line-strong)!important;
  box-shadow:0 2px 7px rgba(36,157,152,.10)!important;
}

/* Pagination ---------------------------------------------------------------- */
html body:not(.print-page-v4) :is(.journey-v15-pagination,.admin-pagination,.admin-pagination-v142716) :is(a,span){
  background:var(--tm-neu-surface)!important;
  color:var(--tm-neu-text-2)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
html body:not(.print-page-v4) :is(.journey-v15-pagination,.admin-pagination,.admin-pagination-v142716) a:hover{
  color:var(--tm-neu-blue-deep)!important;
  background:var(--tm-neu-blue-soft)!important;
  box-shadow:var(--tm-neu-shadow-hover)!important;
}
html body:not(.print-page-v4) :is(.journey-v15-pagination,.admin-pagination,.admin-pagination-v142716) :is(.active,[aria-current="page"]){
  background:linear-gradient(145deg,var(--tm-neu-blue),var(--tm-neu-blue-deep))!important;
  color:#fff!important;
  box-shadow:var(--tm-neu-shadow-blue)!important;
}

/* Empty states / informational wells ---------------------------------------- */
html body:not(.print-page-v4) :is(
  .empty,.journey-v15-empty,.journey-v15-empty-next,.journey-empty-v142725,.journey-empty-v142738,
  .task-v27-empty,.checkgear-v161-empty,.gallery-empty-v24,.gallery-album-empty-v27,.journal-empty-v31,
  .calendar-empty,.calendar-map-empty-v168,.calendar-map-point-empty-v168,.departure-map-empty,
  .privacy-empty-v142730,.collection-wow-empty-v142748,.trip-maker-income-empty-v142767,
  .achievement-museum-empty-v1514,.admin-empty,.admin-chart-empty,.admin-geo-empty
){
  background:var(--tm-neu-surface)!important;
  border-color:transparent!important;
  color:var(--tm-neu-muted)!important;
  box-shadow:var(--tm-neu-shadow-inset)!important;
}
html body:not(.print-page-v4) :is(
  .empty-icon,.journey-v15-empty>span,.journey-v15-empty-next>span,.task-v27-empty>i,.checkgear-v161-empty>span
){
  background:linear-gradient(145deg,var(--tm-neu-sky-soft),var(--tm-neu-surface))!important;
  color:var(--tm-neu-blue-deep)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}

/* Notices / alerts ----------------------------------------------------------- */
html body:not(.print-page-v4) :is(.notice,.tm91-smart-notice,.passport-notice-v142743,.passport-notice-wow-v142745,.group-readonly-notice-v36){
  background:var(--tm-neu-surface)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-inset-sm)!important;
}
html body:not(.print-page-v4) :is(.notice.success,.split-status-ok-v45,.badge-success){
  background:var(--tm-neu-green-soft)!important;
  color:var(--tm-neu-green-deep)!important;
}
html body:not(.print-page-v4) :is(.notice.warning,.split-status-warn-v45,.badge-warning,.task-reminder-alert){
  background:var(--tm-neu-yellow-soft)!important;
  color:#775a08!important;
}
html body:not(.print-page-v4) :is(.notice.error,.notice.danger,.live-booking-alert.error){
  background:var(--tm-neu-red-soft)!important;
  color:var(--tm-neu-red-deep)!important;
}

/* V15.1.55: Dấu Ấn prestige cards are component-owned in journey-v15.css;
   exclude them from generic metric surfaces so their compact mobile palette/layout is not overridden. */
/* Compact statistic / metric surfaces -------------------------------------- */
html body:not(.print-page-v4) :is(
  .trip-stat-card,.trip-maker-chart-card-v142770,.summary-metric-grid>*,.detail-metrics>*,
  .live-summary-grid>*,.premium-trip-stats>*,.trip-header-stats>*,.trip-metrics>*,
  .journey-v15-smartstat-v1511,.journey-v15-statgrid>a,
  .admin-smart-stat-grid>*,.admin-checkin-stat-grid>*,.admin-community-stat-grid>*,
  .admin-member-stat,.admin-member-stat-v142713,.admin-travel-stat-grid>*
){
  background:var(--tm-neu-surface)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}

/* Task / booking / checklist / expense rows -------------------------------- */
html body[data-page="trip"][data-trip-tab="tasks"] .task-v27-card,
html body[data-page="trip"] :is(.booking-card-v139,.split-compact-card-v45,.checkgear-v161-item,.group-member-row-v36,.expense-row-v29){
  background:var(--tm-neu-surface)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
html body[data-page="trip"][data-trip-tab="tasks"] .task-v27-card:hover,
html body[data-page="trip"] :is(.booking-card-v139,.split-compact-card-v45,.checkgear-v161-item,.group-member-row-v36,.expense-row-v29):hover{
  border-color:var(--tm-neu-line-strong)!important;
  box-shadow:var(--tm-neu-shadow-hover)!important;
}
html body[data-page="trip"] .money-cards>div{
  background:var(--tm-neu-surface)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
html body[data-page="trip"] .money-cards>div.negative{
  background:var(--tm-neu-red-soft)!important;
  color:var(--tm-neu-red-deep)!important;
}

/* Upload / media fields ------------------------------------------------------ */
html body:not(.print-page-v4) :is(
  .upload-box,.booking-upload-box-v148,.gallery-upload-box-premium-v1563,.journal-upload-v31,
  .journal-upload-premium-v1564,.route-cover-upload-v35,.trip-uploader-direct-v252,
  .trip-media-uploader-v15115
){
  background:var(--tm-neu-surface)!important;
  border-color:rgba(31,111,218,.18)!important;
  box-shadow:var(--tm-neu-shadow-inset)!important;
}
html body:not(.print-page-v4) :is(
  .upload-box,.booking-upload-box-v148,.gallery-upload-box-premium-v1563,.journal-upload-v31,
  .journal-upload-premium-v1564,.route-cover-upload-v35,.trip-uploader-direct-v252,
  .trip-media-uploader-v15115
):hover,
html body:not(.print-page-v4) :is(
  .upload-box,.booking-upload-box-v148,.gallery-upload-box-premium-v1563,.journal-upload-v31,
  .journal-upload-premium-v1564,.route-cover-upload-v35,.trip-uploader-direct-v252,
  .trip-media-uploader-v15115
):focus-within{
  background:var(--tm-neu-surface-2)!important;
  border-color:rgba(31,111,218,.25)!important;
  box-shadow:var(--tm-neu-focus)!important;
}

/* Calendar / maps ------------------------------------------------------------ */
html body[data-page="trip"] :is(
  .calendar-board,.calendar-board-v168,.calendar-map-section-v168,.calendar-map-combined-v168,
  .map-section-v168,.v7-google-map-panel,.v7-map-route-panel,.departure-map-card
){
  background:var(--tm-neu-surface)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-raised-sm)!important;
}
html body[data-page="trip"] :is(
  .calendar-map-frame-v168,.v7-google-frame-wrap,.v7-place-map-frame,.trip-map,.v9-footprint-map
){
  background:var(--tm-neu-surface-3)!important;
  border-color:transparent!important;
  box-shadow:var(--tm-neu-shadow-inset)!important;
}
html body[data-page="trip"] :is(.v7-map-day-filter,.calendar-map-filter-v168) button{
  background:var(--tm-neu-surface)!important;
  color:var(--tm-neu-text-2)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
html body[data-page="trip"] :is(.v7-map-day-filter,.calendar-map-filter-v168) button.active{
  background:linear-gradient(145deg,var(--tm-neu-blue),var(--tm-neu-blue-deep))!important;
  color:#fff!important;
  box-shadow:var(--tm-neu-shadow-blue)!important;
}
html body[data-page="trip"] .v7-map-stop{
  background:var(--tm-neu-surface)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
html body[data-page="trip"] .v7-map-stop.active{
  background:var(--tm-neu-blue-soft)!important;
  color:var(--tm-neu-blue-deep)!important;
  box-shadow:var(--tm-neu-shadow-inset-sm)!important;
}

/* Travel mode ---------------------------------------------------------------- */
html body[data-page="travel_mode"] :is(.live-stop-card,.live-booking-card-v15170,.live-booking-detail-grid-v15170>div){
  background:var(--tm-neu-surface)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
html body[data-page="travel_mode"] .travel-mode-toolbar>[data-find-nearest],
html body[data-page="travel_mode"] .live-booking-chevron-v15170,
html body[data-page="travel_mode"] .live-booking-close-v15170{
  background:linear-gradient(145deg,var(--tm-neu-surface-2),var(--tm-neu-surface-3))!important;
  color:var(--tm-neu-blue-deep)!important;
  border-color:rgba(255,255,255,.60)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
html body[data-page="travel_mode"] .live-hero-actions .btn{
  box-shadow:var(--tm-neu-shadow-raised-sm)!important;
}
html body[data-page="travel_mode"] .live-hero-actions .btn:active{
  box-shadow:var(--tm-neu-shadow-inset-sm)!important;
}
html body:is([data-page="trip"],[data-page="travel_mode"]) #v9-checkin-modal .v9-result-metrics>div{
  background:var(--tm-neu-surface)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}

/* Admin deep normalization --------------------------------------------------- */
html body.admin-console-body :is(
  .admin-sidebar-search-panel,.admin-login-security-panel,.admin-demographic-panel-v142713,
  .admin-level-progress-panel,.admin-xp-admin-panel,.admin-feature-table-v142724
){
  background:var(--tm-neu-surface)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-raised-sm)!important;
}
html body.admin-console-body .admin-member-menu summary{
  background:linear-gradient(145deg,var(--tm-neu-surface-2),var(--tm-neu-surface-3))!important;
  border-color:rgba(255,255,255,.58)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
html body.admin-console-body .admin-member-menu[open] summary{
  background:var(--tm-neu-blue-soft)!important;
  color:var(--tm-neu-blue-deep)!important;
  box-shadow:var(--tm-neu-shadow-inset-sm)!important;
}
html body.admin-console-body :is(.admin-export-actions a,.admin-filter-reset){
  background:var(--tm-neu-surface)!important;
  color:var(--tm-neu-blue-deep)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
html body.admin-console-body :is(.admin-export-actions a,.admin-filter-reset):hover{
  background:var(--tm-neu-blue-soft)!important;
  box-shadow:var(--tm-neu-shadow-hover)!important;
}

/* Bottom navigation: raised bar, active item inset/colored ------------------ */
html body:not(.print-page-v4) :is(.bottom-nav,.mobile-bottom-nav){
  background:rgba(237,243,248,.94)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:0 -8px 24px rgba(137,154,171,.17),inset 0 1px 0 rgba(255,255,255,.74)!important;
}
html body:not(.print-page-v4) :is(.bottom-nav,.mobile-bottom-nav) :is(a,button){
  color:var(--tm-neu-text-2)!important;
}
html body:not(.print-page-v4) :is(.bottom-nav,.mobile-bottom-nav) :is(a.active,a[aria-current="page"],button.active){
  background:var(--tm-neu-blue-soft)!important;
  color:var(--tm-neu-blue-deep)!important;
  box-shadow:var(--tm-neu-shadow-inset-sm)!important;
}

/* Dark mode: preserve surface logic for elements with legacy hard-coded dark values. */
html[data-theme="dark"] body:not(.print-page-v4) :is(
  .triploom-gh-mega-v1503,.triploom-gh-notification-popover-v1503,.triploom-gh-notification-popover-v15019,
  .triploom-gh-account-menu-v1506,.top-account-menu-v142727,.language-popover,.triploom-language-popover-v1504,
  .story-v16-menu>div,.trip-card-menu-panel,.trip-hero-menu-panel,.journey-v15-follow-menu,.admin-member-menu>div,
  .modal-card,.task-v27-modal-card,.premium-modal-shell-v1547,.pack-v167-modal-card,
  .trip-stat-card,.booking-card-v139,.task-v27-card,.expense-row-v29,.checkgear-v161-item
){
  background-color:var(--tm-neu-surface)!important;
  border-color:var(--tm-neu-line)!important;
}
html[data-theme="dark"] body:not(.print-page-v4) :is(.bottom-nav,.mobile-bottom-nav){
  background:rgba(30,42,55,.94)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:0 -8px 24px rgba(4,10,16,.30),inset 0 1px 0 rgba(255,255,255,.05)!important;
}

/* Touch devices: softer depth prevents visual noise on dense mobile screens. */
@media(max-width:640px){
  html body:not(.print-page-v4) :is(
    .triploom-gh-mega-v1503,.triploom-gh-notification-popover-v15019,.triploom-gh-account-menu-v1506,
    .language-popover,.story-v16-menu>div,.trip-card-menu-panel,.trip-hero-menu-panel,
    .journey-v15-follow-menu,.admin-member-menu>div
  ){box-shadow:8px 8px 20px rgba(91,111,130,.27),-6px -6px 16px rgba(255,255,255,.86)!important;}
}


/* Exact legacy-family parity discovered during the deep audit ---------------- */
/* + Thêm điểm still owns a high-specificity white shell in V15.0.75/V15.0.77. */
html body[data-page="trip"] #stop-add .tm75-stop-panel{
  background:var(--tm-neu-surface)!important;
  border-color:rgba(255,255,255,.66)!important;
  box-shadow:var(--tm-neu-shadow-raised-sm)!important;
}
html body[data-page="trip"] #stop-add .tm75-stop-panel :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea,
  .triploom-select-trigger-v1565,.tm74-map-field>.map-input-wrap
){
  background-color:var(--tm-neu-surface)!important;
  border-color:transparent!important;
  color:var(--tm-neu-text)!important;
  box-shadow:var(--tm-neu-shadow-inset)!important;
}
html body[data-page="trip"] #stop-add .tm75-stop-panel :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea,
  .triploom-select-trigger-v1565,.tm74-map-field>.map-input-wrap
):focus,
html body[data-page="trip"] #stop-add .tm75-stop-panel :is(.triploom-select-trigger-v1565,.tm74-map-field>.map-input-wrap):focus-within{
  border-color:transparent!important;
  box-shadow:var(--tm-neu-focus)!important;
}
html body[data-page="trip"] #stop-add .tm75-stop-panel :is(
  .stop-transport-toggle,.stop-transport-choice,.stop-ev-use-choice,.ev-charge-switch
){
  background:linear-gradient(145deg,var(--tm-neu-surface-2),var(--tm-neu-surface-3))!important;
  border-color:rgba(255,255,255,.62)!important;
  color:var(--tm-neu-text-2)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
html body[data-page="trip"] #stop-add .tm75-stop-panel :is(
  .stop-transport-toggle,.stop-transport-choice,.stop-ev-use-choice,.ev-charge-switch
):hover{
  border-color:rgba(31,111,218,.15)!important;
  box-shadow:var(--tm-neu-shadow-hover)!important;
}
html body[data-page="trip"] #stop-add .tm75-stop-panel :is(
  .stop-transport-toggle,.stop-transport-choice,.stop-ev-use-choice,.ev-charge-switch
):has(input:checked),
html body[data-page="trip"] #stop-add .tm75-stop-panel .stop-transport-toggle[aria-expanded="true"]{
  background:var(--tm-neu-blue-soft)!important;
  color:var(--tm-neu-blue-deep)!important;
  border-color:rgba(31,111,218,.12)!important;
  box-shadow:var(--tm-neu-shadow-inset-sm)!important;
}
html body[data-page="trip"] #stop-add .tm74-stop-group-ev,
html body[data-page="trip"] #stop-add .tm74-stop-group-transport{
  background:var(--tm-neu-surface)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
html body[data-page="trip"] #stop-add .tm74-stop-group-ev :is(.ev-charge-switch-check,.ev-charge-input-shell){
  background:var(--tm-neu-surface)!important;
  border-color:transparent!important;
  box-shadow:var(--tm-neu-shadow-inset-sm)!important;
}

/* Older Chuyện Hành Trình composer family (V15.0.23+) ------------------------ */
html body:not(.print-page-v4) .story-compose-modal-v1523 :is(.story-compose-choice-card-v1523,.story-compose-card-v1523){
  background:var(--tm-neu-surface)!important;
  border-color:rgba(255,255,255,.68)!important;
  box-shadow:18px 18px 42px rgba(91,111,130,.32),-12px -12px 30px rgba(255,255,255,.90)!important;
}
html body:not(.print-page-v4) .story-compose-modal-v1523 .story-compose-head-v1523{
  background:linear-gradient(180deg,var(--tm-neu-surface-2),var(--tm-neu-surface))!important;
  border-bottom-color:var(--tm-neu-line)!important;
}
html body:not(.print-page-v4) .story-compose-modal-v1523 :is(.story-compose-back-v1523,.story-compose-card-v1523>.modal-close){
  background:linear-gradient(145deg,var(--tm-neu-surface-2),var(--tm-neu-surface-3))!important;
  border-color:rgba(255,255,255,.68)!important;
  color:var(--tm-neu-blue-deep)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
html body:not(.print-page-v4) .story-compose-modal-v1523 :is(.story-compose-back-v1523,.story-compose-card-v1523>.modal-close):hover{
  background:var(--tm-neu-blue-soft)!important;
  box-shadow:var(--tm-neu-shadow-hover)!important;
}
html body:not(.print-page-v4) .story-compose-modal-v1523 :is(.story-compose-back-v1523,.story-compose-card-v1523>.modal-close):active{
  box-shadow:var(--tm-neu-shadow-inset-sm)!important;
}
html body:not(.print-page-v4) .story-compose-modal-v1523 :is(
  .story-compose-choice-v1523,.story-compose-profile-v1524,.story-source-row-v1523,
  .story-compose-meta-v1525>label,.story-compose-add-v1524,.story-compose-add-v1525,
  .story-support-cluster-v1530,.story-question-topic-v1523
){
  background:var(--tm-neu-surface)!important;
  border-color:rgba(255,255,255,.58)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
html body:not(.print-page-v4) .story-compose-modal-v1523 .story-compose-choice-v1523:hover{
  background:var(--tm-neu-blue-soft)!important;
  border-color:rgba(31,111,218,.12)!important;
  box-shadow:var(--tm-neu-shadow-hover)!important;
}
html body:not(.print-page-v4) .story-compose-modal-v1523 :is(
  label.story-visibility-chip-v1523,label.story-comments-chip-v1523,
  .story-compose-add-actions-v1525 button,.story-editor-toolbar-v1523 button
){
  background:linear-gradient(145deg,var(--tm-neu-surface-2),var(--tm-neu-surface-3))!important;
  border-color:rgba(255,255,255,.62)!important;
  color:var(--tm-neu-text-2)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}
html body:not(.print-page-v4) .story-compose-modal-v1523 :is(
  label.story-visibility-chip-v1523,label.story-comments-chip-v1523,
  .story-compose-add-actions-v1525 button,.story-editor-toolbar-v1523 button
):hover{
  background:var(--tm-neu-blue-soft)!important;
  color:var(--tm-neu-blue-deep)!important;
  box-shadow:var(--tm-neu-shadow-hover)!important;
}
html body:not(.print-page-v4) .story-compose-modal-v1523 .story-compose-editor-v1523,
html body:not(.print-page-v4) .story-compose-modal-v1523 .story-compose-meta-v1525 input,
html body:not(.print-page-v4) .story-compose-modal-v1523 :is(.story-hashtag-field-v1537,.story-media-preview-v1525){
  background:var(--tm-neu-surface)!important;
  border-color:transparent!important;
  box-shadow:var(--tm-neu-shadow-inset)!important;
}
html body:not(.print-page-v4) .story-compose-modal-v1523 .story-compose-editor-v1523:focus-within,
html body:not(.print-page-v4) .story-compose-modal-v1523 .story-compose-meta-v1525 input:focus,
html body:not(.print-page-v4) .story-compose-modal-v1523 .story-hashtag-field-v1537:focus-within{
  border-color:transparent!important;
  box-shadow:var(--tm-neu-focus)!important;
}
html body:not(.print-page-v4) .story-compose-modal-v1523 .story-editor-toolbar-v1523{
  background:var(--tm-neu-surface-2)!important;
  border-top-color:var(--tm-neu-line)!important;
}
html body:not(.print-page-v4) .story-compose-modal-v1523 .story-comments-toggle-v1524{
  background:var(--tm-neu-surface-3)!important;
  box-shadow:var(--tm-neu-shadow-inset-sm)!important;
}
html body:not(.print-page-v4) .story-compose-modal-v1523 .story-comments-chip-v1523 input:checked + .story-comments-toggle-v1524{
  background:linear-gradient(135deg,var(--tm-neu-green),var(--tm-neu-sky))!important;
}
html body:not(.print-page-v4) .story-compose-modal-v1523 .story-media-preview-item-v1525{
  background:var(--tm-neu-surface)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
}

/* Dark parity for the two exact legacy families above. */
html[data-theme="dark"] body[data-page="trip"] #stop-add :is(.tm75-stop-panel,.tm74-stop-group-ev,.tm74-stop-group-transport),
html[data-theme="dark"] body:not(.print-page-v4) .story-compose-modal-v1523 :is(
  .story-compose-choice-card-v1523,.story-compose-card-v1523,.story-compose-profile-v1524,
  .story-source-row-v1523,.story-compose-meta-v1525>label,.story-compose-add-v1524,.story-compose-add-v1525,
  .story-support-cluster-v1530,.story-question-topic-v1523
){
  background-color:var(--tm-neu-surface)!important;
  border-color:var(--tm-neu-line)!important;
}

/* Final print guard must remain the final rule in the Design System. */
@media print{
  *{box-shadow:none!important;text-shadow:none!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
  body{background:#fff!important;color:#111!important;}
}

/* ============================================================================
   V15.1.40 · CLARITY REBALANCE
   Goal: keep Soft UI character but remove the washed-out / foggy appearance.
   Principles:
   - one shallow shadow per surface; no large opposing glow on ordinary controls
   - inputs are white with a visible border instead of deep blurry inset wells
   - blur is limited to a very light modal backdrop only
   - menus are one raised surface; rows inside remain mostly flat
   - primary actions keep clear brand color and strong contrast
   - Admin is intentionally not targeted; Admin remains on its classic stylesheet
   ============================================================================ */

:root{
  --tm-neu-bg:#F4FCFB;
  --tm-neu-surface:#FFFFFF;
  --tm-neu-surface-2:#F4FCFB;
  --tm-neu-surface-3:#ECF2F4;
  --tm-neu-text:#193446;
  --tm-neu-text-2:#4A6474;
  --tm-neu-muted:#7A8994;
  --tm-neu-line:#C5DCE0;
  --tm-neu-line-strong:#AFC9CE;

  --tm-neu-shadow-raised:0 10px 26px rgba(34,52,61,.055);
  --tm-neu-shadow-raised-sm:0 3px 10px rgba(53,79,96,.12);
  --tm-neu-shadow-raised-xs:0 2px 7px rgba(48,76,94,.08);
  --tm-neu-shadow-hover:0 15px 34px rgba(34,52,61,.075);
  --tm-neu-shadow-inset:inset 0 1px 3px rgba(55,85,106,.14);
  --tm-neu-shadow-inset-sm:inset 0 1px 2px rgba(55,85,106,.13);
  --tm-neu-shadow-blue:0 10px 22px rgba(67,200,190,.20),inset 0 1px 0 rgba(255,255,255,.90);
  --tm-neu-shadow-orange:0 5px 12px rgba(232,106,45,.20),inset 0 1px 0 rgba(255,255,255,.28);
  --tm-neu-focus:0 0 0 4px rgba(67,200,190,.12),inset 0 1px 2px rgba(55,85,106,.10);
}

/* Base surfaces: cleaner separation from the page background. */
html body:not(.print-page-v4):not(.admin-console-body):not(.admin-login-body):not(.admin-denied){
  background-color:var(--tm-neu-bg)!important;
  color:var(--tm-neu-text)!important;
}
html body:not(.print-page-v4):not([data-page="login"]):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) :is(
  .panel,.mini-panel,.ui-card,.card,.sticky-card,.form-section,.notice,
  .journey-v15-card,.journey-v15-tab-panel,.story-card-v14,.story-v16-card,
  .place-card,.booking-card,.journal-card,.collection-card,.backup-card,
  .checkin-place-card,.trip-route-card-v15108,.tm99-stop-section
){
  background-color:var(--tm-neu-surface-2)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:var(--tm-neu-shadow-raised-sm)!important;
}

/* Search is one crisp control. Search CTA is visually obvious. */
html body:not(.print-page-v4):not([data-page="login"]):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) :is(
  .triploom-gh-search-v1503,.journey-v15-search,.modal-search,.search-box,.big-search,
  .collections-wow-search-v142748,.journey-place-search-v142748,.places-wow-search-v15117
){
  background:#fff!important;
  border:1px solid var(--tm-neu-line-strong)!important;
  box-shadow:0 2px 8px rgba(48,78,98,.10)!important;
  filter:none!important;
}
html body:not(.print-page-v4):not([data-page="login"]):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) :is(
  .triploom-gh-search-v1503,.journey-v15-search,.modal-search,.search-box,.big-search,
  .collections-wow-search-v142748,.journey-place-search-v142748,.places-wow-search-v15117
):focus-within{
  border-color:rgba(31,111,218,.48)!important;
  box-shadow:0 0 0 3px rgba(31,111,218,.12),0 2px 8px rgba(48,78,98,.08)!important;
}
html body:not(.print-page-v4):not([data-page="login"]):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) :is(
  .triploom-gh-search-v1503,.journey-v15-search,.modal-search,.search-box,.big-search,
  .collections-wow-search-v142748,.journey-place-search-v142748,.places-wow-search-v15117
) input{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
html body:not(.print-page-v4):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) .triploom-gh-search-submit-v1503{
  background:linear-gradient(145deg,var(--tm-neu-sky),var(--tm-neu-blue))!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 3px 8px rgba(31,111,218,.22)!important;
  filter:none!important;
}
html body:not(.print-page-v4):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) .triploom-gh-search-submit-v1503:hover{
  background:linear-gradient(145deg,#3fb0f4,var(--tm-neu-blue-deep))!important;
  box-shadow:0 4px 10px rgba(31,111,218,.25)!important;
}

/* Secondary and icon actions: shallow shadow, visible edge, no fog/glow. */
html body:not(.print-page-v4):not([data-page="login"]):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) :is(
  .btn,.ui-button,.btn-soft,.btn-white,.triploom-gh-quick-link-v1503,.triploom-gh-all-trigger-v1503,
  .triploom-gh-circle-v1503,.triploom-gh-avatar-trigger-v1503,.icon-btn,.circle-link,.ui-circle-btn,
  .gallery-icon-btn-v27,.task-v27-icon-btn,.journal-action-v32,.trip-info-manage-action-v33,
  .modal-close,.trip-route-close-v15108,.story-compose-back-v1523
){
  background:#fff!important;
  border-color:var(--tm-neu-line-strong)!important;
  box-shadow:var(--tm-neu-shadow-raised-xs)!important;
  filter:none!important;
}
html body:not(.print-page-v4):not([data-page="login"]):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) :is(
  .btn,.ui-button,.btn-soft,.btn-white,.triploom-gh-quick-link-v1503,.triploom-gh-all-trigger-v1503,
  .triploom-gh-circle-v1503,.triploom-gh-avatar-trigger-v1503,.icon-btn,.circle-link,.ui-circle-btn,
  .gallery-icon-btn-v27,.task-v27-icon-btn,.journal-action-v32,.trip-info-manage-action-v33,
  .modal-close,.trip-route-close-v15108,.story-compose-back-v1523
):hover{
  background:#F4FCFB!important;
  border-color:rgba(31,111,218,.30)!important;
  box-shadow:0 4px 10px rgba(44,75,96,.14)!important;
  filter:none!important;
}
html body:not(.print-page-v4):not([data-page="login"]):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) :is(
  .btn,.ui-button,.btn-soft,.btn-white,.triploom-gh-quick-link-v1503,.triploom-gh-all-trigger-v1503,
  .triploom-gh-circle-v1503,.triploom-gh-avatar-trigger-v1503,.icon-btn,.circle-link,.ui-circle-btn,
  .gallery-icon-btn-v27,.task-v27-icon-btn,.journal-action-v32,.trip-info-manage-action-v33,
  .modal-close,.trip-route-close-v15108,.story-compose-back-v1523
):active{
  box-shadow:inset 0 1px 3px rgba(45,76,96,.18)!important;
  filter:none!important;
}

/* Primary actions stay crisp, colored and easy to locate. */
html body:not(.print-page-v4):not([data-page="login"]):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) :is(
  .btn-primary,.primary,.ui-button-primary,.auth-v227-primary,
  .task-v27-add-btn,
  .dashwow-btn-main
){
  background:linear-gradient(135deg,var(--tm-neu-blue),var(--tm-neu-sky-deep))!important;
  color:var(--tm-neu-text)!important;
  border-color:var(--tm-neu-sky-deep)!important;
  box-shadow:0 4px 12px rgba(36,157,152,.16)!important;
  filter:none!important;
}
html body:not(.print-page-v4):not([data-page="login"]):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) :is(
  .btn-primary,.primary,.ui-button-primary,.auth-v227-primary,
  .task-v27-add-btn,
  .dashwow-btn-main
):hover{
  background:linear-gradient(135deg,var(--tm-neu-sky-deep),var(--tm-neu-blue-deep))!important;
  color:#FFFFFF!important;
  border-color:var(--tm-neu-blue-deep)!important;
  box-shadow:0 5px 14px rgba(36,157,152,.20)!important;
  filter:none!important;
}

/* Header: nearly opaque and crisp. Remove the heavy frosted-glass effect. */
html body:not(.print-page-v4):not([data-page="login"]):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) :is(
  .topbar,.triploom-global-header-v1503,.mobile-bottom-nav,.bottom-nav
){
  background:rgba(248,251,253,.97)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:0 3px 12px rgba(48,76,94,.10)!important;
  backdrop-filter:blur(3px) saturate(103%)!important;
  -webkit-backdrop-filter:blur(3px) saturate(103%)!important;
}

/* Popovers: one elevated shell. Rows inside are flat so the eye has one focus. */
html body:not(.print-page-v4):not([data-page="login"]):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) :is(
  .triploom-gh-mega-v1503,.triploom-gh-notification-popover-v1503,
  .triploom-gh-notification-popover-v15019,.triploom-gh-account-menu-v1506,
  .top-account-menu-v142727,.language-popover,.triploom-language-popover-v1504,
  .story-v16-menu>div,.trip-card-menu-panel,.trip-hero-menu-panel,.journey-v15-follow-menu
){
  background:#fff!important;
  border:1px solid var(--tm-neu-line-strong)!important;
  box-shadow:0 12px 30px rgba(37,62,78,.18)!important;
  filter:none!important;
}
html body:not(.print-page-v4):not([data-page="login"]):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) :is(
  .triploom-gh-mega-group-v1503>a,.triploom-gh-account-link-v1503,
  .triploom-gh-account-mini-grid-v1506>a,.language-popover>button,
  .triploom-gh-notification-list-v15019>a,.story-v16-menu button,
  .trip-card-menu-panel a,.trip-card-menu-panel button,.trip-hero-menu-panel a,.trip-hero-menu-panel button,
  .journey-v15-follow-menu button
){
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  filter:none!important;
}
html body:not(.print-page-v4):not([data-page="login"]):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) :is(
  .triploom-gh-mega-group-v1503>a,.triploom-gh-account-link-v1503,
  .triploom-gh-account-mini-grid-v1506>a,.language-popover>button,
  .triploom-gh-notification-list-v15019>a,.story-v16-menu button,
  .trip-card-menu-panel a,.trip-card-menu-panel button,.trip-hero-menu-panel a,.trip-hero-menu-panel button,
  .journey-v15-follow-menu button
):hover{
  background:#eef6fb!important;
  color:var(--tm-neu-blue-deep)!important;
  box-shadow:none!important;
}
html body:not(.print-page-v4):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) .triploom-gh-account-journey-card-v1506{
  background:#f5f9fc!important;
  border:1px solid var(--tm-neu-line)!important;
  box-shadow:0 2px 7px rgba(48,76,94,.08)!important;
}
html body:not(.print-page-v4):not([data-page="login"]):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) :is(
  .triploom-gh-account-link-v1503>span,.triploom-gh-mega-group-v1503>a>span,
  .triploom-gh-notification-avatar-v15019
){
  box-shadow:none!important;
  border:1px solid var(--tm-neu-line)!important;
}

/* Modal backdrop: enough separation without turning the page into frosted fog. */
html body:not(.print-page-v4):not([data-page="login"]):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) :is(
  .modal,.task-v27-modal,.story-v16-modal,.premium-modal-v1547,.pack-v167-modal-backdrop
){
  background-color:rgba(18,38,52,.46)!important;
  backdrop-filter:blur(2px) saturate(100%)!important;
  -webkit-backdrop-filter:blur(2px) saturate(100%)!important;
}
html body:not(.print-page-v4):not([data-page="login"]):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) :is(
  .modal-card,.task-v27-modal-card,.story-v16-compose-card,.premium-modal-shell-v1547,
  .pack-v167-modal-card,.level-feature-modal-card,.level-feature-modal-card-v142733,
  .level-badge-modal-card,.booking-attachment-card-v144,.journal-view-card-v06,
  .trip-route-modal-v15108
){
  background:#F4FCFB!important;
  border:1px solid rgba(102,130,147,.28)!important;
  box-shadow:0 20px 50px rgba(24,49,64,.26)!important;
  filter:none!important;
}

/* Do not turn every row inside a modal into another floating card. */
html body:not(.print-page-v4):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) .modal-card .form-stack>:is(
  label,.form-grid,.check-line,.switch-row
){
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
html body[data-page="trip"] .modal[data-trip-mobile-modal="1"] :is(
  .trip-route-section-v15108,.tm91-smart-scroll,.tm74-stop-scroll,.tm92-stop-edit-scroll,.tm89-day-scroll,
  .booking-modal-body-v141,.v152-vault-modal-body,.journal-view-body-v06
){
  background:#F4FCFB!important;
  border-color:transparent!important;
  box-shadow:none!important;
}

/* Trip Stop Add/Edit: clear section cards, white fields, focused selected transport. */
html body[data-page="trip"] :is(#stop-add,#stop-edit-modal) .tm99-stop-section{
  background:#F4FCFB!important;
  border:1px solid rgba(95,127,146,.22)!important;
  box-shadow:0 4px 14px rgba(43,72,89,.10)!important;
}
html body[data-page="trip"] :is(#stop-add,#stop-edit-modal) .tm99-stop-section :is(
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
  select,textarea,.triploom-select-v1565,.tm92-map-shell,.ev-charge-input-shell,.map-input-wrap
){
  background:#fff!important;
  border:1px solid rgba(78,112,132,.30)!important;
  box-shadow:inset 0 1px 2px rgba(59,87,105,.10)!important;
  filter:none!important;
}
html body[data-page="trip"] :is(#stop-add,#stop-edit-modal) .tm99-stop-section :is(
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
  select,textarea,.triploom-select-v1565,.tm92-map-shell,.ev-charge-input-shell,.map-input-wrap
):focus-within{
  border-color:rgba(31,111,218,.50)!important;
  box-shadow:0 0 0 3px rgba(31,111,218,.10),inset 0 1px 2px rgba(59,87,105,.08)!important;
}
html body[data-page="trip"] :is(#stop-add,#stop-edit-modal) .stop-transport-choice{
  background:#fff!important;
  border-color:rgba(78,112,132,.28)!important;
  box-shadow:0 2px 7px rgba(43,72,89,.08)!important;
  filter:none!important;
}
html body[data-page="trip"] :is(#stop-add,#stop-edit-modal) .stop-transport-choice:hover{
  border-color:rgba(47,181,173,.58)!important;
  box-shadow:0 4px 10px rgba(43,72,89,.11)!important;
}
html body[data-page="trip"] :is(#stop-add,#stop-edit-modal) .stop-transport-choice:has(input[type="radio"]:checked){
  background:linear-gradient(180deg,#39bbb2 0%,#2da69f 100%)!important;
  border-color:#2da69f!important;
  box-shadow:0 5px 12px rgba(45,166,159,.22)!important;
}

/* Expense add/edit: the approved simple form remains simple, but fields are readable. */
html body[data-page="trip"] :is(#expense-add-modal,#expense-edit-modal,#expense-actual-modal,#expense-payer-modal) :is(
  .expense-add-fields-v1553,.expense-modal-section-v28,.tm73-panel,.tm88-panel,.tm98-panel
){
  background:#eef5f8!important;
  border-color:rgba(78,112,132,.18)!important;
  box-shadow:none!important;
}
html body[data-page="trip"] :is(#expense-add-modal,#expense-edit-modal,#expense-actual-modal,#expense-payer-modal) :is(
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),select,textarea,.triploom-select-v1565
){
  background:#fff!important;
  border:1px solid rgba(78,112,132,.32)!important;
  box-shadow:inset 0 1px 2px rgba(59,87,105,.09)!important;
}

/* Story composer: fields and upload area must remain distinguishable at a glance. */
html body:not(.print-page-v4) #story-v16-compose.story-v16-modal .story-v16-compose-card,
html body:not(.print-page-v4) .story-compose-modal-v1523 .story-compose-card-v1523{
  background:#F4FCFB!important;
  border-color:rgba(95,127,146,.24)!important;
  box-shadow:0 20px 50px rgba(24,49,64,.25)!important;
}
html body:not(.print-page-v4) #story-v16-compose .story-v16-compose-form :is(
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),textarea,select,.triploom-select-v1565
),
html body:not(.print-page-v4) .story-compose-modal-v1523 :is(
  .story-compose-editor-v1523,.story-compose-meta-v1525 input,.story-hashtag-field-v1537
){
  background:#fff!important;
  border:1px solid rgba(78,112,132,.31)!important;
  box-shadow:inset 0 1px 2px rgba(59,87,105,.09)!important;
}
html body:not(.print-page-v4) #story-v16-compose :is(
  .story-v16-choice>div>button,.story-v16-attach-group,.story-v16-trip-attach,
  .trip-image-field-v15114 .trip-upload-basic-card-v15114,label.trip-image-upload-v15114
),
html body:not(.print-page-v4) .story-compose-modal-v1523 :is(
  .story-compose-choice-v1523,.story-compose-profile-v1524,.story-source-row-v1523,
  .story-compose-add-v1524,.story-compose-add-v1525,.story-support-cluster-v1530,.story-question-topic-v1523
){
  background:#fff!important;
  border:1px solid rgba(78,112,132,.24)!important;
  box-shadow:0 2px 7px rgba(43,72,89,.08)!important;
  filter:none!important;
}

/* Upload controls: dashed/outlined area rather than a deep inset well. */
html body:not(.print-page-v4):not([data-page="login"]):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) :is(
  .upload-box,.booking-upload-box-v148,.gallery-upload-box-premium-v1563,.journal-upload-v31,
  .journal-upload-premium-v1564,.route-cover-upload-v35,.trip-uploader-direct-v252,
  .trip-media-uploader-v15115
){
  background:#fff!important;
  border-color:rgba(31,111,218,.28)!important;
  box-shadow:none!important;
}

/* Share/community pills shown in journey/story areas: visible but not glowing. */
html body:not(.print-page-v4):not([data-page="login"]):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) :is(
  .journey-v15-share-btn,.journey-v15-community-btn,.story-share-from-footprint,.story-community-action,
  [data-story-share],[data-story-community]
){
  background:#fff!important;
  border-color:rgba(31,111,218,.28)!important;
  color:var(--tm-neu-blue-deep)!important;
  box-shadow:0 3px 9px rgba(44,75,96,.11)!important;
  filter:none!important;
}

/* Disabled remains clear without excessive desaturation/fog. */
html body:not(.print-page-v4):not([data-page="login"]):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) :is(button,input,select,textarea):disabled{
  opacity:.58!important;
  filter:none!important;
  box-shadow:none!important;
}

/* Dark theme parity: crisp dark surfaces, no glowing double shadow. */
html[data-theme="dark"]{
  --tm-neu-bg:#192630;
  --tm-neu-surface:#202f3a;
  --tm-neu-surface-2:#243541;
  --tm-neu-surface-3:#17232c;
  --tm-neu-text:#eef6fb;
  --tm-neu-text-2:#c8d5de;
  --tm-neu-muted:#9eb0bd;
  --tm-neu-line:rgba(206,225,237,.12);
  --tm-neu-line-strong:rgba(206,225,237,.22);
  --tm-neu-shadow-raised:0 5px 16px rgba(5,12,17,.30);
  --tm-neu-shadow-raised-sm:0 3px 10px rgba(5,12,17,.28);
  --tm-neu-shadow-raised-xs:0 2px 6px rgba(5,12,17,.26);
  --tm-neu-shadow-hover:0 6px 16px rgba(3,9,14,.36);
  --tm-neu-shadow-inset:inset 0 1px 3px rgba(5,12,17,.34);
  --tm-neu-shadow-inset-sm:inset 0 1px 2px rgba(5,12,17,.32);
}
html[data-theme="dark"] body:not(.print-page-v4):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) :is(
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),textarea,select,
  .triploom-gh-search-v1503,.triploom-select-v1565
){
  background:#243541!important;
  border-color:rgba(206,225,237,.20)!important;
  color:var(--tm-neu-text)!important;
}
html[data-theme="dark"] body:not(.print-page-v4):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) :is(
  .topbar,.triploom-global-header-v1503,.mobile-bottom-nav,.bottom-nav
){
  background:rgba(28,42,53,.97)!important;
}
html[data-theme="dark"] body:not(.print-page-v4):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) :is(
  .triploom-gh-mega-v1503,.triploom-gh-notification-popover-v1503,.triploom-gh-notification-popover-v15019,
  .triploom-gh-account-menu-v1506,.language-popover,.story-v16-menu>div,.trip-card-menu-panel,.trip-hero-menu-panel
){
  background:#22323e!important;
}

@media(max-width:640px){
  :root{
    --tm-neu-shadow-raised:0 4px 12px rgba(53,79,96,.12);
    --tm-neu-shadow-raised-sm:0 3px 8px rgba(53,79,96,.11);
    --tm-neu-shadow-hover:0 5px 12px rgba(44,75,96,.14);
  }
  html body:not(.print-page-v4):not([data-page="login"]):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) :is(
    .modal-card,.task-v27-modal-card,.story-v16-compose-card,.premium-modal-shell-v1547,.trip-route-modal-v15108
  ){
    box-shadow:0 12px 32px rgba(24,49,64,.24)!important;
  }
}

/* Final print guard. */
@media print{
  *{box-shadow:none!important;text-shadow:none!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
  body{background:#fff!important;color:#111!important;}
}

/* V15.1.40 supplement: remove remaining hard-coded legacy blur/glow. */
html body:not(.print-page-v4):not([data-page="login"]):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) :is(.modal,.story-v16-modal)::before{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body[data-page="login"] .auth-v227-card,
body[data-page="register"] .auth-v227-card,
body[data-page="forgot"] .auth-v227-card,
body[data-page="reset"] .auth-v227-card{
  background:rgba(248,251,253,.98)!important;
  border-color:rgba(74,105,126,.20)!important;
  box-shadow:0 14px 34px rgba(45,70,87,.16)!important;
}
.triploom-public-page .triploom-public-topbar{
  background:rgba(248,251,253,.97)!important;
  border-color:var(--tm-neu-line)!important;
  box-shadow:0 3px 12px rgba(48,76,94,.10)!important;
  backdrop-filter:blur(3px)!important;
  -webkit-backdrop-filter:blur(3px)!important;
}
html body:not(.print-page-v4):not([data-page="login"]):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) :is(.table-wrap,.data-table-wrap){
  background:#fff!important;
  border:1px solid var(--tm-neu-line)!important;
  box-shadow:0 3px 10px rgba(53,79,96,.09)!important;
}
html body:not(.print-page-v4):not([data-page="login"]):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) :is(.trip-media-empty-v15115,[class*="upload-drop"],[class*="dropzone"]){
  background:#fff!important;
  border-color:rgba(31,111,218,.24)!important;
  box-shadow:none!important;
}

@media print{
  *{box-shadow:none!important;text-shadow:none!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
  body{background:#fff!important;color:#111!important;}
}

/* ============================================================================
   V15.2.0 · CANONICAL VIBRANT SOFT TRAVEL PALETTE
   User-facing canonical palette. Component-specific ownership files may follow. Admin remains isolated.
   Distribution target: 65–70% light aqua/white · 20–25% turquoise · ≤10% accents.
   ============================================================================ */
:root{
  --tl-primary:#43C8BE;
  --tl-primary-deep:#249D98;
  --tl-ocean-teal:#249D98;
  --tl-accent:#2E88D8;
  --tl-mint:#DDF7F4;
  --tl-bg:#F4FCFB;
  --tl-canvas:#E6EDF0;
  --tl-surface-2:#ECF2F4;
  --tl-sky:#8EDFF0;
  --tl-green:#73C98A;
  --tl-orange:#FF9B5E;
  --tl-yellow:#FFD15C;
  --tl-navy:#193446;
  --tl-slate:#7A8994;
  --tl-border:#C5DCE0;
  --tl-white:#FFFFFF;
  --tl-red:#E25563;
  --tl-red-soft:#FFF0F2;

  /* Derived tints are intentionally built from the approved core palette. */
  --tl-primary-soft:#DDF7F4;
  --tl-primary-faint:#F4FCFB;
  --tl-sky-soft:#EAF9FC;
  --tl-green-soft:#EFF9F1;
  --tl-orange-soft:#FFF3EA;
  --tl-yellow-soft:#FFF8E2;
  --tl-border-strong:#AFC9CE;
  --tl-shadow:0 10px 26px rgba(34,52,61,.055);
  --tl-shadow-hover:0 15px 34px rgba(34,52,61,.075);
  --tl-focus:0 0 0 4px rgba(67,200,190,.12);

  /* Compatibility aliases for older component names; same new palette underneath. */
  --tl-ocean:var(--tl-primary);
  --tl-ocean-deep:var(--tl-ocean-teal);
  --tl-ocean-soft:var(--tl-primary-soft);
  --tl-turquoise:var(--tl-primary-deep);
  --tl-turquoise-soft:var(--tl-mint);
  --tl-coral:var(--tl-orange);
  --tl-coral-soft:var(--tl-orange-soft);
  --tl-purple:var(--tl-sky);
  --tl-purple-soft:var(--tl-sky-soft);

  /* L2 design contract: 4px rhythm, typography, radius, elevation and layers. */
  --tl-space-1:4px;--tl-space-2:8px;--tl-space-3:12px;--tl-space-4:16px;--tl-space-5:20px;--tl-space-6:24px;--tl-space-7:28px;--tl-space-8:32px;--tl-space-10:40px;
  --tl-radius:20px;--tl-radius-sm:14px;--tl-modal-radius:30px;--tl-control-radius:16px;--tl-action-radius:13px;
  --tl-elevation-subtle:0 3px 10px rgba(53,79,96,.12);
  --tl-elevation-medium:0 3px 12px rgba(48,76,94,.10);
  --tl-elevation-default:0 24px 60px rgba(34,52,61,.08);
  --tl-elevation-small:0 10px 28px rgba(34,52,61,.06);
  --tl-elevation-soft3d:0 10px 22px rgba(34,52,61,.09),inset 0 1px 0 rgba(255,255,255,.90);
  --tl-elevation-pressed:0 6px 14px rgba(15,23,42,.12),inset 0 2px 5px rgba(15,23,42,.12);
  --tl-motion:160ms cubic-bezier(.2,.75,.2,1);
  --tl-font-display:clamp(34px,4vw,52px);--tl-font-title:20px;--tl-font-body:14px;
  --tl-leading-display:1.02;--tl-leading-title:1.22;--tl-leading-body:1.55;
  --tl-z-base:0;--tl-z-nav:1000;--tl-z-sticky:1100;--tl-z-overlay:1300;--tl-z-modal:1400;--tl-z-popover:1520;--tl-z-dropdown:1540;--tl-z-dialog:1600;--tl-z-toast:1650;--tl-z-tooltip:1700;
  --tl-control-height:44px;
}
html body:not(.print-page-v4){font-size:var(--tl-font-body);line-height:var(--tl-leading-body);}
html body:not(.print-page-v4) :where(.display-title,.hero-title,.page-display-title){font-size:var(--tl-font-display);line-height:var(--tl-leading-display);letter-spacing:clamp(-2.34px,-.16vw,-1px);font-weight:700;}
html body:not(.print-page-v4) :where(.section-title,.card-title){font-size:var(--tl-font-title);line-height:var(--tl-leading-title);letter-spacing:-.4px;font-weight:800;}
@media(max-width:767px){:root{--tl-font-display:clamp(30px,9vw,40px);--tl-font-title:19px;}}

/* Foundation — a cool, clean travel canvas. */
html{background:var(--tl-bg)!important;}
html body:not(.print-page-v4):not(.admin-console-body):not(.admin-login-body):not(.admin-denied){
  background:
    radial-gradient(circle at 12% -8%,rgba(142,223,240,.16),transparent 30%),
    linear-gradient(180deg,#FFFFFF 0%,var(--tl-bg) 22%,var(--tl-bg) 100%)!important;
  color:var(--tl-navy)!important;
}
html body:not(.print-page-v4):not([data-page="login"]) :where(h1,h2,h3,h4,h5,h6,strong,b){color:var(--tl-navy)}
html body:not(.print-page-v4):not([data-page="login"]) :where(.muted,.meta,.helper,.hint,.subtext,.eyebrow:not(.light),small){color:var(--tl-slate)}
html body:not(.print-page-v4):not([data-page="login"]) :where(a.text-link,.text-link,.stop-links a,.travel-leg>a){color:var(--tl-ocean-teal)!important}

/* Header / navigation: white surfaces, turquoise interaction only. */
html body:not(.print-page-v4):not([data-page="login"]) :where(.topbar,.topbar-v142727,.triploom-global-header-v1503){
  background:rgba(255,255,255,.96)!important;
  border-bottom-color:var(--tl-border)!important;
  box-shadow:0 4px 16px rgba(36,157,152,.07)!important;
}
html body:not(.print-page-v4):not([data-page="login"]) :where(.theme-toggle,.language-current,.notification-trigger,.top-action-btn,.top-actions .icon-btn,.ui-pref-controls button,.triploom-gh-utility-btn-v1503){
  background:var(--tl-white)!important;
  border-color:var(--tl-border)!important;
  color:var(--tl-slate)!important;
  box-shadow:0 3px 10px rgba(36,157,152,.07)!important;
}
html body:not(.print-page-v4):not([data-page="login"]) :where(.theme-toggle,.language-current,.notification-trigger,.top-action-btn,.top-actions .icon-btn,.ui-pref-controls button,.triploom-gh-utility-btn-v1503):hover{
  background:var(--tl-mint)!important;border-color:var(--tl-primary)!important;color:var(--tl-ocean-teal)!important;
}

/* Cards, popups and content groups. */
html body:not(.print-page-v4):not([data-page="login"]) :where(
  .panel,.mini-panel,.card,.ui-card,.sticky-card,.form-section,.booking-card,.journal-card,.place-card,.collection-card,
  .trip-card-v2,.calendar-day,.stop-card,.task-v27-card,.expense-row,.check-item,.triploom-ds-modal-card,
  .trip-route-card-v15108,.tm99-stop-section,.tm94-stop-group-plain,.tm15154-route-block,
  .story-v16-card,.journey-v15-card,.triploom-public-card,.triploom-legal-card
){
  background-color:var(--tl-white)!important;
  border-color:var(--tl-border)!important;
  box-shadow:var(--tl-shadow)!important;
}
html body:not(.print-page-v4):not([data-page="login"]) :where(.panel,.mini-panel,.card,.ui-card,.trip-card-v2,.place-card,.booking-card,.story-v16-card,.journey-v15-card):hover{
  border-color:var(--tl-primary)!important;box-shadow:var(--tl-shadow-hover)!important;
}

/* Primary actions: turquoise first; deep teal carries hover and stronger emphasis. */
html body:not(.print-page-v4):not([data-page="login"]) :where(.btn-primary,.ui-button-primary,.primary,.trip-primary-action,.auth-v227-primary){
  background:var(--tl-primary)!important;
  border-color:rgba(25,52,70,.12)!important;color:var(--tl-navy)!important;
  box-shadow:var(--tl-elevation-soft3d)!important;
}
html body:not(.print-page-v4):not([data-page="login"]) :where(.btn-primary,.ui-button-primary,.primary,.trip-primary-action,.auth-v227-primary):hover{
  background:#36B9B0!important;color:var(--tl-navy)!important;box-shadow:var(--tl-shadow-hover)!important;
}
/* High-specificity route/modal CTA repair: overrides historic inline !important colors. */
html body[data-page=trip] .modal[data-trip-mobile-modal="1"] :is(.trip-route-footer-v15108,.tm91-smart-footer,.tm74-stop-footer,.tm92-stop-edit-footer,.tm89-day-footer) :is(.btn-primary,button[type=submit],.tm91-smart-save,.stop-add-submit,.tm92-stop-edit-save,.tm89-day-save),
html body[data-page=trip] [data-pack-add-modal][data-trip-mobile-modal="1"] .pack-add-footer-v1559 .btn{
  background:var(--tl-primary)!important;
  background-image:none!important;
  color:var(--tl-navy)!important;border-color:#FFFFFF!important;box-shadow:var(--tl-elevation-soft3d)!important;
}


/* V15.4.04: trip-tab hero CTA classes are intentionally excluded from global primary mappings. Their sole visual owner is trip-tab-travel-hero-v15404.css. */
/* Tabs/menu active: pale mint surface + strong teal text, per brand rule. */
html body:not(.print-page-v4):not([data-page="login"]) :where(
  .trip-tabs a.active,.tabs a.active,.tab.active,.nav-tab.active,.side-item.active,.day-strip a.active,
  .triploom-mobile-dock-item-v15146.is-active,.triploom-mobile-dock-item-v15146[aria-current=page]
){
  background:var(--tl-mint)!important;color:var(--tl-ocean-teal)!important;
  border-color:var(--tl-primary)!important;box-shadow:0 3px 10px rgba(36,157,152,.10)!important;
}
html body:not(.print-page-v4):not([data-page="login"]) :where(.trip-tabs a:not(.active),.tabs a:not(.active),.nav-tab:not(.active)){color:var(--tl-slate)!important}
html body:not(.print-page-v4):not([data-page="login"]) :where(.trip-tabs a:not(.active),.tabs a:not(.active),.nav-tab:not(.active)):hover{background:var(--tl-bg)!important;color:var(--tl-ocean-teal)!important}

/* Hero / banner: approved turquoise → sky travel gradient. */
html body[data-page=dashboard] :where(.hero-v2,.journey-v15-hero),
html body[data-page=provinces] :where(.places-wow-hero-v15117,.province-hero.no-image),
html body[data-page=trips] :where(.hero-v2),
html body:not(.print-page-v4):not([data-page="login"]) :where(.trip-hero-gradient,.travel-gradient-banner){
  background:linear-gradient(135deg,var(--tl-primary) 0%,var(--tl-accent) 100%)!important;
}

/* Secondary accents are deliberately sparse. */
html body:not(.print-page-v4):not([data-page="login"]) :where(.btn-orange,.btn-peach,.action-orange,.place-highlight,.featured-place,.place-featured,.journey-accent-action){
  background:var(--tl-orange-soft)!important;color:#B86132!important;border-color:#FFD7C1!important;
}
html body:not(.print-page-v4):not([data-page="login"]) :where(.notice.success,.flash.success,.status-success,.status-completed,.badge-green,.badge-success,.state-verified,.btn-checkin-v9.is-valid){
  background:var(--tl-green-soft)!important;color:#438257!important;border-color:#C9E8D1!important;
}
html body:not(.print-page-v4):not([data-page="login"]) :where(.btn-checkin-v9,.v9-checkin-link,.checkin-action,.checkin-button,.status-checkin){
  background:var(--tl-primary-deep)!important;color:#fff!important;border-color:var(--tl-primary-deep)!important;
}
html body:not(.print-page-v4):not([data-page="login"]) :where(.notice.warning,.status-pending,.badge-warning,.pending,.xp-chip,.xp-badge,.rating-chip,.rating-badge,.level-hub-badge){
  background:var(--tl-yellow-soft)!important;color:#8A6712!important;border-color:#F2DC9B!important;
}
html body:not(.print-page-v4):not([data-page="login"]) :where(.btn-danger,.notice.error,.flash.error,.badge-danger,.status-error,.delete,.mini-delete){
  background:var(--tl-red-soft)!important;color:#B83B49!important;border-color:#F0BBC1!important;
}

/* Former purple/coral feature colors are folded into the approved sky/turquoise/orange palette. */
html body:not(.print-page-v4):not([data-page="login"]) :where(.ai-chip,.ai-badge,.smart-planner-badge,.tm91-smart-brand,.tm91-smart-action-icon){
  background:var(--tl-sky-soft)!important;color:var(--tl-ocean-teal)!important;border-color:var(--tl-border)!important;
}
html body:not(.print-page-v4):not([data-page="login"]) :where(.tm91-smart-action-btn-primary,.ai-primary-action){
  background:linear-gradient(135deg,var(--tl-sky),var(--tl-primary-deep))!important;color:#fff!important;border-color:transparent!important;
}
html body[data-trip-tab=gallery] :where(.gallery-icon-btn-v27.active,.trip-tab-hero-gallery-btn-v28.is-primary),
html body:not(.print-page-v4):not([data-page="login"]) :where(.couple-owner-badge-v241,.story-community-badge-v14,.social-accent){
  background:var(--tl-orange-soft)!important;color:#B86132!important;border-color:#FFD7C1!important;
}
html body[data-trip-tab=gallery] .trip-tab-hero-gallery-btn-v28.is-primary{background:var(--tl-orange)!important;color:#fff!important}

/* Stat icons and EV states. */
html body:not(.print-page-v4) .stat-icon.green{background:var(--tl-green-soft)!important;color:#4B9A60!important}
html body:not(.print-page-v4) .stat-icon.mint{background:var(--tl-mint)!important;color:var(--tl-ocean-teal)!important}
html body:not(.print-page-v4) .stat-icon.peach{background:var(--tl-orange-soft)!important;color:#B86132!important}
html body:not(.print-page-v4) .stat-icon.sand{background:var(--tl-yellow-soft)!important;color:#8A6712!important}
html body[data-page=trip] :where(.stop-icon,.map-stop-list>div>span,.travel-leg>span){background:var(--tl-mint)!important;color:var(--tl-ocean-teal)!important}
html body[data-page=trip] .stop-card:before{border-color:var(--tl-primary-deep)!important}
html body[data-page=trip] :where(.ev-leg-battery.safe,.battery-safe,.battery-good){background:var(--tl-green-soft)!important;color:#438257!important;border-color:#C9E8D1!important}
html body[data-page=trip] :where(.ev-leg-battery.low,.battery-low){background:var(--tl-orange-soft)!important;color:#B86132!important;border-color:#FFD7C1!important}
html body[data-page=trip] :where(.ev-leg-battery.danger,.battery-danger){background:var(--tl-red-soft)!important;color:#B83B49!important;border-color:#F0BBC1!important}

/* Authentication follows the exact same brand system. */
html body:not(.print-page-v4):not([data-page="login"]) :where(.auth-v227-heading h2,.auth-v227-section-title b){color:var(--tl-navy)!important}
html body:not(.print-page-v4):not([data-page="login"]) :where(.auth-v227-control,.auth-v227-select-control){background:#fff!important;border-color:var(--tl-border)!important}
html body:not(.print-page-v4):not([data-page="login"]) :where(.auth-v227-control>i,.auth-v227-eye){color:var(--tl-ocean-teal)!important;background:var(--tl-mint)!important;border-color:var(--tl-border)!important}
html body:not(.print-page-v4) .auth-v227-primary{background:linear-gradient(135deg,var(--tl-primary),var(--tl-primary-deep))!important;box-shadow:0 10px 24px rgba(36,157,152,.18)!important}
html body:not(.print-page-v4) .auth-v227-create{border-color:var(--tl-primary-deep)!important;color:var(--tl-ocean-teal)!important;background:#fff!important}
html body:not(.print-page-v4) .auth-v227-noverify{background:var(--tl-mint)!important;border-color:var(--tl-border)!important;color:var(--tl-ocean-teal)!important}

/* Search / mobile dock / date picker / footer. */
html body:not(.print-page-v4) .triploom-search-v15146{background:var(--tl-white)!important;border-color:var(--tl-border)!important}
html body:not(.print-page-v4) .triploom-search-v15146:focus-within{background:#fff!important;border-color:var(--tl-primary-deep)!important;box-shadow:var(--tl-focus)!important}
html body:not(.print-page-v4):not([data-page="login"]) :where(.triploom-date-picker-day.is-selected,.triploom-date-picker-range-start,.triploom-date-picker-range-end){background:var(--tl-primary-deep)!important;color:#fff!important}
html body:not(.print-page-v4) .triploom-date-picker-day.is-today:not(.is-selected){border-color:var(--tl-primary-deep)!important;color:var(--tl-ocean-teal)!important;background:var(--tl-bg)!important}
html body:not(.print-page-v4) .triploom-date-picker-range-middle{background:var(--tl-mint)!important;color:var(--tl-ocean-teal)!important}
html body:not(.print-page-v4) .triploom-app-footer-v15147{background:linear-gradient(180deg,#FFFFFF 0%,var(--tl-bg) 38%,var(--tl-mint) 135%)!important;color:var(--tl-navy)!important;border-top-color:var(--tl-border)!important}
html body:not(.print-page-v4) .triploom-app-footer-v15147 :where(h3,.footer-heading){color:var(--tl-ocean-teal)!important}
html body:not(.print-page-v4) .triploom-app-footer-v15147 :where(a,p,small){color:var(--tl-slate)!important}
html body:not(.print-page-v4) .triploom-app-footer-v15147 a:hover{color:var(--tl-primary-deep)!important}

/* Public/legal pages use the same surfaces. */
.triploom-public-page{background:var(--tl-bg)!important;color:var(--tl-navy)!important}
.triploom-public-page :where(.triploom-public-topbar,.triploom-legal-card,.triploom-about-card,.triploom-public-card){background:#fff!important;border-color:var(--tl-border)!important;box-shadow:var(--tl-shadow)!important}
.triploom-public-page :where(a,.triploom-public-account){color:var(--tl-ocean-teal)!important}

/* Dark mode keeps dark surfaces but all accent hues stay in the same turquoise system. */
html[data-theme=dark]{
  --tl-white:#1D3034;--tl-navy:#EDF9F8;--tl-slate:#A9C1C4;--tl-bg:#14272B;--tl-border:#31565A;--tl-border-strong:#447176;
  --tl-mint:#203E40;--tl-primary-soft:#203E40;--tl-primary-faint:#172E32;--tl-sky-soft:#203A42;
}
html[data-theme=dark] body:not(.print-page-v4):not(.admin-console-body):not(.admin-login-body):not(.admin-denied){background:#14272B!important;color:var(--tl-navy)!important}
html[data-theme=dark] body:not(.print-page-v4):not([data-page="login"]) :where(.topbar,.topbar-v142727,.triploom-global-header-v1503){background:rgba(29,48,52,.97)!important;border-bottom-color:var(--tl-border)!important}
@media(max-width:800px){html body:not(.print-page-v4):not([data-page="login"]) :where(.panel,.mini-panel,.card,.ui-card,.trip-card-v2,.place-card,.booking-card){box-shadow:0 3px 12px rgba(36,157,152,.055)!important}}

/* TRIPLOOM V15.1.52 · CANONICAL POPUP BACKDROP
   One neutral black-dimmed, lightly blurred page backdrop for user-facing dialogs.
   Panel/card surfaces remain white; Admin and print pages are intentionally excluded. */
:root{
  --tl-popup-backdrop:rgba(5,14,20,.56);
  --tl-popup-backdrop-dark:rgba(0,7,12,.68);
  --tl-popup-backdrop-blur:5px;
}
html body:not(.print-page-v4):not([data-page="login"]):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) :is(
  .modal,
  [data-trip-popup-v200],
  .task-v27-modal,
  .story-v16-modal,
  .story-compose-modal-v1523,
  .premium-modal-v1547,
  .journey-v15-media-choice-backdrop-v237,
  .level-feature-modal,
  .level-feature-modal-v142733,
  .level-badge-modal,
  .levelup-celebration-modal
){
  background:var(--tl-popup-backdrop)!important;
  background-color:var(--tl-popup-backdrop)!important;
  background-image:none!important;
  -webkit-backdrop-filter:blur(var(--tl-popup-backdrop-blur)) saturate(92%)!important;
  backdrop-filter:blur(var(--tl-popup-backdrop-blur)) saturate(92%)!important;
}
html[data-theme="dark"] body:not(.print-page-v4):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) :is(
  .modal,
  [data-trip-popup-v200],
  .task-v27-modal,
  .story-v16-modal,
  .story-compose-modal-v1523,
  .premium-modal-v1547,
  .journey-v15-media-choice-backdrop-v237,
  .level-feature-modal,
  .level-feature-modal-v142733,
  .level-badge-modal,
  .levelup-celebration-modal
){background:var(--tl-popup-backdrop-dark)!important;background-color:var(--tl-popup-backdrop-dark)!important}

/* Modal cards are the only white/surface layer. Never paint the viewport/root white. */
html body:not(.print-page-v4):not([data-page="login"]):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) :is(
  .modal-card,.task-v27-modal-card,.story-v16-compose-card,.story-compose-choice-card-v1523,
  .premium-modal-shell-v1547,.pack-v167-modal-card,.level-feature-modal-card,.level-feature-modal-card-v142733,
  .level-badge-modal-card,.booking-attachment-card-v144,.journal-view-card-v06,.trip-route-card-v15108
){background-color:var(--tl-white)!important}



/* Direct date entry stays visually integrated with its date-field shell. */
html body:not(.print-page-v4):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) .trip-date-field-direct-v15152>.trip-date-entry-v15152{
  background:transparent!important;background-image:none!important;border:0!important;outline:0!important;box-shadow:none!important;
  border-radius:12px 0 0 12px!important;min-height:44px!important;height:44px!important;padding:0 10px 0 14px!important;
}
html body:not(.print-page-v4):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) .trip-date-field-direct-v15152>.trip-date-entry-v15152:focus{
  background:transparent!important;border:0!important;outline:0!important;box-shadow:none!important;
}

html body:not(.print-page-v4):not(.admin-console-body):not(.admin-login-body):not(.admin-denied) [data-pack-add-modal][data-trip-popup-v200]>.pack-v167-modal-backdrop{background:transparent!important;background-color:transparent!important;background-image:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}

/* V15.1.86: form-control visual ownership moved to triploom-form-controls-v15186.css. */


/* V15.4.04: removed legacy gallery/journal hero CTA contrast repair; canonical hero stylesheet owns all hero action button visuals. */

/* TRIPLOOM V15.1.92 · trip tab emphasis + add-action polish + map day-filter shell cleanup */
body[data-page="trip"] .trip-tabs-top-shell .trip-tabs>a{
  border:1px solid rgba(197,220,224,.78)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.78) 0%,rgba(245,251,250,.92) 100%)!important;
  box-shadow:0 4px 10px rgba(34,97,112,.06),inset 0 1px 0 rgba(255,255,255,.95)!important;
}
body[data-page="trip"] .trip-tabs-top-shell .trip-tabs>a:hover{
  border-color:rgba(92,188,208,.45)!important;
  background:linear-gradient(180deg,#FFFFFF 0%,#F3FBFC 100%)!important;
  color:var(--tm-neu-blue-deep)!important;
  box-shadow:0 7px 16px rgba(34,97,112,.10),inset 0 1px 0 rgba(255,255,255,.98)!important;
}
body[data-page="trip"] .trip-tabs-top-shell .trip-tabs>a.active{
  border-color:rgba(255,255,255,.88)!important;
  background:linear-gradient(145deg,#43C8BE 0%,#34B8D6 55%,#2E88D8 100%)!important;
  color:#fff!important;
  box-shadow:0 12px 24px rgba(41,136,216,.24),inset 0 1px 0 rgba(255,255,255,.32),inset 0 -2px 0 rgba(17,88,146,.15)!important;
}
body[data-page="trip"] .trip-tabs-top-shell .trip-tabs>a.active svg{
  stroke:#fff!important;
  color:#fff!important;
}

html body[data-page="trip"] :is(.v7-map-day-filter,.calendar-map-filter-v168){
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0 0 14px!important;
}


/* TRIPLOOM V15.1.93 · canonical Trip add-action visuals.
   Desktop/Tablet route actions are owned here (loaded after legacy component CSS).
   Phone dashboard actions are owned by trip-mobile-dashboard-v176.css. */
html body[data-page="trip"] .task-v27-add-btn{
  background:linear-gradient(180deg,#58D2CB 0%,#43C7C1 56%,#39B9B8 100%)!important;
  background-clip:padding-box!important;
  color:#fff!important;
  border:2px solid #FFFFFF!important;
  outline:0!important;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.38),inset 0 -2px 0 rgba(0,0,0,.07)!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}
html body[data-page="trip"] .task-v27-add-btn:hover,
html body[data-page="trip"] .task-v27-add-btn:focus-visible{
  background:linear-gradient(135deg,#35B4CE 0%,#2B91D1 56%,#287DD2 100%)!important;
  color:#fff!important;
  border-color:#FFFFFF!important;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.34),inset 0 -2px 0 rgba(0,0,0,.08)!important;
}
html body[data-page="trip"] .task-v27-add-btn:active{
  background:linear-gradient(135deg,#319FC8 0%,#2878CC 100%)!important;
  color:#fff!important;
  border-color:#FFFFFF!important;
  transform:scale(.99)!important;
}
html body[data-page="trip"] .task-v27-add-btn :is(span,svg){color:#fff!important;stroke:currentColor!important}

@media (min-width:601px){
  /* V15.4.04: hero button visuals removed from this legacy block.
     Only the itinerary day-heading add button remains here. */
  html body[data-page="trip"][data-trip-tab="itinerary"] .day-heading-actions .btn-primary[data-modal-open="stop-add"]{
    background:#FFFFFF!important;
    background-image:none!important;
    color:#2E88D8!important;
    -webkit-text-fill-color:#2E88D8!important;
    border:1px solid #FFFFFF!important;
    outline:0!important;
    box-shadow:0 8px 18px rgba(34,52,61,.10),inset 0 1px 0 rgba(255,255,255,.72)!important;
    -webkit-appearance:none!important;
    appearance:none!important;
  }
  html body[data-page="trip"][data-trip-tab="itinerary"] .day-heading-actions .btn-primary[data-modal-open="stop-add"]:is(:hover,:focus-visible){
    background:#FFFFFF!important;
    background-image:none!important;
    color:#247BC5!important;
    -webkit-text-fill-color:#247BC5!important;
    border-color:#FFFFFF!important;
    box-shadow:0 11px 23px rgba(34,52,61,.13)!important;
    transform:translateY(-1px)!important;
  }
  html body[data-page="trip"][data-trip-tab="itinerary"] .day-heading-actions .btn-primary[data-modal-open="stop-add"]:active{
    background:#FFFFFF!important;
    background-image:none!important;
    color:#2E88D8!important;
    -webkit-text-fill-color:#2E88D8!important;
    border-color:#FFFFFF!important;
    transform:scale(.99)!important;
  }
  html body[data-page="trip"][data-trip-tab="itinerary"] .day-heading-actions .btn-primary[data-modal-open="stop-add"] :is(span,svg){
    color:inherit!important;
    stroke:currentColor!important;
  }
}
