:root { color-scheme: light; color: #1b3337; background: #f4f8f7; font: 16px/1.45 system-ui,sans-serif; }
* { box-sizing: border-box; }
body { margin: 0; }
main { max-width: 34rem; margin: 0 auto; padding: 22px clamp(16px,5vw,32px) 36px; }
header { padding-bottom: 11px; border-bottom: 1px solid #ccdcd8; }
header a { text-decoration: none; font: 600 19px Georgia,serif; }
h1 { font: 400 clamp(32px,7vw,44px)/1.08 Georgia,serif; margin: 24px 0 8px; letter-spacing: -.03em; }
.intro { margin: 0 0 21px; }
label { display: block; font-weight: 600; }
label span { font-weight: 400; color: #496363; }
input:not([type=checkbox]) { width: 100%; min-height: 44px; margin: 4px 0 13px; background: white; border: 1px solid #91a7a4; border-radius: 6px; font: inherit; padding: 7px 10px; color: inherit; }
.opcion { display: flex; align-items: start; gap: 10px; margin: 4px 0 10px; padding: 3px 0; font-size: 15px; font-weight: 400; cursor: pointer; }
input[type=checkbox] { margin: 2px 0 0; flex: 0 0 19px; width: 19px; height: 19px; accent-color: #24584e; }
details { border-block: 1px solid #ccdcd8; margin: 8px 0 12px; }
summary { padding: 12px 0; color: #205a50; font-weight: 600; cursor: pointer; }
details p { font-size: 15px; margin: 0 0 12px; }
a { color: #205a50; overflow-wrap: anywhere; }
button { width: 100%; min-height: 48px; margin-top: 6px; border: 0; border-radius: 6px; font: 600 16px/1.4 system-ui,sans-serif; background: #20574d; color: white; cursor: pointer; }
button:disabled { opacity: .65; }
:focus-visible { outline: 3px solid #297668; outline-offset: 3px; }
#estado:not(:empty) { border-left: 3px solid #297668; padding: 8px 12px; }
