/* 入户安检管理系统 · Element 风格（sygrp-anjian） */
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:14px;color:#606266;background:#f0f2f5}
a{color:#409EFF;text-decoration:none}
[hidden]{display:none!important}

/* ── 登录（卡8：#f0f2f5 底 / 380px 卡 / 圆角8 / 阴影） ── */
.login-bg{min-height:100vh;display:flex;align-items:center;justify-content:center}
.login-card{width:380px;background:#fff;border-radius:8px;box-shadow:0 2px 12px rgba(0,0,0,.1);padding:34px 36px 26px}
.login-card h1{font-size:24px;color:#409EFF;text-align:center;font-weight:600}
.login-sub{text-align:center;font-size:12px;color:#909399;margin:6px 0 26px}
.lg-field{margin-bottom:18px}
.lg-field input{width:100%;height:40px;border:1px solid #DCDFE6;border-radius:4px;padding:0 12px;font-size:14px;color:#606266;outline:none;transition:border-color .2s}
.lg-field input:focus{border-color:#409EFF}
.lg-err{min-height:20px;font-size:12px;color:#F56C6C;margin:-8px 0 8px}
.lg-btn{width:100%;height:40px;background:#409EFF;border:none;border-radius:4px;color:#fff;font-size:14px;letter-spacing:8px;cursor:pointer}
.lg-btn:hover{background:#66b1ff}
.lg-btn[disabled]{background:#a0cfff}
.lg-foot{text-align:center;margin-top:14px;font-size:12px}

/* ── 应用框架（卡8：左 220px #2d3a4b 菜单） ── */
.menu{position:fixed;left:0;top:0;bottom:0;width:220px;background:#2d3a4b;overflow-y:auto}
.menu-logo{height:56px;line-height:56px;text-align:center;color:#fff;font-size:16px;font-weight:600;letter-spacing:2px;background:#263445}
.mi{display:block;padding:14px 24px;color:#bfcbd9;font-size:14px;text-decoration:none}
.mi:hover{background:#263445;color:#fff}
.mi.on{background:#409EFF;color:#fff}
.frame{margin-left:220px;min-height:100vh}
.topbar{height:56px;background:#fff;display:flex;align-items:center;padding:0 20px;box-shadow:0 1px 4px rgba(0,21,41,.08);position:sticky;top:0;z-index:5}
.crumb{font-size:14px;color:#97a8be}
.whoami{margin-left:auto;font-size:13px;color:#606266}
.logout{margin-left:16px;font-size:13px;color:#409EFF}
#view{padding:18px 20px 40px}

/* ── 卡片 / 表格 ── */
.el-card{background:#fff;border-radius:4px;border:1px solid #EBEEF5;box-shadow:0 2px 12px rgba(0,0,0,.06);padding:16px;margin-bottom:18px;overflow:hidden}
.filter{display:flex;gap:10px;margin-bottom:14px;align-items:center}
.filter select,.filter input{height:32px;border:1px solid #DCDFE6;border-radius:4px;padding:0 10px;font-size:13px;color:#606266;outline:none;background:#fff}
.filter .btn-pri{height:32px;padding:0 15px;background:#409EFF;border:none;border-radius:4px;color:#fff;font-size:13px;cursor:pointer}
.filter .btn-pri:hover{background:#66b1ff}
.filter .btn-ghost{height:32px;padding:0 15px;background:#fff;border:1px solid #DCDFE6;border-radius:4px;color:#606266;font-size:13px;cursor:pointer}
table.el-table{width:100%;border-collapse:collapse;font-size:13.5px}
.el-table th{background:#fff;color:#909399;font-weight:600;text-align:left;padding:10px 12px;border-bottom:1px solid #EBEEF5;white-space:nowrap}
.el-table td{padding:10px 12px;border-bottom:1px solid #EBEEF5;color:#606266}
.el-table tr:hover td{background:#F5F7FA}
.el-table tr:nth-child(even) td{background:#FAFAFA}
.el-table tr:nth-child(even):hover td{background:#F5F7FA}

/* ── 状态徽标 / 进度 ── */
.tag{display:inline-block;font-size:12px;border-radius:4px;padding:0 9px;line-height:22px}
.tag.doing{background:#ecf5ff;color:#409EFF;border:1px solid #d9ecff}
.tag.done{background:#f0f9eb;color:#67C23A;border:1px solid #e1f3d8}
.tag.overdue{background:#fef0f0;color:#F56C6C;border:1px solid #fde2e2}
.tag.pending{background:#fdf6ec;color:#E6A23C;border:1px solid #faecd8}
.progress{width:120px;height:8px;background:#EBEEF5;border-radius:4px;display:inline-block;vertical-align:middle;margin-right:8px}
.progress i{display:block;height:100%;border-radius:4px;background:#409EFF}

/* ── 分页（卡8：页码方块形态） ── */
.pager{display:flex;justify-content:flex-end;align-items:center;gap:6px;margin-top:14px;font-size:13px;color:#606266}
.pager .pg-i{min-width:28px;height:28px;border:1px solid #DCDFE6;border-radius:3px;background:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#606266}
.pager .pg-i:hover{color:#409EFF}
.pager .pg-i.on{background:#409EFF;border-color:#409EFF;color:#fff;cursor:default}

/* ── 统计卡 / 柱条 ── */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}
.stat{background:#fff;border:1px solid #EBEEF5;border-radius:4px;padding:18px 20px;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.stat .n{font-size:26px;font-weight:600;color:#303133}
.stat .l{font-size:13px;color:#909399;margin-top:4px}
.bar-row{display:flex;align-items:center;gap:12px;margin:12px 0;font-size:13px}
.bar-row .bl{width:150px;color:#606266}
.bar-row .track{flex:1;height:14px;background:#EBEEF5;border-radius:7px;overflow:hidden}
.bar-row .fill{height:100%;background:#409EFF;border-radius:7px}
.bar-row .bv{width:52px;color:#909399}

/* ── 对话框（隐患上报） ── */
.mask{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:20;display:flex;align-items:center;justify-content:center}
.dialog{width:460px;background:#fff;border-radius:4px;box-shadow:0 4px 20px rgba(0,0,0,.18)}
.dialog .dt{padding:16px 20px;border-bottom:1px solid #EBEEF5;font-size:16px;color:#303133;display:flex;justify-content:space-between}
.dialog .dt i{font-style:normal;cursor:pointer;color:#909399}
.dialog .db{padding:20px}
.dialog .df{margin-bottom:14px}
.dialog .df label{display:block;font-size:13px;color:#606266;margin-bottom:5px}
.dialog .df input,.dialog .df select{width:100%;height:34px;border:1px solid #DCDFE6;border-radius:4px;padding:0 10px;font-size:13px;color:#606266;outline:none}
.dialog .df input:focus,.dialog .df select:focus{border-color:#409EFF}
.dialog .ft{padding:12px 20px 16px;text-align:right}
.dialog .ft button{margin-left:10px}
.btn-pri{height:32px;padding:0 15px;background:#409EFF;border:none;border-radius:4px;color:#fff;font-size:13px;cursor:pointer}
.btn-ghost{height:32px;padding:0 15px;background:#fff;border:1px solid #DCDFE6;border-radius:4px;color:#606266;font-size:13px;cursor:pointer}

/* ── 全局消息（Element message 形态） ── */
.el-message{position:fixed;top:20px;left:50%;transform:translateX(-50%);background:#edf2fc;border:1px solid #ebeef5;padding:9px 16px;border-radius:4px;font-size:13px;color:#909399;z-index:99}
.el-message.err{background:#fef0f0;border-color:#fde2e2;color:#F56C6C}
.el-message.ok{background:#f0f9eb;border-color:#e1f3d8;color:#67C23A}
