.replica-head{margin:18px 0 22px}.replica-head small{color:var(--green);font-weight:650;letter-spacing:2px}.replica-head h1{font:500 32px/1.3 "Songti SC",serif;margin:12px 0}.replica-head p{line-height:1.8}.replica-head .head-line{display:flex;justify-content:space-between;align-items:center;gap:18px}.replica-metrics{display:grid;gap:14px;margin:20px 0}.replica-metrics.five{grid-template-columns:repeat(5,minmax(0,1fr))}.replica-metrics.four{grid-template-columns:repeat(4,minmax(0,1fr))}.replica-metric{background:var(--surface);border-radius:14px;padding:23px 16px;text-align:center;min-height:126px;display:flex;flex-direction:column;justify-content:center}.replica-metric span{font:500 22px "Songti SC",serif}.replica-metric strong{font:500 26px "Songti SC",serif;margin:16px 0 8px}.replica-metric small{font-size:10px;color:var(--muted);line-height:1.6}.replica-block{border:1px solid var(--line);border-radius:15px;padding:18px;margin:16px 0;background:var(--surface)}.replica-block h2{font:500 24px "Songti SC",serif;margin:0 0 12px}.replica-strip{border-radius:10px;padding:12px 14px;background:var(--green-soft);color:var(--muted);font-size:11px;line-height:1.6}.replica-empty{padding:34px 22px;border:1px dashed var(--line);border-radius:12px;margin-top:20px;color:var(--muted);font-size:12px}.replica-row{display:flex;justify-content:space-between;align-items:center;gap:14px}.replica-match-grid{display:grid;grid-template-columns:minmax(0,1fr) 190px minmax(0,1fr);gap:18px;margin-top:18px}.replica-pool{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--bg)}.replica-pool header{padding:14px;border-bottom:1px solid var(--line)}.replica-pool h3{font:500 18px "Songti SC",serif;margin:0 0 12px}.replica-pool input{width:100%}.replica-pool-list{height:58vh;min-height:300px;overflow:auto;overscroll-behavior:contain;padding:10px}.replica-person{display:block;text-align:left;width:100%;white-space:normal;padding:14px;margin-bottom:9px;background:var(--raised);border:1px solid var(--line);border-radius:11px;cursor:pointer}.replica-person.selected{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.replica-person strong{font-size:12px;display:block;margin-bottom:7px}.replica-person p{margin:6px 0}.replica-person .ch{margin:5px 0}.replica-match-action{align-self:start;position:sticky;top:90px}.replica-selection{border:1px solid var(--line);border-radius:12px;padding:14px;font-size:12px;line-height:1.9;overflow-wrap:anywhere}.replica-match-action input[type=text]{width:100%;margin:12px 0}.replica-match-action button{width:100%;margin:10px 0}.replica-match-action label{display:block;font-size:11px;margin:12px 0;line-height:1.7}.replica-role{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:12px;color:var(--muted);font-size:10px}.replica-period-tabs{display:inline-flex;padding:5px;border:1px solid var(--line);border-radius:12px;gap:5px;margin:14px 0}.replica-period-tabs .active{background:var(--green-soft)}.replica-date-bar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 18px;border:1px solid var(--line);border-radius:15px;background:var(--surface);margin:0 0 24px}.replica-date-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.replica-period-cards{padding:12px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.replica-period-cards .replica-metric{background:var(--bg);border:1px solid var(--line);cursor:default}.replica-period-cards button.replica-metric{cursor:pointer;color:var(--ink);font:inherit;width:100%}.replica-period-cards .hint{color:var(--green);font:10px system-ui}.replica-rate{color:var(--green);font:600 15px system-ui;margin-left:8px}.replica-profit .replica-metric strong{color:var(--gold)}.replica-staff{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:12px}.replica-staff>section{min-width:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--bg)}.replica-staff h3{padding:14px;font:500 22px "Songti SC",serif;margin:0}.replica-staff .data-table-scroll{max-height:310px;margin:0}.replica-staff td,.replica-staff th{white-space:nowrap;font-size:11px}.replica-compare-chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.replica-compare-table th:first-child,.replica-compare-table td:first-child{position:sticky;left:0;z-index:2;background:var(--raised)}.replica-compare-table td{min-width:135px}.replica-compare-table small{display:block;color:var(--muted);font-size:10px;margin-top:8px}
@media(max-width:1100px){.replica-match-grid{grid-template-columns:minmax(300px,1fr) 165px minmax(300px,1fr)}.replica-head h1{font-size:28px}.replica-metric span{font-size:19px}.replica-staff{grid-template-columns:1fr}.replica-date-bar{flex-wrap:wrap}}

