/* xf-date1: date box + calendar (computer: under the box, phone: from the bottom) */
.xd-w{position:relative;display:inline-flex;align-items:center;max-width:100%;vertical-align:middle}
.xd-w>.xd-in{padding-right:32px!important}.xd-w:has(> .form-control){display:flex;width:100%}
.xd-w>.xd-in.form-control{width:100%}
.xd-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#64748b;width:26px;height:26px;display:grid;place-items:center;border-radius:6px;cursor:pointer;padding:0}
.xd-btn:hover{background:#eef2ff;color:#4f46e5}.xd-off .xd-btn{display:none}
.xd-orig{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;padding:0!important;border:0!important;left:0;bottom:0}
.xd-bad>.xd-in{border-color:#dc2626!important;box-shadow:0 0 0 3px rgba(220,38,38,.15)!important}
.xd-cal{position:absolute;z-index:300000;width:286px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 14px 38px rgba(15,23,42,.22);padding:10px;font-family:inherit;font-size:13px;color:#0f172a;user-select:none}
.xd-hd{display:flex;gap:6px;align-items:center;margin-bottom:8px}.xd-hd select{flex:1;min-width:0;border:1px solid #cbd5e1;border-radius:8px;padding:5px 6px;font-size:13px;font-weight:600;background:#fff;color:#0f172a}
.xd-nav{border:0;background:#f1f5f9;border-radius:8px;width:30px;height:30px;font-size:18px;line-height:1;color:#334155;cursor:pointer}.xd-nav:hover{background:#e0e7ff}
.xd-dw,.xd-g{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}.xd-dw span{font-size:11px;font-weight:700;color:#94a3b8;padding:3px 0}
.xd-g button{border:0;background:transparent;border-radius:8px;height:32px;font-size:13px;color:#0f172a;cursor:pointer}.xd-g button:hover{background:#eef2ff}
.xd-g button.td{box-shadow:inset 0 0 0 1.5px #a5b4fc;font-weight:700}.xd-g button.on{background:#4f46e5;color:#fff;font-weight:700}.xd-g button:disabled{color:#cbd5e1;cursor:not-allowed;background:transparent}
.xd-ft{display:flex;gap:8px;margin-top:8px;border-top:1px solid #f1f5f9;padding-top:8px}.xd-ft button{flex:1;border:0;border-radius:8px;padding:6px;font-weight:700;font-size:12.5px;cursor:pointer;background:#f1f5f9;color:#334155}.xd-ft .xd-today{background:#eef2ff;color:#4338ca}
.xd-ov{position:fixed;inset:0;background:rgba(15,23,42,.35);z-index:299999}
.xd-cal.xd-sheet{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;border-radius:18px 18px 0 0;padding:14px 14px calc(14px + env(safe-area-inset-bottom));font-size:15px;animation:xdUp .2s ease-out}
.xd-sheet .xd-hd select{font-size:16px;padding:9px 8px}.xd-sheet .xd-nav{width:42px;height:42px;font-size:22px}.xd-sheet .xd-g button{height:44px;font-size:16px}.xd-sheet .xd-dw span{font-size:12px}.xd-sheet .xd-ft button{padding:12px;font-size:15px}
@keyframes xdUp{from{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}
.xd-w[style*="width"]>.xd-in{width:100%}.xd-w[hidden]{display:none!important}

/* xf-xd2: the date box never grows out of its column (it kept a fixed width and spilled into the next card) */
.xd-w{max-width:100%}
.xd-w .xd-in{min-width:0!important;max-width:100%;flex:1 1 auto;box-sizing:border-box}
