/* Scoped components for clean-request pages and shared consent/install bars. No global element rules. */
/* consent bar: a slim bottom bar, never a modal that covers the page */
#ncConsent{position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 16px rgba(0,0,0,.08);padding:12px 16px;display:none}
#ncConsent .in{max-width:1040px;margin:0 auto;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
#ncConsent p{margin:0;flex:1 1 280px;font-size:.9rem}
#ncConsent button{padding:10px 14px;border-radius:10px;border:1px solid var(--g600);background:#fff;color:var(--g700);font-weight:600;font-size:.9rem;cursor:pointer}
#ncConsent button.primary{background:#047857;border-color:#047857;color:#fff}
/* install banner: only after a second visit or a completed action, and never over the consent bar */
#pwaInstallBanner{display:none;position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fff;border-top:1px solid var(--line);padding:12px 16px}

.rh-wrap{max-width:640px;margin:0 auto;padding:0 4px}
.rh-wide{max-width:960px;margin:0 auto}
.rh-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:18px;margin-bottom:14px}
.rh-card h2,.rh-card h3{margin-top:0}
.rh-muted{color:#6b7280;font-size:.92rem}
.rh-btn{display:inline-block;background:#047857;color:#fff!important;border:0;border-radius:10px;padding:12px 20px;font-weight:600;text-decoration:none;cursor:pointer;font-size:1rem}
.rh-btn:hover{background:#065f46}
.rh-btn.alt{background:#fff;color:#065f46!important;border:1px solid #059669}
.rh-btn.danger{background:#b91c1c}
.rh-field{margin-bottom:14px}
.rh-field label{display:block;font-weight:600;margin-bottom:4px}
.rh-field input[type=text],.rh-field input[type=email],.rh-field input[type=number],.rh-field input[type=date],.rh-field select,.rh-field textarea{width:100%;padding:11px;border:1px solid #d1d5db;border-radius:10px;font-size:1rem}
.rh-field ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.rh-err{color:#b91c1c;font-size:.9rem}
.rh-pill{display:inline-block;background:#ecfdf5;color:#065f46;border-radius:999px;padding:3px 10px;font-size:.85rem;margin:2px 4px 2px 0}
.rh-pill.warn{background:#fef3c7;color:#92400e}
.rh-step{display:none}.rh-step.on{display:block}
.rh-nojs .rh-step{display:block}
.rh-price{font-size:1.5rem;font-weight:700}
.rh-grid{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:720px){.rh-grid{grid-template-columns:1fr 1fr}}
table.rh-table{width:100%;border-collapse:collapse;font-size:.9rem}
table.rh-table td,table.rh-table th{border-bottom:1px solid #e5e7eb;padding:6px;text-align:left}
