:root{
  --bc-primary:#0079c1;
  --bc-danger:#b30000;
  --bc-danger-bg:#ffe5e5;
  --bc-muted:#666;
  --radius:12px;
}

*{box-sizing:border-box}

body{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;
  line-height:1.35;
  margin:0;
  background:#f7f7fb;
  color:#111;
}

.container{max-width:860px;margin:24px auto;padding:16px}
.header{margin-bottom:8px}
h1{font-size:1.25rem;margin:0 0 4px}
p.lead{margin:0 0 12px;color:#333}

.notice{
  padding:10px 12px;border-radius:var(--radius);margin:12px 0
}
.notice.error{color:var(--bc-danger);background:var(--bc-danger-bg);border:1px solid #f4bebe}
.notice.ok{color:#0a5b2a;background:#e9f8ef;border:1px solid #bde5c8}

.form-card{
  background:#fff;border:1px solid #e7e7ef;border-radius:var(--radius);padding:16px
}

.row{
  display:grid;grid-template-columns:160px 1fr;gap:10px 16px;align-items:center;margin-bottom:10px
}
.row .help{grid-column:2}
label{font-weight:600}

input[type="text"], input[type="date"]{
  width:100%;padding:8px 10px;border:1px solid #cfd3dc;border-radius:8px;font-size:14px
}
input[type="text"]:focus, input[type="date"]:focus{
  outline:none;border-color:var(--bc-primary);box-shadow:0 0 0 3px rgba(0,121,193,.15)
}

small{color:var(--bc-muted)}

.actions{display:flex;gap:12px;align-items:center;margin-top:12px}
button{border:none;border-radius:10px;padding:10px 16px;font-weight:700;letter-spacing:.3px}
button.primary{background:var(--bc-primary);color:#fff;cursor:pointer;opacity:1}
button.primary:disabled{opacity:.45;cursor:not-allowed}

.pdf-wrap{margin-top:16px}
hr{border:none;border-top:1px solid #e6e6ee;margin:18px 0}
.badge{display:inline-block;padding:2px 8px;border:1px solid #ddd;border-radius:999px;font-size:12px;color:#555;background:#fafafa}

/* Responsivo para reCAPTCHA */
.recaptcha {
    transform: scale(0.85);
    transform-origin: 0 0;
    max-width: 100%;
    overflow: hidden;
    margin-bottom: 15px;
    margin-left: auto;
    margin-right: auto;
    display: block;
}

@media (max-width: 480px) {
    .recaptcha {
        transform: scale(0.76);
    }
}

@media (max-width: 380px) {
    .recaptcha {
        transform: scale(0.68);
    }
}

