/* CSS Document */
/* ===== 基础重置与全局样式 ===== */
*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;list-style: none;
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
	min-width: 1200px;      /* 页面最小宽度 */
    min-height: 600px;     /* 页面最小高度 */
    overflow-x: auto;      /* 水平溢出时滚动 */
    overflow-y: auto;      /* 垂直溢出时滚动 */
	scroll-behavior: smooth;
}

body {
  font-family: 'Helvetica Neue', Helvetica, Arial, 'PingFang SC', 'Microsoft YaHei', sans-serif;
  line-height: 1.6;
  color: #333;
  background-color: #fff;
}

/* ===== 常用元素重置 ===== */
a {
  color: #4cabfb;
  text-decoration: none;
  background-color: transparent;
  transition: color 0.3s ease;
}

a:hover {
  color: #0377e1;
  text-decoration: underline;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  border-style: none;
}

/* ===== 通用布局类 ===== */
.container {
  width: 100%;
  padding: 0 15px;
  margin: 0 auto;
}

@media (min-width: 576px) {
  .container {
    max-width: 540px;
  }
}

@media (min-width: 768px) {
  .container {
    max-width: 720px;
  }
}

@media (min-width: 992px) {
  .container {
    max-width: 960px;
  }
}

@media (min-width: 1200px) {
  .container {
    max-width: 1140px;
  }
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px;
}

.col {
  flex: 1;
  padding: 0 15px;
}

/* ===== 常用组件 ===== */
/* 按钮样式 */
.btn {
  display: inline-block;
  padding: 8px 16px;
  border: 1px solid transparent;
  border-radius: 4px;
  font-size: 1rem;
  cursor: pointer;
  transition: all 0.3s ease;
}

.btn-primary {
  background-color: #007bff;
  color: white;
}

.btn-primary:hover {
  background-color: #0069d9;
}

/* 表单元素 */
.input {
  display: block;
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 1rem;
  transition: border-color 0.3s ease;
}

.input:focus {
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

/* 卡片组件 */
.card {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  padding: 20px;
  margin-bottom: 20px;
}

/* ===== 工具类 ===== */
.text-center { text-align: center !important; }
.text-right { text-align: right !important; }
.d-flex { display: flex !important; }
.d-none { display: none !important; }
.mt-20 { margin-top: 20px !important; }
.mb-20 { margin-bottom: 20px !important; }
.p-20 { padding: 20px !important; }

/* ===== 响应式工具 ===== */
@media (max-width: 767px) {
  .hidden-mobile {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .hidden-desktop {
    display: none !important;
  }
}

/* ===== CSS变量 ===== */
:root {
  --primary-color: #007bff;
  --secondary-color: #6c757d;
  --success-color: #28a745;
  --danger-color: #dc3545;
  --text-color: #333;
  --border-color: #ddd;
}

/* ===== 打印样式 ===== */
@media print {
  body {
    background: none;
    font-size: 12pt;
  }
  
  .no-print {
    display: none !important;
  }
}

