:root{color-scheme:light;--forest:#262d2b;--ink:#243329;--lime:#a4d144;--muted:#657168;--line:#dce4dd;font-family:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
body{margin:0;color:var(--ink);background:radial-gradient(ellipse at 50% 30%,#37483a 0,transparent 65%),var(--forest);-webkit-font-smoothing:antialiased}
a{color:inherit}
svg{display:block}
.entry-shell{min-height:100svh;padding:0 24px 24px;display:flex;flex-direction:column;align-items:center}
.entry-header{width:100%;display:flex;justify-content:center;padding:12px 0 14px}
.brand{display:block;width:210px;max-width:100%}
.brand img{display:block;width:100%;height:auto}
.entry-photo{width:min(100%,540px);margin:0 0 24px;overflow:hidden;border:1px solid #ffffff24;border-radius:14px;background:#1c2b23;box-shadow:0 18px 44px #0a150e30}
.entry-photo>img{display:block;width:100%;height:auto}
.entry-photo figcaption{display:flex;justify-content:center;align-items:center;gap:24px;padding:13px 16px;color:#dde9d2;font-size:.75rem;font-weight:700;letter-spacing:.09em;line-height:1.5;border-top:1px solid #a4d14440}
.welcome{width:min(100%,540px);padding:28px 32px 20px;border-radius:14px;border-top:3px solid var(--lime);background:#fcfdfb;box-shadow:0 18px 44px #0a150e25}
.form-heading{text-align:center;margin-bottom:24px}
.eyebrow{margin:0 0 8px;color:#5b7e32;font-size:.75rem;font-weight:700;letter-spacing:.15em;line-height:1.5}
h1{margin:0;font-size:1.75rem;line-height:1.2;letter-spacing:-.04em;font-weight:600}
.intro{margin:12px 0 0;color:var(--muted);font-size:1rem;line-height:1.5}
form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.field{min-width:0}
.field:has(#name),.privacy,button,.status,.password-note{grid-column:1/-1}
label{display:block;margin-bottom:6px;font-size:.875rem;font-weight:700;line-height:1.5}
.input-wrap{position:relative}
.input-wrap svg{position:absolute;left:13px;top:15px;width:18px;height:18px;color:#6e7d70;pointer-events:none}
input:not([type='hidden']){width:100%;min-width:0;min-height:48px;padding:12px 12px 12px 39px;background:white;color:var(--ink);font:inherit;font-size:1rem;line-height:1.5;border:1px solid #cdd8cd;border-radius:8px;transition:border-color .18s,box-shadow .18s}
input::placeholder{color:#79837a;opacity:1}
input:hover{border-color:#90a685}
input:focus-visible{outline:3px solid #a4d14455;outline-offset:2px;border-color:#5b8233}
.input-wrap:focus-within svg{color:#4c7426}
.privacy{margin:0;color:var(--muted);font-size:.75rem;line-height:1.6}
.privacy a{text-underline-offset:3px;overflow-wrap:anywhere}
button{width:100%;min-height:48px;padding:12px 18px;border:0;border-radius:8px;background:var(--lime);color:#20321c;font:inherit;font-size:1rem;line-height:1.5;font-weight:700;cursor:pointer;transition:background .18s,box-shadow .18s}
button:hover{background:#b3dc59;box-shadow:0 5px 16px #7b9a3229}
button:disabled{opacity:.65;cursor:wait}
button:focus-visible,a:focus-visible{outline:3px solid #92c52d;outline-offset:4px}
.status{margin:0;padding:12px 14px;border-radius:8px;background:#fff0ed;color:#923b2d;font-size:.875rem;line-height:1.6}
.status:empty{display:none}
.password-note{display:flex;align-items:center;justify-content:center;gap:7px;margin:0;font-size:.75rem;line-height:1.6;color:var(--muted)}
.password-note svg{width:15px;height:15px;flex:0 0 auto}
.welcome-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:.875rem;line-height:1.5}
.welcome-footer a{text-decoration:none;text-underline-offset:4px}
.welcome-footer a:hover{text-decoration:underline}
.site-signature{margin:18px 0 0;color:#c4d1be;font-size:.75rem;line-height:1.5;letter-spacing:.08em}
@media(min-width:801px){
 body{background-color:#eef3e7;background-image:linear-gradient(180deg,#ffffffe0 0%,#ffffff55 26%,#ffffffe0 78%),url('/assets/campo.jpg');background-size:cover;background-position:center;background-attachment:fixed}
 .brand{overflow:hidden;border-radius:12px;box-shadow:0 6px 20px #203b2820}
 .entry-photo{background:#fcfdfb;border-color:#ffffffb3;box-shadow:0 12px 36px #203b2826}
 .entry-photo figcaption{color:#405132;border-top-color:#dce4dd}
 .welcome{box-shadow:0 12px 36px #203b2826}
 .site-signature{color:#405132}
}
@media(min-width:801px) and (max-height:800px){.brand{width:180px}.entry-header{padding-block:8px 10px}.entry-photo{width:440px}.entry-photo figcaption{padding-block:10px}.form-heading{margin-bottom:20px}}
@media(max-width:540px){.entry-shell{padding:0 16px 20px}.entry-header{padding:10px 0 12px}.brand{width:180px}.entry-photo{border-radius:10px;margin-bottom:18px}.entry-photo figcaption{gap:16px;padding:11px 12px;font-size:.75rem;letter-spacing:.04em}.welcome{padding:24px 20px 18px;border-radius:10px}.form-heading{margin-bottom:20px}h1{font-size:1.5rem}.intro{margin-top:10px}.desktop-break{display:none}form{grid-template-columns:minmax(0,1fr);gap:14px}.welcome-footer{font-size:.875rem;gap:10px}.password-note{justify-content:flex-start}}
@media(max-width:360px){.entry-photo figcaption{gap:12px;letter-spacing:0}.welcome{padding-inline:16px}.welcome-footer{flex-direction:column}.brand{width:170px}}
@media(prefers-reduced-motion:reduce){input,button{transition:none}}
