/**
 * 基础元素样式
 * 维海科技信息化管理平台
 * 版本: 3.0
 */

/* ============================================
   基础元素样式
   ============================================ */

/* 容器 */
.container-fluid {
    width: 100%;
    padding-right: var(--spacing-md);
    padding-left: var(--spacing-md);
    margin-right: auto;
    margin-left: auto;
}

/* 页面基础布局 */
/* 注意：body 的 padding-top 已移除，各布局模板应自行处理顶部导航栏空间 */
/* 例如：三栏布局使用 .three-column-layout { margin-top: var(--navbar-height); } */

/* 工具类 - 显示/隐藏 */
.d-none {
    display: none !important;
}

.d-block {
    display: block !important;
}

.d-inline {
    display: inline !important;
}

.d-inline-block {
    display: inline-block !important;
}

.d-flex {
    display: flex !important;
}

.d-grid {
    display: grid !important;
}

/* 响应式显示/隐藏 */
@media (max-width: 992px) {
    .d-md-none {
        display: none !important;
    }
    
    .d-md-block {
        display: block !important;
    }
}

@media (max-width: 576px) {
    .d-sm-none {
        display: none !important;
    }
    
    .d-sm-block {
        display: block !important;
    }
}

/* Flexbox 工具类 */
.flex-column {
    flex-direction: column;
}

.flex-wrap {
    flex-wrap: wrap;
}

.flex-1 {
    flex: 1;
}

.items-center {
    align-items: center;
}

.items-start {
    align-items: flex-start;
}

.items-end {
    align-items: flex-end;
}

.justify-center {
    justify-content: center;
}

.justify-start {
    justify-content: flex-start;
}

.justify-end {
    justify-content: flex-end;
}

.justify-between {
    justify-content: space-between;
}

.flex-sm-column {
    flex-direction: column;
}

