/* ============================================================
   renovation-acceptance · 装修验收项目与返工清单
   验收工单勾表风（ra-）：核验绿 + 警示红 + 工单蓝 + 纸白
   ============================================================ */
.ra-page {
    --ra-green: #4f8c6b;
    --ra-green-deep: #36654a;
    --ra-green-soft: rgba(79,140,107,0.12);
    --ra-red: #c24545;
    --ra-red-deep: #8a2f2f;
    --ra-red-soft: rgba(194,69,69,0.12);
    --ra-blue: #2d5a8e;
    --ra-blue-soft: rgba(45,90,142,0.10);
    --ra-paper: #fbf7f0;
    --ra-card: #ffffff;
    --ra-card-deep: #f6efe0;
    --ra-text: #1a2028;
    --ra-muted: #6a7280;
    --ra-line: #e3dccc;
    --ra-line-strong: #bfb49a;
    --ra-shadow: 0 6px 18px rgba(45,90,142,0.08);
    color: var(--ra-text); font-size: 15px; line-height: 1.75;
}
[data-theme="dark"] .ra-page {
    --ra-green: #7fbc95; --ra-green-deep: #a4d4b5; --ra-green-soft: rgba(127,188,149,0.14);
    --ra-red: #d97676; --ra-red-deep: #f0a0a0; --ra-red-soft: rgba(217,118,118,0.14);
    --ra-blue: #7f9fd6; --ra-blue-soft: rgba(127,159,214,0.14);
    --ra-paper: #1a1d22; --ra-card: #22252b; --ra-card-deep: #2a2f38;
    --ra-text: #e8ecf2; --ra-muted: #939cb0;
    --ra-line: #30343c; --ra-line-strong: #444a56;
    --ra-shadow: 0 6px 18px rgba(0,0,0,0.4);
}
.ra-page b { color: var(--ra-blue); }

/* Hero */
.ra-hero { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(180px,0.9fr) minmax(200px,0.7fr); gap: 22px 28px; align-items: center; padding: 30px 32px 26px; margin-bottom: 22px; border: 1px solid var(--ra-line); border-radius: 20px; background:
    radial-gradient(90% 120% at 100% 0%, var(--ra-green-soft), transparent 55%),
    radial-gradient(70% 100% at 0% 100%, var(--ra-blue-soft), transparent 55%),
    var(--ra-card); box-shadow: var(--ra-shadow); }
.ra-kicker { display: inline-block; padding: 5px 14px; margin-bottom: 12px; border-radius: 8px; background: var(--ra-green-soft); color: var(--ra-green-deep); font-size: 12px; font-weight: 800; letter-spacing: 0.14em; }
.ra-hero h1 { margin: 0 0 10px; font-size: clamp(26px,3.4vw,38px); font-weight: 900; }
.ra-hero-sub { margin: 0 0 14px; max-width: 60ch; color: var(--ra-muted); font-size: 15px; }
.ra-hero-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ra-hero-chips li { padding: 5px 13px; border-radius: 999px; border: 1px solid var(--ra-line-strong); background: var(--ra-paper); color: var(--ra-muted); font-size: 12px; font-weight: 700; }

/* Ticket visual (unique) */
.ra-hero-ticket { padding: 16px 18px; border-radius: 12px; background: var(--ra-paper); border: 2px solid var(--ra-line-strong); position: relative; }
.ra-hero-ticket::before { content: ''; position: absolute; top: -8px; left: 16px; right: 16px; height: 16px; background: repeating-linear-gradient(45deg, var(--ra-line-strong), var(--ra-line-strong) 6px, var(--ra-paper) 6px, var(--ra-paper) 12px); border-radius: 4px; }
.ra-ticket-title { font-size: 13px; font-weight: 900; letter-spacing: 0.12em; color: var(--ra-blue); text-align: center; padding-bottom: 8px; margin-bottom: 10px; border-bottom: 2px dashed var(--ra-line-strong); }
.ra-ticket-check { display: grid; grid-template-columns: 24px 1fr; gap: 8px; font-size: 12px; color: var(--ra-muted); padding: 3px 0; }
.ra-ticket-check span { font-size: 14px; color: var(--ra-green-deep); }
.ra-ticket-check > b { color: var(--ra-red-deep); }

.ra-hero-readout { display: grid; gap: 5px; padding: 18px 20px; border: 1px solid var(--ra-line-strong); border-radius: 14px; border-top: 4px solid var(--ra-green); background: var(--ra-card-deep); text-align: center; }
.ra-readout-label { font-size: 11px; font-weight: 800; letter-spacing: 0.14em; color: var(--ra-muted); }
.ra-readout-num { font-size: 40px; font-weight: 900; line-height: 1; color: var(--ra-blue); font-variant-numeric: tabular-nums; }
.ra-readout-avg { font-size: 12.5px; font-weight: 700; color: var(--ra-muted); }

