/**
 * modern-theme.css — 现代化 UI 覆盖主题
 *
 * 纯覆盖文件：必须在 AdminLTE / site / icolo / self / clock 之后加载。
 * 设计令牌：深石板色导航（#0f172a）+ 蓝色强调（#2563eb）+ 浅灰内容区（#f1f5f9）。
 * 删除本文件即可完整回退到旧版外观。
 */

:root {
    --mt-primary: #2563eb;
    --mt-primary-dark: #1d4ed8;
    --mt-sidebar-bg: #0f172a;
    --mt-sidebar-hover: #1e293b;
    --mt-text-main: #1e293b;
    --mt-text-muted: #64748b;
    --mt-border: #e2e8f0;
    --mt-border-light: #eef2f7;
    --mt-bg-body: #f1f5f9;
    --mt-bg-soft: #f8fafc;
    --mt-radius: 10px;
    --mt-radius-sm: 6px;
    --mt-shadow-card: 0 1px 3px rgba(15, 23, 42, .06);
    --mt-shadow-pop: 0 10px 25px -5px rgba(15, 23, 42, .15);
}

/* ============ 基础 ============ */

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
        "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: var(--mt-text-main);
}

a {
    color: var(--mt-primary);
}

a:hover,
a:focus {
    color: var(--mt-primary-dark);
}

.content-wrapper {
    background-color: var(--mt-bg-body);
}

/* 细滚动条 */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 8px;
}

::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

/* ============ 顶部导航（skin-blue 覆盖） ============ */

.skin-blue .main-header .navbar,
.skin-blue .main-header .logo,
.skin-blue .main-header .logo:hover {
    background-color: var(--mt-sidebar-bg);
}

.main-header {
    box-shadow: 0 1px 0 rgba(148, 163, 184, .15);
}

.skin-blue .main-header .navbar .sidebar-toggle:hover {
    background-color: rgba(148, 163, 184, .15);
}

.skin-blue .main-header .navbar .nav > li > a:hover,
.skin-blue .main-header .navbar .nav > li > a:active,
.skin-blue .main-header .navbar .nav > li > a:focus,
.skin-blue .main-header .navbar .nav .open > a,
.skin-blue .main-header .navbar .nav .open > a:hover,
.skin-blue .main-header .navbar .nav .open > a:focus {
    background-color: rgba(148, 163, 184, .15);
    color: #fff;
}

/* 顶部模块导航：去掉竖线分隔，激活/悬停用下划线指示 */
.main-header .nav .s {
    display: none;
}

.main-header .nav a {
    color: #cbd5e1;
    transition: color .15s ease, background-color .15s ease;
}

.main-header .nav h3 a {
    position: relative;
    font-weight: 500;
}

.main-header .nav h3 a::after {
    content: "";
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 0;
    height: 3px;
    background: var(--mt-primary);
    opacity: 0;
    transform: scaleX(.72);
    transform-origin: center;
    transition: opacity .15s ease, transform .15s ease;
}

.main-header .nav .m a:hover {
    color: #fff;
    background-color: rgba(148, 163, 184, .08);
}

.main-header .nav .m:hover h3 a::after,
.main-header .nav .m.on h3 a::after {
    opacity: 1;
    transform: scaleX(1);
}

.main-header .nav .m.on h3 a {
    color: #fff;
}

.main-header .nav .block {
    display: none !important;
}

/* 顶部下拉子菜单改为白色卡片 */
.main-header .nav .sub {
    background: #fff;
    border-radius: var(--mt-radius);
    box-shadow: var(--mt-shadow-pop);
    border: 1px solid var(--mt-border);
    padding: 8px;
    top: 54px;
}

.main-header .nav .sub li a,
.main-header .nav .sub .subtitleico {
    color: #334155;
}

.main-header .nav .sub li a {
    border-radius: var(--mt-radius-sm);
    margin: 2px 0;
    padding: 0 10px;
    font-weight: 500;
}

.main-header .nav .sub li a:hover {
    color: var(--mt-primary);
    background-color: var(--mt-bg-body);
}

/* ============ 侧边栏 ============ */