/* 文本工具类 */
.text-ellipsis {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.text-center {
    text-align: center;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

.text-justify {
    text-align: justify;
}

.font-light {
    font-weight: 300;
}

.font-normal {
    font-weight: 400;
}

.font-medium {
    font-weight: 500;
}

.font-semibold {
    font-weight: 600;
}

.font-bold {
    font-weight: 700;
}

/* 颜色工具类 */
.text-muted {
    color: var(--vh-text-muted) !important;
}

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

.text-accent {
    color: var(--vh-accent) !important;
}

.text-success {
    color: var(--vh-success) !important;
}

.text-warning {
    color: var(--vh-warning) !important;
}

.text-danger {
    color: var(--vh-error) !important;
}

.text-info {
    color: var(--vh-info) !important;
}

.bg-surface {
    background: var(--vh-surface) !important;
}

.bg-primary {
    background: var(--vh-primary) !important;
    color: #fff !important;
}

.bg-accent {
    background: var(--vh-accent) !important;
    color: #fff !important;
}

.bg-success {
    background: var(--vh-success) !important;
    color: #fff !important;
}

.bg-warning {
    background: var(--vh-warning) !important;
    color: #fff !important;
}

.bg-danger {
    background: var(--vh-error) !important;
    color: #fff !important;
}

/* 阴影工具类 */
.shadow-sm {
    box-shadow: var(--shadow-sm);
}

.shadow-md {
    box-shadow: var(--shadow-md);
}

.shadow-lg {
    box-shadow: var(--shadow-lg);
}

.shadow-xl {
    box-shadow: var(--shadow-xl);
}

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

/* 间距工具类 */
.mb-0 { margin-bottom: 0 !important; }
.mb-1 { margin-bottom: var(--spacing-xs) !important; }
.mb-2 { margin-bottom: var(--spacing-sm) !important; }
.mb-3 { margin-bottom: var(--spacing-md) !important; }
.mb-4 { margin-bottom: var(--spacing-lg) !important; }
.mb-5 { margin-bottom: var(--spacing-xl) !important; }

.mt-0 { margin-top: 0 !important; }
.mt-1 { margin-top: var(--spacing-xs) !important; }
.mt-2 { margin-top: var(--spacing-sm) !important; }
.mt-3 { margin-top: var(--spacing-md) !important; }
.mt-4 { margin-top: var(--spacing-lg) !important; }
.mt-5 { margin-top: var(--spacing-xl) !important; }

.p-0 { padding: 0 !important; }
.p-1 { padding: var(--spacing-xs) !important; }
.p-2 { padding: var(--spacing-sm) !important; }
.p-3 { padding: var(--spacing-md) !important; }
.p-4 { padding: var(--spacing-lg) !important; }
.p-5 { padding: var(--spacing-xl) !important; }

/* 水平间距工具类 */
.mx-0 { margin-left: 0 !important; margin-right: 0 !important; }
.mx-1 { margin-left: var(--spacing-xs) !important; margin-right: var(--spacing-xs) !important; }
.mx-2 { margin-left: var(--spacing-sm) !important; margin-right: var(--spacing-sm) !important; }
.mx-3 { margin-left: var(--spacing-md) !important; margin-right: var(--spacing-md) !important; }
.mx-4 { margin-left: var(--spacing-lg) !important; margin-right: var(--spacing-lg) !important; }
.mx-5 { margin-left: var(--spacing-xl) !important; margin-right: var(--spacing-xl) !important; }
.mx-auto { margin-left: auto !important; margin-right: auto !important; }

/* 垂直间距工具类 */
.my-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
.my-1 { margin-top: var(--spacing-xs) !important; margin-bottom: var(--spacing-xs) !important; }
.my-2 { margin-top: var(--spacing-sm) !important; margin-bottom: var(--spacing-sm) !important; }
.my-3 { margin-top: var(--spacing-md) !important; margin-bottom: var(--spacing-md) !important; }
.my-4 { margin-top: var(--spacing-lg) !important; margin-bottom: var(--spacing-lg) !important; }
.my-5 { margin-top: var(--spacing-xl) !important; margin-bottom: var(--spacing-xl) !important; }

/* 左右间距工具类 */
.ml-0 { margin-left: 0 !important; }
.ml-1 { margin-left: var(--spacing-xs) !important; }
.ml-2 { margin-left: var(--spacing-sm) !important; }
.ml-3 { margin-left: var(--spacing-md) !important; }
.ml-4 { margin-left: var(--spacing-lg) !important; }
.ml-5 { margin-left: var(--spacing-xl) !important; }
.ml-auto { margin-left: auto !important; }

.mr-0 { margin-right: 0 !important; }
.mr-1 { margin-right: var(--spacing-xs) !important; }
.mr-2 { margin-right: var(--spacing-sm) !important; }
.mr-3 { margin-right: var(--spacing-md) !important; }
.mr-4 { margin-right: var(--spacing-lg) !important; }
.mr-5 { margin-right: var(--spacing-xl) !important; }
.mr-auto { margin-right: auto !important; }

/* 水平内边距工具类 */
.px-0 { padding-left: 0 !important; padding-right: 0 !important; }
.px-1 { padding-left: var(--spacing-xs) !important; padding-right: var(--spacing-xs) !important; }
.px-2 { padding-left: var(--spacing-sm) !important; padding-right: var(--spacing-sm) !important; }
.px-3 { padding-left: var(--spacing-md) !important; padding-right: var(--spacing-md) !important; }
.px-4 { padding-left: var(--spacing-lg) !important; padding-right: var(--spacing-lg) !important; }
.px-5 { padding-left: var(--spacing-xl) !important; padding-right: var(--spacing-xl) !important; }

/* 垂直内边距工具类 */
.py-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
.py-1 { padding-top: var(--spacing-xs) !important; padding-bottom: var(--spacing-xs) !important; }
.py-2 { padding-top: var(--spacing-sm) !important; padding-bottom: var(--spacing-sm) !important; }
.py-3 { padding-top: var(--spacing-md) !important; padding-bottom: var(--spacing-md) !important; }
.py-4 { padding-top: var(--spacing-lg) !important; padding-bottom: var(--spacing-lg) !important; }
.py-5 { padding-top: var(--spacing-xl) !important; padding-bottom: var(--spacing-xl) !important; }

/* 左右内边距工具类 */
.pl-0 { padding-left: 0 !important; }
.pl-1 { padding-left: var(--spacing-xs) !important; }
.pl-2 { padding-left: var(--spacing-sm) !important; }
.pl-3 { padding-left: var(--spacing-md) !important; }
.pl-4 { padding-left: var(--spacing-lg) !important; }
.pl-5 { padding-left: var(--spacing-xl) !important; }

.pr-0 { padding-right: 0 !important; }
.pr-1 { padding-right: var(--spacing-xs) !important; }
.pr-2 { padding-right: var(--spacing-sm) !important; }
.pr-3 { padding-right: var(--spacing-md) !important; }
.pr-4 { padding-right: var(--spacing-lg) !important; }
.pr-5 { padding-right: var(--spacing-xl) !important; }

/* 圆角工具类 - 全部设置为直角 */
.rounded-none { border-radius: 0 !important; }
.rounded-sm { border-radius: 0 !important; }
.rounded { border-radius: 0 !important; }
.rounded-md { border-radius: 0 !important; }
.rounded-lg { border-radius: 0 !important; }
.rounded-xl { border-radius: 0 !important; }
.rounded-2xl { border-radius: 0 !important; }
.rounded-full { border-radius: 0 !important; }
.rounded-top { border-top-left-radius: 0 !important; border-top-right-radius: 0 !important; }
.rounded-bottom { border-bottom-left-radius: 0 !important; border-bottom-right-radius: 0 !important; }
.rounded-left { border-top-left-radius: 0 !important; border-bottom-left-radius: 0 !important; }
.rounded-right { border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important; }

/* 边框工具类 */
.border-none { border: none !important; }
.border { border: 1px solid var(--vh-border) !important; }
.border-top { border-top: 1px solid var(--vh-border) !important; }
.border-right { border-right: 1px solid var(--vh-border) !important; }
.border-bottom { border-bottom: 1px solid var(--vh-border) !important; }
.border-left { border-left: 1px solid var(--vh-border) !important; }

.border-primary { border-color: var(--vh-primary) !important; }
.border-accent { border-color: var(--vh-accent) !important; }
.border-success { border-color: var(--vh-success) !important; }
.border-warning { border-color: var(--vh-warning) !important; }
.border-danger { border-color: var(--vh-error) !important; }
.border-info { border-color: var(--vh-info) !important; }
.border-light { border-color: var(--vh-border-light) !important; }
.border-muted { border-color: var(--vh-text-muted) !important; }

/* 位置工具类 */
.position-static { position: static !important; }
.position-relative { position: relative !important; }
.position-absolute { position: absolute !important; }
.position-fixed { position: fixed !important; }
.position-sticky { position: sticky !important; }

/* z-index 工具类 */
.z-0 { z-index: 0 !important; }
.z-10 { z-index: 10 !important; }
.z-20 { z-index: 20 !important; }
.z-30 { z-index: 30 !important; }
.z-40 { z-index: 40 !important; }
.z-50 { z-index: 50 !important; }
.z-dropdown { z-index: var(--z-dropdown) !important; }
.z-sticky { z-index: var(--z-sticky) !important; }
.z-fixed { z-index: var(--z-fixed) !important; }
.z-modal { z-index: var(--z-modal) !important; }
.z-popover { z-index: var(--z-popover) !important; }
.z-tooltip { z-index: var(--z-tooltip) !important; }

/* 尺寸工具类 */
.w-auto { width: auto !important; }
.w-full { width: 100% !important; }
.w-25 { width: 25% !important; }
.w-50 { width: 50% !important; }
.w-75 { width: 75% !important; }
.w-100 { width: 100% !important; }

.h-auto { height: auto !important; }
.h-full { height: 100% !important; }
.h-25 { height: 25% !important; }
.h-50 { height: 50% !important; }
.h-75 { height: 75% !important; }
.h-100 { height: 100% !important; }

.min-w-0 { min-width: 0 !important; }
.min-w-full { min-width: 100% !important; }
.max-w-full { max-width: 100% !important; }
.max-w-sm { max-width: 400px !important; }
.max-w-md { max-width: 600px !important; }
.max-w-lg { max-width: 800px !important; }
.max-w-xl { max-width: 1000px !important; }

.min-h-0 { min-height: 0 !important; }
.min-h-full { min-height: 100% !important; }
.max-h-full { max-height: 100% !important; }

/* 溢出工具类 */
.overflow-auto { overflow: auto !important; }
.overflow-hidden { overflow: hidden !important; }
.overflow-visible { overflow: visible !important; }
.overflow-scroll { overflow: scroll !important; }
.overflow-x-auto { overflow-x: auto !important; }
.overflow-x-hidden { overflow-x: hidden !important; }
.overflow-y-auto { overflow-y: auto !important; }
.overflow-y-hidden { overflow-y: hidden !important; }

/* 光标工具类 */
.cursor-pointer { cursor: pointer !important; }
.cursor-default { cursor: default !important; }
.cursor-not-allowed { cursor: not-allowed !important; }
.cursor-text { cursor: text !important; }
.cursor-move { cursor: move !important; }
.cursor-grab { cursor: grab !important; }
.cursor-grabbing { cursor: grabbing !important; }
.cursor-help { cursor: help !important; }
.cursor-wait { cursor: wait !important; }

/* 用户选择工具类 */
.select-none { user-select: none !important; }
.select-text { user-select: text !important; }
.select-all { user-select: all !important; }
.select-auto { user-select: auto !important; }

/* 指针事件工具类 */
.pointer-events-none { pointer-events: none !important; }
.pointer-events-auto { pointer-events: auto !important; }

/* 透明度工具类 */
.opacity-0 { opacity: 0 !important; }
.opacity-25 { opacity: 0.25 !important; }
.opacity-50 { opacity: 0.5 !important; }
.opacity-75 { opacity: 0.75 !important; }
.opacity-100 { opacity: 1 !important; }

/* 过渡动画工具类 */
.transition-none { transition: none !important; }
.transition-fast { transition: all var(--transition-fast) !important; }
.transition-base { transition: all var(--transition-base) !important; }
.transition-slow { transition: all var(--transition-slow) !important; }

/* 变换工具类 */
.transform { transform: translateZ(0) !important; }
.transform-none { transform: none !important; }
.scale-0 { transform: scale(0) !important; }
.scale-50 { transform: scale(0.5) !important; }
.scale-75 { transform: scale(0.75) !important; }
.scale-100 { transform: scale(1) !important; }
.scale-125 { transform: scale(1.25) !important; }
.scale-150 { transform: scale(1.5) !important; }

/* 字体大小工具类 */
.text-xs { font-size: var(--font-size-xs) !important; }
.text-sm { font-size: var(--font-size-sm) !important; }
.text-base { font-size: var(--font-size-base) !important; }
.text-md { font-size: var(--font-size-md) !important; }
.text-lg { font-size: var(--font-size-lg) !important; }
.text-xl { font-size: var(--font-size-xl) !important; }
.text-2xl { font-size: var(--font-size-2xl) !important; }
.text-3xl { font-size: var(--font-size-3xl) !important; }

/* 行高工具类 */
.leading-none { line-height: 1 !important; }
.leading-tight { line-height: 1.25 !important; }
.leading-normal { line-height: 1.5 !important; }
.leading-relaxed { line-height: 1.75 !important; }
.leading-loose { line-height: 2 !important; }

/* 字间距工具类 */
.tracking-tight { letter-spacing: -0.025em !important; }
.tracking-normal { letter-spacing: 0 !important; }
.tracking-wide { letter-spacing: 0.025em !important; }
.tracking-wider { letter-spacing: 0.05em !important; }
.tracking-widest { letter-spacing: 0.1em !important; }

/* 文本装饰工具类 */
.underline { text-decoration: underline !important; }
.line-through { text-decoration: line-through !important; }
.no-underline { text-decoration: none !important; }

/* 文本转换工具类 */
.uppercase { text-transform: uppercase !important; }
.lowercase { text-transform: lowercase !important; }
.capitalize { text-transform: capitalize !important; }
.normal-case { text-transform: none !important; }

/* 空白处理工具类 */
.whitespace-normal { white-space: normal !important; }
.whitespace-nowrap { white-space: nowrap !important; }
.whitespace-pre { white-space: pre !important; }
.whitespace-pre-wrap { white-space: pre-wrap !important; }
.whitespace-pre-line { white-space: pre-line !important; }

/* 换行工具类 */
.break-normal { word-wrap: normal !important; word-break: normal !important; }
.break-words { word-wrap: break-word !important; word-break: break-word !important; }
.break-all { word-break: break-all !important; }
.break-keep { word-break: keep-all !important; }

/* 对象适配工具类 */
.object-contain { object-fit: contain !important; }
.object-cover { object-fit: cover !important; }
.object-fill { object-fit: fill !important; }
.object-none { object-fit: none !important; }
.object-scale-down { object-fit: scale-down !important; }

/* ============================================
   HTML 基础元素重置样式
   ============================================ */

/* 全局重置 */
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* 基础 HTML 元素 */
html {
    font-family: var(--font-family);
    font-size: var(--font-size-base);
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    margin: 0;
    /* padding-top 已移除，各布局模板应自行处理顶部导航栏空间 */
    color: var(--vh-text);
    background-color: var(--vh-bg);
    font-family: var(--font-family);
    font-size: var(--font-size-base);
    line-height: 1.5;
}

/* 标题样式 */
h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: var(--spacing-md);
    font-weight: 600;
    line-height: 1.2;
    color: var(--vh-text);
}

h1 { font-size: var(--font-size-3xl); }
h2 { font-size: var(--font-size-2xl); }
h3 { font-size: var(--font-size-xl); }
h4 { font-size: var(--font-size-lg); }
h5 { font-size: var(--font-size-md); }
h6 { font-size: var(--font-size-base); }

/* 段落样式 */
p {
    margin-top: 0;
    margin-bottom: var(--spacing-md);
    color: var(--vh-text);
}

/* 链接样式 */
a {
    color: var(--vh-primary);
    text-decoration: none;
    transition: color var(--transition-base);
}

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

a:active {
    color: var(--vh-primary-dark);
}

/* 列表样式 */
ul, ol {
    margin-top: 0;
    margin-bottom: var(--spacing-md);
    padding-left: var(--spacing-lg);
}

ul ul, ol ol, ul ol, ol ul {
    margin-bottom: 0;
}

li {
    margin-bottom: var(--spacing-xs);
    color: var(--vh-text);
}

/* 图片样式 */
img {
    max-width: 100%;
    height: auto;
    display: block;
}

img[width], img[height] {
    max-width: none;
}

/* 按钮基础样式重置 */
button {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
    color: inherit;
}

button:focus {
    outline: 2px solid var(--vh-primary);
    outline-offset: 2px;
}

button:disabled {
    cursor: not-allowed;
    opacity: 0.6;
}

/* 输入框基础样式重置 */
input,
textarea,
select {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    margin: 0;
    color: var(--vh-text);
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="search"],
textarea {
    width: 100%;
    padding: var(--spacing-sm) var(--spacing-md);
    border: 1px solid var(--vh-border);
    border-radius: 0;
    background-color: var(--vh-bg);
    transition: border-color var(--transition-base), box-shadow var(--transition-base);
}

input:focus,
textarea:focus,
select:focus {
    outline: none;
    border-color: var(--vh-primary);
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
}

input:disabled,
textarea:disabled,
select:disabled {
    background-color: var(--vh-surface);
    cursor: not-allowed;
    opacity: 0.6;
}

/* 表格基础样式 */
table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}

