/* ==========================================================================
   城市管理行政执法管理系统 · 全局配色主题
   方案 A —— 政务藏蓝（庄重权威 · 政府门户风）
   --------------------------------------------------------------------------
   本文件是**全站配色的唯一来源**，必须在所有其它样式（含页面内联 <style>）
   之后加载，即放在 </head> 之前。

   换配色只需改下面 :root 里的变量，无需改动其它任何文件。
   --------------------------------------------------------------------------
   设计说明：
     · 顶栏     深藏蓝渐变，替代原 Bootstrap 默认亮蓝 #0d6efd
     · 侧边栏   浅灰蓝底；选中态藏蓝实底，取代原先刺眼的亮蓝
     · 内容区   纯白卡片 + 细描边，取代原来一整块高饱和浅天蓝 #87CEFA
     · 表格     表头藏蓝，隔行浅藏蓝，取代原来的青色 #008B8B / 米黄 #FAEBD7
     · 弹窗     藏蓝渐变头部 + 白色内容，取代原来的纯蓝头部 + 浅蓝底 #e3f2fd
     · 分区标题 藏蓝色 + 左侧竖线装饰，取代原来散落的 #0d6efd 标题
   ========================================================================== */

:root {
    /* ---- 品牌色 ---- */
    --brand:        #1B4B8F;   /* 主色：政务藏蓝 */
    --brand-dark:   #143A70;   /* 深色端：渐变终点、悬停态 */
    --brand-light:  #E8EFF9;   /* 浅底：隔行、悬停背景 */
    --brand-rgb:    27, 75, 143;
    --accent:       #C9A227;   /* 点缀：政务金 */

    /* ---- 中性色 ---- */
    --page-bg:      #F4F6FA;   /* 页面底色 */
    --sidebar-bg:   #F7F9FC;   /* 侧栏 / 页脚底色 */
    --panel-bg:     #FFFFFF;   /* 内容卡片底色 */
    --border-color: #E3E8EF;   /* 描边 */
    --text-main:    #1F2733;   /* 正文 */
    --text-muted:   #6B7684;   /* 次要文字 */

    /* ---- 形态 ---- */
    --radius:       8px;
    --shadow-sm:    0 1px 2px rgba(16,24,40,.06), 0 2px 6px rgba(16,24,40,.06);

    /* ---- 语义色（统一收敛，避免纯红纯绿刺眼）---- */
    --danger:       #C0392B;
    --danger-dark:  #A93226;
    --success:      #2F7D4F;
    --success-dark: #276841;

    /* ---- 对齐 Bootstrap 5 主题变量 ---- */
    --bs-primary:      var(--brand);
    --bs-primary-rgb:  var(--brand-rgb);
    --bs-body-color:   var(--text-main);
    --bs-border-color: var(--border-color);
}

/* ====================== 页面底色与文字 ====================== */
body,
.form-page {
    background-color: var(--page-bg) !important;
    color: var(--text-main) !important;
}

/* ====================== 顶部导航栏 ====================== */
.navbar,
.navbar.bg-primary {
    background: linear-gradient(135deg, var(--brand) 0%, var(--brand-dark) 100%) !important;
    box-shadow: 0 1px 3px rgba(16,24,40,.14) !important;
    border-bottom: 0 !important;
}
.navbar .navbar-brand {
    color: #fff !important;
    letter-spacing: .3px;
}
.navbar .nav-link {
    color: rgba(255,255,255,.85) !important;
    border-radius: 6px;
    padding: 6px 12px !important;
    transition: background-color .18s ease, color .18s ease;
}
.navbar .nav-link:hover,
.navbar .nav-link:focus {
    color: #fff !important;
    background-color: rgba(255,255,255,.14) !important;
}
.navbar-toggler {
    border-color: rgba(255,255,255,.35) !important;
}

/* ====================== 左侧菜单栏 ====================== */
#sidebar,
.sidebar {
    background-color: var(--sidebar-bg) !important;
    border-right: 1px solid var(--border-color) !important;
}
.sidebar h5,
#sidebar h5 {
    color: var(--brand) !important;
    letter-spacing: .3px;
}
.sidebar .nav-link,
#sidebar .nav-link {
    color: #4A5462 !important;
    border-radius: 6px;
    padding: 7px 10px !important;
    margin-bottom: 2px;
    transition: background-color .18s ease, color .18s ease;
}
.sidebar .nav-link:hover,
#sidebar .nav-link:hover {
    background-color: var(--brand-light) !important;
    color: var(--brand-dark) !important;
}
/* 选中态（含 Bootstrap nav-pills 的 active） */
.sidebar .nav-link.active,
#sidebar .nav-link.active,
#sidebar .nav-pills .nav-link.active {
    background-color: var(--brand) !important;
    color: #fff !important;
    font-weight: 600;
}
#sidebarToggleBtn {
    background: var(--panel-bg) !important;
    border-color: var(--border-color) !important;
    color: var(--brand) !important;
}

