.dp-container{width:100%;position:relative}.dp-trigger{cursor:pointer;text-align:left;justify-content:space-between;align-items:center;display:flex}.dp-trigger--empty span{color:var(--text-3)}.dp-trigger:disabled{opacity:.5;cursor:not-allowed}.dp-icon{color:var(--text-3);flex-shrink:0}.dp-calendar{z-index:100;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:280px;animation:dp-fade-in var(--duration-fast) ease-out;padding:12px;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 4px 16px #0000001a}.dp-calendar--above{top:auto;bottom:calc(100% + 4px)}@keyframes dp-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.dp-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.dp-title{color:var(--text);font-size:14px;font-weight:600}.dp-nav{border-radius:var(--radius);width:28px;height:28px;color:var(--text-2);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.dp-nav:hover{background:var(--surface);color:var(--text)}.dp-weekdays{grid-template-columns:repeat(7,1fr);margin-bottom:4px;display:grid}.dp-weekday{text-align:center;color:var(--text-3);-webkit-user-select:none;user-select:none;padding:4px 0;font-size:11px;font-weight:600}.dp-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.dp-day{aspect-ratio:1;border-radius:var(--radius);width:100%;color:var(--text);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:none;justify-content:center;align-items:center;font-size:13px;display:flex}.dp-day:hover:not(:disabled){background:var(--surface)}.dp-day--outside{color:var(--text-3);cursor:default}.dp-day--today{box-shadow:inset 0 0 0 1px var(--accent);font-weight:600}.dp-day--selected{background:var(--accent);color:#fff;font-weight:600}.dp-day--selected:hover:not(:disabled){background:var(--accent-hover)}.dp-footer{border-top:1px solid var(--border);justify-content:space-between;margin-top:8px;padding-top:8px;display:flex}.dp-footer-btn{cursor:pointer;border-radius:var(--radius);color:var(--text-2);transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:none;padding:4px 8px;font-size:13px;font-weight:500}.dp-footer-btn:hover{background:var(--surface);color:var(--text)}.dp-footer-btn--accent{color:var(--accent)}.dp-footer-btn--accent:hover{background:var(--accent-dim,#22766c1a);color:var(--accent-hover)}