th, td {
    padding: var(--spacing-sm) var(--spacing-md);
    text-align: left;
    border-bottom: 1px solid var(--vh-border);
}

th {
    font-weight: 600;
    color: var(--vh-text);
    background-color: var(--vh-surface);
}

/* 代码样式 */
code, pre {
    font-family: 'Courier New', Courier, monospace;
    font-size: 0.9em;
}

code {
    padding: 2px 4px;
    background-color: var(--vh-surface);
    border-radius: 0;
    color: var(--vh-error);
}

pre {
    padding: var(--spacing-md);
    background-color: var(--vh-surface);
    border-radius: 0;
    overflow-x: auto;
}

pre code {
    padding: 0;
    background-color: transparent;
    color: var(--vh-text);
}

/* 引用样式 */
blockquote {
    margin: var(--spacing-lg) 0;
    padding-left: var(--spacing-lg);
    border-left: 4px solid var(--vh-primary);
    color: var(--vh-text-muted);
    font-style: italic;
}

/* 水平分割线 */
hr {
    margin: var(--spacing-lg) 0;
    border: none;
    border-top: 1px solid var(--vh-border);
    border-color: var(--vh-underline-color);
}

/* 标记/高亮样式 */
mark {
    background-color: var(--vh-warning-soft);
    color: var(--vh-text);
    padding: 2px 4px;
    border-radius: 0;
}

