/* ===== 口腔修复费用 ===== */
.rest-hero {
    background: linear-gradient(150deg, #f5f3ff 0%, #fdf2f8 100%);
    border: 1px solid #d8b4fe;
    border-radius: 22px; padding: 28px; margin-bottom: 26px;
    box-shadow: 0 12px 36px rgba(88, 28, 135, .10);
}
.rest-head { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.rest-logo {
    font-size: 28px; width: 52px; height: 52px; border-radius: 14px;
    background: linear-gradient(135deg, #7e22ce 0%, #d8b4fe 100%);
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 6px 16px rgba(126, 34, 206, .3);
}
.rest-title { font-size: 20px; font-weight: 800; color: #581c87; }
.rest-sub { font-size: 13px; color: #64748b; margin-top: 2px; }

.rest-body { display: grid; grid-template-columns: 1.15fr 1fr; gap: 18px; }
.rest-form { background: rgba(255,255,255,.92); border: 1px solid #d8b4fe; border-radius: 16px; padding: 16px; }
.rest-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.rest-field { display: flex; flex-direction: column; gap: 4px; }
.rest-field > span { font-size: 12px; color: #64748b; font-weight: 600; }
.rest-field input, .rest-field select {
    border: 2px solid #f3e8ff; border-radius: 10px; padding: 9px 12px;
    font-size: 14px; background: #fff; color: #0f172a; outline: none; transition: border-color .2s;
}
.rest-field input:focus, .rest-field select:focus { border-color: #9333ea; }

.rest-result {
    background: rgba(255,255,255,.92); border: 1px solid #e2e8f0;
    border-radius: 16px; padding: 16px; display: flex; flex-direction: column; gap: 12px;
}
.rest-price { text-align: center; }
.rest-price > span { display: block; font-size: 12px; color: #64748b; }
.rest-price b { font-size: 30px; font-weight: 900; color: #581c87; font-variant-numeric: tabular-nums; }
.rest-price b::after { content: ' 元'; font-size: 13px; }
.rest-price em { display: block; font-style: normal; font-size: 12px; color: #94a3b8; margin-top: 2px; }
.rest-break { list-style: none; display: flex; flex-direction: column; gap: 6px; }
.rest-break li {
    display: flex; justify-content: space-between; align-items: center; gap: 10px;
    background: #faf5ff; border: 1px solid #f3e8ff; border-radius: 10px;
    padding: 8px 12px; font-size: 13px; color: #7e22ce;
}
.rest-break li b { color: #0f172a; font-variant-numeric: tabular-nums; text-align: right; }
.rest-break li.ok { border-color: #9333ea; background: #f3e8ff; color: #581c87; font-weight: 700; }
.rest-break li.ok.bad { border-color: #f59e0b; background: #fffbeb; color: #92400e; }
.rest-note { margin-top: 14px; font-size: 12px; color: #64748b; line-height: 1.7; }

@media (max-width: 860px) {
    .rest-body { grid-template-columns: 1fr; }
    .rest-hero { padding: 20px 14px; }
}

/* ===== 深色模式 ===== */
[data-theme="dark"] .rest-hero {
    background: linear-gradient(150deg, #3b0764 0%, #0f172a 100%);
    border-color: rgba(216, 180, 254, .22);
}
[data-theme="dark"] .rest-title { color: #e9d5ff; }
[data-theme="dark"] .rest-form, [data-theme="dark"] .rest-result {
    background: rgba(255,255,255,.05); border-color: rgba(216, 180, 254, .18);
}
[data-theme="dark"] .rest-field input, [data-theme="dark"] .rest-field select {
    background: rgba(255,255,255,.06); color: #e2e8f0; border-color: rgba(216,180,254,.25);
}
[data-theme="dark"] .rest-field > span { color: #94a3b8; }
[data-theme="dark"] .rest-price b { color: #e9d5ff; }
[data-theme="dark"] .rest-break li { background: rgba(255,255,255,.04); border-color: rgba(148,163,184,.2); color: #94a3b8; }
[data-theme="dark"] .rest-break li b { color: #e2e8f0; }
[data-theme="dark"] .rest-break li.ok { background: rgba(147,51,234,.2); border-color: rgba(192,132,252,.4); color: #e9d5ff; }
[data-theme="dark"] .rest-break li.ok.bad { background: rgba(217,119,6,.18); border-color: rgba(251,191,36,.4); color: #fde68a; }
