.calendar-icon {cursor: pointer;}.date-backdrop {position: fixed;inset: 0;background: rgba(0, 0, 0, 0.3);display: none;justify-content: center;align-items: center;z-index: 999999;}.date-dialog {background: #fff;border-radius: 10px;padding: 20px;box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);min-width: 320px;}.calendar-header {display: flex;justify-content: space-between;align-items: center;margin-bottom: 10px;gap: 8px;}.calendar-header .nav-btn {background: none;border: none;font-size: 18px;cursor: pointer;padding: 4px 10px;}.calendar-header .nav-btn[disabled] {cursor: not-allowed;color: #bbbbbb;}.calendar-header .nav-btn:not([disabled]):hover {background: #f0f0f0;border-radius: 4px;}.calendar-header select {font-size: 14px;padding: 4px;}table.calendar {width: 100%;border-collapse: collapse;text-align: center;}table.calendar th,table.calendar td {min-width: 42px;height: 42px;border-radius: 6px;cursor: pointer;transition: background 0.2s;}table.calendar td.disabled {cursor: not-allowed;color: #bbbbbb;}table.calendar th {font-weight: bold;color: #666;}table.calendar td:not(.disabled):hover {font-weight: bold;}.today {color: #4285f4;}.calendar-footer {text-align: right;margin-top: 15px;}.calendar-footer button {padding: 6px 12px;border: none;background: #2196f3;color: white;border-radius: 4px;cursor: pointer;}.calendar-footer button:hover {background: #1976d2;}.calendar td.selected {background: #2196f3;color: white;border-radius: 50%;font-weight: bold;}.month-grid {display: grid;grid-template-columns: repeat(3, 1fr);gap: 10px;padding: 15px;}.month-cell {display: flex;align-items: center;justify-content: center;width: 54px;height: 54px;text-align: center;cursor: pointer;border-radius: 4px;transition: background 0.2s;}.month-cell:hover:not(.disabled) {font-weight: bold;}.month-cell.selected {background-color: #2196F3 !important;color: #fff;font-weight: bold;border-radius: 50%;}.month-cell.disabled {color: #ccc;cursor: not-allowed;}