.period-selector-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2000;
}

.period-selector-dialog {
    background: var(--bg-primary);
    color: var(--text-primary);
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-lg);
    padding: var(--spacing-lg);
    width: min(92vw, 420px);
}

.period-selector-title {
    font-weight: 700;
    margin-bottom: var(--spacing-sm);
}

.period-selector-info {
    font-size: 0.875rem;
    color: var(--text-secondary, #6b7280);
    margin-bottom: var(--spacing-md);
    padding: var(--spacing-xs);
    background: rgba(59, 130, 246, 0.1);
    border-radius: var(--border-radius-sm);
    border: 1px solid rgba(59, 130, 246, 0.2);
}

.period-selector-input {
    width: 100%;
    padding: var(--spacing-sm);
    border-radius: var(--border-radius-sm);
    border: 1px solid var(--border-color);
    margin-bottom: var(--spacing-md);
}

.period-selector-actions {
    display: flex;
    gap: var(--spacing-sm);
    justify-content: flex-end;
}

.period-selector-cancel {
    background: var(--bg-secondary);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
    padding: 10px 14px;
    border-radius: 8px;
}

.period-selector-confirm {
    background: var(--primary-color);
    color: #fff;
    border: none;
    padding: 10px 14px;
    border-radius: 8px;
}

