/* ===== 卫生专网终端接入审批系统 全局样式 ===== */
* { box-sizing: border-box; }
html,body { margin:0; padding:0; }
body { font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif; background:#f4f6f9; color:#333; font-size:14px; }

a { color:#2563eb; text-decoration:none; }
a:hover { text-decoration:underline; }

/* 顶栏 */
.topbar { background:#0f3d6e; color:#fff; position:sticky; top:0; z-index:20; box-shadow:0 2px 6px rgba(0,0,0,.15); }
.topbar-inner { max-width:1280px; margin:0 auto; padding:0 16px; display:flex; align-items:center; height:56px; }
.brand { font-size:17px; font-weight:bold; margin-right:28px; white-space:nowrap; }
.main-nav { display:flex; align-items:center; gap:4px; flex:1; overflow:visible; }
.main-nav > a, .drp-trigger { color:#dbe7f5; padding:8px 14px; border-radius:4px; cursor:pointer; font-size:14px; display:block; }
.main-nav > a:hover, .main-nav > a.active { background:rgba(255,255,255,.14); color:#fff; text-decoration:none; }
.drp-trigger.active { background:rgba(255,255,255,.14); color:#fff; }
.dropdown { position:relative; }
.dropdown:hover .dropdown-menu { display:block; }
.dropdown-menu { display:none; position:absolute; top:100%; left:0; background:#fff; border:1px solid #e5e7eb; border-radius:6px; box-shadow:0 6px 16px rgba(0,0,0,.12); min-width:150px; z-index:30; padding:4px 0; }
.dropdown-menu a { display:block; padding:9px 16px; color:#333; font-size:14px; }
.dropdown-menu a:hover { background:#eef4ff; text-decoration:none; }
.user-box { display:flex; align-items:center; gap:12px; white-space:nowrap; }
.user-name { color:#cfe0f3; font-size:13px; }

/* 布局容器 */
.container { max-width:1280px; margin:0 auto; padding:16px; }
.page-title { margin:6px 0 2px; font-size:20px; }
.page-sub { color:#666; margin:2px 0 16px; }

/* 卡片 / 表格 */
.card { background:#fff; border:1px solid #e5e7eb; border-radius:8px; margin-bottom:20px; overflow:hidden; }
.card-head { padding:12px 16px; border-bottom:1px solid #eef1f5; font-weight:bold; display:flex; justify-content:space-between; align-items:center; background:#fafbfc; }
.card-body { padding:16px; }
.table { width:100%; border-collapse:collapse; }
.table th, .table td { padding:9px 12px; border-bottom:1px solid #eef1f5; text-align:left; font-size:13px; }
.table th { background:#f4f6fa; color:#4b5563; white-space:nowrap; }
.table tr:hover td { background:#f8fafc; }
.empty { text-align:center; color:#999; padding:24px; }
.nowrap { white-space:nowrap; }

/* 筛选栏 */
.filter-bar { background:#fff; border:1px solid #e5e7eb; border-radius:8px; padding:14px 16px; margin-bottom:16px; display:flex; flex-wrap:wrap; gap:12px; align-items:flex-end; }
.filter-item { display:flex; flex-direction:column; gap:4px; }
.filter-item label { font-size:12px; color:#666; }
.filter-item input, .filter-item select { min-width:140px; }

/* 表单 */
.form-group { margin-bottom:14px; }
.form-group label { display:block; margin-bottom:5px; font-weight:600; color:#374151; }
.form-group input[type=text], .form-group input[type=password], .form-group input[type=date], .form-group select, .form-group textarea {
  width:100%; max-width:460px; padding:8px 10px; border:1px solid #d1d5db; border-radius:5px; font-size:14px; }
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.15);}
.form-hint { font-size:12px; color:#999; margin-top:4px; }
.check-label { display:inline-flex; align-items:center; gap:10px; margin-right:18px; font-weight:normal; cursor:pointer; }

/* 按钮 */
.btn { display:inline-block; padding:7px 14px; border:1px solid #d1d5db; background:#fff; border-radius:5px; cursor:pointer; font-size:13px; color:#333; line-height:1.4; }
.btn:hover { background:#f3f4f6; text-decoration:none; }
.btn-primary { background:#2563eb; border-color:#2563eb; color:#fff; }
.btn-primary:hover { background:#1d4ed8; }
.btn-success { background:#16a34a; border-color:#16a34a; color:#fff; }
.btn-success:hover { background:#15803d; }
.btn-danger { background:#dc2626; border-color:#dc2626; color:#fff; }
.btn-danger:hover { background:#b91c1c; }
.btn-warning { background:#d97706; border-color:#d97706; color:#fff; }
.btn-ghost { background:transparent; border-color:rgba(255,255,255,.4); color:#fff; }
.btn-sm { padding:4px 9px; font-size:12px; }
.btn-block { width:100%; padding:10px; }
.btn:disabled { opacity:.5; cursor:not-allowed; }
.btn + .btn { margin-left:6px; }

/* 标签 */
.tag { display:inline-block; padding:2px 9px; border-radius:10px; font-size:12px; }
.tag-green { background:#dcfce7; color:#15803d; }
.tag-orange { background:#fef3c7; color:#b45309; }
.tag-gray { background:#e5e7eb; color:#4b5563; }
.tag-blue { background:#dbeafe; color:#1d4ed8; }

/* 统计卡 */
.stat-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:14px; margin-bottom:20px; }
.stat-card { background:#fff; border:1px solid #e5e7eb; border-radius:8px; padding:18px; text-align:center; }
.stat-num { font-size:30px; font-weight:bold; color:#0f3d6e; margin-bottom:4px; }

/* 分页 */
.pagination { display:flex; align-items:center; gap:6px; padding:12px 16px; flex-wrap:wrap; }
.pagination a { padding:5px 11px; border:1px solid #d1d5db; border-radius:4px; color:#333; }
.pagination a.active { background:#2563eb; border-color:#2563eb; color:#fff; }
.pagination .pg-total { color:#666; margin-right:8px; }

/* 提示 */
.alert { padding:11px 14px; border-radius:6px; margin-bottom:14px; font-size:14px; }
.alert-success { background:#dcfce7; color:#15803d; border:1px solid #bbf7d0; }
.alert-error { background:#fee2e2; color:#b91c1c; border:1px solid #fecaca; }

/* 登录页 */
.login-body { background:linear-gradient(135deg,#0f3d6e,#1d4ed8); min-height:100vh; display:flex; justify-content:center; align-items:center; }
.login-wrap { width:380px; color:#fff; }
.login-wrap h1 { font-size:22px; text-align:center; margin-bottom:22px; }
.login-box { background:#fff; border-radius:10px; padding:28px; color:#333; box-shadow:0 10px 30px rgba(0,0,0,.2); }
.login-box label { font-weight:600; }
.login-box input[type=text],.login-box input[type=password]{ width:100%; padding:9px 11px; border:1px solid #d1d5db; border-radius:5px; margin-top:6px;}
.login-hint { text-align:center; font-size:12px; color:#cfe0f3; margin-top:14px; }

/* 工具栏 */
.toolbar { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:14px; align-items:center; }
.toolbar .spacer { flex:1; }

/* 弹窗(批量审核/删除确认用简单 confirm) 忽略 */

.footer { background:#0f3d6e; color:#9fb6cf; padding:16px 0; margin-top:30px; }
.footer-inner { font-size:12px; text-align:center; }

/* 详情定义列表 */
.detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px 30px; }
.detail-item b { color:#666; display:block; font-size:12px; margin-bottom:3px; }
.detail-item span { font-size:14px; }

@media (max-width:760px){
  .detail-grid{grid-template-columns:1fr;}
  .topbar-inner{flex-wrap:wrap;height:auto;padding:8px;}
  .main-nav{flex-wrap:wrap;}
}