/* 强调样式 */
strong, b {
    font-weight: 600;
    color: var(--vh-text);
}

em, i {
    font-style: italic;
}

/* 小字体样式 */
small {
    font-size: var(--font-size-sm);
    color: var(--vh-text-muted);
}

/* 删除线和插入线样式 */
del {
    text-decoration: line-through;
    color: var(--vh-text-muted);
}

ins {
    text-decoration: underline;
    background-color: var(--vh-success-soft);
}

/* ============================================
   全局下划线与列表线样式
   客户管理-创建客户页面及全局应用
   所有下划线与列表线统一为主题色深蓝色 (#0F1E3A)
   使用统一变量: --vh-underline-color
   ============================================ */

/* 文本下划线 - text-decoration: underline */
u,
.text-underline,
[style*="text-decoration: underline"],
[style*="text-decoration:underline"] {
    text-decoration-color: var(--vh-underline-color) !important;
}

/* 水平分割线 hr */
hr {
    border-color: var(--vh-underline-color) !important;
    border-top-color: var(--vh-underline-color) !important;
    border-bottom-color: var(--vh-underline-color) !important;
}

/* 列表项分隔线 - li 之间的分隔线 */
ul li,
ol li {
    border-bottom-color: var(--vh-underline-color) !important;
}

ul li:last-child,
ol li:last-child {
    border-bottom-color: transparent !important;
}

