/* 质检工单 · 同样本多工单 Tab 选型 Demo(Fresh Mint Token) */ :root { --primary: #10b981; --primary-dark: #059669; --primary-bg: #ecfdf5; --text: #1e293b; --text-muted: #64748b; --border: #e2e8f0; --border-soft: #d9e8e2; --bg-page: #f8fafc; --surface: #fff; --radius: 10px; --radius-sm: 8px; --reception: #047857; --reception-bg: #ecfdf5; --reception-border: #a7f3d0; --production: #b45309; --production-bg: #fffbeb; --production-border: #fcd34d; } * { box-sizing: border-box; } body { margin: 0; min-height: 100vh; font-family: Inter, -apple-system, BlinkMacSystemFont, sans-serif; font-size: 14px; line-height: 1.5; color: var(--text); background: var(--bg-page); } .demo-banner { position: sticky; top: 0; z-index: 200; padding: 12px 24px; background: var(--surface); border-bottom: 1px solid var(--border); display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04); } .demo-banner h1 { margin: 0; font-size: 15px; font-weight: 600; } .demo-banner p { margin: 4px 0 0; font-size: 12px; color: var(--text-muted); max-width: 760px; line-height: 1.55; } .demo-banner__actions { display: flex; gap: 8px; flex-wrap: wrap; flex-shrink: 0; } .demo-link { display: inline-flex; align-items: center; height: 32px; padding: 0 12px; border-radius: var(--radius-sm); border: 1px solid var(--border); background: var(--surface); font-size: 12px; font-weight: 500; color: var(--text); text-decoration: none; transition: border-color 0.15s, background 0.15s; } .demo-link:hover { border-color: #a7f3d0; background: var(--primary-bg); color: var(--primary-dark); } .page-container { max-width: 960px; margin: 0 auto; padding: 20px 24px 48px; } .compare-stack { display: flex; flex-direction: column; gap: 28px; } .compare-block { background: var(--surface); border: 1px solid var(--border-soft); border-radius: var(--radius); overflow: hidden; } .compare-block__label { padding: 14px 18px; background: #fafafa; border-bottom: 1px solid var(--border); } .compare-block__label h2 { margin: 0; font-size: 14px; font-weight: 600; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; } .compare-block__label p { margin: 6px 0 0; font-size: 12px; color: var(--text-muted); line-height: 1.55; } .variant-tag { display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border-radius: 6px; font-size: 11px; font-weight: 700; letter-spacing: 0.02em; } .variant-tag--baseline { background: #f1f5f9; color: #475569; } .variant-tag--rec { background: var(--primary-bg); color: var(--primary-dark); border: 1px solid #a7f3d0; } .compare-block__body { padding: 16px; background: #f1f5f9; } .pros-cons { margin-top: 8px; display: flex; flex-direction: column; gap: 4px; font-size: 12px; } .pro { color: #047857; } .con { color: #94a3b8; } /* ── 样本组卡片骨架 ── */ .qc-sample-row { display: flex; flex-direction: column; min-width: 0; border: 1px solid #e2e8f0; border-radius: 10px; background: #fff; overflow: hidden; transition: border-color 0.15s ease, box-shadow 0.15s ease; } .qc-sample-row:hover { border-color: #a8d4c4; box-shadow: 0 2px 8px rgba(4, 120, 87, 0.08); } .qc-sample-row__ctx { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 12px 16px; background: linear-gradient(180deg, var(--primary-bg) 0%, #fff 100%); border-bottom: 1px solid #d1fae5; } .qc-sample-row__idx { flex-shrink: 0; font-size: 12px; color: var(--text-muted); min-width: 20px; } .qc-sample-row__code { font-size: 14px; font-weight: 600; color: #1e293b; font-family: ui-monospace, Menlo, monospace; } .qc-sample-row__sub { flex: 1; min-width: 0; font-size: 12px; color: var(--text-muted); } .qc-sample-row__badge { flex-shrink: 0; font-size: 11px; font-weight: 600; padding: 2px 10px; border-radius: 999px; background: var(--primary-bg); color: #047857; border: 1px solid #d1fae5; } /* 工单内容占位 */ .qc-card-placeholder { padding: 14px 16px; background: #fafafa; border-top: 1px solid var(--border); } .qc-card-placeholder__head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 10px; } .qc-card-placeholder__no { font-size: 15px; font-weight: 600; font-family: ui-monospace, Menlo, monospace; } .qc-card-placeholder__meta { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; font-size: 12px; color: var(--text-muted); } .qc-card-placeholder__meta span strong { display: block; font-size: 11px; font-weight: 500; color: #94a3b8; } .qc-card-placeholder__tasks { margin-top: 10px; padding: 10px 12px; background: #f8fafc; border-radius: 8px; font-size: 12px; color: var(--text-muted); } /* Tag 模拟 */ .tag { display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border-radius: 4px; font-size: 12px; font-weight: 500; border: 1px solid transparent; } .tag--success { background: #ecfdf5; color: #047857; border-color: #a7f3d0; } .tag--warning { background: #fffbeb; color: #b45309; border-color: #fcd34d; } .tag--info { background: #f1f5f9; color: #475569; border-color: #e2e8f0; } .tag--reception { background: var(--reception-bg); color: var(--reception); border-color: var(--reception-border); } .tag--production { background: var(--production-bg); color: var(--production); border-color: var(--production-border); } /* 通用 tab 按钮 reset */ .tab-btn { font-family: inherit; cursor: pointer; user-select: none; } .tab-btn:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }