.tdtp{position:relative}.tdtp-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 11px;cursor:pointer;text-align:left;min-height:40px}.tdtp-trigger .placeholder{color:#94a3b8}.tdtp-value{color:var(--ink,#172033);font-size:13.5px}.tdtp-icon{color:var(--muted,#64748b);flex-shrink:0}.tdtp-trigger.is-open .tdtp-icon{color:var(--orange,#f45b22)}.tdtp-pop{position:absolute;z-index:40;left:0;top:calc(100% + 4px);width:min(292px,calc(100vw - 28px));background:#fff;border:1px solid var(--line,#e5e7eb);border-radius:var(--radius,8px);box-shadow:0 8px 24px -8px rgba(15,23,42,.18);padding:10px;animation:tdtp-in .14s ease}@keyframes tdtp-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.tdtp-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:8px}.tdtp-title{font-size:13.5px;font-weight:700;color:var(--ink,#172033);letter-spacing:-.01em}.tdtp-nav{width:28px;height:28px;border:1px solid var(--line,#e5e7eb);border-radius:6px;background:#fff;color:var(--muted,#64748b);display:grid;place-items:center;cursor:pointer;padding:0;transition:border-color .15s,color .15s,background .15s}.tdtp-nav:hover{border-color:var(--orange,#f45b22);color:var(--orange-dark,#db4a14);background:#fff7f3}.tdtp-week{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px;margin-bottom:4px}.tdtp-week span{text-align:center;font-size:11px;font-weight:650;color:var(--muted,#64748b);padding:4px 0}.tdtp-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px;outline:none}.tdtp-day{height:32px;border:0;border-radius:6px;background:transparent;color:var(--ink,#172033);font:inherit;font-size:12.5px;font-weight:550;cursor:pointer;padding:0;transition:background .12s,color .12s}.tdtp-day:hover:not(:disabled):not(.is-selected){background:var(--soft,#f1f5f9)}.tdtp-day.is-outside{color:#94a3b8;font-weight:500}.tdtp-day.is-today:not(.is-selected){box-shadow:inset 0 0 0 1px var(--orange,#f45b22);color:var(--orange-dark,#db4a14)}.tdtp-day.is-selected{background:var(--orange,#f45b22);color:#fff;font-weight:700}.tdtp-day.is-focused:not(.is-selected){background:var(--orange-soft,rgba(244,91,34,.12))}.tdtp-day.is-disabled,.tdtp-day:disabled{color:#cbd5e1;cursor:not-allowed;background:transparent;box-shadow:none}.tdtp-time{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line,#e5e7eb)}.tdtp-time-label{font-size:12.5px;font-weight:650;color:var(--ink,#172033)}.tdtp-time-inputs{display:flex;align-items:center;gap:4px}.tdtp-time-field input{width:44px;height:32px;text-align:center;border:1px solid var(--line,#e5e7eb);border-radius:6px;font:inherit;font-size:13px;font-weight:600;color:var(--ink,#172033);background:#fff;outline:none;-moz-appearance:textfield}.tdtp-time-field input::-webkit-inner-spin-button,.tdtp-time-field input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.tdtp-time-field input:focus{border-color:var(--orange,#f45b22);box-shadow:0 0 0 3px var(--orange-soft,rgba(244,91,34,.12))}.tdtp-colon{font-weight:700;color:var(--muted,#64748b);padding:0 1px}.tdtp-ampm{margin-left:4px;min-width:28px;font-size:11.5px;font-weight:700;color:var(--orange-dark,#db4a14)}.tdtp-foot{justify-content:space-between;gap:8px;margin-top:10px;padding-top:8px;border-top:1px solid var(--line,#e5e7eb)}.tdtp-foot,.tdtp-foot-right{display:flex;align-items:center}.tdtp-foot-right{gap:6px}.tdtp-link{border:0;background:none;color:var(--muted,#64748b);font:inherit;font-size:12.5px;font-weight:650;cursor:pointer;padding:6px 8px;border-radius:6px}.tdtp-link:hover{color:var(--orange-dark,#db4a14);background:#fff7f3}.tdtp-done{border:0;background:var(--orange,#f45b22);color:#fff;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;padding:7px 12px;border-radius:6px;transition:background .15s}.tdtp-done:hover:not(:disabled){background:var(--orange-dark,#db4a14)}.tdtp-done:disabled{opacity:.55;cursor:not-allowed}.tdtp .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:640px){.tdtp-pop{left:0;right:0;width:auto}}@media (prefers-reduced-motion:reduce){.tdtp-pop{animation:none}}