.skin-blue .wrapper,
.skin-blue .main-sidebar,
.skin-blue .left-side {
    background-color: var(--mt-sidebar-bg);
}

.skin-blue .sidebar-menu > li > a {
    color: #94a3b8;
    border-left: none;
    margin: 2px 8px;
    border-radius: 8px;
    transition: color .15s ease, background-color .15s ease;
}

.skin-blue .sidebar-menu > li:hover > a,
.skin-blue .sidebar-menu > li.menu-open > a {
    color: #fff;
    background-color: rgba(148, 163, 184, .12);
    border-left: none;
}

.skin-blue .sidebar-menu > li.active > a {
    color: #fff;
    background-color: var(--mt-primary);
    border-left: none;
}

.skin-blue .sidebar-menu > li > .treeview-menu {
    background: transparent;
    margin: 0 8px;
    padding-left: 4px;
}

.skin-blue .treeview-menu > li > a {
    color: #94a3b8;
    border-radius: var(--mt-radius-sm);
    transition: color .15s ease, background-color .15s ease;
}

.skin-blue .treeview-menu > li > a:hover {
    color: #fff;
    background-color: rgba(148, 163, 184, .1);
}

.skin-blue .treeview-menu > li.active > a {
    color: #fff;
    background-color: rgba(148, 163, 184, .18);
    font-weight: 500;
}

/* sidebar-mini 折叠态：恢复无圆角，弹出菜单用实底色 */
.sidebar-mini.sidebar-collapse .sidebar-menu > li > a {
    margin: 2px 0;
    border-radius: 0;
}

.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a {
    background-color: var(--mt-sidebar-hover);
}

.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > .treeview-menu {
    background-color: var(--mt-sidebar-hover) !important;
    border-radius: 0 0 8px 8px;
    margin: 0;
    padding-left: 0;
}

.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a > span:not(.pull-right) {
    background-color: var(--mt-sidebar-hover) !important;
    border-radius: 0 8px 0 0;
}

/* ============ 内容区头部 ============ */

.content-header > h1 {
    font-size: 20px;
    font-weight: 600;
    color: #0f172a;
}

.content-header > h1 > small {
    color: var(--mt-text-muted);
}

.content-header > .breadcrumb {
    background: transparent;
}

.content-header > .breadcrumb > li > a,
.content-header > .breadcrumb > li {
    color: var(--mt-text-muted);
}

/* ============ 卡片（box） ============ */

.box {
    border-radius: var(--mt-radius);
    box-shadow: var(--mt-shadow-card);
    border: 1px solid var(--mt-border-light);
    border-top-width: 3px;
}

.box.box-primary {
    border-top-color: var(--mt-primary);
}

.box.box-info {
    border-top-color: #0ea5e9;
}

.box.box-success {
    border-top-color: #16a34a;
}

.box.box-warning {
    border-top-color: #f59e0b;
}

.box.box-danger {
    border-top-color: #ef4444;
}

.box-header.with-border {
    border-bottom-color: var(--mt-border-light);
}

.box-header .box-title {
    font-weight: 600;
    font-size: 16px;
}

.box-footer {
    border-top-color: var(--mt-border-light);
    border-bottom-right-radius: var(--mt-radius);
    border-bottom-left-radius: var(--mt-radius);
}

.info-box,
.small-box {
    border-radius: var(--mt-radius);
    box-shadow: var(--mt-shadow-card);
}

/* ============ 按钮 ============ */

.btn {
    border-radius: var(--mt-radius-sm);
    font-weight: 500;
    box-shadow: none;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.btn:active,
.btn.active {
    box-shadow: none;
}

.btn-lg {
    border-radius: 8px;
}

.btn-xs {
    border-radius: 4px;
}

.btn-default {
    background-color: #fff;
    border-color: #cbd5e1;
    color: #334155;
}

.btn-default:hover,
.btn-default:focus,
.btn-default:active,
.btn-default.active {
    background-color: var(--mt-bg-soft);
    border-color: #94a3b8;
    color: var(--mt-text-main);
}

.btn-primary {
    background-color: var(--mt-primary);
    border-color: var(--mt-primary);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.btn-primary:active:hover,
.btn-primary:active:focus,
.open > .dropdown-toggle.btn-primary {
    background-color: var(--mt-primary-dark);
    border-color: var(--mt-primary-dark);
}

.btn-success {
    background-color: #16a34a;
    border-color: #16a34a;
}

.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
    background-color: #15803d;
    border-color: #15803d;
}

.btn-info {
    background-color: #0ea5e9;
    border-color: #0ea5e9;
}

.btn-info:hover,
.btn-info:focus,
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
    background-color: #0284c7;
    border-color: #0284c7;
}