/* ====================== 主内容区 ======================
   原来是一整块高饱和浅天蓝 (#87CEFA)，改为白色卡片 + 细描边 */
#case-form-container {
    background-color: var(--panel-bg) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: var(--radius) !important;
    box-shadow: var(--shadow-sm) !important;
}

/* 分区标题：藏蓝色 + 左侧竖线（原为散落的硬编码 #0d6efd） */
.mb-4 > h5,
h5[style*="0d6efd"] {
    color: var(--brand) !important;
    border-left: 3px solid var(--brand);
    padding-left: 10px;
    line-height: 1.3;
}

/* ====================== 表单控件 ====================== */
.form-label {
    color: var(--text-main) !important;
    font-weight: 500;
}
input.form-control,
select.form-select,
textarea.form-control {
    background-color: #fff !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 6px;
    transition: border-color .18s ease, box-shadow .18s ease;
}
input.form-control:hover,
select.form-select:hover,
textarea.form-control:hover {
    border-color: #C7CFDA !important;
}
input.form-control:focus,
select.form-select:focus,
textarea.form-control:focus {
    background-color: #fff !important;
    border-color: var(--brand) !important;
    box-shadow: 0 0 0 .2rem rgba(var(--brand-rgb), .16) !important;
}
.form-control::placeholder { color: #9AA3AE !important; }

/* ====================== 按钮体系 ====================== */
.btn {
    border-radius: 6px;
    font-weight: 500;
    transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.btn-primary {
    --bs-btn-bg: var(--brand);
    --bs-btn-border-color: var(--brand);
    --bs-btn-hover-bg: var(--brand-dark);
    --bs-btn-hover-border-color: var(--brand-dark);
    --bs-btn-active-bg: var(--brand-dark);
    --bs-btn-active-border-color: var(--brand-dark);
    --bs-btn-disabled-bg: var(--brand);
    --bs-btn-disabled-border-color: var(--brand);
    --bs-btn-focus-shadow-rgb: var(--brand-rgb);
    box-shadow: 0 1px 2px rgba(var(--brand-rgb), .22);
}
.btn-outline-primary {
    --bs-btn-color: var(--brand);
    --bs-btn-border-color: var(--brand);
    --bs-btn-hover-bg: var(--brand);
    --bs-btn-hover-border-color: var(--brand);
    --bs-btn-active-bg: var(--brand-dark);
    --bs-btn-active-border-color: var(--brand-dark);
    --bs-btn-focus-shadow-rgb: var(--brand-rgb);
}
.btn-secondary {
    --bs-btn-bg: #EDF0F4;
    --bs-btn-border-color: #DDE2E9;
    --bs-btn-color: #4A5462;
    --bs-btn-hover-bg: #E2E7EE;
    --bs-btn-hover-border-color: #D2D9E2;
    --bs-btn-hover-color: #333C48;
    --bs-btn-active-bg: #D8DEE7;
    --bs-btn-active-border-color: #C8D0DA;
    --bs-btn-active-color: #2C343E;
}
.btn-danger {
    --bs-btn-bg: var(--danger);
    --bs-btn-border-color: var(--danger);
    --bs-btn-hover-bg: var(--danger-dark);
    --bs-btn-hover-border-color: var(--danger-dark);
    --bs-btn-active-bg: #96291E;
    --bs-btn-active-border-color: #96291E;
    --bs-btn-focus-shadow-rgb: 192, 57, 43;
}
.btn-success {
    --bs-btn-bg: var(--success);
    --bs-btn-border-color: var(--success);
    --bs-btn-hover-bg: var(--success-dark);
    --bs-btn-hover-border-color: var(--success-dark);
    --bs-btn-active-bg: #205737;
    --bs-btn-active-border-color: #205737;
    --bs-btn-focus-shadow-rgb: 47, 125, 79;
}
.btn-warning {
    --bs-btn-bg: var(--accent);
    --bs-btn-border-color: var(--accent);
    --bs-btn-color: #fff;
    --bs-btn-hover-bg: var(--accent);
    --bs-btn-hover-border-color: var(--accent);
    --bs-btn-hover-color: #fff;
}
/* 兼容模板中内联写死的纯红按钮 */
.btn[style*="ff0000"],
.btn[style*="cc0000"] {
    background-color: var(--danger) !important;
    border-color: var(--danger) !important;
}

/* ====================== 卡片 / 分区容器 ====================== */
.card {
    border: 1px solid var(--border-color) !important;
    border-radius: var(--radius) !important;
    box-shadow: var(--shadow-sm) !important;
    background-color: var(--panel-bg) !important;
}
.card-header,
.card-header.text-white {
    background: linear-gradient(135deg, var(--brand) 0%, var(--brand-dark) 100%) !important;
    color: #fff !important;
    border-bottom: 0 !important;
    border-radius: var(--radius) var(--radius) 0 0 !important;
}
.card-footer {
    background-color: var(--sidebar-bg) !important;
    border-top: 1px solid var(--border-color) !important;
}

/* ====================== 表格 ====================== */
.table {
    --bs-table-border-color: var(--border-color);
    --bs-table-color: var(--text-main);
}
.table > thead th,
.table thead th,
table tr th[style*="008B8B"] {
    background-color: var(--brand) !important;
    color: #fff !important;
    border-color: var(--brand) !important;
    font-weight: 600;
}
.table-striped > tbody > tr:nth-of-type(odd) > * {
    background-color: var(--brand-light) !important;
    color: var(--text-main) !important;
    box-shadow: none !important;
}
/* 兼容 JS 动态生成的米黄隔行底色 */
tr[style*="FAEBD7"] {
    background-color: var(--brand-light) !important;
}
.table-hover > tbody > tr:hover > * {
    background-color: rgba(var(--brand-rgb), .07) !important;
}

/* ====================== 弹窗 ====================== */
.modal-content {
    background-color: var(--panel-bg) !important;
    border: 0 !important;
    border-radius: var(--radius) !important;
    box-shadow: 0 12px 40px rgba(16,24,40,.20) !important;
}
.modal-header {
    background: linear-gradient(135deg, var(--brand) 0%, var(--brand-dark) 100%) !important;
    color: #fff !important;
    border-bottom: 0 !important;
    border-radius: var(--radius) var(--radius) 0 0 !important;
}
.modal-header .btn-close { filter: invert(1) grayscale(1) brightness(2); }
.modal-footer {
    border-top: 1px solid var(--border-color) !important;
    background-color: var(--sidebar-bg) !important;
}

/* ====================== 下拉菜单 ====================== */
.dropdown-menu {
    border: 1px solid var(--border-color) !important;
    border-radius: 8px !important;
    box-shadow: var(--shadow-sm) !important;
}
.dropdown-item:hover,
.dropdown-item:focus {
    background-color: var(--brand-light) !important;
    color: var(--brand-dark) !important;
}
.dropdown-item.active {
    background-color: var(--brand) !important;
    color: #fff !important;
}

/* ====================== 链接与辅助色 ====================== */
a { color: var(--brand); }
a:hover { color: var(--brand-dark); }
.text-primary { color: var(--brand) !important; }
.bg-primary { background-color: var(--brand) !important; }
.bg-light { background-color: var(--sidebar-bg) !important; }
.border-primary { border-color: var(--brand) !important; }
.badge.bg-primary { background-color: var(--brand) !important; }
.badge.bg-warning {
    background-color: var(--accent) !important;
    color: #fff !important;
}
/* 必填星号保留醒目红，但收敛为柔和红 */
span[style*="color: red"] { color: #D9534F !important; }

/* ====================== 空状态 / 页脚 ====================== */
#blank-page,
.license-management[style*="f8f9fa"] {
    background-color: var(--page-bg) !important;
}
footer {
    background-color: var(--sidebar-bg) !important;
    border-top: 1px solid var(--border-color) !important;
}
.copyright-text { color: var(--text-muted) !important; }

/* ====================== 登录页 ====================== */
.login-container {
    border-radius: 10px !important;
    box-shadow: 0 10px 40px rgba(16,24,40,.22) !important;
}
.login-title { color: var(--brand) !important; }

/* ====================== 滚动条（细节质感） ====================== */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
    background: #C9D1DB;
    border-radius: 6px;
    border: 2px solid transparent;
    background-clip: content-box;
}
::-webkit-scrollbar-thumb:hover {
    background: #AEB9C6;
    background-clip: content-box;
}
