/* ================================================================
   Palette synchronized to TRIPLOOM V15.1.48.
   TRIPLOOM DATE PICKER · V15.1.52
   Clear Soft UI calendar popover / mobile sheet.
   Progressive enhancement for user-facing input[type="date"].
   Admin is intentionally excluded because Admin uses the classic UI.
   ================================================================ */

:root{
  --trip-date-bg:#ffffff;
  --trip-date-surface:#F4FCFB;
  --trip-date-surface-2:#eef5f8;
  --trip-date-border:#cfe0e8;
  --trip-date-border-strong:#b9d1dc;
  --trip-date-text:#1F3B4D;
  --trip-date-muted:#6F8792;
  --trip-date-primary:#69D7D0;
  --trip-date-primary-2:#8EDFF0;
  --trip-date-range:#DDF7F4;
  --trip-date-today:#3FBDB5;
  --trip-date-danger:#dc5b65;
  --trip-date-shadow:0 14px 34px rgba(31,65,84,.18),0 3px 10px rgba(31,65,84,.08);
  --trip-date-shadow-soft:0 4px 14px rgba(31,65,84,.10);
}

html[data-theme="dark"]{
  --trip-date-bg:#18282f;
  --trip-date-surface:#1d3038;
  --trip-date-surface-2:#223840;
  --trip-date-border:#1F3B4D;
  --trip-date-border-strong:#486773;
  --trip-date-text:#e4eef2;
  --trip-date-muted:#9db1ba;
  --trip-date-primary:#64a8ff;
  --trip-date-primary-2:#79c2ff;
  --trip-date-range:#213f59;
  --trip-date-today:#62d8d2;
  --trip-date-danger:#ff8690;
  --trip-date-shadow:0 16px 38px rgba(0,0,0,.38),0 3px 10px rgba(0,0,0,.18);
  --trip-date-shadow-soft:0 4px 14px rgba(0,0,0,.22);
}

.trip-date-field-v15141,
.trip-date-field-v15141 *,
.trip-date-popover-v15141,
.trip-date-popover-v15141 *{box-sizing:border-box}

.trip-date-field-v15141{
  position:relative;
  width:100%;
  min-width:0;
}

.trip-date-field-v15141>.trip-date-native-v15141{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-width:1px!important;
  min-height:1px!important;
  inset:auto!important;
  padding:0!important;
  margin:0!important;
  opacity:0!important;
  border:0!important;
  box-shadow:none!important;
  pointer-events:none!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
}

.trip-date-field-direct-v15152{
  display:grid;
  grid-template-columns:minmax(0,1fr) 42px;
  align-items:center;
  min-height:46px;
  padding:0 5px 0 0;
  border:1px solid var(--trip-date-border);
  border-radius:13px;
  background:var(--trip-date-bg);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.72),0 1px 2px rgba(31,65,84,.04);
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.trip-date-field-direct-v15152:hover{border-color:var(--trip-date-border-strong)}
.trip-date-field-direct-v15152:focus-within,
.trip-date-field-direct-v15152.is-open-v15141{
  border-color:var(--trip-date-primary);
  box-shadow:0 0 0 3px rgba(105,215,208,.13);
}
.trip-date-field-direct-v15152.is-invalid-v15152{
  border-color:var(--trip-date-danger)!important;
  box-shadow:0 0 0 3px rgba(220,91,101,.13)!important;
}