.btn-warning {
    background-color: #f59e0b;
    border-color: #f59e0b;
}

.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
    background-color: #d97706;
    border-color: #d97706;
}

.btn-danger {
    background-color: #ef4444;
    border-color: #ef4444;
}

.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
    background-color: #dc2626;
    border-color: #dc2626;
}

/* ============ 表单 ============ */

.form-control {
    border-radius: var(--mt-radius-sm);
    border-color: #cbd5e1;
    box-shadow: none;
    color: var(--mt-text-main);
    transition: border-color .15s ease, box-shadow .15s ease;
}

.form-control:focus {
    border-color: var(--mt-primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .12);
}

.form-control::placeholder {
    color: #94a3b8;
}

.input-group .input-group-addon {
    border-radius: var(--mt-radius-sm);
    border-color: #cbd5e1;
    background-color: var(--mt-bg-soft);
    color: var(--mt-text-muted);
}

.has-error .form-control {
    border-color: #ef4444;
}

.has-error .form-control:focus {
    box-shadow: 0 0 0 3px rgba(239, 68, 68, .12);
}

.help-block {
    color: var(--mt-text-muted);
}

label {
    font-weight: 500;
    color: #334155;
}

/* ============ 表格 ============ */

.table > thead > tr > th {
    background-color: var(--mt-bg-soft);
    color: #475569;
    font-weight: 600;
    border-bottom: 1px solid var(--mt-border);
}

.table > tbody > tr > td {
    border-top-color: var(--mt-border-light);
    vertical-align: middle;
}

.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: #fafbfd;
}

.table-hover > tbody > tr:hover {
    background-color: var(--mt-bg-body);
}

.table-bordered,
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > td {
    border-color: #e8eef4;
}

/* ============ 分页 ============ */

.pagination > li > a,
.pagination > li > span {
    color: #475569;
    border-color: var(--mt-border);
    margin: 0 2px;
    border-radius: var(--mt-radius-sm);
}

.pagination > li:first-child > a,
.pagination > li:first-child > span,
.pagination > li:last-child > a,
.pagination > li:last-child > span {
    border-radius: var(--mt-radius-sm);
}

.pagination > li > a:hover,
.pagination > li > a:focus {
    background-color: var(--mt-bg-body);
    color: var(--mt-text-main);
}

.pagination > .active > a,
.pagination > .active > a:hover,
.pagination > .active > a:focus,
.pagination > .active > span {
    background-color: var(--mt-primary);
    border-color: var(--mt-primary);
}

/* ============ 标签 / 徽章 ============ */

.label {
    border-radius: 5px;
    font-weight: 600;
    padding: .25em .55em .3em;
}

.label-primary {
    background-color: var(--mt-primary);
}

.label-success {
    background-color: #16a34a;
}

.label-info {
    background-color: #0ea5e9;
}

.label-warning {
    background-color: #f59e0b;
}

.label-danger {
    background-color: #ef4444;
}

.label-default {
    background-color: #64748b;
    color: #fff;
}

.badge {
    border-radius: 999px;
    font-weight: 600;
}

/* ============ 提示框（AdminLTE 原样式带 !important，需同级覆盖） ============ */

.alert {
    border-radius: 8px;
    border: 1px solid transparent;
}

.alert .close {
    color: inherit;
    opacity: .4;
    text-shadow: none;
}

.alert .alert-link,
.alert a {
    color: inherit;
    font-weight: 600;
}

.alert-success {
    background-color: #f0fdf4 !important;
    border-color: #bbf7d0 !important;
    color: #15803d !important;
}