/* 表格行分隔线 - 作为列表线使用 */
.table thead th {
    border-bottom-color: var(--vh-underline-color) !important;
}

.table tbody td {
    border-bottom-color: var(--vh-underline-color) !important;
}

.table tbody tr:last-child td {
    border-bottom-color: transparent !important;
}

/* 所有列表行统一行高 - 确保所有表格行高为1.0 */
table thead th,
table tbody td,
table tbody tr,
.table thead th,
.table tbody td,
.table tbody tr,
.list-page-table thead th,
.list-page-table tbody td,
.list-page-table tbody tr {
    line-height: var(--table-line-height) !important;
}

/* 列表页面表格分隔线 - 覆盖 list-layout.css 中的样式 */
.list-page-table thead th,
.list-page-table tbody td {
    border-bottom-color: var(--vh-underline-color) !important;
}

.list-page-table tbody tr:last-child td {
    border-bottom-color: transparent !important;
}

/* 分组表头分隔线 - 覆盖 list-layout.css 中的 !important 样式 */
.group-header td {
    border-bottom-color: var(--vh-underline-color) !important;
}

/* 所有表格分隔线 - 确保覆盖所有表格样式 */
table thead th,
table tbody td,
.table thead th,
.table tbody td {
    border-bottom-color: var(--vh-underline-color) !important;
}

