/* Shared frame: both tabs keep the same title, width and vertical origin. */
html{scrollbar-gutter:stable;overflow-y:scroll}body{background:#f8faf9;color:#172c24;font-family:'PingFang SC','Microsoft YaHei',sans-serif;padding:110px 24px 40px;--primary:#2e7d32}body>.container{max-width:1500px;margin:0 auto}.progress-header{display:block;text-align:center;margin:0 auto 24px;max-width:1280px}.progress-header h1{margin:0;display:flex;align-items:center;justify-content:center;gap:14px;font-size:30px;font-weight:800;color:#162b22;line-height:1.4}.progress-header h1 i{font-size:32px;color:#2e7d32}.progress-tabs{display:flex;gap:10px;justify-content:center;margin:0 0 28px;flex-wrap:wrap}.progress-tabs button{box-sizing:border-box;display:inline-flex;gap:9px;align-items:center;justify-content:center;padding:11px 26px;border:2px solid #e0e8e2;border-radius:30px;background:#fff;color:#63776b;font:600 15px/1.5 'PingFang SC','Microsoft YaHei',sans-serif;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}.progress-tabs button:hover{border-color:#81b88a;color:#2e7d32}.progress-tabs button[aria-selected=true]{background:linear-gradient(135deg,#389346,#287534);border-color:transparent;color:#fff;box-shadow:0 6px 18px -6px #2e7d3260}.progress-tabs button:focus-visible{outline:3px solid #81b88a;outline-offset:4px}.progress-panel{min-height:calc(100vh - 250px)}.progress-panel[hidden]{display:none!important}.user-bar{min-height:72px;box-sizing:border-box}.user-avatar{background:linear-gradient(135deg,#389346,#287534)}.stat-card,.timeline-container,.section{border:1px solid #e0e8e2;box-shadow:0 2px 7px #25463105;border-radius:14px}.stat-card{text-align:left;padding:22px 26px}.stat-card .value{color:#2e7d32;margin-bottom:0}.stats-grid{gap:18px;margin-bottom:22px}.stat-card h3{color:#64776b}.btn-home:hover{border-color:#2e7d32;background:#f1f8f2}
/* PCB content uses the same green theme; amber remains a shipping status cue. */
#pcbPanel{padding:0;margin:0;max-width:none;background:transparent;font-family:inherit;color:#243c2c;font-size:14px;--muted:#687b6e;--line:#e0e8e2;--blue:#2e7d32;--green:#25715a}#pcbPanel .heading{background:#fff;border:1px solid var(--line);border-radius:14px 14px 0 0;padding:22px 26px;gap:20px}#pcbPanel .heading h2{font-size:19px;color:#203729;margin:0 0 7px}#pcbPanel .heading p{font-size:13px}#pcbPanel #refresh{border-radius:9px;background:#2e7d32;padding:10px 18px;font-weight:600}#pcbPanel .scope{margin:0;padding:14px 26px 0;background:#fff}#pcbPanel #message{margin:0 0 22px;padding:10px 26px 16px;min-height:48px;box-sizing:border-box;background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 14px 14px}#pcbPanel .filters{margin:22px 0;border-radius:12px}#pcbPanel .filter[aria-pressed=true]{background:#edf6ee;box-shadow:inset 0 -3px #2e7d32}#pcbPanel .filter{padding:17px 22px}#pcbPanel .filter strong{font-size:26px}#pcbPanel .workspace{border-radius:14px}#pcbPanel .toolbar{padding:22px 26px}#pcbPanel .order{padding:23px 26px}#pcbPanel .order:hover{background:#fafcf9}#pcbPanel .search input{background:#fafcfb;border-color:#dce5de}#pcbPanel .tracking{overflow-wrap:anywhere}#pcbPanel .details-button{border-color:#d5e2d8;color:#386a43}#pcbPanel button:focus-visible,#pcbPanel input:focus-visible{outline-color:#81b88a}
@media(max-width:768px){body{padding:145px 16px 28px}.user-bar{min-height:120px}.progress-header h1{font-size:24px}.progress-header h1 i{font-size:26px}.progress-tabs{gap:10px;margin-bottom:22px}.progress-tabs button{font-size:14px;padding:10px 20px}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.stat-card{padding:16px 12px}.stat-card h3{font-size:12px}.stat-card .value{font-size:24px}.progress-panel{min-height:calc(100vh - 275px)}#pcbPanel .heading{padding:20px}#pcbPanel .scope{padding:12px 20px 0}#pcbPanel #message{padding:10px 20px 15px}#pcbPanel .filter{padding:14px}#pcbPanel .toolbar,#pcbPanel .order{padding:20px}#pcbPanel .heading h2{font-size:18px}#pcbPanel .heading p{font-size:12px}#pcbPanel #refresh{padding:9px 12px}}
@media(prefers-reduced-motion:reduce){.progress-tabs button{transition:none}}

/* 日期始终在第一列；末列按按钮内容预留宽度，避免“查询工序 / 单号”被 85px 的旧列宽截断。 */
#pcbPanel .order{grid-template-columns:130px minmax(0,1.3fr) minmax(0,1fr) max-content max-content;gap:20px}#pcbPanel .order .stage{min-width:0}#pcbPanel .details-button{min-inline-size:112px;justify-self:start}#pcbPanel .heading{border-radius:14px;padding:18px 26px}#pcbPanel .heading h2{margin:0}#pcbPanel .scope{background:transparent;padding:12px 2px 0}#pcbPanel #message{background:transparent;border:0;border-radius:0;min-height:0;padding:7px 2px 0;margin:0;font-size:12px}#pcbPanel #message:empty{display:none}#pcbPanel .filters{margin:18px 0}#pcbPanel .date{font-variant-numeric:tabular-nums}#pcbPanel .progress-note{padding:12px 26px}
/* 桌面右侧列宽保持一致，避免每行打样次数的内容宽度带动状态列偏移。 */
@media(min-width:961px){#pcbPanel .order{grid-template-columns:130px minmax(0,1.3fr) minmax(0,1fr) 96px 112px}}
/* 页面可用内容宽度在 960px 以下已经不足以放下五列；改为两列卡片，杜绝被 workspace 的 overflow:hidden 裁掉。 */
@media(max-width:960px){#pcbPanel .order{grid-template-columns:110px minmax(0,1fr);gap:18px}#pcbPanel .order .date{grid-column:1;grid-row:1}#pcbPanel .order .board{grid-column:2;grid-row:1}#pcbPanel .order .stage{grid-column:2;grid-row:2}#pcbPanel .order .freq{grid-column:2;grid-row:3}#pcbPanel .order .details-button{grid-column:2;grid-row:4;justify-self:start}#pcbPanel .order .freq-history{grid-column:1/-1;grid-row:5}}
@media(max-width:540px){#pcbPanel .order{grid-template-columns:88px minmax(0,1fr);gap:14px}#pcbPanel .board-symbol{display:none}#pcbPanel .order .date{font-size:12px}#pcbPanel .heading{padding:18px 20px}#pcbPanel .freq-history li{gap:3px 10px}#pcbPanel .progress-note{padding:12px 20px}}
.progress-tabs button[hidden]{display:none}
/* 开发文档子板块：嵌入的开发文档页占满一屏，内部自己滚动（弹窗、加载遮罩都留在可视区域里）。 */
#docFrame{display:block;width:100%;height:calc(100vh - 292px);min-height:560px;border:1px solid #e0e8e2;border-radius:14px;background:#f5f5f5;box-sizing:border-box}
@media(max-width:768px){#docFrame{height:calc(100vh - 320px)}}
