Files
zkxw/docs/qc-wo-sample-tab-demos/_shared.css
T
2026-06-18 15:09:50 +08:00

335 lines
5.8 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* 质检工单 · 同样本多工单 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;
}