table tbody tr:last-child td,
.table tbody tr:last-child td {
    border-bottom-color: transparent !important;
}

/* 表单分组分隔线 */
.form-section,
.form-card-header,
.form-actions {
    border-bottom-color: var(--vh-underline-color) !important;
    border-top-color: var(--vh-underline-color) !important;
}

/* 卡片头部和底部分隔线 */
.card-header,
.info-card-header {
    border-bottom-color: var(--vh-underline-color) !important;
}

.card-footer {
    border-top-color: var(--vh-underline-color) !important;
}

/* 模态框分隔线 */
.modal-header {
    border-bottom-color: var(--vh-underline-color) !important;
}

.modal-footer {
    border-top-color: var(--vh-underline-color) !important;
}

/* 下拉菜单分隔线 */
.dropdown-divider {
    border-top-color: var(--vh-underline-color) !important;
}

/* 列表组项分隔线 */
.list-group-item {
    border-bottom-color: var(--vh-underline-color) !important;
}

.list-group-item:last-child {
    border-bottom-color: transparent !important;
}

/* 筛选条件分隔线 */
.list-page-filters-header {
    border-bottom-color: var(--vh-underline-color) !important;
}

/* 导航菜单项分隔线 */
.nav-item {
    border-bottom-color: var(--vh-underline-color) !important;
}

