/* Stage 29 — patient-to-payment workflow visual consistency. Scoped: no changes to dashboard, sidebar, billing logic, permissions, or print layouts. */
body.hp29-patient-workflow { --hp29-ink:#102b48; --hp29-teal:#087e78; --hp29-line:#dce9f0; --hp29-ice:#f1f8fc; }
body.hp29-patient-workflow .clinic-main { min-width:0; }
body.hp29-patient-workflow .clinic-main > .panel,
body.hp29-patient-workflow .clinic-main > section.panel { background:#fff; border:1px solid var(--hp29-line); border-radius:12px; box-shadow:0 5px 22px rgba(12,53,76,.055); padding:clamp(15px,2vw,25px); margin-bottom:18px; min-width:0; }
body.hp29-patient-workflow .clinic-main .panel h2 { color:var(--hp29-ink); font-weight:800; letter-spacing:-.025em; line-height:1.3; margin-top:0; }
body.hp29-patient-workflow .clinic-main .panel h2::after { content:''; display:block; width:38px; height:3px; background:var(--hp29-teal); border-radius:8px; margin-top:9px; }
body.hp29-patient-workflow .clinic-main .panel :is(label,legend) { color:var(--hp29-ink); font-weight:650; }
body.hp29-patient-workflow .clinic-main .panel :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) { box-sizing:border-box; max-width:100%; min-height:43px; border-radius:8px; border:1px solid #cbdde7; background:#fff; color:#19364c; }
body.hp29-patient-workflow .clinic-main .panel :is(input,select,textarea):focus-visible { outline:2px solid #0caaa0; outline-offset:1px; }
body.hp29-patient-workflow .clinic-main .panel :is(button,.button,input[type=submit]) { border-radius:8px; font-weight:750; transition:filter .15s ease,transform .15s ease; }
body.hp29-patient-workflow .clinic-main .panel :is(button,.button,input[type=submit]):hover { filter:brightness(.97); }
body.hp29-patient-workflow .clinic-main .panel .lookup { display:flex; flex-wrap:wrap; gap:10px; align-items:end; max-width:100%; }
body.hp29-patient-workflow .clinic-main .panel .lookup input:not([type=hidden]) { flex:1 1 230px; }
body.hp29-patient-workflow .clinic-main .panel .tablewrap { max-width:100%; overflow-x:auto; border:1px solid var(--hp29-line); border-radius:10px; -webkit-overflow-scrolling:touch; }
body.hp29-patient-workflow .clinic-main .panel .tablewrap table { width:100%; border-collapse:separate; border-spacing:0; }
body.hp29-patient-workflow .clinic-main .panel .tablewrap th { background:#eaf5f8; color:#183a52; font-size:12px; letter-spacing:.025em; font-weight:800; white-space:nowrap; }
body.hp29-patient-workflow .clinic-main .panel .tablewrap :is(th,td) { padding:11px 12px; border-bottom:1px solid #e9f0f4; vertical-align:middle; }
body.hp29-patient-workflow .clinic-main .panel .tablewrap tbody tr:nth-child(even) { background:#f8fcfd; }
body.hp29-patient-workflow .clinic-main .panel .tablewrap tbody tr:hover { background:#eff9f8; }
body.hp29-patient-workflow .clinic-main .panel .tablewrap tbody tr:last-child td { border-bottom:0; }
body.hp29-patient-workflow .clinic-main .panel .muted { color:#647c8c; }
@media(max-width:767px) { body.hp29-patient-workflow .clinic-main > .panel,body.hp29-patient-workflow .clinic-main > section.panel { padding:14px; border-radius:10px; } body.hp29-patient-workflow .clinic-main .panel .lookup { align-items:stretch; flex-direction:column; } body.hp29-patient-workflow .clinic-main .panel .lookup > :is(input,button,select) { width:100%; flex:auto; } body.hp29-patient-workflow .clinic-main .panel :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { font-size:16px; } }
@media print { body.hp29-patient-workflow .clinic-main > .panel,body.hp29-patient-workflow .clinic-main > section.panel { box-shadow:none; border:0; padding:0; } body.hp29-patient-workflow .clinic-main .panel .tablewrap { overflow:visible; border:0; } }
