.dp-btn{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:10px 12px;border:1.5px solid var(--line,#ddd6c5);border-radius:12px;background:#fff;color:inherit;font:inherit;font-weight:500;cursor:pointer;text-align:left}
.dp-btn:hover,.dp-btn:focus-visible{border-color:var(--brand,#0f6b4a);outline:0}
.dp-btn svg{flex:none;color:var(--brand,#0f6b4a)}.dp-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dp-text.empty{opacity:.55}
.dp-lab{cursor:pointer}
.dp-pop{position:absolute;z-index:100000;width:320px;max-width:calc(100vw - 16px);background:#fff;color:#1d2420;border-radius:18px;box-shadow:0 18px 50px rgba(20,30,25,.22),0 2px 8px rgba(0,0,0,.08);padding:14px 14px 10px;font:14px/1.3 inherit;font-family:inherit}
.dp-pop[hidden]{display:none}
.dp-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.dp-t{font-size:15px;font-weight:700}
.dp-nav{width:36px;height:36px;border:0;border-radius:50%;background:#f3f1ea;font-size:20px;line-height:1;cursor:pointer;color:inherit}.dp-nav:hover{background:var(--brand-l,#e3f1ea)}
.dp-w,.dp-g{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.dp-w span{font-size:11px;font-weight:600;color:#8b8f86;padding:6px 0;text-transform:uppercase}
.dp-d{aspect-ratio:1;border:0;border-radius:50%;background:transparent;font:inherit;font-size:14px;cursor:pointer;color:inherit;position:relative}
.dp-d:hover:not(:disabled){background:var(--brand-l,#e3f1ea)}
.dp-d.today{box-shadow:inset 0 0 0 1.5px var(--brand,#0f6b4a)}
.dp-d.sel,.dp-d.anchor{background:var(--brand,#0f6b4a);color:#fff;font-weight:700}
.dp-d.in-range{background:var(--brand-l,#e3f1ea);border-radius:0}
.dp-d:disabled{color:#c9c6bb;cursor:not-allowed;text-decoration:line-through;text-decoration-color:rgba(0,0,0,.12)}
.dp-f{display:flex;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px solid #eee9db}
.dp-f button{border:0;background:none;color:var(--brand,#0f6b4a);font:inherit;font-weight:600;cursor:pointer;padding:6px 8px;border-radius:8px}.dp-f button:disabled{opacity:.35;cursor:not-allowed}
.dp-pop.sheet{position:fixed;left:8px;right:8px;bottom:8px;top:auto;width:auto;max-width:none;border-radius:22px;padding:16px 16px 12px;animation:dpUp .18s ease-out}
@keyframes dpUp{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
body.dp-lock::after{content:"";position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:99999}