.nav-item:last-child {
    border-bottom-color: transparent !important;
}

/* 活动列表分隔线 */
.activity-list li {
    border-bottom-color: var(--vh-underline-color) !important;
}

.activity-list li:last-child {
    border-bottom-color: transparent !important;
}

/* 建议列表分隔线 */
.suggestions-list li {
    border-bottom-color: var(--vh-underline-color) !important;
}

.suggestions-list li:last-child {
    border-bottom-color: transparent !important;
}

/* 关键客户项分隔线 */
.key-client-item {
    border-bottom-color: var(--vh-underline-color) !important;
}

.key-client-item:last-child {
    border-bottom-color: transparent !important;
}

/* 弹窗表单分组分隔线 */
.modal-form-section {
    border-bottom-color: var(--vh-underline-color) !important;
}

.modal-form-section:last-child {
    border-bottom-color: transparent !important;
}

.modal-form-section-title {
    border-bottom-color: var(--vh-underline-color) !important;
}

/* 列表页面标题分隔线 */
.list-page-header {
    border-bottom-color: var(--vh-underline-color) !important;
}

/* 列表页面标签页区域分隔线 - 覆盖 list-layout.css 中的样式 */
.list-page-tabs-section {
    border-bottom-color: var(--vh-underline-color) !important;
}

/* 标签页分隔线 */
.nav-tabs {
    border-bottom-color: var(--vh-underline-color) !important;
}

.nav-tabs .nav-link {
    border-bottom-color: transparent !important;
}

.nav-tabs .nav-link:hover,
.nav-tabs .nav-link.active {
    border-bottom-color: var(--vh-underline-color) !important;
}

/* 信息区域标题分隔线 */
.info-section-title {
    border-bottom-color: var(--vh-underline-color) !important;
}

/* 列表页面标签页区域分隔线 */
.list-page-tabs-section {
    border-bottom-color: var(--vh-underline-color) !important;
}

/* 打印样式 */
@media print {
    .navbar,
    .breadcrumb,
    .btn,
    .no-print {
        display: none !important;
    }
    
    .card {
        box-shadow: none;
        border: 1px solid #ddd;
        break-inside: avoid;
    }
    
    .table {
        border-collapse: collapse;
    }
    
    .table th,
    .table td {
        border: 1px solid #ddd;
        padding: 8px;
    }
}
