body{margin:0;background:#f4f6fa;color:#17324c;font:16px/1.6 system-ui,sans-serif}.business-nav{background:#123650;color:white;padding:12px 4%;display:flex;gap:20px;flex-wrap:wrap;align-items:center}.business-nav a{color:white}.business-nav span{margin-left:auto}.page{max-width:1080px;margin:28px auto;padding:24px;background:white;border-radius:14px}.business-bar{margin:16px 4%;display:flex;gap:18px;flex-wrap:wrap}.business-bar select{min-width:220px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px}.card{display:block;border:1px solid #d9e2ec;border-radius:12px;padding:18px;color:inherit;text-decoration:none}.field{display:block;margin:14px 0}.field input,.field select,.field textarea{display:block;width:100%;padding:10px;box-sizing:border-box;border:1px solid #bccbd7;border-radius:5px;font:inherit}.row{display:flex;gap:12px;flex-wrap:wrap}.row>*{flex:1}.status{min-height:26px;color:#a34800}.primary,button{background:#126178;color:white;border:0;border-radius:6px;padding:10px 16px;font:inherit;cursor:pointer}button:disabled{opacity:.5;cursor:wait}.muted{color:#526d80}table{border-collapse:collapse;width:100%;margin:18px 0}td,th{border:1px solid #d6dfe7;padding:8px;text-align:left}td input,td select{max-width:100%;box-sizing:border-box;font:inherit}.scroll{overflow:auto}.survey-origin{margin:20px 4%;background:white;padding:16px}.hidden{display:none}.login{max-width:420px;margin:8vh auto}pre{white-space:pre-wrap;overflow-wrap:anywhere}.action-list>div{border-bottom:1px solid #ddd;padding:15px 0}a{color:#126178}@media print{.no-print,.business-nav,.business-bar{display:none!important}.survey-origin{break-before:page}body{background:white}.page{margin:0}}
/* 品牌与登录布局：复用原台账左登录、右说明和正式单位标志。 */
:root{--accent:#245ca2;--ink:#192e48;--ink3:#64758b;--line:#dde5ef;--paper:#fff}
body{color:var(--ink);background:#f1f4f8;font-family:"Microsoft YaHei",system-ui,sans-serif}
.brand-header{background:var(--paper);border-top:4px solid var(--accent);border-bottom:1px solid var(--line)}
.brand-inner{max-width:1560px;margin:auto;padding:24px 32px;display:flex;align-items:center;gap:18px}
.brand-inner img{flex:none;object-fit:contain}.brand-inner h1{font-size:clamp(19px,1.75vw,30px);line-height:1.5;margin:0;font-weight:750;letter-spacing:.025em}.brand-inner h1 span{display:inline-block;color:var(--accent);font-size:.58em;margin-left:14px;padding-left:16px;border-left:1px solid var(--line);vertical-align:middle}.brand-inner p{margin:7px 0 0;color:var(--ink3);font-size:14px}
.login-layout{max-width:1560px;margin:30px auto;padding:0 32px;display:grid;grid-template-columns:minmax(340px,46%) minmax(0,1fr);gap:24px;align-items:start}
.login-panel{padding:clamp(24px,3vw,48px);background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 6px 22px #192e4808}.login-panel h2{font-size:28px;margin:6px 0 14px}.section-kicker{color:var(--accent);font-size:13px;letter-spacing:.12em;margin:0;font-weight:600}.login-panel .field{margin:22px 0 0;font-size:14px;font-weight:600}.login-panel input{margin-top:8px;min-height:50px;border-radius:8px;background:#fafbfd}.login-panel input:focus{outline:3px solid #245ca220;border-color:var(--accent)}.login-submit{width:100%;margin-top:28px;background:var(--accent);min-height:50px;border-radius:8px;font-weight:650}.login-note,.workflow{background:#f4f7fb;border:1px solid var(--line);border-radius:8px;padding:16px;font-size:13px;color:var(--ink3)}.system-intro>p{color:var(--ink3)}.responsibility{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}.responsibility>span{font-size:20px;color:var(--accent);font-weight:700;flex:none}.responsibility h3{font-size:17px;margin:0 0 6px}.responsibility p{margin:0;font-size:14px;color:var(--ink3)}.workflow{margin-top:24px}.workflow h3{margin:0 0 8px;font-size:15px;color:var(--ink)}.workflow p{margin:0}.brand-footer{text-align:center;margin:28px 0;color:var(--ink3);font-size:13px}.business-nav{background:#193753}.business-nav a{text-decoration:none;padding:5px 2px;border-bottom:2px solid transparent}.business-nav a:hover,.business-nav a[aria-current=page]{border-color:#8eb7f2}.page{border:1px solid var(--line);box-shadow:0 4px 20px #192e4806;max-width:1480px}.card:hover{border-color:var(--accent);background:#f8faff}
@media(max-width:999px){.login-layout{grid-template-columns:1fr;max-width:780px}.login-panel{padding:30px}.brand-inner{padding:20px 24px}.brand-inner h1 span{display:block;margin:5px 0 0;padding:0;border:0;font-size:15px}}
@media(max-width:600px){.brand-inner{padding:18px 16px;gap:12px;align-items:flex-start}.brand-inner img{width:40px;height:40px}.brand-inner h1{font-size:18px}.brand-inner p{font-size:12px}.login-layout{padding:0 14px;margin:20px auto;gap:16px}.login-panel{padding:24px 20px}.page{margin:16px 12px;padding:18px}.business-nav{gap:10px;font-size:14px}.business-nav span{margin-left:0}.brand-footer{margin:20px 0}}
/* 手机工具栏：标题独占一行，操作按钮保持可读。 */
.records-list .record-item{color:var(--ink);background:var(--paper);border:1px solid var(--line)}
.records-list .record-item.active{color:var(--ink);background:#eef5fc;border-color:var(--accent)}
.records-list .record-item:hover{color:var(--ink);background:#f4f7fb}
button:disabled{cursor:not-allowed}
.page>h1{font-size:clamp(22px,2.2vw,30px);line-height:1.5;overflow-wrap:anywhere}
.survey-tabs{display:flex;gap:10px;flex-wrap:wrap;padding:12px 4%;background:#fff;border-bottom:1px solid var(--line)}.survey-tabs a{padding:7px 12px;text-decoration:none;border:1px solid var(--line);border-radius:8px}.survey-tabs a[aria-current=page]{background:#eaf1fa;border-color:var(--accent)}#result>.scroll table{min-width:1100px;font-size:13px}
@media(max-width:600px){.topbar{flex-direction:column;align-items:stretch}.topbar h1{line-height:1.5}.top-actions{flex-direction:row;justify-content:flex-end}.top-actions button{white-space:normal;min-height:40px}.business-bar select{max-width:100%;width:100%;min-width:0}.business-bar label{max-width:100%;min-width:0;width:100%}}

.module-tools{padding:12px 4%;background:#fff;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:center}.module-tools label{display:flex;gap:14px;align-items:center;font-size:14px;font-weight:600;color:var(--ink)}.module-tools select{font:inherit;font-weight:400;padding:9px 36px 9px 12px;border:1px solid var(--line);border-radius:7px;background:#f8fafc;min-height:42px;min-width:200px;max-width:100%;color:var(--ink)}@media screen and (max-width:600px){.module-tools{padding:12px 20px}.module-tools label{width:100%;flex-direction:column;align-items:stretch;gap:6px}.module-tools select{width:100%;min-width:0}}

.current-project-context{margin:0;padding:10px 4%;background:#f3f7fb;border-bottom:1px solid var(--line);color:var(--ink);font-size:14px;overflow-wrap:anywhere}.current-project-context a{color:var(--accent);margin-left:8px}[hidden]{display:none!important}

/* REQ-107: intentional survey toolbar, separate saved history, scoped controls. */
.survey-page .survey-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:24px 0;padding:16px 18px;background:#f5f8fc;border:1px solid var(--line);border-radius:10px}
.survey-page .survey-actions button{display:inline-flex;align-items:center;justify-content:center;min-width:136px;min-height:44px;padding:10px 20px;margin:0;border:1px solid transparent;border-radius:7px;line-height:1.4;font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer}
.survey-page .survey-actions .survey-action-primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.survey-page .survey-actions .survey-action-secondary{background:#fff;color:var(--accent);border-color:#bfcee0}
.survey-page .survey-actions button:hover:not(:disabled){box-shadow:0 2px 8px #192e4814;border-color:var(--accent)}
.survey-page .survey-actions button:focus-visible{outline:3px solid #245ca235;outline-offset:3px}
.survey-page .survey-actions button:disabled{background:#eef2f6;color:#8693a3;border-color:#d9e1ea;opacity:1;cursor:not-allowed;box-shadow:none}
.survey-page #surveyItems:empty{display:none}
.survey-page .survey-history{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.survey-page .survey-history h2{margin:0 0 16px;font-size:21px;line-height:1.5}
.survey-page .survey-history .action-list>p{padding:16px 18px;margin:0;border:1px dashed var(--line);border-radius:8px;color:var(--ink3);font-size:14px;background:#fafbfd}
.survey-page .survey-history .action-list>div{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:16px 0}
@media(max-width:600px){.survey-page .survey-actions{display:grid;grid-template-columns:1fr;gap:12px;padding:14px;margin:20px 0}.survey-page .survey-actions button{width:100%;min-width:0;min-height:44px}.survey-page .survey-history{margin-top:24px;padding-top:20px}}

/* REQ-108: a separate report scope, never changes the user's current project. */
.weekly-scope-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:10px 12px;background:#f3f7fc;border:1px solid var(--line);border-radius:7px;margin-bottom:12px}
.weekly-scope-toolbar label{display:inline-flex;align-items:center;gap:9px;font-weight:600;cursor:pointer;margin:0}
.weekly-scope-toolbar input{width:17px;height:17px;margin:0;accent-color:var(--accent)}
.weekly-scope-toolbar span,.weekly-scope-note{font-size:13px}.weekly-scope-note{color:var(--ink3);margin:0 0 14px}
#projectChecks label>span{min-width:0}#projectChecks small{display:block;font-size:12px;color:var(--ink3);margin-top:3px}
@media(max-width:600px){.weekly-scope-toolbar{align-items:flex-start}.weekly-scope-toolbar span{width:100%}}

/* REQ-109 report actions and complete A4 output. */
#reportForm>button{margin-top:18px;margin-bottom:16px}#reportFields>#addDecision{margin-top:8px}#result .no-print{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
@media print{@page{size:A4;margin:16mm}body[data-view="report"] .current-project-context,body[data-view="reportQuery"] .current-project-context{display:none!important}body[data-view="report"] .page,body[data-view="reportQuery"] .page{max-width:none;padding:0;border:0;box-shadow:none}#result .scroll{overflow:visible}#result table{table-layout:fixed;font-size:9pt}#result th,#result td{overflow-wrap:anywhere;white-space:normal;padding:4px}#result tr{break-inside:avoid}}

/* REQ-112 role-bound report query scope, separate from daily current project. */
.report-query-scope{flex-basis:100%;min-width:0;border:1px solid var(--line);border-radius:7px;padding:12px}.report-query-scope p{font-size:13px;margin:8px 0 12px}#queryProjectChecks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px}#queryProjectChecks label{display:flex;gap:8px;align-items:flex-start;font-size:13px;line-height:1.4;min-width:0}#queryProjectChecks input{flex:none;width:16px;height:16px;margin:2px 0;accent-color:var(--accent)}#queryProjectChecks span{min-width:0;overflow-wrap:anywhere}#queryProjectChecks small{display:block;color:var(--ink3);font-size:12px;margin-top:3px}@media(max-width:800px){#queryProjectChecks{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){#queryProjectChecks{grid-template-columns:1fr}}
/* Report scope spans the parent responsive form grid. */
#queryReportForm>.report-query-scope{grid-column:1/-1;width:100%;box-sizing:border-box}


/* REQ-123: custom decision fields and compact removal. */
.decision-row>[hidden]{display:none!important}.decision-row>button{justify-self:end;width:auto;min-height:40px;padding:8px 14px}.decision-row select,.decision-row input{min-width:0;max-width:100%;box-sizing:border-box}

/* REQ-124 authorized hazard scope and paginated summaries. */
.hazard-query-tools{border:1px solid var(--line);border-radius:10px;padding:16px;margin:18px 0}.hazard-query-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.hazard-query-toolbar label{flex:1;min-width:180px}.hazard-query-toolbar select{display:block;width:100%;min-height:42px;padding:8px;border:1px solid var(--line);border-radius:6px;font:inherit}.hazard-query-toolbar button{min-height:42px}.hazard-query-tools [hidden]{display:none!important}#hazardProjects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}#hazardProjects label,.hazard-all{display:flex;align-items:flex-start;gap:8px}#hazardProjects input,.hazard-all input{width:16px;height:16px;flex:none;margin-top:5px;accent-color:var(--accent)}#hazardProjects span{min-width:0;overflow-wrap:anywhere}#hazardProjects small{display:block;color:var(--ink3)}#hazardRange,#hazardSummary{overflow-wrap:anywhere}.hazard-pagination{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:20px 0}.hazard-pagination button{width:auto;min-height:40px;padding:8px 14px}#hazards article{border-top:1px solid var(--line);padding:18px 0;overflow-wrap:anywhere}#hazards h2{font-size:18px;margin:0 0 10px}.hazard-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.hazard-controls label{flex:1 1 190px;min-width:0}.hazard-controls input,.hazard-controls select{display:block;width:100%;box-sizing:border-box;min-height:42px;padding:8px;font:inherit;border:1px solid var(--line);border-radius:6px}.hazard-controls button{width:auto;min-height:42px}#hazardCustom{border:1px solid var(--line);margin-top:16px;min-width:0}@media(max-width:600px){#hazardProjects{grid-template-columns:1fr}.hazard-controls label{flex-basis:100%}.hazard-query-toolbar label{min-width:0;flex-basis:100%}.hazard-query-toolbar button,.hazard-controls button{margin-left:auto}}