#replica-drill{width:min(1300px,92vw);max-height:88vh}.replica-drill-scroll{max-height:65vh;overflow:auto}.replica-rate{margin-left:9px}
.report-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:24px 0}.report-cards .replica-metric{min-height:150px;text-align:left}.report-cards strong{font-size:28px}.report-table-scroll{max-height:65vh;overflow:auto}.report-table-scroll th{position:sticky;top:0;background:#101612;z-index:2}.report-table-scroll th button{white-space:nowrap;border:0;background:transparent;padding:6px}.report-table-scroll td{min-width:100px;white-space:nowrap}.report-table-scroll td:first-child{min-width:240px;max-width:350px;white-space:normal}.report-row-link{border:0;background:transparent;text-align:left;font-weight:650;padding:5px}.report-table-scroll td small{display:block;color:#88a491;font-size:12px}.report-dialog-body{max-height:70vh;overflow:auto}#report-detail{width:min(1400px,94vw);max-height:90vh}@media(max-width:1000px){.report-cards{grid-template-columns:repeat(2,1fr)}}

.performance-cards{grid-template-columns:repeat(12,minmax(0,1fr))}.performance-cards .replica-metric{grid-column:span 2}.performance-cards .replica-metric:nth-child(n+7){grid-column:span 4}.report-table-scroll tr[data-report-record-row]{cursor:pointer}.report-table-scroll tbody tr:hover td{background:#24362b}@media(max-width:1100px){.performance-cards .replica-metric{grid-column:span 4}}
/* Do not let a user drill into the previous period while a new period is loading. */
#content[aria-busy="true"] .replica-period-cards,#content[aria-busy="true"] .report-cards,#content[aria-busy="true"] .replica-staff,#content[aria-busy="true"] .report-table-scroll{pointer-events:none}

/* 周期统计尺寸与旧 CRM 对齐：旧版指标卡为 104px，容器内不叠加额外外边距。 */
body:has(#content .replica-period-cards) .replica-head{margin:0 0 18px}
body:has(#content .replica-period-cards) .replica-head h1{font-size:30px;line-height:1.2;margin:7px 0 4px}
body:has(#content .replica-period-cards) .replica-head p{margin:0;font-size:11px;line-height:1.7}
.secondary-nav-entry{font-size:10px!important;color:var(--muted)!important;padding:7px 9px!important;opacity:.72;white-space:nowrap}.secondary-nav-entry:hover{opacity:1;color:var(--ink)!important}
body:has(#content .replica-period-cards) .replica-period-tabs{gap:4px;padding:4px;margin:0 0 12px;border-radius:10px}
body:has(#content .replica-period-cards) .replica-period-tabs button{padding:8px 17px;font-size:12px}
body:has(#content .replica-period-cards) .legacy-period-toolbar{margin:0 0 24px;padding:13px 15px;min-height:78px;border-radius:13px}
body:has(#content .replica-period-cards) .replica-period-cards{padding:12px;border-radius:14px}
body:has(#content .replica-period-cards) .replica-period-cards .replica-metrics{gap:12px;margin:0}
body:has(#content .replica-period-cards) .replica-period-cards .replica-metric{min-height:104px;padding:12px 10px;border-radius:10px}
body:has(#content .replica-period-cards) .replica-metric span{font-size:18px}
body:has(#content .replica-period-cards) .replica-metric strong{font-size:19px;margin:9px 0 0}
body:has(#content .replica-period-cards) .replica-period-cards .replica-metric small{margin-top:6px}
body:has(#content .replica-period-cards) .replica-profit{padding:12px;margin:16px 0 24px;border-radius:14px}
body:has(#content .replica-period-cards) .replica-profit .replica-metrics{gap:12px;margin:0}
body:has(#content .replica-period-cards) .replica-profit .replica-metric{min-height:104px;padding:12px 10px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}
body:has(#content .replica-period-cards) .replica-profit>p{margin:10px 0 0;font-size:10.5px;line-height:1.6}

/* WKWebView 兼容写法：周期页本身已有独立类名，不依赖 :has()。 */
.replica-head{margin:0 0 18px}
.replica-head h1{font-size:30px;line-height:1.2;margin:7px 0 4px}
.replica-head p{margin:0;font-size:11px;line-height:1.7}
.replica-period-tabs{gap:4px;padding:4px;margin:0 0 12px;border-radius:10px}
.replica-period-tabs button{padding:8px 17px;font-size:12px}
.legacy-period-toolbar[data-scope="period"]{margin:0 0 24px;padding:13px 15px;min-height:78px;border-radius:13px}
.replica-period-cards{padding:12px;border-radius:14px}
.replica-period-cards .replica-metrics{gap:12px;margin:0}
.replica-period-cards .replica-metric{min-height:104px;padding:12px 10px;border-radius:10px}
.replica-period-cards .replica-metric span{font-size:18px}
.replica-period-cards .replica-metric strong{font-size:19px;margin:9px 0 0}
.replica-period-cards .replica-metric small{margin-top:6px}
.replica-profit{padding:12px;margin:16px 0 24px;border-radius:14px}
.replica-profit .replica-metrics{gap:12px;margin:0}
.replica-profit .replica-metric{min-height:104px;padding:12px 10px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}
.replica-profit>p{margin:10px 0 0;font-size:10.5px;line-height:1.6}
.replica-profit+p+.replica-block{padding:16px;margin:14px 0;border-radius:14px}

.xhs-review-actions{display:flex;gap:12px;align-items:end;flex-wrap:wrap;padding:16px 0;position:sticky;bottom:0;background:var(--panel,#102d29);z-index:3}.xhs-review-actions label{display:grid;gap:6px}.xhs-review-actions .xhs-review-method{flex:1;min-width:220px}.xhs-review-actions input,.xhs-review-actions select{min-height:38px}.xhs-party,.xhs-candidate{cursor:pointer}.xhs-party:has(input:checked),.xhs-candidate:has(input:checked){outline:2px solid #6db99d}.xhs-party input,.xhs-candidate input{width:auto;height:auto}

/* Match the former reason input size, including native macOS select controls. */
.xhs-review-actions #xhs-review-action{display:block;width:100%;height:38px;min-height:38px;box-sizing:border-box;padding:0 36px 0 12px;font:inherit;color:var(--ink);border:1px solid var(--line);border-radius:10px;background-color:var(--bg);-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23aaa89f' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.xhs-review-status{flex-basis:100%;color:var(--gold);font-size:12px;line-height:1.5}.xhs-review-status:empty{display:none}