.trip-date-entry-v15152{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:100%!important;
  min-width:0!important;
  min-height:44px!important;
  height:44px!important;
  margin:0!important;
  padding:0 10px 0 14px!important;
  border:0!important;
  border-radius:12px 0 0 12px!important;
  outline:0!important;
  background:transparent!important;
  background-image:none!important;
  color:var(--trip-date-text)!important;
  box-shadow:none!important;
  font:700 13px/1.25 Nunito,system-ui,sans-serif!important;
  letter-spacing:0!important;
  text-align:left!important;
}
.trip-date-entry-v15152::placeholder{color:#8da1ad!important;opacity:1!important;font-weight:650!important}
.trip-date-entry-v15152:disabled,
.trip-date-entry-v15152[readonly]{cursor:not-allowed!important;color:var(--trip-date-muted)!important}
html[data-theme="dark"] .trip-date-entry-v15152::placeholder{color:#8fa5af!important}

.trip-date-calendar-btn-v15152{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #d9e8ee!important;
  border-radius:10px!important;
  background:#f3f9fb!important;
  color:#69D7D0!important;
  display:grid!important;
  place-items:center!important;
  box-shadow:none!important;
  cursor:pointer!important;
  outline:none!important;
  transition:border-color .15s ease,background .15s ease,color .15s ease,transform .15s ease!important;
}
.trip-date-calendar-btn-v15152:hover{border-color:#b8d9ec!important;background:#eaf6ff!important;color:#249D98!important}
.trip-date-calendar-btn-v15152:focus-visible{box-shadow:0 0 0 3px rgba(105,215,208,.16)!important}
.trip-date-calendar-btn-v15152:active{transform:translateY(1px)}
.trip-date-calendar-btn-v15152:disabled{opacity:.5!important;cursor:not-allowed!important}
.trip-date-calendar-btn-v15152 svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
html[data-theme="dark"] .trip-date-calendar-btn-v15152{background:#223941!important;border-color:#38545f!important;color:#74bfff!important}

.trip-date-sr-only-v15152{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}

.trip-date-popover-v15141{
  position:fixed;
  inset:0;
  z-index:1520;
  pointer-events:none;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}

.trip-date-popover-v15141[hidden]{display:none!important}

.trip-date-panel-v15141{
  position:fixed;
  width:min(356px,calc(100vw - 24px));
  padding:14px;
  border:1px solid var(--trip-date-border);
  border-radius:20px;
  background:var(--trip-date-bg)!important;
  background-color:var(--trip-date-bg)!important;
  background-image:none!important;
  color:var(--trip-date-text);
  box-shadow:var(--trip-date-shadow);
  pointer-events:auto;
  overflow:hidden;
}

.trip-date-nav-v15141{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 38px 34px;
  gap:7px;
  align-items:center;
  margin-bottom:10px;
}

.trip-date-nav-btn-v15141,
.trip-date-close-v15141{
  appearance:none;
  border:1px solid var(--trip-date-border);
  background:var(--trip-date-surface);
  color:var(--trip-date-text);
  width:38px;
  height:38px;
  padding:0;
  border-radius:12px;
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow:0 2px 7px rgba(31,65,84,.06);
  transition:.15s ease;
}

.trip-date-close-v15141{width:34px;height:34px;border-radius:11px}
.trip-date-nav-btn-v15141:hover,.trip-date-close-v15141:hover{border-color:var(--trip-date-primary);color:var(--trip-date-primary);background:var(--trip-date-bg)}
.trip-date-nav-btn-v15141:focus-visible,.trip-date-close-v15141:focus-visible{outline:3px solid rgba(38,120,243,.18);outline-offset:1px}
.trip-date-nav-btn-v15141 svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.trip-date-close-v15141{font:800 20px/1 Nunito,sans-serif}

.trip-date-month-v15141{
  min-width:0;
  text-align:center;
}
.trip-date-month-v15141 small{
  display:block;
  color:var(--trip-date-muted);
  font:800 9px/1.1 Nunito,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:3px;
}
.trip-date-month-v15141 strong{
  display:block;
  color:var(--trip-date-text);
  font:800 15px/1.2 Nunito,sans-serif;
  white-space:nowrap;
}

.trip-date-weekdays-v15141,
.trip-date-grid-v15141{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
}

.trip-date-weekdays-v15141{
  padding:3px 2px 5px;
}
.trip-date-weekdays-v15141 span{
  display:grid;
  place-items:center;
  min-height:24px;
  color:var(--trip-date-muted);
  font:800 9.5px/1 Nunito,sans-serif;
  text-transform:uppercase;
}

.trip-date-grid-v15141{
  position:relative;
  gap:2px 0;
  padding:2px 0;
}

.trip-date-day-v15141{
  position:relative;
  appearance:none;
  border:0;
  background:transparent;
  color:var(--trip-date-text);
  min-width:0;
  height:40px;
  padding:0;
  display:grid;
  place-items:center;
  cursor:pointer;
  font:800 12px/1 Nunito,sans-serif;
  outline:none;
  isolation:isolate;
}

.trip-date-day-v15141::before{
  content:"";
  position:absolute;
  inset:3px;
  border-radius:11px;
  background:transparent;
  z-index:-1;
  transition:background .13s ease,box-shadow .13s ease,border-color .13s ease,transform .13s ease;
}

.trip-date-day-v15141:hover::before{background:var(--trip-date-surface-2)}
.trip-date-day-v15141:focus-visible::before{box-shadow:0 0 0 3px rgba(38,120,243,.17)}
.trip-date-day-v15141.is-outside-v15141{color:#a1b2bb}
html[data-theme="dark"] .trip-date-day-v15141.is-outside-v15141{color:#677f8a}

.trip-date-day-v15141.is-today-v15141::before{
  border:1.5px solid var(--trip-date-today);
}
.trip-date-day-v15141.is-today-v15141:not(.is-selected-v15141){color:#167f7b}
html[data-theme="dark"] .trip-date-day-v15141.is-today-v15141:not(.is-selected-v15141){color:#78ddd8}

.trip-date-day-v15141.is-range-middle-v15141::before{
  inset:3px 0;
  border-radius:0;
  background:var(--trip-date-range);
}
.trip-date-day-v15141.is-range-middle-v15141:first-child::before{border-radius:11px 0 0 11px}
.trip-date-day-v15141.is-range-middle-v15141:nth-child(7n)::before{border-radius:0 11px 11px 0}

.trip-date-day-v15141.is-selected-v15141,
.trip-date-day-v15141.is-range-start-v15141,
.trip-date-day-v15141.is-range-end-v15141{
  color:#fff;
}
.trip-date-day-v15141.is-selected-v15141::before,
.trip-date-day-v15141.is-range-start-v15141::before,
.trip-date-day-v15141.is-range-end-v15141::before{
  inset:3px;
  border-radius:11px;
  border:0;
  background:linear-gradient(135deg,var(--trip-date-primary),var(--trip-date-primary-2));
  box-shadow:0 5px 12px rgba(38,120,243,.24);
}

.trip-date-day-v15141:disabled{
  cursor:not-allowed;
  color:#c0cbd0;
  opacity:.55;
}
.trip-date-day-v15141:disabled::before{background:transparent!important;box-shadow:none!important;border:0!important}

.trip-date-range-note-v15141{
  min-height:30px;
  margin-top:8px;
  padding:8px 10px;
  border-radius:11px;
  background:var(--trip-date-surface);
  border:1px solid var(--trip-date-border);
  color:var(--trip-date-muted);
  font:700 10.5px/1.35 Nunito,sans-serif;
}
.trip-date-range-note-v15141 strong{color:var(--trip-date-primary);font-weight:800}
.trip-date-range-note-v15141[hidden]{display:none!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important}

.trip-date-footer-v15141{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid var(--trip-date-border);
}

.trip-date-footer-v15141 button{
  appearance:none;
  min-height:34px;
  padding:0 11px;
  border-radius:10px;
  border:1px solid var(--trip-date-border);
  background:var(--trip-date-surface);
  color:var(--trip-date-text);
  font:800 10.5px/1 Nunito,sans-serif;
  cursor:pointer;
}
.trip-date-footer-v15141 button:hover{border-color:var(--trip-date-primary);color:var(--trip-date-primary);background:var(--trip-date-bg)}
.trip-date-clear-v15141{color:var(--trip-date-danger)!important}

body.trip-date-sheet-open-v15141{overflow:hidden!important}

/* Keep task date + time grids intact after enhancing only the date control. */
.task-v203-datetime-mobile .trip-date-field-v15141{min-width:0}

/* Profile age widget: the date component remains the first grid cell. */
.profile-wow-age-v142729>.trip-date-field-v15141{min-width:0;width:100%}

@media (max-width:640px){
  .trip-date-popover-v15141{
    pointer-events:auto;
    background:rgba(5,14,20,.54)!important;
    background-color:rgba(5,14,20,.54)!important;
    -webkit-backdrop-filter:blur(4px)!important;
    backdrop-filter:blur(4px)!important;
  }
  .trip-date-panel-v15141{
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    top:auto!important;
    width:100%!important;
    max-width:none!important;
    border-radius:24px 24px 0 0;
    border-left:0;
    border-right:0;
    border-bottom:0;
    padding:16px max(16px,env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));
    box-shadow:0 -16px 38px rgba(20,45,59,.20);
    animation:trip-date-sheet-in-v15141 .18s ease-out;
  }
  .trip-date-day-v15141{height:44px;font-size:13px}
  .trip-date-nav-v15141{grid-template-columns:42px minmax(0,1fr) 42px 38px;gap:8px}
  .trip-date-nav-btn-v15141{width:42px;height:42px}
  .trip-date-close-v15141{width:38px;height:38px}
  .trip-date-field-direct-v15152{min-height:46px}
}

@keyframes trip-date-sheet-in-v15141{
  from{transform:translateY(18px);opacity:.6}
  to{transform:translateY(0);opacity:1}
}

@media (prefers-reduced-motion:reduce){
  .trip-date-panel-v15141,
  .trip-date-field-direct-v15152,
  .trip-date-entry-v15152,
  .trip-date-calendar-btn-v15152,
  .trip-date-day-v15141::before{animation:none!important;transition:none!important}
}

/* V15.1.50 · Desktop popover isolation.
   Prevent legacy color/panel selectors from turning the date-picker root into a full-screen surface. */
@media (min-width:641px){
  html body .trip-date-popover-v15141{
    background:transparent!important;
    background-color:transparent!important;
    background-image:none!important;
    border:0!important;
    box-shadow:none!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    pointer-events:none!important;
  }
  html body .trip-date-popover-v15141>.trip-date-panel-v15141{
    background:var(--trip-date-bg)!important;
    background-color:var(--trip-date-bg)!important;
    background-image:none!important;
    pointer-events:auto!important;
  }
}
