/* ==========================================================================
   TRIPLOOM V15.2.0 · CANONICAL FORM CONTROL SYSTEM
   One visual owner for user-facing input / select / textarea / form actions.
   Loaded last. Runtime JS adds canonical classes to current and dynamic fields.
   The repeated :not(#...) scope deliberately outranks legacy !important rules
   without changing application logic or component dimensions.
   ========================================================================== */
:root{
  --tlfc-bg:#FFFFFF;
  --tlfc-bg-soft:#F4FCFB;
  --tlfc-border:#C5DCE0;
  --tlfc-border-hover:#AFC9CE;
  --tlfc-border-focus:#43C8BE;
  --tlfc-ink:#193446;
  --tlfc-muted:#7A8994;
  --tlfc-primary:#43C8BE;
  --tlfc-primary-deep:#249D98;
  --tlfc-primary-dark:#249D98;
  --tlfc-radius:16px;
  --tlfc-height:48px;
  --tlfc-shadow:0 3px 10px rgba(53,79,96,.10),inset 0 1px 0 rgba(255,255,255,.96);
  --tlfc-focus:0 0 0 4px rgba(67,200,190,.12),0 10px 22px rgba(34,52,61,.08);
}

/* High-specificity user-facing scope. Fake IDs never exist; :not() therefore always matches. */
html body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
.tl-form-label-v15186{
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:none!important;
  gap:7px!important;
}

html body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
.tl-form-wrapper-reset-v15186{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:none!important;
}

/* One visible surface for native text/number/date/time/select/textarea controls. */
html body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
.tl-form-control-v15186{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:var(--tlfc-height)!important;
  margin:0!important;
  padding:11px 14px!important;
  border:1px solid var(--tlfc-border)!important;
  border-radius:var(--tlfc-radius)!important;
  outline:0!important;
  background:linear-gradient(180deg,var(--tlfc-bg) 0%,var(--tlfc-bg-soft) 100%)!important;
  background-color:var(--tlfc-bg)!important;
  color:var(--tlfc-ink)!important;
  box-shadow:var(--tlfc-shadow)!important;
  filter:none!important;
  opacity:1!important;
  font-family:"Nunito",sans-serif!important;
  transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease!important;
}
html body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
textarea.tl-form-control-v15186{
  height:auto!important;
  min-height:100px!important;
  resize:vertical!important;
}
html body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
select.tl-form-control-v15186{
  -webkit-appearance:none!important;
  appearance:none!important;
  padding-right:42px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6.25 8 10.25 12 6.25' fill='none' stroke='%23647F87' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),linear-gradient(180deg,var(--tlfc-bg) 0%,var(--tlfc-bg-soft) 100%)!important;
  background-repeat:no-repeat,no-repeat!important;
  background-position:right 14px center,0 0!important;
  background-size:12px 12px,100% 100%!important;
}
html body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
.tl-form-control-v15186:hover{border-color:var(--tlfc-border-hover)!important;}
html body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
.tl-form-control-v15186:focus{
  border-color:var(--tlfc-border-focus)!important;
  background:#FFFFFF!important;
  box-shadow:var(--tlfc-focus)!important;
}
html body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
select.tl-form-control-v15186:focus{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6.25 8 10.25 12 6.25' fill='none' stroke='%23249D98' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 14px center!important;
  background-size:12px 12px!important;
}
html body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
.tl-form-control-v15186::placeholder{color:var(--tlfc-muted)!important;opacity:1!important;}
html body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
.tl-form-control-v15186:disabled,
html body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
.tl-form-control-v15186[readonly]{
  opacity:.72!important;
  background:#F1F7F7!important;
  box-shadow:none!important;
}

/* Browser autofill may otherwise draw a square coloured slab inside the rounded control. */
html body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
.tl-form-control-v15186:-webkit-autofill,
html body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
.tl-form-control-v15186:-webkit-autofill:hover,
html body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
.tl-form-control-v15186:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--tlfc-ink)!important;
  -webkit-box-shadow:0 0 0 1000px #FFFFFF inset!important;
  box-shadow:0 0 0 1000px #FFFFFF inset,var(--tlfc-shadow)!important;
  border-color:var(--tlfc-border)!important;
}

