/* 尺寸查询 · 打印页
 * 专有样式独立成文件，不并进 main.css（避免影响其他页面）。
 * 打印规则是本页的核心：物理单位 + @page A4 + 只留打印区。 */

/* ---------- 左栏 ---------- */
.size-cat-list { display: flex; flex-wrap: wrap; gap: 6px; }
.sz-cat {
    font: inherit; font-size: 0.8125rem;
    padding: 5px 10px; border-radius: var(--radius-md, 6px);
    border: 1px solid var(--color-border);
    background: var(--color-bg-card); color: var(--color-text-secondary);
    cursor: pointer; transition: all var(--transition-fast, .15s);
}
.sz-cat:hover { border-color: var(--color-primary); color: var(--color-primary); }
.sz-cat.active {
    background: var(--color-primary); border-color: var(--color-primary);
    color: #fff; font-weight: 600;
}

.size-quick { display: flex; flex-direction: column; gap: 4px; }
.sz-quick-btn {
    display: flex; justify-content: space-between; align-items: baseline; gap: 8px;
    font: inherit; font-size: 0.8125rem; text-align: left;
    padding: 6px 9px; border-radius: var(--radius-md, 6px);
    border: 1px solid transparent; background: transparent;
    color: var(--color-text-secondary); cursor: pointer;
}
.sz-quick-btn:hover { background: var(--color-bg-secondary); border-color: var(--color-border); }
.sz-quick-btn em {
    font-style: normal; font-size: 0.72rem; color: var(--color-text-muted);
    white-space: nowrap;
}

.sz-unit-row { display: flex; align-items: center; gap: 8px; }
.sz-unit-label { font-size: 0.8125rem; color: var(--color-text-secondary); }
.sz-select {
    font: inherit; font-size: 0.8125rem; padding: 4px 6px;
    border: 1px solid var(--color-border); border-radius: var(--radius-sm, 4px);
    background: var(--color-bg-card); color: var(--color-text);
}
.sz-note { font-size: 0.72rem; color: var(--color-text-muted); margin: 6px 0 0; line-height: 1.5; }

/* ---------- 搜索 ---------- */
.sz-search {
    position: relative; display: flex; align-items: center;
    margin: 14px 0 10px;
}
.sz-search-icon {
    position: absolute; left: 12px; width: 18px; height: 18px;
    color: var(--color-text-muted); pointer-events: none;
}
.sz-input {
    width: 100%; font: inherit; font-size: 0.9375rem;
    padding: 11px 38px 11px 38px;
    border: 1px solid var(--color-border); border-radius: var(--radius-md, 6px);
    background: var(--color-bg-card); color: var(--color-text);
}
.sz-input:focus { outline: none; border-color: var(--color-primary); }
.sz-clear {
    position: absolute; right: 10px; width: 22px; height: 22px; line-height: 1;
    font-size: 18px; border: 0; border-radius: 50%; cursor: pointer;
    background: var(--color-bg-secondary); color: var(--color-text-muted);
}

.sz-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.sz-chip {
    font: inherit; font-size: 0.75rem; padding: 4px 10px;
    border: 1px dashed var(--color-border); border-radius: 999px;
    background: transparent; color: var(--color-text-muted); cursor: pointer;
}
.sz-chip:hover { border-color: var(--color-primary); color: var(--color-primary); }

/* ---------- 结果 ---------- */
.sz-grid {
    display: grid; gap: 8px;
    grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
}
.sz-item {
    display: flex; flex-direction: column; align-items: flex-start; gap: 2px;
    font: inherit; text-align: left; padding: 9px 11px;
    border: 1px solid var(--color-border); border-radius: var(--radius-md, 6px);
    background: var(--color-bg-card); cursor: pointer;
    transition: border-color var(--transition-fast, .15s), transform var(--transition-fast, .15s);
}
.sz-item:hover { border-color: var(--color-primary); transform: translateY(-1px); }
.sz-item-name { font-size: 0.875rem; color: var(--color-text); }
.sz-item-dim { font-size: 0.8125rem; color: var(--color-primary); }
.sz-item-cat { font-size: 0.7rem; color: var(--color-text-muted); }

