:root{font-family:system-ui,"Microsoft YaHei",sans-serif;color:#182534;background:#f5f7fa;font-size:16px}
*{box-sizing:border-box}body{margin:0}header{background:#172e48;color:white;padding:16px 28px;display:flex;justify-content:space-between;align-items:center}
main{max-width:1000px;margin:28px auto;padding:0 24px}h1{font-size:28px}h2{font-size:21px}
button,input,select{font:inherit;padding:8px 12px;border:1px solid #9cabbd;border-radius:5px}button{cursor:pointer;background:#fff;color:#173856}button:hover{background:#e7eff9}
button:disabled{opacity:.5;cursor:default}nav{display:flex;gap:10px;margin:22px 0}nav button[aria-current=page]{background:#173856;color:white}
label{display:inline-flex;gap:10px;align-items:center}form{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
table{border-collapse:collapse;width:100%;background:white}td,th{text-align:left;border-bottom:1px solid #dce3eb;padding:13px}th{background:#eaf0f6}
#message{padding:14px;background:#eaf0f6;white-space:pre-wrap}#message.error{background:#fff0e8;color:#842f17}
#detail{margin-top:24px;padding:24px;background:white;border:1px solid #ccd7e3}#detail form{margin-top:18px}#detail h3{margin-top:0}
.pager{display:flex;gap:12px;margin-top:16px}.muted{color:#516176}small{display:block;margin:10px 0}[hidden]{display:none!important}
.detail-navigation{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}#detail-title,#section-title{scroll-margin-top:20px}#detail-title:focus,#section-title:focus{outline:3px solid #527ca9;outline-offset:6px}
@media(max-width:650px){main{padding:0 12px}td,th{padding:8px}label{flex-wrap:wrap}input,select{max-width:100%}}
main{max-width:1240px}nav{flex-wrap:wrap}#visit-filters,#operations-filters{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:16px 0}
.operations-counts{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:24px 0}.ops-metric{text-align:left;padding:18px;border-color:#dce3eb;background:white}.ops-metric span{display:block;color:#53687c;font-size:14px}.ops-metric strong{display:block;font-size:30px;margin-top:10px;font-weight:600;color:#173856}
#list{overflow-x:auto}.ops-table{min-width:900px;border:1px solid #dce3eb}.ops-table th{font-size:13px;letter-spacing:.04em}.ops-table td{vertical-align:top;font-size:14px}.ops-table td:nth-child(4){max-width:280px}.ops-table small{line-height:1.65;color:#53687c;margin:7px 0}.ops-badge{display:inline-block;padding:5px 9px;border-radius:5px;background:#edf1f5;color:#405369;font-size:13px;line-height:1.6}.ops-planned,.ops-confirmed{background:#e5f2ed;color:#246348}.ops-pending,.ops-withdrawalpending{background:#eaf1fc;color:#28538b}.ops-unknown,.ops-unresolved{background:#fff5dc;color:#7c5a19}.ops-blocked,.ops-failed{background:#fff0ea;color:#923d24}.ops-empty{text-align:center;padding:44px;background:white;border:1px solid #dce3eb;color:#53687c}
.ops-actual{display:flex;gap:40px;padding:20px;background:#f4f7fa;margin:20px 0}.ops-grant,.ops-snapshot{border:1px solid #dce3eb;border-radius:6px;padding:18px;margin:14px 0;overflow-wrap:anywhere}.ops-grant p,.ops-snapshot p{line-height:1.7}.ops-device{border-left:3px solid #afc5d8;padding:12px 18px;margin-top:16px;background:#f8fafc}#detail h4{font-size:18px;margin-top:30px}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #8db5e2;outline-offset:2px}
.attention-panel{margin:20px 0;padding:20px;border:2px solid #d7932b;border-radius:8px;background:#fffaf0}.attention-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.attention-heading h3{margin:0 0 6px}.attention-heading p{margin:0}.attention-heading>strong{min-width:58px;padding:10px 14px;border-radius:8px;background:#9a4b22;color:#fff;font-size:28px;text-align:center}.attention-live{font-weight:600;color:#7c3f1d}.attention-row{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(220px,2fr) auto;gap:16px;align-items:center;padding:14px 0;border-top:1px solid #ead7b7}.attention-row small{margin:4px 0}.attention-evidence{margin-top:7px;color:#315b49}.attention-pagination{align-items:center;justify-content:flex-end}.attention-pagination span{min-width:140px;text-align:center}.ops-recognizedevidence{background:#e5f2ed;color:#246348}.ops-verificationpending,.ops-missingrecognition{background:#fff0e0;color:#813f1f}
@media(max-width:750px){.operations-counts{grid-template-columns:repeat(2,1fr)}.ops-actual{flex-direction:column;gap:14px}#detail{padding:16px}}
@media(max-width:750px){.attention-row{grid-template-columns:1fr}.attention-heading{align-items:flex-start}}
