.date-picker-overlay {
    display: none;
    position: absolute;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    padding: 10px; /* ↓ reduced */
    z-index: 1000;
    width: 240px; /* ↓ reduced from 290px */
    font-family: system-ui, -apple-system, sans-serif;
    font-size: 13px; /* ↓ slightly smaller */
    user-select: none;
}

/* Header: Dropdowns for month/year */
.date-picker-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px; /* ↓ reduced */
}

.date-picker-header select {
    padding: 3px 6px; /* ↓ ultra compact */
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 13px;
    background: #fafafa;
    cursor: pointer;
    min-width: 60px;
}

/* Grid */
.date-picker-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px; /* ↓ tighter */
    margin-bottom: 8px; /* ↓ reduced */
}

.date-picker-weekday {
    text-align: center;
    font-size: 11px; /* ↓ smaller */
    font-weight: bold;
    color: #666;
    padding: 2px 0; /* ↓ reduced */
}

/* Emphasize Fri & Sat */
.date-picker-grid .date-picker-weekday:nth-child(6),
.date-picker-grid .date-picker-weekday:nth-child(7) {
    color: #e63946;
}

.date-picker-day {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 28px; /* ↓ reduced from 36px */
    border-radius: 3px; /* ↓ smaller */
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
    padding: 0; /* ↓ minimal */
}

.date-picker-day:hover:not(.disabled) {
    background: #f0f8ff;
}

.date-picker-day.selected {
    background: #007bff;
    color: white;
}

.date-picker-day.disabled {
    color: #ccc;
    cursor: not-allowed;
}

.date-picker-day.weekend {
    color: #e63946;
    font-weight: 600;
}

.date-picker-day.today {
    border: 1px solid #007bff; /* ↓ thinner border */
}

/* Footer: Minimal text buttons */
.date-picker-footer {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    padding-top: 6px;
    gap: 4px; /* ↓ tighter */
}

.date-picker-footer span {
    flex: 1;
    text-align: center;
    cursor: pointer;
    padding: 3px 0; /* ↓ ultra compact */
    border-radius: 3px;
    transition: background 0.15s;
    font-weight: 500;
}

.date-picker-footer span:hover {
    background: #f5f5f5;
}

.date-picker-footer .clear { color: #6c757d; }
.date-picker-footer .today { color: #17a2b8; }
.date-picker-footer .close { color: #dc3545; }


<script>