.sz-empty {
    padding: 24px; text-align: center; font-size: 0.875rem;
    color: var(--color-text-muted); background: var(--color-bg-secondary);
    border-radius: var(--radius-md, 6px);
}
.sz-empty b { color: var(--color-text); }
.sz-loading { color: var(--color-primary); }
.sz-ai-hit { border-left: 3px solid var(--color-primary); text-align: left; }

/* 系列统称 → 候选型号列表 */
.sz-amb { padding: 14px 16px; background: var(--color-bg-secondary); border-radius: var(--radius-md, 6px); }
.sz-amb-why { margin: 0 0 10px; font-size: 0.85rem; line-height: 1.65; color: var(--color-text-secondary); }
.sz-amb-list { display: grid; gap: 8px; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.sz-amb-item {
    display: flex; flex-direction: column; gap: 3px;
    padding: 10px 12px; text-align: left; cursor: pointer;
    background: var(--color-bg, #fff);
    border: 1px solid var(--color-border, #e5e7eb);
    border-radius: var(--radius-md, 6px);
    transition: border-color .15s, box-shadow .15s;
}
.sz-amb-item:hover { border-color: var(--color-primary); box-shadow: 0 1px 6px rgba(0, 0, 0, .06); }
.sz-amb-name { font-size: 0.85rem; font-weight: 600; color: var(--color-text); }
.sz-amb-dim { font-size: 0.95rem; color: var(--color-primary); }
.sz-amb-note { font-size: 0.72rem; color: var(--color-text-secondary); }
.sz-amb-src { font-size: 0.7rem; color: var(--color-text-muted); }
.sz-amb-tip { margin: 10px 0 0; font-size: 0.72rem; color: var(--color-text-muted); }
/* 系列统称：本地只命中几条时，提示还能让 AI 列全部 */
.sz-series-hint {
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
    margin: 0 0 12px; padding: 9px 12px; font-size: 0.8rem; line-height: 1.6;
    color: var(--color-text-secondary); background: var(--color-bg-secondary);
    border-left: 3px solid var(--color-primary); border-radius: var(--radius-md, 6px);
}
.sz-series-hint button {
    padding: 5px 12px; font-size: 0.78rem; cursor: pointer;
    color: #fff; background: var(--color-primary);
    border: 0; border-radius: var(--radius-md, 6px);
}
.sz-series-hint button:hover { opacity: .88; }
.sz-amb-foot { display: flex; align-items: center; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.sz-amb-more {
    padding: 7px 14px; font-size: 0.8rem; cursor: pointer;
    color: var(--color-primary); background: transparent;
    border: 1px dashed var(--color-primary); border-radius: var(--radius-md, 6px);
    transition: background .15s, color .15s;
}
.sz-amb-more:hover:not(:disabled) { background: var(--color-primary); color: #fff; }
.sz-amb-more:disabled { cursor: default; opacity: .55; border-style: solid; }
.sz-amb-foot .sz-amb-tip { margin: 0; }
.sz-detail-source {
    font-size: 0.75rem; line-height: 1.6; color: var(--color-text-muted);
    margin: 8px 0 0; padding: 7px 10px; border-radius: var(--radius-md, 6px);
    background: var(--color-bg-secondary);
}
.sz-detail-source b { color: #b45309; }
.sz-detail-source a { color: var(--color-primary); }

/* ---------- 详情 ---------- */
.sz-detail { margin-top: 18px; }
.sz-detail-card {
    border: 1px solid var(--color-border); border-radius: var(--radius-lg, 10px);
    background: var(--color-bg-card); padding: 16px 18px;
}
.sz-detail-head {
    display: flex; justify-content: space-between; align-items: flex-start;
    gap: 12px; flex-wrap: wrap;
}
.sz-detail-name { margin: 0; font-size: 1.125rem; color: var(--color-text); }
.sz-detail-cat { font-size: 0.75rem; color: var(--color-text-muted); margin-top: 2px; }
.sz-detail-actions { display: flex; gap: 8px; flex-wrap: wrap; }

.sz-detail-dims {
    display: grid; gap: 8px; margin: 14px 0;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}
.sz-dim-box {
    display: flex; flex-direction: column; gap: 3px;
    padding: 9px 11px; border-radius: var(--radius-md, 6px);
    background: var(--color-bg-secondary);
}
.sz-dim-k { font-size: 0.7rem; color: var(--color-text-muted); }
.sz-dim-v { font-size: 0.9375rem; color: var(--color-text); }

.sz-detail-note {
    font-size: 0.8125rem; line-height: 1.7; color: var(--color-text-secondary);
    margin: 0;
}

.sz-detail-scale { margin-top: 14px; }
.sz-scale-head {
    display: flex; align-items: center; justify-content: space-between;
    gap: 8px; flex-wrap: wrap;
}
.sz-scale-label { font-size: 0.75rem; color: var(--color-text-muted); }
.sz-img-tools { display: flex; gap: 6px; }
.sz-mini {
    font: inherit; font-size: 0.72rem; padding: 3px 10px;
    border: 1px solid var(--color-border); border-radius: 999px;
    background: var(--color-bg-card); color: var(--color-text-secondary);
    cursor: pointer; transition: all var(--transition-fast, .15s);
}
.sz-mini:hover { border-color: var(--color-primary); color: var(--color-primary); }
.sz-preview {
    margin: 6px 0; min-height: 60px;
    display: flex; align-items: flex-start;
}
.sz-preview-box {
    position: relative; border: 2px solid var(--color-primary);
    border-radius: 2px; background: var(--color-primary-glow, rgba(37,99,235,.06));
    display: flex; align-items: center; justify-content: center;
}
.sz-preview-box span {
    font-size: 0.7rem; color: var(--color-primary); white-space: nowrap;
    transform: translateY(0);
}
/* 上传后的预览：去掉蓝框，图铺满方框，和打印效果一致 */
.sz-preview-box.sz-has-img {
    border-color: var(--color-border-hover, #cbd5e1);
    overflow: hidden; background: #f1f5f9;
}
.sz-preview-box.sz-has-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sz-scale-note { display: block; font-size: 0.7rem; color: var(--color-text-muted); }
.sz-scale-note.is-warn { color: #b45309; }

/* ---------- 打印区（屏幕隐藏，打印时是全部内容） ---------- */
.sz-print { display: none; }

@media print {
    /* 只留打印区：站点头尾、侧栏、搜索区全部让开 */
    body > *:not(.workspace-layout) { display: none !important; }
    .no-print { display: none !important; }
    .workspace-layout { display: block !important; margin: 0 !important; padding: 0 !important; }
    .sz-print { display: block !important; }

    @page { size: A4 portrait; margin: 10mm; }

    html, body {
        background: #fff !important; color: #000 !important;
        margin: 0 !important; padding: 0 !important;
    }

    .sz-print-head { margin-bottom: 4mm; }
    .sz-print-title { font-size: 14pt; font-weight: 700; }
    .sz-print-meta { font-size: 9pt; color: #444; margin-top: 1mm; }

    .sz-print-body { margin: 2mm 0; }
    .sz-print-box {
        border: 0.4mm solid #000;
        display: flex; align-items: center; justify-content: center;
        box-sizing: border-box; overflow: hidden;
    }
    /* 用户上传的图：铺满方框，超出比例的部分裁掉（与预览一致） */
    .sz-print-img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .sz-print-dim { font-size: 8pt; color: #000; }

    .sz-calib-title { font-size: 8pt; color: #000; margin-bottom: 1mm; }
    .sz-calib-bar {
        height: 3mm; border: 0.3mm solid #000; border-top: 0;
        box-sizing: border-box;
    }

    .sz-print-calib { margin-top: 6mm; }
    .sz-print-tip {
        margin-top: 5mm; font-size: 8pt; line-height: 1.5; color: #000;
        border-top: 0.3mm dashed #666; padding-top: 2mm;
    }
    .sz-print-tip b { font-weight: 700; }

    /* 避免打印出多余的空白页 */
    .workspace-main { padding: 0 !important; margin: 0 !important; display: block !important; }
}