.alert-info {
    background-color: #eff6ff !important;
    border-color: #bfdbfe !important;
    color: #1d4ed8 !important;
}

.alert-warning {
    background-color: #fffbeb !important;
    border-color: #fde68a !important;
    color: #b45309 !important;
}

.alert-danger,
.alert-error {
    background-color: #fef2f2 !important;
    border-color: #fecaca !important;
    color: #b91c1c !important;
}

/* ============ 下拉菜单 ============ */

.dropdown-menu {
    border-radius: var(--mt-radius);
    border: 1px solid var(--mt-border);
    box-shadow: var(--mt-shadow-pop);
    padding: 6px;
}

.dropdown-menu > li > a {
    border-radius: var(--mt-radius-sm);
    padding: 7px 12px;
    color: #334155;
}

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
    background-color: var(--mt-bg-body);
    color: #0f172a;
}

.dropdown-menu .divider {
    background-color: var(--mt-border-light);
}

/* ============ 选项卡 ============ */

.nav-tabs {
    border-bottom: 1px solid var(--mt-border);
}

.nav-tabs > li > a {
    border: none;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    color: var(--mt-text-muted);
    font-weight: 500;
    margin-right: 4px;
}

.nav-tabs > li > a:hover {
    background: transparent;
    color: var(--mt-text-main);
    border: none;
    border-bottom: 2px solid #cbd5e1;
}

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
    border: none;
    border-bottom: 2px solid var(--mt-primary);
    color: var(--mt-primary);
    background: transparent;
    font-weight: 600;
}

.nav-tabs-custom {
    border-radius: var(--mt-radius);
    box-shadow: var(--mt-shadow-card);
}

.nav-tabs-custom > .nav-tabs > li.active {
    border-top-color: transparent;
}

.nav-tabs-custom > .nav-tabs > li.active > a {
    border: none;
    border-bottom: 2px solid var(--mt-primary);
    color: var(--mt-primary);
}

/* ============ 弹窗 ============ */

.modal-content {
    border-radius: 12px;
    border: none;
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, .25);
}

.modal-header {
    border-bottom-color: var(--mt-border-light);
}

.modal-header .modal-title {
    font-weight: 600;
}

.modal-footer {
    border-top-color: var(--mt-border-light);
}

/* ============ 页脚 ============ */

.main-footer {
    background-color: #fff;
    border-top: 1px solid var(--mt-border-light);
    color: var(--mt-text-muted);
    min-height: 48px;
    padding: 10px 24px;
    font-size: 12px;
    line-height: 1.4;
}

.erp-footer-body {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
}

.erp-footer-copy,
.erp-footer-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.erp-footer-copy {
    color: #64748b;
}

.erp-footer-copy strong {
    color: #475569;
    font-weight: 600;
}

.erp-footer-meta {
    flex-wrap: wrap;
    justify-content: flex-end;
    color: #94a3b8;
}

.erp-footer-meta a,
.erp-footer-copy a {
    color: #64748b;
    text-decoration: none;
}

.erp-footer-meta a:hover,
.erp-footer-copy a:hover {
    color: var(--mt-primary);
}

.erp-footer-separator {
    width: 1px;
    height: 12px;
    background: var(--mt-border);
}

.main-footer .footer-mod {
    width: 16px;
    height: 16px;
    background-size: contain;
    opacity: .72;
}

@media (max-width: 991px) {
    .erp-footer-body {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }

    .erp-footer-meta {
        justify-content: flex-start;
    }
}

/* ============ 右侧悬浮按钮 ============ */

.fixed-btn {
    background-color: #fff;
    border: 1px solid var(--mt-border);
    border-radius: 8px;
    color: #475569;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .08);
    transition: color .15s ease, border-color .15s ease;
}

.fixed-btn:hover {
    color: var(--mt-primary);
    border-color: var(--mt-primary);
    background-color: #fff;
}

/* ============ 进度条 ============ */

.progress {
    border-radius: 999px;
    box-shadow: none;
    background-color: var(--mt-border);
}

.progress-bar {
    box-shadow: none;
}
