/* Safety domain V5.1 — enterprise Web and mobile production UI */
.saf-workspace-tabs{display:flex;gap:4px;margin:-4px 0 0;padding:4px;border:1px solid var(--el-border-color-light);border-radius:var(--radius-base);background:var(--el-fill-color-light);overflow-x:auto}.saf-workspace-tabs button{min-height:34px;padding:0 16px;border:0;border-radius:4px;background:transparent;color:var(--el-text-color-regular);white-space:nowrap;cursor:pointer}.saf-workspace-tabs button:hover{color:var(--el-color-primary);background:var(--el-bg-color)}.saf-workspace-tabs button.is-active{color:var(--el-color-primary);font-weight:600;background:var(--el-bg-color);box-shadow:var(--shadow-card)}
.saf-standards-tabs{display:flex;gap:20px;padding:0 16px;border:1px solid #e5eaf2;border-radius:6px 6px 0 0;background:#fff}.saf-standards-tabs button{height:42px;padding:0 4px;border:0;border-bottom:2px solid transparent;background:transparent;color:#64748b;cursor:pointer}.saf-standards-tabs button.is-active{border-bottom-color:#2563eb;color:#1d4ed8;font-weight:600}.saf-standards-filter{display:flex;align-items:center;gap:8px;padding:12px 16px;border:1px solid #e5eaf2;border-top:0;border-radius:0 0 6px 6px;background:#fff}.saf-standards-filter label{color:#64748b;font-size:13px}.saf-standards-filter input{box-sizing:border-box;width:240px;height:34px;padding:0 10px;border:1px solid #d7dde8;border-radius:4px;color:#1f2937}.saf-standards-filter button{height:34px;padding:0 12px;border:1px solid #d7dde8;border-radius:4px;background:#fff;color:#334155;cursor:pointer}.saf-standards-filter button:first-of-type{border-color:#2563eb;background:#2563eb;color:#fff}.saf-check-picker{display:grid;gap:8px;min-width:0;margin:16px 0 0;padding:12px 14px;border:1px solid #d7dde8;border-radius:5px}.saf-check-picker legend{padding:0 5px;color:#334155;font-size:13px;font-weight:600}.saf-check-picker label{display:flex;align-items:center;gap:9px;color:#334155;font-size:13px}.saf-check-picker input{width:16px;height:16px;margin:0;accent-color:#2563eb}
.saf-standards-tabs button:focus-visible,.saf-standards-filter button:focus-visible,.saf-standards-filter input:focus-visible,.saf-check-picker input:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.saf-standards-filter button:hover{border-color:#93b8f5}.saf-standards-filter button:first-of-type:hover{background:#1d4ed8}.saf-module .saf-card>header h2{margin:0;color:#172033;font-size:16px;line-height:32px}
@media(max-width:640px){.saf-standards-filter{flex-wrap:wrap}.saf-standards-filter input{flex:1 1 100%;width:100%}}
.saf-tabs{display:flex;gap:4px;overflow:auto;padding:0 4px 10px;border-bottom:1px solid var(--el-border-color-light,#e5e7eb);scrollbar-width:thin}.saf-tabs button{flex:0 0 auto;min-height:36px;padding:0 14px;border:0;border-radius:4px;background:transparent;color:#475569;cursor:pointer}.saf-tabs button:hover{background:#f1f5f9;color:#1d4ed8}.saf-tabs button.is-active{background:#eaf2ff;color:#1d4ed8;font-weight:600}.saf-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0}.saf-kpis article{min-height:96px;padding:16px;border:1px solid #e5eaf2;border-radius:6px;background:#fff}.saf-kpis span,.saf-kpis small{display:block;color:#64748b}.saf-kpis strong{display:block;margin:6px 0;font-size:25px;color:#172033}.saf-kpis .tone-danger{border-left:3px solid #ef4444}.saf-kpis .tone-warning{border-left:3px solid #f59e0b}.saf-kpis .tone-success{border-left:3px solid #22a06b}.saf-query,.saf-toolbar{display:flex;align-items:flex-end;gap:10px;padding:12px 16px;border:1px solid #e5eaf2;background:#fff}.saf-query{flex-wrap:wrap;border-radius:6px 6px 0 0}.saf-query label{display:grid;gap:6px;min-width:160px;color:#64748b;font-size:12px}.saf-query input,.saf-query select,.saf-form-grid input,.saf-form-grid select,.saf-form-grid textarea{box-sizing:border-box;width:100%;min-height:32px;padding:0 10px;border:1px solid #d7dde8;border-radius:4px;background:#fff;color:#1f2937}.saf-toolbar{justify-content:space-between;border-top:0}.saf-toolbar>div{display:flex;gap:8px;align-items:center}.saf-card{margin-top:12px;padding:16px;border:1px solid #e5eaf2;border-radius:6px;background:#fff}.saf-card>header,.saf-review>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.saf-card h3,.saf-review h3{margin:0;color:#172033;font-size:16px}.saf-card header p,.saf-review header p{margin:4px 0 0;color:#64748b}.saf-review{padding:16px;border:1px solid #e5eaf2;border-radius:6px;background:#fff}.saf-compare{display:grid;grid-template-columns:1fr 1fr;gap:14px}.saf-compare article,.saf-mobile-compare article{padding:12px;border:1px solid #dbe3ee;border-radius:6px;background:#f8fafc}.saf-compare img{width:100%;height:170px;object-fit:cover;border-radius:4px;background:#e2e8f0}.saf-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid #e5eaf2;border-radius:6px;overflow:hidden}.saf-facts>div{padding:12px;border-right:1px solid #e5eaf2;border-bottom:1px solid #e5eaf2}.saf-facts dt{color:#64748b;font-size:12px}.saf-facts dd{margin:5px 0 0;color:#1e293b}.saf-opinion{margin-top:14px;padding:12px 14px;border-left:3px solid #2563eb;background:#eff6ff;color:#334155}.saf-analysis-filter{display:flex;justify-content:flex-end;gap:8px;margin:12px 0}.saf-analysis-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:12px}.saf-trend,.saf-rank{min-height:260px;padding:16px;border:1px solid #e5eaf2;border-radius:6px;background:#fff}.saf-trend-bars{display:flex;align-items:flex-end;gap:12px;height:170px;padding-top:20px}.saf-trend-bars i{flex:1;min-width:24px;border-radius:3px 3px 0 0;background:#3b82f6}.saf-rank ol{margin:14px 0;padding-left:24px}.saf-rank li{padding:9px 0;border-bottom:1px solid #edf0f5}.saf-detail-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.saf-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.saf-desc,.saf-related{padding:14px;border:1px solid #e5eaf2;border-radius:6px;background:#fff}.saf-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.saf-form-grid label{display:grid;gap:6px;color:#475569;font-size:13px}.saf-form-grid label.span-2{grid-column:1/-1}.saf-form-grid textarea{min-height:82px;padding-top:8px;resize:vertical}.saf-drawer-detail{display:grid;gap:12px}.saf-drawer-detail dl{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:0}.saf-drawer-detail dt{color:#64748b;font-size:12px}.saf-drawer-detail dd{margin:4px 0 0;color:#1f2937}

/* Mobile safety operations */
.m-saf-tabs,.m-ai-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:10px;background:#eef2f7}.m-saf-tabs button,.m-ai-tabs button{min-height:40px;border:0;border-radius:8px;background:transparent;color:#64748b}.m-saf-tabs button.is-active,.m-ai-tabs button.is-active{background:#fff;color:#1d4ed8;font-weight:600;box-shadow:0 1px 4px rgba(15,23,42,.08)}.m-saf-context,.m-ai-context{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0;padding:10px 12px;border:1px solid #e5eaf2;border-radius:10px;background:#fff;color:#475569}.m-saf-task,.m-saf-form,.m-saf-check,.m-saf-requirement,.m-saf-candidate,.m-ai-analysis-card{margin:10px 0;padding:14px;border:1px solid #e5eaf2;border-radius:12px;background:#fff}.m-saf-task header,.m-saf-candidate header,.m-ai-analysis-card header{display:flex;align-items:center;justify-content:space-between;gap:8px}.m-saf-task h3,.m-saf-form h3,.m-saf-check h3,.m-saf-candidate h3{margin:8px 0;color:#172033;font-size:16px}.m-saf-task p,.m-saf-candidate p,.m-ai-analysis-card p{margin:6px 0;color:#64748b;line-height:1.55}.m-saf-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.m-saf-grid label,.m-saf-form>label{display:grid;gap:6px;color:#64748b;font-size:12px}.m-saf-grid input,.m-saf-grid select,.m-saf-form input,.m-saf-form select,.m-saf-form textarea{box-sizing:border-box;width:100%;min-height:44px;padding:10px 12px;border:1px solid #d7dde8;border-radius:8px;background:#fff;color:#1e293b}.m-saf-form textarea{min-height:92px;resize:none}.m-saf-check{display:grid;gap:10px}.m-saf-check>header{display:flex;justify-content:space-between;gap:8px}.m-saf-check-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.m-saf-check-options button{min-height:44px;border:1px solid #d7dde8;border-radius:8px;background:#fff}.m-saf-check-options .is-active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}.m-saf-upload{display:grid;place-items:center;min-height:112px;margin-top:10px;border:1px dashed #93a4bb;border-radius:10px;background:#f8fafc;color:#475569}.m-saf-validation{margin:10px 0;padding:10px 12px;border-radius:8px;background:#fff7ed;color:#9a3412}.m-saf-empty{padding:24px 14px;text-align:center;color:#64748b}.m-saf-sticky{position:sticky;z-index:5;bottom:68px;display:flex;gap:10px;padding:10px 0 6px;background:linear-gradient(transparent,#f5f7fa 18%)}.m-saf-sticky .el-button,.m-saf-sticky button{min-height:46px;flex:1}.m-saf-evidence-one{height:150px;border-radius:10px;background:linear-gradient(145deg,#a9b7c8,#dce4ec);position:relative;overflow:hidden}.m-saf-evidence-one::after{content:'2026-08-09 10:36 · A区5层东侧';position:absolute;left:8px;right:8px;bottom:8px;padding:6px;border-radius:5px;background:rgba(15,23,42,.7);color:#fff;font-size:11px}.m-saf-mobile-compare{display:grid;grid-template-columns:1fr 1fr;gap:8px}.m-saf-mobile-compare article{min-height:140px}.m-saf-intro{padding:14px;border-radius:12px;background:linear-gradient(135deg,#0f3b6f,#1668c7);color:#fff}.m-saf-intro h2{margin:5px 0}.m-saf-intro p{margin:0;color:#dbeafe}.m-saf-autofill{margin:10px 0;padding:10px 12px;border-radius:8px;background:#eff6ff;color:#1e40af}.m-saf-candidate{border-left:3px solid #f59e0b}

/* Mobile AI: structured enterprise question answering and analysis */
.mobile-content[data-page-code="M70"],.mobile-content[data-page-code="M71"]{color:#172033}
.mobile-content[data-page-code="M70"],.mobile-content[data-page-code="M71"]{display:flex;min-height:0;flex-direction:column;overflow:hidden}
.m-ai-tabs{gap:0;padding:3px;border:1px solid #dfe6ee;border-radius:9px;background:#edf1f5}
.m-ai-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border-radius:6px;color:#5f6f82;font-size:13px}
.m-ai-tabs button .ui-icon{width:17px;height:17px}
.m-ai-tabs button.is-active{color:#12558f;background:#fff;box-shadow:0 1px 3px rgb(16 38 62 / 10%)}
.m-ai-context{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;margin:10px 0 0;padding:11px 12px;border-color:#dfe6ee;border-radius:9px;box-shadow:0 1px 2px rgb(16 38 62 / 4%)}
.m-ai-context label{display:grid;min-width:0;gap:5px;color:#667085;font-size:11px}
.m-ai-context select{width:100%;min-height:38px;padding:0 32px 0 10px;border:1px solid #cfd8e3;border-radius:6px;color:#26364a;background:#fff;font-size:13px;outline:0}
.m-ai-context select:focus{border-color:#1769aa;box-shadow:var(--focus-ring)}
.m-ai-trust{display:flex;align-items:center;gap:7px;padding:0 0 2px 10px;color:#506176}
.m-ai-trust>.ui-icon{width:18px;height:18px;color:#1769aa}
.m-ai-trust>span{display:grid;gap:1px}
.m-ai-trust b{font-size:11px;font-weight:600}
.m-ai-trust small{color:#7b8797;font-size:9px;white-space:nowrap}
.m-ai-chat{display:grid;min-height:0;flex:1 1 auto;align-content:start;gap:10px;padding:12px 2px 10px 0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.m-ai-welcome{padding:18px;border:1px solid #d9e7f2;border-radius:10px;color:#234461;background:#f4f8fb;text-align:center}
.m-ai-welcome>.ui-icon{width:26px;height:26px;color:#1769aa}
.m-ai-welcome h2{margin:8px 0 4px;font-size:18px;line-height:1.4}
.m-ai-welcome p{margin:0;color:#667085;font-size:12px;line-height:1.65}
.m-ai-chat .is-user{justify-self:end;max-width:88%;padding:9px 12px;border-radius:10px 10px 2px 10px;color:#fff;background:#1769aa;box-shadow:0 3px 10px rgb(23 105 170 / 16%)}
.m-ai-chat .is-user>span{display:block;margin-bottom:3px;color:rgb(255 255 255 / 72%);font-size:10px}
.m-ai-chat .is-user p{margin:0;font-size:13px;line-height:1.6}
.m-ai-chat .is-ai{overflow:hidden;border:1px solid #dfe6ee;border-radius:10px;background:#fff;box-shadow:0 2px 8px rgb(16 38 62 / 5%)}
.m-ai-chat .is-ai>header{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;padding:11px 12px;gap:9px;border-bottom:1px solid #edf1f5;background:#f8fafc}
.m-ai-avatar{display:grid;width:34px;height:34px;place-items:center;border-radius:8px;color:#fff;background:#1769aa}
.m-ai-avatar .ui-icon{width:18px;height:18px}
.m-ai-chat .is-ai>header>div{display:grid;gap:1px}
.m-ai-chat .is-ai>header b{font-size:13px}
.m-ai-chat .is-ai>header small{color:#7b8797;font-size:10px}
.m-ai-chat .is-ai>header em{padding:3px 6px;border-radius:4px;color:#24745b;background:#eaf6f1;font-size:10px;font-style:normal}
.m-ai-answer-lead{padding:12px 12px 8px;color:#344054;font-size:13px;line-height:1.65}
.m-ai-priority-list{display:grid;margin:0;padding:0 12px;gap:7px;list-style:none}
.m-ai-priority-list li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;padding:9px 0;gap:8px;border-top:1px solid #edf1f5}
.m-ai-priority-list li>span{display:grid;width:24px;height:24px;place-items:center;border-radius:6px;color:#12558f;background:#edf4f9;font-size:11px;font-weight:700}
.m-ai-priority-list li>div{display:grid;min-width:0;gap:2px}
.m-ai-priority-list b{font-size:12px;line-height:1.45}
.m-ai-priority-list small{color:#7b8797;font-size:10px;line-height:1.45}
.m-ai-priority-list em{color:#a23b36;font-size:10px;font-style:normal;white-space:nowrap}
.m-ai-evidence{display:grid;grid-template-columns:1fr 1fr;margin:8px 12px 0;gap:7px}
.m-ai-evidence button,.m-ai-analysis-card>footer button{min-height:38px;padding:0 9px;border:1px solid #b8cadd;border-radius:6px;color:#12558f;background:#fff;font-size:11px}
.m-ai-evidence button:active,.m-ai-analysis-card>footer button:active{background:#edf4f9}
.m-ai-chat .is-ai>footer{display:flex;align-items:center;margin-top:10px;padding:8px 12px;gap:10px;border-top:1px solid #edf1f5;color:#7b8797;background:#fbfcfd;font-size:9px}
.m-ai-prompts{display:grid;min-width:0;padding:0;gap:6px}
.m-ai-prompts>span{color:#667085;font-size:10px;font-weight:600}
.m-ai-prompts>div{display:flex;min-width:0;gap:7px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.m-ai-prompts>div::-webkit-scrollbar{display:none}
.m-ai-prompts button{flex:0 0 auto;min-height:36px;padding:0 11px;border:1px solid #c9d8e6;border-radius:18px;color:#12558f;background:#fff;font-size:11px;white-space:nowrap}
.m-ai-composer-v5{position:relative;z-index:4;display:grid;grid-template-columns:minmax(0,1fr) 42px 44px;align-items:end;margin-top:auto;padding:10px 0 8px;gap:7px;border-top:1px solid #dfe6ee;background:#f3f6fa}
.m-ai-composer-v5 button{display:grid;width:42px;min-height:42px;place-items:center;padding:0;border:1px solid #cfd8e3;border-radius:8px;color:#506176;background:#fff}
.m-ai-composer-v5 textarea{box-sizing:border-box;width:100%;min-height:42px;max-height:92px;padding:10px 11px;border:1px solid #cfd8e3;border-radius:8px;color:#26364a;background:#fff;font-size:13px;line-height:20px;resize:none;outline:0}
.m-ai-composer-v5 textarea::placeholder{color:#8a96a6}
.m-ai-composer-v5 textarea:focus{border-color:#1769aa;box-shadow:var(--focus-ring)}
.m-ai-composer-v5 button.is-send{width:44px;border-color:#1769aa;color:#fff;background:#1769aa}
.m-ai-composer-v5 button .ui-icon{width:18px;height:18px}
.m-ai-composer-v5 button.is-voice{color:#31516f}
.mobile-content[data-page-code="M70"]{display:flex;flex-direction:column;padding-bottom:0;background:linear-gradient(180deg,#edf4ff 0,#f4f7fb 58%,#f3f6fa 100%)}
.m-ai-first-open{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;padding:16px 12px 8px;gap:14px}
.m-ai-home-hero{position:relative;display:flex;min-height:92px;align-items:center;justify-content:center;padding:17px 16px;gap:15px;overflow:hidden;border:1px solid rgb(195 213 231 / 72%);border-radius:18px;background:linear-gradient(135deg,rgb(255 255 255 / 98%),rgb(235 245 255 / 94%));box-shadow:0 10px 28px rgb(42 85 128 / 8%)}
.m-ai-home-hero>div{position:relative;z-index:1;display:grid;gap:2px;text-align:left}
.m-ai-home-hero>div span{color:#4f6680;font-size:12px;letter-spacing:.08em}
.m-ai-first-open h1{margin:0;color:#153f69;font-size:28px;line-height:36px;letter-spacing:-.8px}
.m-ai-home-avatar{position:relative;z-index:1;display:grid;width:72px;height:72px;flex:0 0 72px;place-items:center;overflow:hidden;border-radius:22px;background:rgb(255 255 255 / 74%);box-shadow:inset 0 0 0 1px rgb(255 255 255 / 88%),0 8px 20px rgb(23 105 170 / 12%)}
.m-ai-home-avatar img{display:block;width:62px;height:62px;object-fit:contain;filter:drop-shadow(0 5px 8px rgb(32 71 118 / 16%))}
.m-ai-role-prompts{display:grid;gap:9px}
.m-ai-role-prompts>span{color:#667085;font-size:10px;font-weight:600}
.m-ai-role-prompts button{display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:center;min-height:54px;padding:10px 13px;border:1px solid #e2e8f0;border-radius:14px;color:#344054;background:rgb(255 255 255 / 94%);box-shadow:0 5px 16px rgb(45 73 112 / 6%);font-size:13px;text-align:left}
.m-ai-role-prompts button .ui-icon{width:16px;height:16px;color:#8b98a9}
.m-ai-role-prompts button:active{border-color:#b8cadd;background:#f8fbff}
.m-ai-avatar{overflow:hidden;background:#edf4f9}
.m-ai-avatar img{width:32px;height:32px;object-fit:contain}
.mobile-content[data-page-code="M70"]>.m-ai-composer-v5,.mobile-content[data-page-code="M71"]>.m-ai-composer-v5{position:sticky;right:-14px;bottom:0;left:-14px;flex:0 0 auto;width:auto;margin-right:-14px;margin-left:-14px;padding:10px 14px calc(8px + var(--safe-bottom));background:rgb(243 246 250 / 98%);box-shadow:0 -4px 16px rgb(16 38 62 / 6%)}
.m-ai-analysis-scroll{min-height:0;flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.m-ai-analysis-head{display:grid;grid-template-columns:minmax(0,1fr) 92px;align-items:end;margin:12px 0;gap:12px}
.m-ai-analysis-head>div>span{color:#1769aa;font-size:10px;font-weight:600}
.m-ai-analysis-head h2{margin:4px 0 3px;font-size:18px;line-height:1.35}
.m-ai-analysis-head p{margin:0;color:#667085;font-size:11px;line-height:1.55}
.m-ai-analysis-head label{display:grid;gap:4px;color:#667085;font-size:10px}
.m-ai-analysis-head select{min-height:36px;padding:0 8px;border:1px solid #cfd8e3;border-radius:6px;color:#344054;background:#fff;font-size:12px}
.m-ai-domain-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.m-ai-domain-grid button{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;min-height:92px;padding:11px;border:1px solid #dfe6ee;border-radius:9px;color:#344054;background:#fff;text-align:left;box-shadow:0 1px 2px rgb(16 38 62 / 4%)}
.m-ai-domain-grid button>span{grid-row:1/3;display:grid;width:32px;height:32px;place-items:center;border-radius:7px;color:#1769aa;background:#edf4f9}
.m-ai-domain-grid button>span .ui-icon{width:18px;height:18px}
.m-ai-domain-grid button b{padding-left:8px;font-size:11px}
.m-ai-domain-grid button strong{padding-left:8px;font-size:15px;line-height:1.35}
.m-ai-domain-grid button small{grid-column:1/-1;margin-top:7px;color:#7b8797;font-size:10px;line-height:1.4}
.m-ai-domain-grid button.is-danger{border-left:3px solid #c7433d}
.m-ai-domain-grid button.is-danger>span{color:#a23b36;background:#fff0ef}
.m-ai-analysis-card{margin-top:10px;padding:13px;border-radius:9px;box-shadow:0 1px 3px rgb(16 38 62 / 5%)}
.m-ai-analysis-card>header{align-items:flex-start}
.m-ai-analysis-card>header>div>span{color:#1769aa;font-size:10px;font-weight:600}
.m-ai-analysis-card h3{margin:4px 0 0;font-size:14px;line-height:1.5}
.m-ai-mini-chart{display:flex;align-items:flex-end;height:96px;margin:12px 0 22px;padding:0 4px;gap:7px;border-bottom:1px solid #dfe6ee}
.m-ai-mini-chart i{position:relative;flex:1;min-height:12px;border-radius:2px 2px 0 0;background:#6f9fc5}
.m-ai-mini-chart i:last-child{background:#1769aa}
.m-ai-mini-chart span{position:absolute;top:calc(100% + 5px);left:50%;color:#8a96a6;font-size:8px;font-style:normal;transform:translateX(-50%)}
.m-ai-analysis-card dl{display:grid;grid-template-columns:1fr 1fr;margin:0;gap:10px 14px}
.m-ai-analysis-card dl>div:last-child{grid-column:1/-1}
.m-ai-analysis-card dt{color:#7b8797;font-size:10px}
.m-ai-analysis-card dd{margin:3px 0 0;color:#26364a;font-size:12px;font-weight:600}
.m-ai-analysis-card>footer{display:grid;grid-template-columns:1fr 1fr;margin-top:12px;padding-top:11px;gap:7px;border-top:1px solid #edf1f5}
.m-ai-analysis-card>footer button.is-primary{border-color:#1769aa;color:#fff;background:#1769aa}

.saf-query .el-button--primary,.saf-toolbar .el-button--primary,.saf-card .el-button--primary,.saf-review .el-button--primary,.m-saf-sticky .el-button--primary{border-color:#2563eb!important;background:#2563eb!important;color:#fff!important}
.m-saf-form{padding-bottom:92px}
.m-ai-prompts{scrollbar-width:none}
.nav-subgroup-label{padding:10px 16px 4px 30px;color:#7890ad;font-size:11px;line-height:18px}.nav-subgroup-label:first-child{padding-top:4px}.nav-subgroup-label+.nav-item{margin-top:0}.saf-query form{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;width:100%}.saf-query form>div{display:flex;gap:8px;margin-left:auto}.saf-query button,.saf-analysis-filter button,.saf-detail-tabs button,.saf-detail-actions button,.saf-info-card header button{min-height:32px;padding:0 14px;border:1px solid #d7dde8;border-radius:4px;background:#fff;color:#334155;cursor:pointer}.saf-query .is-primary,.saf-analysis-filter .is-primary{border-color:#2563eb;background:#2563eb;color:#fff}.saf-review{display:grid;grid-template-columns:250px minmax(0,1fr);gap:0;padding:0;overflow:hidden}.saf-review>aside{padding:14px;border-right:1px solid #e5eaf2;background:#f8fafc}.saf-review>aside header{display:flex;justify-content:space-between;margin-bottom:10px}.saf-review>aside>button{display:grid;width:100%;gap:4px;margin-bottom:8px;padding:10px;border:1px solid transparent;border-radius:5px;background:transparent;text-align:left}.saf-review>aside>button.is-active{border-color:#bcd5ff;background:#fff;color:#1d4ed8}.saf-review>main{min-width:0;padding:18px}.saf-review>main>header,.saf-review>main>footer{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.saf-review>main>footer{justify-content:flex-end;margin-top:14px}.saf-review textarea{box-sizing:border-box;width:100%;min-height:72px;margin-top:6px;padding:10px;border:1px solid #d7dde8;border-radius:4px}.saf-detail-summary{display:grid;grid-template-columns:minmax(300px,1.3fr) minmax(420px,1fr) auto;align-items:center;gap:24px;padding:18px 20px;border:1px solid #dfe5ee;border-radius:6px;background:#fff}.saf-detail-title h2{margin:8px 0 4px;font-size:20px;color:#172033}.saf-detail-title p{margin:0;color:#64748b}.saf-number{margin-left:10px;color:#64748b;font-size:13px}.saf-detail-summary>dl{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin:0}.saf-detail-summary dt,.saf-description-list dt{color:#64748b;font-size:12px}.saf-detail-summary dd,.saf-description-list dd{margin:4px 0 0;color:#1f2937}.saf-detail-actions{display:flex;gap:8px;white-space:nowrap}.saf-detail-actions .el-button--primary{border-color:#2563eb;background:#2563eb;color:#fff}.saf-detail-tabs{display:flex;gap:24px;margin-top:12px;padding:0 16px;border:1px solid #e5eaf2;border-radius:6px 6px 0 0;background:#fff}.saf-detail-tabs button{height:42px;padding:0 4px;border:0;border-bottom:2px solid transparent;border-radius:0}.saf-detail-tabs button.is-active{border-bottom-color:#2563eb;color:#1d4ed8;font-weight:600}.saf-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:12px;padding-top:12px}.saf-detail-layout>main,.saf-detail-layout>aside{display:grid;align-content:start;gap:12px;min-width:0}.saf-info-card,.saf-side-card{padding:16px;border:1px solid #e5eaf2;border-radius:6px;background:#fff}.saf-info-card>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.saf-info-card h3,.saf-side-card h3{margin:0;color:#172033;font-size:16px}.saf-description-list{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;margin:0}.saf-description-list .span-2{grid-column:1/-1}.saf-evidence-compare{display:grid;grid-template-columns:1fr 1fr;gap:12px}.saf-evidence-compare figure{margin:0;border:1px solid #e5eaf2;border-radius:5px;overflow:hidden}.saf-evidence-compare img{display:block;width:100%;height:220px;object-fit:cover;background:#eef2f6}.saf-evidence-compare figcaption{display:flex;justify-content:space-between;gap:8px;padding:10px 12px;color:#64748b}.saf-status-steps{margin:16px 0 0;padding:0;list-style:none}.saf-status-steps li{position:relative;display:grid;gap:3px;padding:0 0 18px 24px;color:#64748b}.saf-status-steps li:before{content:'';position:absolute;left:2px;top:4px;width:10px;height:10px;border:2px solid #cbd5e1;border-radius:50%;background:#fff}.saf-status-steps li:after{content:'';position:absolute;left:8px;top:17px;bottom:1px;width:1px;background:#dbe3ec}.saf-status-steps li:last-child:after{display:none}.saf-status-steps li.is-done:before{border-color:#22a06b;background:#22a06b}.saf-status-steps li.is-current:before{border-color:#f59e0b;background:#fff7ed}.saf-status-steps b{color:#334155}.saf-related-list{display:grid;gap:8px;margin-top:12px}.saf-related-list button{display:grid;gap:4px;padding:10px;border:1px solid #e5eaf2;border-radius:4px;background:#f8fafc;text-align:left;color:#475569}.saf-related-list b{color:#1d4ed8;font-weight:500}
@media(max-width:1100px){.saf-kpis{grid-template-columns:repeat(2,1fr)}.saf-facts{grid-template-columns:repeat(2,1fr)}.saf-analysis-grid,.saf-detail-grid,.saf-detail-layout{grid-template-columns:1fr}.saf-detail-summary{grid-template-columns:1fr 1fr}.saf-detail-actions{grid-column:1/-1}.saf-review{grid-template-columns:210px minmax(0,1fr)}}
@media(max-width:640px){.saf-kpis{grid-template-columns:1fr 1fr;gap:8px}.saf-kpis article{min-height:78px;padding:12px}.saf-query label{width:100%;min-width:0}.saf-query .el-button{flex:1}.saf-toolbar{align-items:flex-start;flex-direction:column}.saf-toolbar>div{width:100%;overflow:auto}.saf-form-grid,.saf-facts{grid-template-columns:1fr}.saf-compare{grid-template-columns:1fr}.m-saf-grid{grid-template-columns:1fr}.m-saf-tabs{grid-template-columns:repeat(3,1fr);overflow:auto}.m-saf-tabs button{min-width:90px}.m-ai-domain-grid{grid-template-columns:1fr 1fr}}
.saf-card,.saf-info-card,.saf-side-card{min-width:0;max-width:100%;overflow:hidden}
.saf-process{display:grid;grid-template-columns:minmax(150px,1fr) 32px minmax(150px,1fr) 32px minmax(150px,1fr) auto;align-items:center;gap:8px;margin-bottom:12px;padding:14px 16px;border:1px solid #dfe7f2;border-radius:6px;background:#f8fbff}.saf-process>div{display:grid;grid-template-columns:28px 1fr;gap:2px 10px;min-width:0}.saf-process>div>span{grid-row:1/3;display:grid;place-items:center;width:28px;height:28px;border:1px solid #cbd5e1;border-radius:50%;background:#fff;color:#64748b;font-size:11px;font-variant-numeric:tabular-nums}.saf-process>div>b{color:#334155;font-size:13px}.saf-process>div>small{overflow:hidden;color:#64748b;text-overflow:ellipsis;white-space:nowrap}.saf-process>div.is-current>span{border-color:#2563eb;background:#eaf2ff;color:#1d4ed8}.saf-process>div.is-done>span{border-color:#22a06b;background:#eaf8f1;color:#147a4b}.saf-process>i{height:1px;background:#cbd5e1}.saf-process>button,.saf-analysis-context>button{min-height:32px;padding:0 12px;border:1px solid #cbd5e1;border-radius:4px;background:#fff;color:#1d4ed8;cursor:pointer}.saf-process>button:hover,.saf-analysis-context>button:hover{border-color:#93b8f5;background:#eff6ff}.saf-analysis-context{display:flex;align-items:center;gap:12px;margin:0 0 12px;padding:12px 14px;border:1px solid #dfe7f2;border-radius:6px;background:#fff}.saf-analysis-context>div{display:grid;gap:3px;margin-right:auto}.saf-analysis-context b{color:#334155;font-size:13px;font-variant-numeric:tabular-nums}.saf-analysis-context small{color:#64748b}.saf-report-preview{display:grid;gap:16px}.saf-report-preview>header{padding-bottom:14px;border-bottom:1px solid #e5eaf2;text-align:center}.saf-report-preview>header span{color:#2563eb;font-size:12px}.saf-report-preview h2{margin:6px 0;color:#172033;font-size:20px}.saf-report-preview p{margin:4px 0;color:#475569;line-height:1.7}.saf-report-preview dl{display:grid;grid-template-columns:repeat(4,1fr);margin:0;border:1px solid #e5eaf2;border-radius:6px;overflow:hidden}.saf-report-preview dl>div{padding:12px;border-right:1px solid #e5eaf2}.saf-report-preview dl>div:last-child{border-right:0}.saf-report-preview dt{color:#64748b;font-size:12px}.saf-report-preview dd{margin:5px 0 0;color:#172033;font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}.saf-report-preview section,.saf-report-preview footer{padding:14px;border-radius:5px;background:#f8fafc}.saf-report-preview section h3{margin:0 0 8px;color:#334155;font-size:14px}.saf-report-preview footer{color:#64748b;font-size:12px;line-height:1.7}
@media(max-width:1200px){.saf-process{grid-template-columns:1fr 18px 1fr 18px 1fr}.saf-process>button{grid-column:1/-1;justify-self:end}.saf-process>div>small{white-space:normal}.saf-analysis-context{flex-wrap:wrap}.saf-analysis-context>div{flex:1 1 420px}}
.saf-analysis-filter+.saf-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.saf-trend .bars{display:flex;align-items:flex-end;gap:12px;height:190px;padding:16px 8px 0}.saf-trend .bars>span{display:grid;grid-template-rows:1fr auto;align-items:end;justify-items:center;flex:1;height:100%;gap:8px;color:#64748b;font-size:11px}.saf-trend .bars i{display:block;width:min(34px,72%);min-height:8px;border-radius:3px 3px 0 0;background:#3b82f6}.saf-trend .bars b{font-weight:400;white-space:nowrap}.saf-rank>div{display:grid;grid-template-columns:112px minmax(80px,1fr) 92px;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid #edf0f5;color:#475569}.saf-rank>div:last-child{border-bottom:0}.saf-rank>div>i{height:7px;border-radius:4px;background:#e8edf4;overflow:hidden}.saf-rank>div>i>em{display:block;height:100%;border-radius:inherit;background:#3b82f6}.saf-rank>div>b{text-align:right;color:#334155;font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}
@media(max-width:1200px){.saf-analysis-filter+.saf-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.saf-process{grid-template-columns:1fr}.saf-process>i{display:none}.saf-process>button{width:100%;justify-self:stretch}.saf-analysis-filter+.saf-kpis,.saf-report-preview dl{grid-template-columns:repeat(2,minmax(0,1fr))}.saf-report-preview dl>div{border-bottom:1px solid #e5eaf2}.saf-analysis-context>button{flex:1 1 auto}.saf-rank>div{grid-template-columns:100px minmax(60px,1fr) 82px}}
.m-saf-candidate figure{margin:12px 0;overflow:hidden;border-radius:8px;background:#eef2f6}.m-saf-candidate figure img{display:block;width:100%;max-height:300px;object-fit:cover}.m-saf-candidate figure button{min-height:44px;padding:0 10px;border:0;color:#1d4ed8;background:#fff}.m-saf-candidate dl{display:grid;grid-template-columns:1fr 1fr;margin:12px 0;gap:10px 14px}.m-saf-candidate dt{color:#64748b;font-size:12px}.m-saf-candidate dd{margin:4px 0 0;color:#1e293b;font-size:13px}.m-saf-candidate>label{display:grid;gap:6px;margin-top:14px;color:#475569;font-size:13px}.m-saf-candidate>label textarea{box-sizing:border-box;width:100%;min-height:92px;padding:10px 12px;border:1px solid #d7dde8;border-radius:8px;color:#1e293b;background:#fff;resize:vertical}.m-saf-candidate>footer{display:grid;grid-template-columns:1fr 1fr 1.35fr;margin-top:14px;padding-top:12px;gap:8px;border-top:1px solid #e5eaf2}.m-saf-candidate>footer button{min-width:0;min-height:46px;padding:0 8px}
.saf-module.columns-core .el-table [data-column="source"],.saf-module.columns-core .el-table [data-column="area"],.saf-module.columns-core .el-table [data-column="owner"],.saf-module.columns-core .el-table [data-column="due"],.saf-module.columns-core .el-table [data-column="round"]{display:none}
.saf-reinspection-list .el-table{width:100%}
.saf-module.columns-core .saf-reinspection-list .el-table [data-column="round"]{display:table-cell}
.saf-review-decision{display:grid;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid #e5eaf2}.saf-review-decision label{font-size:13px;color:#334155}.saf-review-decision textarea{box-sizing:border-box;width:100%;min-height:88px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:6px;font:inherit;resize:vertical}.saf-review-decision>div{display:flex;justify-content:flex-end;gap:8px}
.saf-module .el-table-wrap{scrollbar-gutter:stable}.saf-module .el-table-wrap:after{position:sticky;right:8px;bottom:4px;float:right;padding:2px 6px;border-radius:3px;color:#64748b;background:rgba(255,255,255,.92);font-size:11px;content:"横向滚动查看更多"}
.saf-drawer-form .el-form-item__label{min-height:22px}.saf-drawer-form .el-form-item__error{margin-top:4px}
.mobile-content[data-page-code="M32"],.mobile-content[data-page-code="M33"],.mobile-content[data-page-code="M34"],.mobile-content[data-page-code="M61"]{padding-bottom:calc(104px + env(safe-area-inset-bottom))}
.m-saf-context{justify-content:flex-start;align-items:flex-start}.m-saf-context>span{flex:0 0 auto}.m-saf-context>div{display:grid;min-width:0;gap:3px}.m-saf-context b,.m-saf-context p{margin:0}.m-saf-context p{overflow:hidden;color:#64748b;font-size:12px;line-height:1.45;text-overflow:ellipsis}.m-saf-task>header{align-items:flex-start}.m-saf-task>header>div{min-width:0}.m-saf-task>header>span{flex:0 0 auto;color:#64748b;font-size:11px}.m-saf-task dl,.m-saf-requirement dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:12px 0 0;gap:0;border:1px solid #e5eaf2;border-radius:8px;overflow:hidden}.m-saf-task dl>div,.m-saf-requirement dl>div{min-width:0;padding:10px;border-right:1px solid #e5eaf2;border-bottom:1px solid #e5eaf2;background:#f8fafc}.m-saf-task dl>div:nth-child(2n),.m-saf-requirement dl>div:nth-child(2n){border-right:0}.m-saf-task dt,.m-saf-requirement dt{color:#64748b;font-size:11px}.m-saf-task dd,.m-saf-requirement dd{overflow-wrap:anywhere;margin:4px 0 0;color:#1f2937;font-size:13px;line-height:1.45}.m-saf-form fieldset{min-width:0}.m-saf-form label,.m-saf-form input,.m-saf-form select,.m-saf-form textarea{min-width:0;max-width:100%}.m-saf-evidence-one img{display:block;width:100%;height:100%;object-fit:cover}.m-saf-candidate figure button{display:block;width:100%}

.saf-detail-layout--single{grid-template-columns:minmax(0,1fr) 300px}.saf-source-facts{margin-top:16px}.saf-candidate-evidence figure{margin:0 0 18px;overflow:hidden;border:1px solid #e5eaf2;border-radius:6px}.saf-candidate-evidence figure img{display:block;width:100%;max-height:360px;object-fit:cover;background:#eef2f6}.saf-candidate-evidence figcaption{padding:10px 12px;color:#64748b;font-size:12px}.saf-card .row-actions{display:flex;align-items:center;gap:8px;white-space:nowrap}.saf-card .row-actions button{border:0;background:transparent;color:#2563eb;cursor:pointer}.saf-card .row-actions button:last-child{margin-right:0}@media(max-width:1100px){.saf-detail-layout--single{grid-template-columns:1fr}.saf-detail-layout--single>aside{grid-template-columns:repeat(2,minmax(0,1fr))}}
.saf-process{grid-template-columns:minmax(125px,1fr) 20px minmax(125px,1fr) 20px minmax(125px,1fr) 20px minmax(125px,1fr) auto}.saf-module{min-width:0}.saf-module .el-table-wrap{max-width:100%;overflow-x:auto}.saf-review>main,.saf-card,.saf-detail-layout>*{min-width:0}
@media(max-width:1280px){.saf-process{grid-template-columns:repeat(4,minmax(0,1fr))}.saf-process>i{display:none}.saf-process>button{grid-column:1/-1;justify-self:end}.saf-detail-summary{grid-template-columns:minmax(260px,1fr) minmax(360px,1fr)}.saf-detail-actions{grid-column:1/-1}}
@media(max-width:760px){.saf-process{grid-template-columns:1fr}.saf-process>button{width:100%;justify-self:stretch}.m-saf-task dl,.m-saf-requirement dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
.saf-analysis-filter+.saf-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.saf-analysis-priority{margin-top:12px}

/* Check-template list: filters and creation actions share one aligned toolbar. */
.saf-standards-filter{justify-content:space-between;gap:16px;border-top:1px solid #e5eaf2;border-radius:6px;margin-top:0}
.saf-standards-filter__query,.saf-standards-filter__actions{display:flex;align-items:center;gap:8px;min-width:0}
.saf-standards-filter__actions{margin-left:auto;white-space:nowrap}
.saf-standards-filter__actions .el-button{display:inline-flex;align-items:center;justify-content:center;height:34px;margin:0;padding:0 12px;white-space:nowrap}
.saf-standards-filter__query button[data-action="safety-v5-standards-query"]{border-color:#2563eb;background:#2563eb;color:#fff}
.saf-standards-filter__query button[data-action="safety-v5-standards-query"]:hover{background:#1d4ed8;color:#fff}
@media(max-width:900px){.saf-standards-filter{align-items:flex-start;flex-direction:column}.saf-standards-filter__query{flex-wrap:wrap;width:100%}.saf-standards-filter__actions{justify-content:flex-end;width:100%;margin-left:0}}
@media(max-width:640px){.saf-standards-filter__query input{flex:1 1 100%;width:100%}}

/* Safety check and hazard lists keep filters and page actions in one toolbar. */
.saf-query--unified{align-items:flex-end;justify-content:space-between;gap:12px;border-radius:6px}
.saf-query--unified form{flex:1 1 650px;width:auto;gap:8px}
.saf-query--unified form>div{margin-left:0}
.saf-query__business-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto;margin-left:auto;white-space:nowrap}
.saf-query__business-actions .el-button,.saf-query__business-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:32px;margin:0;padding:0 12px;white-space:nowrap}
.saf-query--unified+.saf-card{margin-top:12px}
.saf-analysis-filter--unified{align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:12px 0;padding:12px 16px;border:1px solid #e5eaf2;border-radius:6px;background:#fff}
.saf-analysis-filter__fields,.saf-analysis-filter__actions{display:flex;align-items:flex-end;gap:8px}
.saf-analysis-filter__fields{flex-wrap:wrap;min-width:0}
.saf-analysis-filter__actions{margin-left:auto}
.saf-analysis-filter--unified label{display:grid;gap:6px;min-width:150px;color:#64748b;font-size:12px}
.saf-analysis-filter--unified input,.saf-analysis-filter--unified select{box-sizing:border-box;width:100%;min-height:32px;padding:0 10px;border:1px solid #d7dde8;border-radius:4px;background:#fff;color:#1f2937}
.saf-analysis-filter__actions .el-button{display:inline-flex;align-items:center;min-height:32px;margin:0;padding:0 12px}
@media(max-width:900px){.saf-query--unified form{flex-basis:100%}.saf-query__business-actions{width:100%}.saf-analysis-filter__actions{width:100%;justify-content:flex-end}}
