/* Procurement-minded reputation directory, using the existing brand palette. */
.reputation-page { --rep-ink:#30261f; --rep-muted:#716455; --rep-line:#ddd1bd; --rep-paper:#fffbf3; --rep-accent:#a83d22; color:var(--rep-ink); }
.reputation-page [hidden] { display:none !important; }
.reputation-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; margin:10px 0 24px; }
.rep-eyebrow { color:var(--rep-accent); font-size:10px; letter-spacing:.09em; font-weight:650; margin:0 0 7px; }
.reputation-heading h1 { font:600 clamp(28px,4vw,40px)/1.3 'Songti SC',STSong,serif; margin:7px 0; text-wrap:balance; }
.reputation-heading p:last-child { color:var(--rep-muted); font-size:13px; margin:8px 0 0; }
.rep-overview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) 1.65fr; border-block:1px solid var(--rep-line); }
.rep-overview > div { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:17px 0; padding:0 24px; border-right:1px solid var(--rep-line); }
.rep-overview > div:first-child { padding-left:0; }
.rep-overview > div > span { color:var(--rep-muted); font-size:12px; }
.rep-overview strong { font-size:26px; line-height:1; font-variant-numeric:tabular-nums; }
.rep-overview strong small { font-size:10px; color:var(--rep-muted); font-weight:400; margin-left:5px; }
.rep-overview > a { align-self:center; justify-self:end; font-size:11px; color:var(--rep-muted); text-align:right; text-decoration:none; }
.rep-overview > a > span { display:block; margin-top:5px; color:var(--rep-accent); }
.rep-filter { display:flex; align-items:flex-end; gap:12px; margin:22px 0; }
.rep-filter label,.rep-feedback label { display:flex; flex-direction:column; gap:6px; color:var(--rep-muted); font-size:11px; min-width:0; }
.rep-filter label:first-child { flex:1; max-width:380px; }
.rep-filter input,.rep-filter select,.rep-feedback select,.rep-feedback textarea { box-sizing:border-box; min-height:42px; width:100%; padding:10px 12px; border:1px solid var(--rep-line); border-radius:7px; color:var(--rep-ink); background:var(--rep-paper); font:inherit; font-size:13px; }
.rep-filter > a { font-size:12px; padding:13px 4px; }
.rep-workspace { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(310px,1fr); align-items:start; gap:20px; }
.rep-panel { min-width:0; border:1px solid var(--rep-line); border-radius:14px; background:var(--rep-paper); }
.rep-board { padding:20px 20px 0; }
.rep-panel-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:16px; }
.rep-panel h2 { font-size:18px; margin:0; overflow-wrap:anywhere; }
.rep-panel-head h2 > span { margin-left:6px; color:var(--rep-muted); font:500 12px/1.4 sans-serif; }
.rep-panel-head > span { color:var(--rep-muted); font-size:10px; }
.rep-pending { display:flex; align-items:center; gap:10px; border:1px dashed var(--rep-line); border-radius:8px; padding:11px 13px; margin-bottom:14px; background:#f7f1e6; }
.rep-pending > span { color:var(--rep-accent); font-size:22px; }
.rep-pending strong { display:block; font-size:12px; }
.rep-pending div > span { color:var(--rep-muted); display:block; font-size:11px; margin-top:3px; }
.rep-list-head { display:flex; justify-content:space-between; padding:9px 10px; font-size:10px; color:var(--rep-muted); background:#f5efe3; border-radius:5px; }
.rep-list-head > span:first-child { padding-left:28px; }
.rep-shop { display:flex; align-items:center; gap:11px; min-height:82px; padding:12px 9px; border-bottom:1px solid #eae1d3; text-decoration:none; color:inherit; border-radius:7px; box-sizing:border-box; transition:background-color .15s ease; content-visibility:auto; contain-intrinsic-size:auto 86px; }
.rep-shop:hover,.rep-shop.is-selected { background:#f4eadc; text-decoration:none; }
.rep-shop.is-selected { box-shadow:inset 3px 0 var(--rep-accent); }
.rep-rank { color:var(--rep-muted); width:22px; flex-shrink:0; text-align:center; font-size:11px; font-variant-numeric:tabular-nums; }
.rep-rank-leading { color:var(--rep-accent); font-weight:700; }
.rep-avatar { display:grid; place-items:center; width:34px; height:34px; flex-shrink:0; color:#78513a; background:#ece2d2; border:1px solid #e0d3be; border-radius:10px; font:600 17px/1 'Songti SC',STSong,serif; }
.rep-shop-info { flex:1; min-width:0; }
.rep-shop-info > strong { display:block; font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rep-shop-tags { display:flex; flex-wrap:wrap; gap:4px; margin-top:5px; }
.rep-shop-tags > span { font-size:9px; line-height:1.3; padding:3px 5px; color:var(--rep-muted); background:#eee8dc; border-radius:3px; overflow-wrap:anywhere; }
.rep-shop-tags > .rep-quality { color:#78451e; background:#f1dfbc; }
.rep-shop-info > small { display:block; color:var(--rep-muted); font-size:10px; margin-top:5px; }
.rep-score { text-align:right; flex-shrink:0; min-width:47px; font-variant-numeric:tabular-nums; }
.rep-score > strong { font-size:23px; line-height:1; font-weight:650; }
.rep-score > small { color:var(--rep-muted); font-size:9px; display:block; margin-top:3px; }
.rep-score > span { font-size:10px; color:var(--rep-muted); }
.rep-score > .rep-shop-arrow { display:none; margin-left:7px; color:var(--rep-accent); }
.rep-pagination { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:16px; }
.rep-pagination button { min-height:38px; padding:8px 10px; border:1px solid var(--rep-line); background:transparent; border-radius:6px; color:var(--rep-ink); font:inherit; font-size:11px; cursor:pointer; touch-action:manipulation; }
.rep-pagination button:hover:not(:disabled) { background:#f4eadc; }
.rep-pagination button:disabled { color:#a69b8b; cursor:default; }
.rep-pagination > span { color:var(--rep-muted); font-size:11px; font-variant-numeric:tabular-nums; }
.rep-caption { font-size:11px; color:var(--rep-muted); line-height:1.7; }
.rep-board-foot { margin:14px 0; text-align:center; font-size:10px; }
.rep-detail { padding:22px; scroll-margin-top:100px; }
.rep-profile { display:flex; align-items:center; gap:12px; }
.rep-profile > div { min-width:0; }
.rep-profile h2 { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:17px; line-height:1.45; }
.rep-avatar-large { width:44px; height:44px; font-size:23px; border-radius:12px; }
.rep-detail-score { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:22px 0 18px; }
.rep-detail-score > div > strong { display:block; font-size:46px; line-height:1; font-weight:600; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.rep-detail-score > div > span { display:block; font-size:11px; margin-top:8px; color:var(--rep-muted); }
.rep-badge,.rep-status { display:inline-flex; padding:6px 8px; border:1px solid var(--rep-line); color:var(--rep-muted); border-radius:6px; font-size:10px; white-space:nowrap; }
.rep-badge { color:#7e381c; background:#f4dfb7; border-color:#d8b97f; }
.rep-dimensions { display:grid; gap:15px; padding:16px; background:#f5efe4; border-radius:9px; }
.rep-dimensions > div { display:grid; grid-template-columns:1fr auto; gap:7px; align-items:center; }
.rep-dimensions > div > span { font-size:11px; }
.rep-dimensions small { font-size:9px; color:var(--rep-muted); margin-left:7px; }
.rep-dimensions strong { font-size:12px; font-weight:600; font-variant-numeric:tabular-nums; }
.rep-dimensions meter,.rep-meter-empty { display:block; grid-column:1/-1; width:100%; height:5px; border:0; border-radius:9px; background:#e4d9c9; appearance:none; }
.rep-dimensions meter::-webkit-meter-bar { background:#e4d9c9; border:0; height:5px; border-radius:9px; }
.rep-dimensions meter::-webkit-meter-optimum-value { background:var(--rep-accent); border-radius:9px; }
.rep-dimensions meter::-moz-meter-bar { background:var(--rep-accent); border-radius:9px; }
.rep-samples { display:flex; gap:20px; margin-top:17px; color:var(--rep-muted); font-size:11px; }
.rep-samples strong { color:var(--rep-ink); font-size:14px; margin-right:4px; font-variant-numeric:tabular-nums; }
.rep-quote-action { width:100%; justify-content:center; margin:17px 0 4px; box-sizing:border-box; }
.rep-records { margin-top:15px; }
.rep-evidence,.rep-feedback { border-top:1px solid var(--rep-line); }
.rep-evidence > summary,.rep-feedback > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px 0; cursor:pointer; font-size:12px; font-weight:600; list-style:none; min-height:44px; box-sizing:border-box; }
.rep-evidence > summary::-webkit-details-marker,.rep-feedback > summary::-webkit-details-marker { display:none; }
.rep-evidence > summary > span:last-child { font-size:10px; color:var(--rep-muted); font-weight:400; }
.rep-evidence > summary > span:last-child::after { content:'＋'; margin-left:7px; }
.rep-evidence[open] > summary > span:last-child::after { content:'−'; }
.rep-evidence summary small { display:inline-block; color:var(--rep-muted); padding:2px 6px; margin-left:5px; background:#eee7da; border-radius:10px; font-size:10px; font-weight:400; }
.rep-evidence-body { max-height:420px; overflow-y:auto; padding-right:5px; overscroll-behavior:contain; }
.rep-record { border-bottom:1px dashed var(--rep-line); padding:0 0 11px; margin:0 0 12px; }
.rep-record:last-child { border:0; }
.rep-record > summary { list-style:none; cursor:pointer; padding:5px 0; }
.rep-record > summary::-webkit-details-marker { display:none; }
.rep-record-top { display:flex; justify-content:space-between; align-items:baseline; gap:10px; font-size:11px; }
.rep-record-top strong { min-width:0; overflow-wrap:anywhere; }
.rep-record time,.rep-record small { color:var(--rep-muted); font-size:10px; }
.rep-record time { flex-shrink:0; }
.rep-record-preview { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:12px; line-height:1.7; margin-top:7px; color:var(--rep-muted); overflow-wrap:anywhere; }
.rep-record[open] .rep-record-preview { display:none; }
.rep-record p { font-size:12px; line-height:1.8; margin:5px 0 8px; white-space:pre-wrap; overflow-wrap:anywhere; }
.rep-record-source { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:7px; }
.rep-record-source a { font-size:11px; overflow-wrap:anywhere; }
.rep-feedback > summary { color:var(--rep-accent); }
.rep-feedback-body { padding:0 0 6px; }
.rep-feedback form { display:flex; flex-direction:column; gap:12px; }
.rep-feedback textarea { resize:vertical; }
.rep-feedback form > p { margin:0; }
.rep-method { margin-top:20px; border:1px solid var(--rep-line); border-radius:9px; scroll-margin-top:100px; }
.rep-method > summary { cursor:pointer; font-size:12px; font-weight:600; padding:16px 18px; }
.rep-method > summary > span { float:right; font-size:10px; font-weight:400; color:var(--rep-muted); }
.rep-method-body { padding:0 18px 10px; }
.rep-method p { color:var(--rep-muted); font-size:12px; line-height:1.9; }
.rep-notice { border:1px solid var(--rep-line); background:#f4e8d4; padding:14px; border-radius:8px; }
.rep-empty { padding:30px 12px; text-align:center; }
.rep-empty h3 { font-size:15px; margin:0 0 10px; }
.rep-empty p,.rep-empty > a { font-size:12px; color:var(--rep-muted); }
.reputation-page :focus-visible { outline:2px solid var(--rep-accent); outline-offset:3px; }
@media(max-width:900px) { .rep-workspace { grid-template-columns:minmax(0,1.1fr) minmax(280px,1fr); gap:14px; } .rep-board { padding:17px 14px 0; } .rep-detail { padding:18px; } .rep-avatar { display:none; } .rep-profile .rep-avatar { display:grid; } .rep-overview > div { padding-inline:15px; } }
@media(max-width:720px) { .rep-workspace { grid-template-columns:1fr; } .rep-avatar { display:grid; } .rep-overview { grid-template-columns:repeat(3,minmax(0,1fr)); } .rep-overview > a { grid-column:1/-1; justify-self:stretch; display:flex; justify-content:space-between; border-top:1px solid var(--rep-line); padding:10px 0; text-align:left; } .rep-overview > a > span { margin:0; } .rep-overview > div:nth-child(3) { padding-right:0; border:0; } .reputation-heading { align-items:flex-start; } .reputation-heading > a { font-size:11px; white-space:nowrap; } .rep-detail { scroll-margin-top:130px; } .rep-score > .rep-shop-arrow { display:inline; } }
@media(max-width:480px) { .reputation-heading { flex-direction:column; gap:14px; margin-bottom:18px; } .rep-overview > div { gap:5px; padding-inline:9px; } .rep-overview > div > span { font-size:10px; } .rep-overview strong { font-size:22px; } .rep-overview strong small { display:none; } .rep-filter { flex-wrap:wrap; gap:9px; margin:17px 0; } .rep-filter label:first-child { flex:1 1 100%; max-width:none; } .rep-filter label:nth-child(2) { flex:1; } .rep-filter > button { min-width:65px; } .rep-panel-head h2 { font-size:16px; } .rep-panel-head > span { font-size:9px; } .rep-shop { gap:8px; padding-inline:7px; } .rep-rank { width:18px; } .rep-shop-info > strong { font-size:13px; } .rep-avatar { width:31px; height:31px; font-size:16px; } .rep-score { min-width:43px; } .rep-score > strong { font-size:21px; } .rep-detail { padding:20px; } .rep-method > summary > span { display:none; } }
@media(prefers-reduced-motion:reduce) { .rep-shop { transition:none; } }
