/* 沿用现有 ZEMISMART ERP 的品牌色、侧栏、表格及控件规格。
   样式来源：erp.zemihome.online/static/styles.css，2026-10-02 核对。 */
:root{--bg:#f4f7fb;--panel:#fff;--panel-soft:#f8fafc;--line:#dbe3ee;--text:#10243c;--ink:#10243c;--muted:#66758a;--blue:#0076ba;--blue-strong:#005b91;--brand:#0076ba;--brand-navy:#071f34;--brand-red:#e53e35;--green:#0f8f68;--orange:#c76a14;--shadow:0 12px 28px rgba(23,32,51,.08)}
body{background:var(--bg);color:var(--text);font-family:Inter,"PingFang SC","Microsoft YaHei",Arial,sans-serif;font-size:14px;line-height:1.5}
nav{width:260px;background:var(--brand-navy);color:#e8eef7;border:0;padding:20px 14px;gap:5px;overflow-y:auto}
nav .brand{display:grid;gap:12px;align-items:start;padding:6px 8px 18px;border-bottom:1px solid #ffffff1f;margin-bottom:10px}
.erp-logo{display:block;width:192px;height:24px;object-fit:contain;object-position:left center}
nav .brand b{display:block;font-size:15px;letter-spacing:0;color:#e8eef7}
nav .brand small{font-size:12px;letter-spacing:0;line-height:1.35;color:#9fb1c8;margin-top:5px}
nav .nav-label{font-size:11px;letter-spacing:0;font-weight:700;color:#8aa1bc;padding:6px 12px;margin:5px 0}
nav button{width:100%;border:0;border-radius:6px;background:transparent;color:#d6e0ed;text-align:left;justify-content:flex-start;padding:10px 12px;font-size:14px;font-weight:700;gap:11px;flex-shrink:0}
nav button:hover,nav button.active{background:#ffffff1a;color:#fff;box-shadow:inset 3px 0 0 var(--brand-red)}
nav button.active:after{display:none}
nav .nav-foot{padding:12px;margin:28px 0 0;margin-top:auto;border:1px solid #ffffff1f;border-radius:8px;background:#ffffff0f;color:#9fb1c8;font-size:12px}
nav .nav-foot b{display:block;margin-bottom:5px;color:#e8eef7;font-size:12px}
nav .nav-foot a{color:#acdafa}
nav .connection-dot{background:#4dbea0}
header{margin-left:260px;min-height:86px;height:auto;padding:22px 28px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:4;gap:16px}
header b{font-size:18px!important;letter-spacing:0}header small{font-size:12px;color:var(--muted)}
header .actions{gap:10px}header select{background:#fff;border-color:#cdd8e5;font-size:13px;padding:9px 10px}
main{margin-left:260px;padding:24px 28px 42px;max-width:none;min-width:0}
h1,.welcome h1{font-size:24px;letter-spacing:0;font-weight:750;margin-bottom:8px}h2{font-size:18px;letter-spacing:0;font-weight:700}h3{font-size:14px;color:var(--text)}
.eyebrow,.welcome .eyebrow{font-size:12px;font-weight:800;color:var(--muted);letter-spacing:0;text-transform:uppercase;margin-bottom:5px}
.welcome{margin-bottom:20px}.page-subtitle{font-size:13px;color:var(--muted)}
.grid{gap:14px}.card{border:1px solid var(--line);border-radius:8px;padding:18px;background:#fff;box-shadow:var(--shadow);margin-bottom:18px}
.metric{padding:16px;min-height:105px;box-shadow:0 7px 18px rgba(23,32,51,.045)}
.metric .metric-top{font-size:13px;color:var(--muted)}.metric-caption{font-size:12px;color:var(--muted);border:0;padding-top:0}
.stat{font-size:28px;font-weight:800;letter-spacing:0;margin:12px 0 8px;color:var(--text)}
.metric-icon,.metric:nth-child(2) .metric-icon,.metric:nth-child(3) .metric-icon,.metric:nth-child(4) .metric-icon{background:#eaf2ff;color:var(--blue);border-radius:6px;padding:8px}
button{border:1px solid var(--blue);background:#fff;color:var(--blue);border-radius:6px;padding:9px 13px;font-size:13px;font-weight:700;box-shadow:none}
button:hover{background:#eef5ff;border-color:var(--blue-strong)}
button.primary,a.primary,.primary{background:var(--blue);border-color:var(--blue);color:#fff;border-radius:6px;box-shadow:none}
button.primary:hover,a.primary:hover{background:var(--blue-strong);border-color:var(--blue-strong)}
button.link{color:var(--blue);font-size:13px;font-weight:700;box-shadow:none}
input,select,textarea{border:1px solid #cdd8e5;border-radius:6px;padding:9px 10px;background:#fff;color:var(--text);font-size:13px}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #0076ba44;outline-offset:2px}
label{font-size:13px;font-weight:700;color:#405168}.overflow{border:1px solid var(--line);border-radius:8px}
table{background:#fff}th,td{padding:11px 12px;border-bottom:1px solid var(--line);font-size:13px;line-height:1.5}th{background:#f1f5fa;color:#405168;font-weight:800}td small{font-size:12px}tbody tr:hover{background:#f8fafc}
.row{gap:12px;margin-bottom:14px}.pill{font-size:12px;border-radius:5px;padding:3px 8px;background:#eaf7f1;border-color:#bfe7d8;color:#0f8f68}.pill.amber{background:#fff8ef;border-color:#f6d7b7;color:#c76a14}.pill.neutral{background:#f1f5fa;border-color:var(--line);color:#66758a}
.notice{background:#edf6ff;border:1px solid #c9e0f3;color:#405a74;font-size:12px;border-radius:6px;padding:11px 13px;margin-bottom:18px}.notice .connection-dot{background:var(--blue)}
.notice details summary:after{font-size:11px}.workspace-tag{border:1px solid #bfd8ec;border-radius:6px;color:var(--blue);border-color:#bfd8ec;background:#f3faff;font-size:12px}
.checklist{gap:14px;margin-bottom:18px}.check-item{border-color:var(--line);border-radius:8px;padding:14px 16px}.check-item b{color:var(--text);font-size:13px}.check-item small{font-size:12px;color:var(--muted)}
.top-status{font-size:12px;color:var(--green)}.top-status i{background:var(--green)}.muted-badge{background:#f3faff;color:var(--blue);border:1px solid #bfd8ec;border-radius:5px}
.task-head h2{font-size:17px}.task-card p{font-size:13px}.task-summary{font-size:13px}.task-summary b{color:var(--text)}.task-head small{font-size:11px;letter-spacing:0}
.split aside{padding:16px 12px;top:108px}.stage{font-size:13px;border-radius:6px;color:#405168}.stage:hover{background:#f1f5fa}.stage.selected{background:#eaf2ff;color:var(--blue)}.stage.selected .stage-num{background:var(--blue);border-color:var(--blue)}.stage-copy{font-size:13px}.stage-copy small{font-size:12px}
.flow-step.done .flow-num{background:var(--blue);border-color:var(--blue)}.flow-step.current .flow-num{background:#eaf2ff;border-color:#9dd5f7;color:var(--blue)}.flow-step b{font-size:12px}.flow-step small{font-size:11px}
.log{font-size:13px}.file b{font-size:13px}.file small{font-size:12px}.data-note,.sync-time{font-size:12px}.empty{font-size:13px;background:#f8fafc;border-radius:6px}.section-label{font-size:16px}dialog{border-radius:8px;border-color:var(--line)}
@media(max-width:1100px){nav{width:220px}nav .erp-logo{width:178px}header,main{margin-left:220px}header{padding:18px 22px}main{padding:22px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.checklist{grid-template-columns:1fr}}
@media(max-width:760px){nav{position:static;width:auto;flex-direction:row;overflow-x:auto;padding:10px 12px;border-bottom:1px solid #203b53;gap:5px}nav .brand,nav .nav-label,nav .nav-foot{display:none}nav button{width:auto;white-space:nowrap;padding:10px 12px;font-size:12px}nav button.active,nav button:hover{box-shadow:inset 0 -3px 0 var(--brand-red)}header,main{margin-left:0}header{position:static;padding:16px;min-height:86px}main{padding:18px 14px 30px}h1,.welcome h1{font-size:22px}.card{padding:16px}.metric{padding:14px}.stat{font-size:26px}.grid{gap:10px}.split aside{position:static}.top-status{flex-wrap:wrap}.checklist{gap:10px}.welcome{gap:10px;align-items:flex-start}}

/* 核对页保留协同业务的直接入口，预览页可返回真实数据。 */
nav a.nav-shortcut{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0;padding:10px 12px;border-radius:6px;color:#d6e0ed;font-size:14px;font-weight:700;text-decoration:none}
nav a.nav-shortcut:hover{background:#ffffff1a;color:#fff;box-shadow:inset 3px 0 0 var(--brand-red)}
nav a.nav-shortcut:focus-visible{outline:3px solid #9dd5f7;outline-offset:2px}
nav a.nav-shortcut small{font-size:10px;font-weight:400;color:#9fb1c8;white-space:nowrap}
nav .preview-back{display:block;color:#acdafa;margin-top:12px;text-decoration:none}
@media(max-width:760px){nav a.nav-shortcut{white-space:nowrap;font-size:12px;padding:10px 12px}nav a.nav-shortcut:hover{box-shadow:inset 0 -3px 0 0 var(--brand-red)}}
