/* ==========================================================
   全站浅粉红主题 · 现代 UI 版 (Light Pink Theme Pro)
   主色 #d9538f | 浅粉 #ef8ab5 | 背景 #fff7fa
   ========================================================== */

/* ========== 全局基础 ========== */
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }
body {
  color: #5d3d4c;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  background-color: #fff7fa;
  background-image:
    radial-gradient(1100px 460px at 10% -10%, rgba(255, 197, 220, .5) 0%, rgba(255, 197, 220, 0) 60%),
    radial-gradient(900px 420px at 92% -8%, rgba(255, 214, 228, .45) 0%, rgba(255, 214, 228, 0) 58%),
    radial-gradient(800px 400px at 50% 112%, rgba(255, 224, 236, .5) 0%, rgba(255, 224, 236, 0) 62%);
  background-attachment: fixed;
}
a { color: #c9538a; transition: color .18s ease; }
a:hover, a:focus { color: #a83e71; }
.text-muted { color: #a3728c; }
::selection { background: #f7c6da; color: #5d3d4c; }
img { border-radius: 8px; }
.container h2 { font-weight: 700; letter-spacing: .3px; color: #8a3a5e; }

/* 粉色滚动条 */
::-webkit-scrollbar { width: 9px; height: 9px; }
::-webkit-scrollbar-track { background: #fdeef4; }
::-webkit-scrollbar-thumb { background: #eeaac5; border-radius: 8px; border: 2px solid #fdeef4; }
::-webkit-scrollbar-thumb:hover { background: #e27ba6; }

/* 入场动画 */
@keyframes fadeUp { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.container > .well, .container .panel { animation: fadeUp .5s ease both; }

/* ========== 导航栏（后台等默认样式） ========== */
.navbar-default { background-color: #ffe9f1; border-color: #f6c9d9; }
.navbar-default .navbar-brand,
.navbar-default .navbar-text { color: #a04b73; }
.navbar-default .navbar-nav > li > a { color: #a04b73; }
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus { color: #7c3859; background-color: rgba(217, 83, 143, .12); }
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus { color: #fff; background-color: #d9538f; }
.navbar-default .navbar-toggle,
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus { background-color: #fbdcea; border-color: #f2b8cd; }
.navbar-default .navbar-toggle .icon-bar { background-color: #d9538f; }
.navbar-default .navbar-toggle:hover .icon-bar,
.navbar-default .navbar-toggle:focus .icon-bar { background-color: #c0417b; }
.navbar-brand:hover, .navbar-brand:focus { color: #7c3859; }

/* ========== 前端粉红顶栏（粘性 + 渐变） ========== */
.navbar-pink {
  position: sticky; top: 0; z-index: 1030;
  min-height: 62px;
  background: linear-gradient(120deg, #e879a8 0%, #d9538f 52%, #c9497f 100%);
  border: 0;
  box-shadow: 0 4px 18px rgba(217, 83, 143, .28);
}
.navbar-pink .navbar-brand,
.navbar-pink .navbar-text { color: #fff; font-weight: 700; letter-spacing: .6px; }
.navbar-pink .navbar-brand:hover,
.navbar-pink .navbar-brand:focus { color: #ffeaf3; }
.navbar-pink .navbar-nav > li > a { color: rgba(255, 255, 255, .94); font-weight: 500; }
.navbar-pink .navbar-nav > li > a:hover,
.navbar-pink .navbar-nav > li > a:focus { color: #fff; background-color: rgba(255, 255, 255, .16); }
.navbar-pink .navbar-nav > .active > a,
.navbar-pink .navbar-nav > .active > a:hover,
.navbar-pink .navbar-nav > .active > a:focus { color: #fff; background-color: rgba(255, 255, 255, .22); }
.navbar-pink .navbar-nav > .open > a,
.navbar-pink .navbar-nav > .open > a:hover,
.navbar-pink .navbar-nav > .open > a:focus { color: #fff; background-color: rgba(255, 255, 255, .16); }
.navbar-pink .navbar-link { color: #fff; }
.navbar-pink .navbar-link:hover { color: #ffeaf3; }
.navbar-pink .navbar-toggle,
.navbar-pink .navbar-toggle:hover,
.navbar-pink .navbar-toggle:focus { background-color: rgba(255, 255, 255, .18); border-color: rgba(255, 255, 255, .45); }
.navbar-pink .navbar-toggle .icon-bar,
.navbar-pink .navbar-toggle:hover .icon-bar,
.navbar-pink .navbar-toggle:focus .icon-bar { background-color: #fff; }
.navbar-pink .caret { border-top-color: #fff; }
.navbar-pink .navbar-nav > .dropdown > a:hover .caret,
.navbar-pink .navbar-nav > .dropdown > a:focus .caret,
.navbar-pink .navbar-nav > .open > a .caret,
.navbar-pink .navbar-nav > .open > a:hover .caret,
.navbar-pink .navbar-nav > .open > a:focus .caret { border-top-color: #fff; }
@media (min-width: 768px) {
  .navbar-pink .navbar-brand { padding: 21px 15px; font-size: 19px; }
  .navbar-pink .navbar-nav > li > a { padding: 21px 14px; }
}

/* ========== 下拉菜单 ========== */
.dropdown-menu { border: 1px solid #f2cfe0; border-radius: 12px; box-shadow: 0 12px 32px rgba(217, 83, 143, .18); padding: 6px; }
.dropdown-menu > li > a { color: #8a3a5e; border-radius: 8px; padding: 8px 14px; transition: background .15s ease, color .15s ease; }
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus { color: #7c3859; background-color: #fbe4ee; }
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus { background-color: #d9538f; color: #fff; }

/* ========== 按钮（渐变 + 悬浮动效） ========== */
.btn { border-radius: 10px; transition: all .22s ease; }
.btn-primary, .btn-primary:visited {
  background: linear-gradient(135deg, #e2759f, #d9538f); border: 0; color: #fff;
  box-shadow: 0 4px 12px rgba(217, 83, 143, .3);
}
.btn-primary:hover, .btn-primary:focus, .btn-primary.focus,
.btn-primary:active, .btn-primary.active, .open > .dropdown-toggle.btn-primary,
.btn-primary:active:hover, .btn-primary:active:focus, .btn-primary.active:hover {
  background: linear-gradient(135deg, #e2699f, #c9497f); border: 0; color: #fff;
  transform: translateY(-2px); box-shadow: 0 8px 20px rgba(217, 83, 143, .38);
}
.btn-primary.disabled, .btn-primary[disabled] { background: #ef9dc0; box-shadow: none; transform: none; border: 0; }

.btn-info, .btn-info:visited { background: linear-gradient(135deg, #f39ebb, #ef8ab5); border: 0; color: #fff; box-shadow: 0 4px 12px rgba(239, 138, 181, .32); }
.btn-info:hover, .btn-info:focus, .btn-info:active, .btn-info.active, .open > .dropdown-toggle.btn-info { background: linear-gradient(135deg, #ef8ab5, #e2699f); border: 0; color: #fff; transform: translateY(-2px); }

.btn-success, .btn-success:visited { background: linear-gradient(135deg, #cd8ab3, #c77daa); border: 0; color: #fff; box-shadow: 0 4px 12px rgba(199, 125, 170, .3); }
.btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active, .open > .dropdown-toggle.btn-success { background: linear-gradient(135deg, #c77daa, #b06293); border: 0; color: #fff; transform: translateY(-2px); }

.btn-warning, .btn-warning:visited { background: linear-gradient(135deg, #f4b3c6, #f0a7bd); border: 0; color: #fff; }
.btn-warning:hover, .btn-warning:focus, .btn-warning:active, .btn-warning.active, .open > .dropdown-toggle.btn-warning { background: linear-gradient(135deg, #f0a7bd, #e587a3); border: 0; color: #fff; transform: translateY(-2px); }

.btn-danger, .btn-danger:visited { background: linear-gradient(135deg, #ec7489, #e4637c); border: 0; color: #fff; box-shadow: 0 4px 12px rgba(228, 99, 124, .3); }
.btn-danger:hover, .btn-danger:focus, .btn-danger:active, .btn-danger.active, .open > .dropdown-toggle.btn-danger { background: linear-gradient(135deg, #e4637c, #cc4a63); border: 0; color: #fff; transform: translateY(-2px); }

.btn-default, .btn-default:visited { color: #a04b73; background-color: #fff; border: 1px solid #eccbd9; }
.btn-default:hover, .btn-default:focus, .btn-default:active, .btn-default.active, .open > .dropdown-toggle.btn-default { color: #8a3a5e; background-color: #fbe4ee; border-color: #f2b8cd; }
.btn:active { transform: translateY(0); }

/* ========== 面板（卡片化） ========== */
.panel {
  background: #fff; border: 0; border-radius: 16px; overflow: hidden;
  box-shadow: 0 2px 8px rgba(217, 83, 143, .06), 0 12px 32px rgba(217, 83, 143, .07);
  transition: box-shadow .25s ease;
}
.panel:hover { box-shadow: 0 4px 12px rgba(217, 83, 143, .08), 0 18px 44px rgba(217, 83, 143, .11); }
.panel-primary > .panel-heading { background: linear-gradient(135deg, #e2699f, #d9538f); color: #fff; border: 0; }
.panel-info > .panel-heading { background: linear-gradient(135deg, #f39ebb, #ef8ab5); color: #fff; border: 0; }
.panel-success > .panel-heading { background: linear-gradient(135deg, #cd8ab3, #c77daa); color: #fff; border: 0; }
.panel-warning > .panel-heading { background: linear-gradient(135deg, #f4b3c6, #f0a7bd); color: #fff; border: 0; }
.panel-danger > .panel-heading { background: linear-gradient(135deg, #ec7489, #e4637c); color: #fff; border: 0; }
.panel-default { border: 1px solid #f3d9e5; }
.panel-default > .panel-heading { background: #fdf0f6; border-bottom: 1px solid #f3d9e5; color: #a04b73; }
.panel-heading { padding: 14px 20px; }
.panel-title { font-weight: 600; }
.panel-body { padding: 20px; }
.panel-footer { background-color: #fdf2f6; border-top: 1px solid #f5dae5; color: #8a3a5e; }
.panel-heading a, .panel-heading a:hover { color: inherit; }

/* ========== Well（毛玻璃卡片） ========== */
.well {
  background: rgba(255, 255, 255, .86);
  border: 1px solid rgba(243, 211, 225, .9);
  border-radius: 16px;
  box-shadow: 0 4px 18px rgba(217, 83, 143, .06);
  backdrop-filter: blur(6px);
  padding: 24px;
}
.well h2 { margin-top: 0; }

/* ========== 上传区 ========== */
.infobox { border: 2px dashed #eeaac5; background: rgba(255, 255, 255, .75); transition: border-color .25s ease, box-shadow .25s ease; }
.infobox:hover { border-color: #d9538f; box-shadow: 0 10px 30px rgba(217, 83, 143, .15); }
#uploadTitle { color: #c68ba4; font-weight: 600; letter-spacing: 1.5px; }
.colorful_loading_frame { background: rgba(150, 60, 95, .45); backdrop-filter: blur(3px); }

/* ========== 表单 ========== */
.form-control {
  border: 1px solid #e8c6d5; border-radius: 10px; background-color: #fff; background-image: none !important;
  box-shadow: none; color: #5d3d4c; padding: 9px 14px;
  transition: border-color .2s ease, box-shadow .2s ease;
}
select.form-control {
  height: auto; min-height: 40px; padding: 6px 14px; line-height: 1.5;
}
.form-control:focus, .form-group.is-focused .form-control, .form-group.is-focused .form-control:focus {
  border-color: #d9538f; background-image: none !important;
  box-shadow: 0 0 0 3px rgba(217, 83, 143, .14);
}
.form-control::placeholder { color: #c9a3b6; }
.form-group.is-focused label,
.form-group.is-focused label.control-label { color: #d9538f !important; }
.input-group-addon { background-color: #fbe4ee; border: 1px solid #e8c6d5; border-radius: 10px; color: #a04b73; }
.input-group .form-control:first-child { border-radius: 10px 0 0 10px; }
.input-group-btn:last-child > .btn { border-radius: 0 10px 10px 0; }
.searchbox .form-control { min-width: 200px; }

/* 复选框 / 单选框 (Material) */
.checkbox input[type=checkbox]:checked + .checkbox-material .check { color: #d9538f; border-color: #d9538f; }
.checkbox input[type=checkbox]:checked + .checkbox-material .check:before { color: #d9538f; }
.radio input[type=radio]:checked ~ .circle { border-color: #d9538f; }
.radio input[type=radio]:checked ~ .check { background-color: #d9538f; }
.radio label:hover, .checkbox label:hover { color: #c0417b; }

/* ========== 标签页（现代下划线风格） ========== */
.nav-tabs { background: transparent; border: 0; border-bottom: 2px solid #f5d8e4; box-shadow: none; border-radius: 0; backdrop-filter: none; }
.nav-tabs > li > a,
.nav-tabs > li > a:focus,
.nav-tabs > li > a:hover { color: #8a3a5e !important; background-color: transparent !important; border: 0 !important; margin-right: 4px; padding: 11px 16px; font-weight: 500; }
.nav-tabs > li > a:hover { color: #c0417b !important; }
.nav-tabs > li.active { background: transparent; border: 0; }
.nav-tabs > li.active > a { color: #d9538f !important; border: 0 !important; border-bottom: 2px solid #d9538f !important; margin-bottom: -2px; font-weight: 600; }
.nav-tabs > li.disabled > a,
.nav-tabs > li.disabled > a:hover { color: rgba(93, 61, 76, .4); }

/* ========== 表格 ========== */
.table-responsive { border: 1px solid #f2d3e1; border-radius: 14px; background: #fff; overflow-x: auto; }
.table > thead > tr > th { background: #fdeaf2; color: #8a3a5e; font-weight: 600; border-bottom: 2px solid #f2c9da !important; padding: 12px 14px; white-space: nowrap; }
.table > tbody > tr > td, .table > tbody > tr > th { border-top: 1px solid #f7e6ee; padding: 12px 14px; vertical-align: middle; }
.table > tbody > tr > th { background: #fdeaf2; color: #8a3a5e; font-weight: 600; }
.table-striped > tbody > tr:nth-of-type(odd) { background-color: #fffafc; }
.table-hover > tbody > tr:hover { background-color: #fdeaf2; }
.table-bordered, .table-bordered > tbody > tr > td,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > td,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > thead > tr > th { border: 1px solid #f2d7e2; }
.filelist > tbody > tr > td a { color: #c9538a; }
.filelist > tbody > tr > td a:hover { color: #a83e71; }
/* 空状态 */
.filelist > tbody > tr > td[colspan] { padding: 48px 10px; color: #bb8fa5; font-size: 15px; background: #fffafc; }

/* ========== 分页（圆角胶囊） ========== */
.pagination > li > a,
.pagination > li > span {
  color: #c9538a; background-color: #fff; border: 1px solid #f0cfdd;
  border-radius: 9px !important; margin: 0 3px; min-width: 34px; text-align: center;
  transition: all .18s ease;
}
.pagination > li > a:hover, .pagination > li > a:focus,
.pagination > li > span:hover, .pagination > li > span:focus { color: #a83e71; background-color: #fbe4ee; border-color: #f2b8cd; }
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > a:focus,
.pagination > .active > span:hover,
.pagination > .active > span:focus {
  background: linear-gradient(135deg, #e2699f, #d9538f); border-color: #d9538f; color: #fff;
  box-shadow: 0 3px 10px rgba(217, 83, 143, .3);
}
.pagination > .disabled > a, .pagination > .disabled > a:hover,
.pagination > .disabled > span, .pagination > .disabled > span:hover { color: #dcb8c9; background: #fdf4f8; border-color: #f2d7e2; }

/* ========== 进度条 / 提示框 ========== */
.progress { border-radius: 10px; background-color: #fde7f0; box-shadow: inset 0 1px 3px rgba(217, 83, 143, .08); }
.progress-bar { background: linear-gradient(90deg, #ef8ab5, #d9538f); border-radius: 10px; box-shadow: 0 0 10px rgba(217, 83, 143, .35); }
.progress-striped .progress-bar { background-image: linear-gradient(45deg, rgba(255,255,255,.2) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.2) 50%, rgba(255,255,255,.2) 75%, transparent 75%, transparent); }

.alert { border: 0; border-radius: 12px; box-shadow: 0 4px 14px rgba(217, 83, 143, .08); }
.alert-success { background-color: #fdf2f6; border-left: 4px solid #c77daa; color: #8a3a5e; }
.alert-info { background-color: #fff4f8; border-left: 4px solid #ef8ab5; color: #8a3a5e; }
.alert-warning { background-color: #fff5f0; border-left: 4px solid #f0a7bd; color: #8a4a3a; }
.alert-danger { background-color: #fdf0f3; border-left: 4px solid #e4637c; color: #a33a4e; }

.label-primary { background-color: #d9538f; }
.label-info { background-color: #ef8ab5; }
.label-success { background-color: #c77daa; }
.label-warning { background-color: #f0a7bd; }
.label-danger { background-color: #e4637c; }
.badge { background-color: #d9538f; border-radius: 8px; }

/* ========== 文件查看页 ========== */
.tubiao { color: #e88bb3; }
.elsetext { color: #a3557d; }
.image_view img, .image { border-radius: 12px; box-shadow: 0 10px 28px rgba(217, 83, 143, .16); }
.videoplayer { border-radius: 14px; overflow: hidden; box-shadow: 0 12px 32px rgba(217, 83, 143, .18); background: #2c1b23; }

/* ========== 登录页 ========== */
.login-card { margin-top: 56px; }
.login-card h5 { font-size: 18px; font-weight: 600; color: #8a3a5e; letter-spacing: 1px; }
.btn-fab { box-shadow: 0 8px 20px rgba(217, 83, 143, .3); transition: transform .2s ease, box-shadow .2s ease; }
.btn-fab:hover { transform: translateY(-3px) scale(1.06); }
.btn-fab.btn-info { background: linear-gradient(135deg, #f39ebb, #e2699f); }
.btn-fab.btn-success { background: linear-gradient(135deg, #cd8ab3, #b06293); }

/* ========== 页脚 ========== */
.footer { margin-top: 44px; padding: 24px 0 36px; border-top: 1px solid #f5d8e4; color: #b07d95; }
.footer a { color: #c9538a; }
.footer .text-muted { color: #b07d95; }

/* ========== 后台 ========== */
body { -webkit-tap-highlight-color: rgba(217, 83, 143, .15); }
.panel-green { border: 1px solid #f2cfe0; background: rgba(255, 250, 252, .72); box-shadow: 0 .5rem 1.5rem rgba(217, 83, 143, .1); backdrop-filter: blur(14px); }
.panel-green > .panel-heading { background: linear-gradient(135deg, #f39ebb, #ef8ab5); border: 0; color: #fff; }
.panel-green a { color: #c9538a; }
.panel-green a:hover { color: #a83e71; }
.panel-red { border: 0; }
.panel-red > .panel-heading { background: linear-gradient(135deg, #ec7489, #e4637c); border: 0; color: #fff; }
.panel-red a { color: #e4637c; }
.panel-red a:hover { color: #cc4a63; }
.panel-yellow { border: 1px solid #f2cfe0; background: rgba(255, 250, 252, .72); box-shadow: 0 .5rem 1.5rem rgba(217, 83, 143, .1); backdrop-filter: blur(14px); }
.panel-yellow > .panel-heading { background: linear-gradient(135deg, #f4b3c6, #f0a7bd); border: 0; color: #fff; }
.panel-yellow a { color: #c9538a; }
.panel-yellow a:hover { color: #a83e71; }

/* bootstrap-table 后台表格 */
.fixed-table-container { border: 1px solid #f2d3e1 !important; border-radius: 14px; }
.bootstrap-table .table > thead > tr > th,
.fixed-table-container thead th { background: #fdeaf2 !important; border-bottom: 1px solid #f2c9da !important; color: #8a3a5e; }
.fixed-table-body .card-view .title { color: #8a3a5e; }
.pagination-detail .pagination-info, .fixed-table-pagination .pagination a { color: #c9538a; }

/* 模态框 */
.modal-content { border: 0; border-radius: 16px; box-shadow: 0 24px 60px rgba(217, 83, 143, .22); }
.modal-header { border-bottom: 1px solid #f5dae5; }
.modal-footer { border-top: 1px solid #f5dae5; }

/* ========== 移动端适配 ========== */
@media (max-width: 767px) {
  body { background-attachment: scroll; }
  .well { padding: 18px; }
  .panel { border-radius: 14px; }
  .navbar-pink .navbar-nav > li > a { padding: 12px 15px; }
  .container h2 { font-size: 22px; }
}
