/* 自定义 Bootstrap 主题 - 睡眠助手项目 */
:root {
    --bs-primary: rgb(122, 74, 152);
    --bs-primary-rgb: 122, 74, 152;
    --bs-primary-dark: rgb(92, 54, 122);
    --bs-primary-light: rgb(152, 94, 182);
    --bs-secondary: #6c757d;
    --bs-success: #28a745;
    --bs-info: #17a2b8;
    --bs-warning: #ffc107;
    --bs-danger: #dc3545;
    --bs-light: #f8f9fa;
    --bs-dark: #343a40;
    --bs-border-radius: 8px;
    --bs-box-shadow: 0 4px 6px rgba(122, 74, 152, 0.1);
    --bs-transition: all 0.3s ease;
}

/* 主色相关样式 */
.bg-primary {
    background-color: var(--bs-primary) !important;
}

.text-primary {
    color: var(--bs-primary) !important;
}

.border-primary {
    border-color: var(--bs-primary) !important;
}

/* 按钮样式 */
.btn-primary {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
    color: white;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: var(--bs-primary-dark);
    border-color: var(--bs-primary-dark);
    color: white;
}

.btn-outline-primary {
    color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
    color: white;
}

/* 徽章样式 */
.badge.bg-primary {
    background-color: var(--bs-primary) !important;
}

/* 警告框样式 */
.alert-primary {
    background-color: rgba(var(--bs-primary-rgb), 0.1);
    border-color: rgba(var(--bs-primary-rgb), 0.3);
    color: var(--bs-primary);
}

/* 进度条样式 */
.progress-bar {
    background-color: var(--bs-primary);
}

/* 表单控件样式 */
.form-control:focus {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.25);
}

.form-check-input:checked {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.form-select:focus {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.25);
}

/* 导航样式 */
.nav-pills .nav-link.active {
    background-color: var(--bs-primary);
}

.nav-tabs .nav-link.active {
    color: var(--bs-primary);
    border-bottom-color: var(--bs-primary);
}

/* 分页样式 */
.page-link {
    color: var(--bs-primary);
}

.page-link:hover {
    color: var(--bs-primary-dark);
}

.page-item.active .page-link {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

/* 下拉菜单样式 */
.dropdown-item:active {
    background-color: var(--bs-primary);
}

/* 模态框样式 */
.modal-header {
    border-bottom-color: rgba(var(--bs-primary-rgb), 0.1);
}

.modal-footer {
    border-top-color: rgba(var(--bs-primary-rgb), 0.1);
}

/* 卡片样式 */
.card {
    border-radius: var(--bs-border-radius);
    box-shadow: var(--bs-box-shadow);
}

.card-header {
    background-color: rgba(var(--bs-primary-rgb), 0.05);
    border-bottom: 1px solid rgba(var(--bs-primary-rgb), 0.1);
}

/* 表格样式 */
.table th {
    background-color: rgba(var(--bs-primary-rgb), 0.05);
    border-bottom: 2px solid rgba(var(--bs-primary-rgb), 0.1);
    color: var(--bs-primary);
}

/* 工具提示样式 */
.tooltip .tooltip-inner {
    background-color: var(--bs-primary);
}

.tooltip.bs-tooltip-top .tooltip-arrow::before {
    border-top-color: var(--bs-primary);
}

.tooltip.bs-tooltip-bottom .tooltip-arrow::before {
    border-bottom-color: var(--bs-primary);
}

.tooltip.bs-tooltip-start .tooltip-arrow::before {
    border-left-color: var(--bs-primary);
}

.tooltip.bs-tooltip-end .tooltip-arrow::before {
    border-right-color: var(--bs-primary);
}

/* 弹出框样式 */
.popover {
    border-color: var(--bs-primary);
}

.popover-header {
    background-color: var(--bs-primary);
    color: white;
}

.popover .popover-arrow::before {
    border-color: var(--bs-primary);
}

/* 轮播图指示器 */
.carousel-indicators [data-bs-target].active {
    background-color: var(--bs-primary);
}

/* 列表组样式 */
.list-group-item.active {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

/* 面包屑导航 */
.breadcrumb-item.active {
    color: var(--bs-primary);
}

/* 步骤指示器 */
.stepper .step.active {
    color: var(--bs-primary);
}

.stepper .step.active .step-circle {
    background-color: var(--bs-primary);
}

/* 自定义过渡效果 */
.btn, .nav-link, .dropdown-item, .form-control, .form-select {
    transition: var(--bs-transition);
}

/* 响应式设计 */
@media (max-width: 768px) {
    :root {
        --bs-border-radius: 6px;
    }
    
    .btn {
        padding: 0.5rem 1rem;
        font-size: 0.9rem;
    }
}

/* 暗色模式支持 */
@media (prefers-color-scheme: dark) {
    .bg-primary {
        background-color: var(--bs-primary-dark) !important;
    }
    
    .btn-primary {
        background-color: var(--bs-primary-dark);
        border-color: var(--bs-primary-dark);
    }
    
    .btn-primary:hover {
        background-color: var(--bs-primary);
        border-color: var(--bs-primary);
    }
}