:root { color-scheme: light; font-family: Tahoma, Arial, sans-serif; color: #19312c; background: #f2f5f1; }
* { box-sizing: border-box; }
body { margin: 0; padding: 40px 18px; line-height: 1.85; }
.card { max-width: 720px; margin: 0 auto; padding: 38px; background: #fff; border: 1px solid #dce5dd; border-radius: 24px; box-shadow: 0 14px 48px #17352a0a; }
.brand { color: #386951; font-weight: 700; letter-spacing: .07em; font-size: 14px; text-align: right; margin: 0 0 20px; }
.eyebrow { color: #5a695f; font-size: 13px; margin: 0; }
h1 { font-size: 30px; line-height: 1.45; margin: 8px 0 14px; }
h2 { font-size: 17px; margin: 0 0 4px; }
p { margin: 8px 0; }
.intro { color: #52645b; }
.status { display: flex; gap: 12px; background: #f1f6f2; border: 1px solid #d6e4d8; border-radius: 14px; padding: 20px; margin: 28px 0 18px; }
.status-dot { flex: 0 0 10px; height: 10px; border-radius: 50%; background: #819087; margin-top: 11px; }
.status[data-state="authorization_returned"] .status-dot { background: #a27515; }
.status[data-state="invalid"], .status[data-state="provider_refused"] { background: #fff5ef; border-color: #eed9c8; }
.status[data-state="invalid"] .status-dot, .status[data-state="provider_refused"] .status-dot { background: #a7482a; }
.status p { font-size: 14px; color: #52645b; margin: 0; }
.actions { display: flex; flex-wrap: wrap; gap: 10px; }
button { font: inherit; font-weight: 700; font-size: 14px; border-radius: 10px; padding: 12px 18px; border: 1px solid #28513e; background: #28513e; color: white; cursor: pointer; }
button.secondary { color: #28513e; background: #fff; }
button:disabled { cursor: not-allowed; opacity: .48; }
button:focus-visible { outline: 3px solid #b38a21; outline-offset: 4px; }
.feedback { min-height: 28px; font-size: 13px; color: #375d49; }
.warning { border-right: 3px solid #c5a151; padding: 12px 16px; background: #fcf8ed; border-radius: 8px; margin: 20px 0; font-size: 13px; }
.warning h2 { font-size: 15px; }
.steps { padding-inline-start: 24px; margin: 24px 0; }
.steps li { padding-inline-start: 5px; margin-bottom: 12px; }
.steps strong { display: block; font-size: 14px; }
.steps span { display: block; color: #607067; font-size: 13px; }
footer { border-top: 1px solid #e3e9e4; padding-top: 14px; color: #6b766e; font-size: 11px; }
@media (max-width: 520px) { body { padding: 16px 10px; } .card { padding: 25px 20px; border-radius: 18px; } h1 { font-size: 25px; } .actions { display: grid; } button { width: 100%; } }