/* Composite controls: shell is the only frame; child input/select is fully frameless. */
html body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
.tl-form-shell-v15186{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  border:1px solid var(--tlfc-border)!important;
  border-radius:var(--tlfc-radius)!important;
  background:linear-gradient(180deg,var(--tlfc-bg) 0%,var(--tlfc-bg-soft) 100%)!important;
  background-color:var(--tlfc-bg)!important;
  box-shadow:var(--tlfc-shadow)!important;
  filter:none!important;
  overflow:hidden!important;
}
html body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
.tl-form-shell-v15186:focus-within{
  border-color:var(--tlfc-border-focus)!important;
  box-shadow:var(--tlfc-focus)!important;
  background:#FFFFFF!important;
}
html body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
.tl-form-shell-v15186>.tl-form-inner-v15186,
html body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
.tl-form-shell-v15186 .tl-form-inner-v15186{
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:none!important;
}
html body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
.tl-form-shell-v15186 .tl-form-inner-v15186:focus{
  border:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;
}

/* Custom select: transparent host + hidden native source + one visible trigger. */
html body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
.tl-form-select-host-v15186{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:none!important;
}
html body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
.tl-form-native-hidden-v15186{
  border:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:none!important;
  opacity:0!important;
  color:transparent!important;
  pointer-events:none!important;
}
html body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
.tl-form-select-trigger-v15186{
  border:1px solid var(--tlfc-border)!important;
  border-radius:var(--tlfc-radius)!important;
  outline:0!important;
  background:linear-gradient(180deg,var(--tlfc-bg) 0%,var(--tlfc-bg-soft) 100%)!important;
  background-image:none!important;
  color:var(--tlfc-ink)!important;
  box-shadow:var(--tlfc-shadow)!important;
  filter:none!important;
}
html body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
.tl-form-select-trigger-v15186:hover{border-color:var(--tlfc-border-hover)!important;background:#FFFFFF!important;}
html body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
.tl-form-select-host-v15186:is(.is-open,:focus-within)>.tl-form-select-trigger-v15186,
html body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
.tl-form-select-trigger-v15186:focus-visible{
  border-color:var(--tlfc-border-focus)!important;
  background:#FFFFFF!important;
  box-shadow:var(--tlfc-focus)!important;
}

/* Standard action buttons that live inside forms: geometry is unified while semantics remain intact. */
html body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
.tl-form-action-v15186{
  box-sizing:border-box!important;
  min-height:44px!important;
  border-radius:14px!important;
  font-family:"Nunito",sans-serif!important;
  font-weight:800!important;
  cursor:pointer!important;
  outline:0!important;
}
html body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
.tl-form-action-v15186.btn-primary{
  border:1px solid rgba(25,52,70,.12)!important;
  background:var(--tlfc-primary)!important;
  color:var(--tlfc-ink)!important;
  box-shadow:0 10px 22px rgba(34,52,61,.09),inset 0 1px 0 rgba(255,255,255,.90)!important;
}
html body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
.tl-form-action-v15186.btn-soft{
  border:1px solid var(--tlfc-border)!important;
  background:#FFFFFF!important;
  color:var(--tlfc-primary-dark)!important;
  box-shadow:0 4px 12px rgba(31,70,79,.045)!important;
}
html body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
.tl-form-action-v15186.btn-danger{
  border:1px solid rgba(255,255,255,.9)!important;
  background:#E35D6A!important;
  color:#FFFFFF!important;
}

/* Specific Trip Form settings sidebar: no card-inside-card around Status/Budget/Visibility. */
html body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)[data-page="trip_form"]
.route-form-settings-v35>label.tl-form-label-v15186{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Dark mode. */
html[data-theme="dark"]{
  --tlfc-bg:#1D3034;
  --tlfc-bg-soft:#192B30;
  --tlfc-border:#31565A;
  --tlfc-border-hover:#447176;
  --tlfc-border-focus:#43C8BE;
  --tlfc-ink:#EDF9F8;
  --tlfc-muted:#91A8AD;
  --tlfc-shadow:none;
}
html[data-theme="dark"] body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
.tl-form-control-v15186,
html[data-theme="dark"] body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
.tl-form-shell-v15186,
html[data-theme="dark"] body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
.tl-form-select-trigger-v15186{
  background:linear-gradient(180deg,var(--tlfc-bg) 0%,var(--tlfc-bg-soft) 100%)!important;
  color:var(--tlfc-ink)!important;
  border-color:var(--tlfc-border)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
select.tl-form-control-v15186{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6.25 8 10.25 12 6.25' fill='none' stroke='%23AFC9CD' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),linear-gradient(180deg,var(--tlfc-bg) 0%,var(--tlfc-bg-soft) 100%)!important;
}

@media(max-width:560px){
  :root{--tlfc-height:46px;--tlfc-radius:14px;}
  html body:not(#tlfc01):not(#tlfc02):not(#tlfc03):not(#tlfc04):not(#tlfc05):not(#tlfc06):not(#tlfc07):not(#tlfc08):not(#tlfc09):not(#tlfc10):not(#tlfc11):not(#tlfc12)
  .tl-form-control-v15186{padding:10px 13px!important;}
}
