/* 巴尔虎冷库管理系统 · 政务蓝风格 */
:root {
  --primary: #1F4E79;
  --primary-dark: #16324F;
  --secondary: #2F6F8F;
  --action: #2E75B6;
  --danger: #C00000;
  --success: #548235;
  --warn: #ED7D31;
  --bg: #F5F8FA;
  --text: #1F2D3D;
  --text-sub: #5A6B7C;
  --border: #D7E2EC;
}
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:-apple-system,'PingFang SC','Microsoft YaHei',sans-serif; background:var(--bg); color:var(--text); font-size:14px; }
a { color:var(--action); text-decoration:none; }

/* 顶部栏 */
.topbar { background:var(--primary); color:#fff; height:52px; display:flex; align-items:center; padding:0 20px; justify-content:space-between; }
.topbar .brand { font-size:17px; font-weight:700; letter-spacing:1px; }
.topbar .user { font-size:13px; opacity:.92; }
.topbar .user b { margin-right:12px; }
.topbar .link { color:#fff; opacity:.85; margin-left:14px; cursor:pointer; }
.topbar .link:hover { opacity:1; }

/* 布局 */
.layout { display:flex; min-height:calc(100vh - 52px); }
.sidebar { width:170px; background:var(--primary-dark); padding-top:10px; flex-shrink:0; }
.sidebar .item { display:block; color:#fff; opacity:.85; padding:11px 18px; font-size:13.5px; cursor:pointer; border-left:3px solid transparent; }
.sidebar .item:hover { opacity:1; background:rgba(255,255,255,.08); }
.sidebar .item.active { opacity:1; background:rgba(255,255,255,.12); border-left-color:#fff; }
.sidebar .menu-group { color:rgba(255,255,255,.5); font-size:11.5px; padding:14px 18px 4px; letter-spacing:1px; }
.main { flex:1; padding:18px 22px; overflow-x:auto; }

/* 卡片 */
.card { background:#fff; border:1px solid var(--border); border-radius:6px; padding:16px; margin-bottom:16px; }
.card h3 { font-size:15px; color:var(--primary); margin-bottom:12px; border-left:4px solid var(--action); padding-left:8px; }

/* 统计卡 */
.stats { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:16px; }
.stat { flex:1 1 150px; background:#fff; border:1px solid var(--border); border-left:4px solid var(--action); border-radius:6px; padding:12px 14px; }
.stat .num { font-size:24px; font-weight:700; color:var(--primary); }
.stat .lbl { font-size:12.5px; color:var(--text-sub); margin-top:4px; }

/* 表格 */
table { width:100%; border-collapse:collapse; background:#fff; font-size:13px; }
th { background:var(--secondary); color:#fff; padding:9px 10px; text-align:left; font-weight:600; white-space:nowrap; }
td { padding:8px 10px; border-bottom:1px solid #EAF0F5; }
tr:nth-child(even) td { background:#F9FBFD; }
tr:hover td { background:#EEF4F9; }

/* 按钮 */
.btn { display:inline-block; padding:6px 14px; border:none; border-radius:4px; cursor:pointer; font-size:13px; background:var(--action); color:#fff; }
.btn:hover { opacity:.88; }
.btn-sm { padding:3px 9px; font-size:12px; }
.btn-danger { background:var(--danger); }
.btn-success { background:var(--success); }
.btn-warn { background:var(--warn); }
.btn-ghost { background:#fff; color:var(--action); border:1px solid var(--action); }

/* 表单 */
.form-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:12px; }
.field label { display:block; font-size:12.5px; color:var(--text-sub); margin-bottom:4px; }
.field input, .field select, .field textarea { width:100%; padding:7px 9px; border:1px solid var(--border); border-radius:4px; font-size:13px; font-family:inherit; }
.field input:focus, .field select:focus { outline:none; border-color:var(--action); }
.form-row { margin-top:14px; display:flex; gap:10px; }

/* 搜索栏 */
.toolbar { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; align-items:center; }
.toolbar input, .toolbar select { padding:6px 9px; border:1px solid var(--border); border-radius:4px; font-size:13px; }

/* 徽标 */
.badge { display:inline-block; padding:2px 8px; border-radius:10px; font-size:11.5px; color:#fff; }
.badge-red { background:var(--danger); }
.badge-orange { background:var(--warn); }
.badge-green { background:var(--success); }
.badge-blue { background:var(--action); }
.badge-gray { background:#8A97A5; }

/* 登录页 */
.login-wrap { min-height:100vh; display:flex; align-items:center; justify-content:center; background:linear-gradient(160deg,var(--primary) 0%,var(--primary-dark) 100%); }
.login-box { background:#fff; border-radius:8px; padding:34px 38px; width:360px; box-shadow:0 8px 30px rgba(0,0,0,.25); }
.login-box .title { font-size:20px; font-weight:700; color:var(--primary); text-align:center; margin-bottom:4px; }
.login-box .sub { font-size:12.5px; color:var(--text-sub); text-align:center; margin-bottom:22px; }
.login-box .field { margin-bottom:14px; }
.login-box .btn { width:100%; padding:10px; font-size:14.5px; }
.login-msg { color:var(--danger); font-size:12.5px; text-align:center; margin-top:10px; min-height:18px; }

/* 消息提示 */
.toast { position:fixed; top:64px; right:20px; padding:10px 18px; border-radius:4px; color:#fff; font-size:13px; z-index:99; display:none; }
.toast.show { display:block; }
.toast.ok { background:var(--success); }
.toast.err { background:var(--danger); }

/* 详情弹层 */
.modal-mask { position:fixed; inset:0; background:rgba(22,50,79,.45); display:none; align-items:center; justify-content:center; z-index:50; }
.modal-mask.show { display:flex; }
.modal { background:#fff; border-radius:8px; width:640px; max-width:94vw; max-height:88vh; overflow-y:auto; padding:22px 24px; }
.modal h3 { color:var(--primary); margin-bottom:14px; }

.empty { color:var(--text-sub); text-align:center; padding:28px 0; font-size:13px; }

/* 开关 */
.switch { position:relative; display:inline-block; width:38px; height:20px; }
.switch input { display:none; }
.switch span { position:absolute; inset:0; background:#cbd5e0; border-radius:10px; transition:.2s; cursor:pointer; }
.switch span:before { content:''; position:absolute; width:16px; height:16px; left:2px; top:2px; background:#fff; border-radius:50%; transition:.2s; }
.switch input:checked + span { background:var(--success); }
.switch input:checked + span:before { transform:translateX(18px); }
