/* App date / time picker (js/date-picker.js) */
.xl-native-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;border:0!important;clip-path:inset(50%)!important;overflow:hidden!important;white-space:nowrap!important;pointer-events:none!important}
.xl-date-field{width:100%;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 12px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--ink);font-family:inherit;font-size:14px;text-align:left;cursor:pointer;font-variant-numeric:tabular-nums}
.xl-date-field.empty{color:var(--ink2)}
.xl-date-field svg{width:18px;height:18px;color:var(--ink2);flex-shrink:0}
.xl-date-field.inline{width:auto;min-height:0;padding:0;border:none;background:transparent;justify-content:flex-end;flex-shrink:0;margin-left:auto}
.xl-date-field.inline svg{display:none}
.xl-date-field:disabled{cursor:not-allowed;color:var(--ink2)}
.xl-picker{position:fixed;z-index:600;background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:16px;box-shadow:0 12px 32px rgba(30,48,72,.18),0 1px 3px rgba(30,48,72,.08);padding:12px 12px 8px;font-variant-numeric:tabular-nums}
.xl-picker-head{display:flex;align-items:center;justify-content:space-between;margin:0 2px 6px}
.xl-picker-head b{font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--ink)}
.xl-nav{width:34px;height:34px;border:none;border-radius:10px;background:transparent;color:var(--ink);font-size:22px;line-height:1;cursor:pointer}
.xl-nav:disabled{color:var(--ink2);opacity:.45;cursor:default}
.xl-week,.xl-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.xl-week span{text-align:center;font-size:12.5px;color:var(--ink2);padding:6px 0}
.xl-day{height:36px;border:none;border-radius:10px;background:transparent;color:var(--ink);font-family:inherit;font-size:14.5px;cursor:pointer}
.xl-day.out{color:var(--ink2)}
.xl-day:disabled{color:var(--ink2);opacity:.5;cursor:default}
.xl-day.today:not(.sel){box-shadow:inset 0 0 0 1px var(--border)}
.xl-day.sel{background:var(--pri);color:var(--on-pri,#fff);font-weight:600}
.xl-time{display:flex;align-items:center;gap:8px;margin-top:8px;padding-top:10px;border-top:1px solid var(--border)}
.xl-time:first-child{margin-top:0;padding-top:0;border-top:none}
.xl-time-label{flex:1;font-size:13px;color:var(--ink2)}
.xl-colon{color:var(--ink2)}
.xl-col{position:relative;width:64px;height:132px;overflow-y:auto;scroll-snap-type:y mandatory;border-radius:12px;background:var(--bg);scrollbar-width:none}
.xl-col::-webkit-scrollbar{display:none}
.xl-col button{display:block;width:100%;height:36px;border:none;background:transparent;color:var(--ink);font-family:inherit;font-size:15px;scroll-snap-align:center;cursor:pointer}
.xl-col button.sel{background:var(--pri-pale);font-weight:600}
.xl-foot{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding-top:6px;border-top:1px solid var(--border)}
.xl-link{border:none;background:transparent;color:var(--accent-text);font-family:inherit;font-size:14px;padding:8px 6px;cursor:pointer}
.xl-link:disabled{color:var(--ink2);opacity:.5;cursor:default}
.xl-ok{border:none;border-radius:12px;background:var(--pri);color:var(--on-pri,#fff);font-family:inherit;font-size:14px;font-weight:600;min-height:38px;padding:0 20px;cursor:pointer}
.xl-picker button:focus-visible,.xl-date-field:focus-visible{outline:2px solid var(--focus-ring,#3b82f6);outline-offset:1px}