/* Tabs */
.ra-tabs { display: flex; gap: 6px; margin-bottom: 20px; padding: 6px; border-radius: 12px; background: var(--ra-card); border: 1px solid var(--ra-line); overflow-x: auto; }
.ra-tab-btn { padding: 10px 16px; border: none; border-radius: 8px; background: transparent; color: var(--ra-muted); font-size: 13px; font-weight: 800; cursor: pointer; white-space: nowrap; transition: background 0.15s ease, color 0.15s ease; }
.ra-tab-btn:hover { color: var(--ra-blue); }
.ra-tab-btn.is-active { background: var(--ra-blue); color: #fff; box-shadow: 0 2px 6px rgba(45,90,142,0.3); }

/* Stage (main check items) */
.ra-stage { margin-bottom: 24px; padding: 22px 24px; border: 1px solid var(--ra-line); border-radius: 16px; background: var(--ra-card); box-shadow: var(--ra-shadow); }
.ra-stage-head { margin-bottom: 14px; padding-bottom: 12px; border-bottom: 2px solid var(--ra-blue); }
.ra-stage-head h3 { margin: 0 0 4px; font-size: 18px; font-weight: 900; }
.ra-stage-head p { margin: 0; font-size: 12.5px; color: var(--ra-muted); }

.ra-item-list { display: grid; gap: 0; }
.ra-item { display: grid; grid-template-columns: 32px 1fr auto; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px dashed var(--ra-line); }
.ra-item:last-child { border-bottom: none; }
.ra-item input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--ra-green); }
.ra-item-main { font-size: 13.5px; color: var(--ra-text); font-weight: 600; }
.ra-item-main small { display: block; margin-top: 3px; font-size: 11.5px; color: var(--ra-muted); font-weight: 500; }
.ra-item-status { font-size: 11px; font-weight: 800; padding: 3px 10px; border-radius: 999px; letter-spacing: 0.04em; }
.ra-item-status.ok { background: var(--ra-green-soft); color: var(--ra-green-deep); }
.ra-item-status.bad { background: var(--ra-red-soft); color: var(--ra-red-deep); }
.ra-item-status.warn { background: rgba(178,106,18,0.12); color: #b26a12; }

/* Summary */
.ra-summary { margin-bottom: 26px; padding: 22px 24px; border-radius: 16px; background: var(--ra-paper); border: 1px solid var(--ra-line-strong); box-shadow: var(--ra-shadow); }
.ra-summary-box { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px,1fr)); gap: 12px; padding-bottom: 14px; border-bottom: 2px solid var(--ra-line-strong); margin-bottom: 14px; }
.ra-sum-row { padding: 14px; border-radius: 10px; background: var(--ra-card); border: 1px solid var(--ra-line); text-align: center; }
.ra-sum-row span { display: block; font-size: 11px; font-weight: 800; letter-spacing: 0.06em; color: var(--ra-muted); margin-bottom: 6px; }
.ra-sum-row b { font-size: 22px; font-weight: 900; color: var(--ra-blue); font-variant-numeric: tabular-nums; }
.ra-sum-row .ra-bad { color: var(--ra-red-deep); }
.ra-sum-row .ra-warn { color: #b26a12; }

.ra-defect-list { display: grid; gap: 8px; }
.ra-defect-item { padding: 10px 14px; border-radius: 8px; border-left: 4px solid var(--ra-red); background: var(--ra-red-soft); display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; font-size: 13px; }
.ra-defect-item.is-warn { border-left-color: #b26a12; background: rgba(178,106,18,0.10); }
.ra-defect-item b { color: var(--ra-text); font-size: 13px; }
.ra-defect-item small { color: var(--ra-muted); font-size: 11.5px; }
.ra-defect-cost { font-size: 12px; font-weight: 900; color: var(--ra-red-deep); white-space: nowrap; }
.ra-defect-item.is-warn .ra-defect-cost { color: #b26a12; }
.ra-defect-none { padding: 14px; border-radius: 8px; background: var(--ra-green-soft); color: var(--ra-green-deep); font-size: 13px; font-weight: 700; text-align: center; }

/* Standard cards */
.ra-standard { margin-bottom: 26px; }
.ra-std-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.ra-std-card { padding: 18px; border: 1px solid var(--ra-line); border-radius: 14px; background: var(--ra-card); box-shadow: var(--ra-shadow); }
.ra-std-card h3 { margin: 0 0 8px; font-size: 15px; font-weight: 900; color: var(--ra-blue); }
.ra-std-card ul { margin: 0; padding-left: 18px; font-size: 12.5px; color: var(--ra-muted); line-height: 1.9; }

/* Section head */
.ra-section-head { margin-bottom: 14px; }
.ra-section-kicker { font-size: 11px; font-weight: 900; letter-spacing: 0.18em; color: var(--ra-blue); }
.ra-section-head h2 { margin: 4px 0 4px; font-size: 22px; font-weight: 900; }

/* Top */
.ra-top { position: fixed; right: 26px; bottom: 30px; width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--ra-line-strong); border-radius: 10px; background: var(--ra-card); color: var(--ra-blue); font-size: 17px; font-weight: 900; cursor: pointer; box-shadow: var(--ra-shadow); opacity: 0; pointer-events: none; transition: opacity 0.25s ease, transform 0.15s ease; z-index: 60; }
.ra-top.is-show { opacity: 1; pointer-events: auto; }

@media (max-width: 1080px) {
    .ra-hero { grid-template-columns: minmax(0,1fr); }
    .ra-hero-ticket { display: none; }
    .ra-std-grid { grid-template-columns: minmax(0,1fr); }
}
