/* ========== Flask-Admin 后台科技感主题 - ZJPB焦提示词 ========== */ /* 深色主题覆盖 */ body.admin-theme { background: #111618 !important; background-image: radial-gradient(at 20% 20%, rgba(37, 192, 244, 0.08) 0px, transparent 50%), radial-gradient(at 80% 80%, rgba(124, 58, 237, 0.08) 0px, transparent 50%); color: #ffffff !important; font-family: 'Space Grotesk', 'Noto Sans', sans-serif !important; } /* 导航栏 */ .navbar-admin { background: rgba(27, 36, 39, 0.95) !important; backdrop-filter: blur(20px); border-bottom: 1px solid #283539; box-shadow: 0 4px 30px rgba(0, 0, 0, 0.3); } .navbar-admin .navbar-brand { background: linear-gradient(to right, #25c0f4, #c084fc); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; font-weight: 700; font-family: 'Space Grotesk', sans-serif !important; } /* 侧边栏 */ .nav-sidebar { background: rgba(27, 36, 39, 0.8) !important; } .nav-sidebar .nav-link { color: #9cb2ba !important; transition: all 0.3s ease; } .nav-sidebar .nav-link:hover, .nav-sidebar .nav-link.active { color: #ffffff !important; background: rgba(37, 192, 244, 0.15) !important; border-left: 3px solid #25c0f4; } /* 卡片和面板 */ .card, .panel { background: rgba(27, 36, 39, 0.6) !important; backdrop-filter: blur(20px); border: 1px solid #283539 !important; border-radius: 12px !important; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); } .card-header, .panel-heading { background: rgba(37, 192, 244, 0.08) !important; border-bottom: 1px solid #283539 !important; color: #ffffff !important; font-weight: 600; } /* 表格 */ .table { color: #ffffff !important; } .table thead th { background: rgba(30, 39, 44, 0.8) !important; border-color: #283539 !important; color: #9cb2ba !important; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; } .table tbody tr { background: transparent !important; border-color: #283539 !important; transition: all 0.2s ease; } .table tbody tr:hover { background: rgba(30, 39, 44, 0.5) !important; } .table td, .table th { border-color: #283539 !important; color: #ffffff !important; } /* 表单 */ .form-control { background: #111618 !important; border: 1px solid #283539 !important; color: #ffffff !important; border-radius: 8px !important; transition: all 0.3s ease; } .form-control:focus { background: rgba(27, 36, 39, 0.8) !important; border-color: #25c0f4 !important; box-shadow: 0 0 0 3px rgba(37, 192, 244, 0.1) !important; } .form-control::placeholder { color: #9cb2ba !important; } .form-label, label { color: #9cb2ba !important; font-weight: 500; font-size: 13px; } /* 按钮 */ .btn-primary { background: #25c0f4 !important; border: none !important; color: #111618 !important; font-weight: 600; box-shadow: 0 0 20px rgba(37, 192, 244, 0.3); transition: all 0.3s ease; } .btn-primary:hover { background: #1fa8d8 !important; transform: translateY(-2px); box-shadow: 0 0 30px rgba(37, 192, 244, 0.5); } .btn-info { background: linear-gradient(135deg, #25c0f4 0%, #00f2fe 100%) !important; border: none !important; color: #111618 !important; font-weight: 600; } .btn-secondary, .btn-default { background: rgba(40, 53, 57, 0.6) !important; border: 1px solid #283539 !important; color: #ffffff !important; transition: all 0.3s ease; } .btn-secondary:hover, .btn-default:hover { background: rgba(52, 66, 71, 0.8) !important; border-color: #4a5a60 !important; } /* 模态框 */ .modal-content { background: rgba(27, 36, 39, 0.95) !important; backdrop-filter: blur(20px); border: 1px solid #283539 !important; border-radius: 12px !important; } .modal-header { border-bottom-color: #283539 !important; background: rgba(37, 192, 244, 0.05); } .modal-footer { border-top-color: #283539 !important; } /* 分页 */ .pagination .page-link { background: rgba(27, 36, 39, 0.6) !important; border-color: #283539 !important; color: #9cb2ba !important; transition: all 0.2s ease; } .pagination .page-link:hover { background: rgba(37, 192, 244, 0.1) !important; border-color: #25c0f4 !important; color: #ffffff !important; } .pagination .page-item.active .page-link { background: #25c0f4 !important; border-color: #25c0f4 !important; color: #111618 !important; } /* 警告框 */ .alert { background: rgba(27, 36, 39, 0.8) !important; border: 1px solid #283539 !important; color: #ffffff !important; border-radius: 8px !important; } .alert-success { background: rgba(34, 197, 94, 0.1) !important; border-color: rgba(34, 197, 94, 0.3) !important; color: #4ade80 !important; } .alert-danger { background: rgba(239, 68, 68, 0.1) !important; border-color: rgba(239, 68, 68, 0.3) !important; color: #f87171 !important; } .alert-info { background: rgba(37, 192, 244, 0.1) !important; border-color: rgba(37, 192, 244, 0.3) !important; color: #25c0f4 !important; } .alert-warning { background: rgba(251, 191, 36, 0.1) !important; border-color: rgba(251, 191, 36, 0.3) !important; color: #fbbf24 !important; } /* 链接 */ a { color: #25c0f4 !important; text-decoration: none; transition: color 0.2s ease; } a:hover { color: #1fa8d8 !important; } /* 文本颜色 */ .text-muted { color: #9cb2ba !important; } /* 输入组 */ .input-group-text { background: rgba(27, 36, 39, 0.6) !important; border-color: #283539 !important; color: #9cb2ba !important; } /* Select2 下拉框 */ .select2-container--bootstrap4 .select2-selection { background: #111618 !important; border-color: #283539 !important; color: #ffffff !important; } .select2-dropdown { background: rgba(27, 36, 39, 0.95) !important; border-color: #283539 !important; backdrop-filter: blur(10px); } .select2-results__option { color: #ffffff !important; } .select2-results__option--highlighted { background: rgba(37, 192, 244, 0.2) !important; } /* 徽章 */ .badge-primary { background: #25c0f4 !important; color: #111618 !important; } .badge-secondary { background: #283539 !important; color: #9cb2ba !important; } /* 进度条 */ .progress { background: rgba(27, 36, 39, 0.6) !important; } .progress-bar { background: #25c0f4 !important; } /* 额外优化 */ .navbar-nav .nav-link { color: #9cb2ba !important; } .navbar-nav .nav-link:hover { color: #ffffff !important; } /* 自定义滚动条 */ ::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-track { background: #111618; } ::-webkit-scrollbar-thumb { background: #283539; border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: #3a4b50; }