body{min-width:276px}.datepicker{width:100%;position:relative;font-family:-apple-system,Roboto,BlinkMacSystemFont,Segoe UI,sans-serif}.datepicker-input{position:relative;width:100%;border:1px solid #ddd;border-radius:4px;padding:10px 12px;min-width:200px;background:#fff;cursor:pointer;display:flex;align-items:center;box-sizing:border-box}.datepicker-input input{flex:1;border:none;outline:none;font-size:1rem;font-weight:500;color:#333;background:transparent}.datepicker-icon{margin-left:8px;font-size:1.2rem;color:#666}.datepicker-calendar{position:absolute;top:100%;width:calc(100% - 20px);left:5px;min-width:250px;background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 4px 12px #00000026;z-index:1000;margin-top:4px}.datepicker-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #eee}.datepicker-nav-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:4px;border-radius:4px;color:#333}.datepicker-nav-btn:hover{background-color:#f0f0f0}.datepicker-month{margin:0;font-size:1.3rem;font-weight:500;color:#333}.datepicker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;padding:8px 0;border-bottom:1px solid #eee}.datepicker-weekday{font-size:1rem;font-weight:600;color:#666;padding:4px 0}.datepicker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:2px}.datepicker-day{aspect-ratio:1;border:none;border-radius:50%;background:transparent;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:#333}.datepicker-day:hover:not(.datepicker-day-disabled){background-color:#f0f0f0}.datepicker-day-selected{background-color:#007bff;color:#fff;font-weight:700}.datepicker-day-today{border:1px solid #007bff}.datepicker-day-disabled{color:#ccc;cursor:not-allowed;background-color:#f9f9f9}.datepicker-day-outside{color:#aaa}.datepicker-day-outside:hover{background-color:transparent}.datepicker-disabled{opacity:.6;pointer-events:none}.datepicker-input input:disabled{cursor:not-allowed}
