:root{--primary:#163a70;--primary-dark:#0f2b54;--gold:#c49a45;--surface:#fff;--bg:#f3f5f2;--text:#23302b}*{box-sizing:border-box}body{color:var(--text);background:var(--bg);min-height:100vh}.public-shell{max-width:920px}.hero-card{background:linear-gradient(135deg,var(--primary-dark),var(--primary));color:#fff;padding:2rem 1rem;border-radius:1rem 1rem 0 0;border-bottom:4px solid var(--gold)}.hero-card h1{font-weight:750;margin:.25rem 0}.church-name{letter-spacing:.08em;text-transform:uppercase;font-size:.9rem;font-weight:700}.hero-card .event-details{text-align:left;color:#fff;font-size:1rem;line-height:1.5;overflow-wrap:anywhere}.hero-card .event-map{text-align:right}.hero-card .event-map a{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .4rem;border-radius:.25rem;color:#fff;font-weight:700;text-decoration:none;background:rgba(255,255,255,.08)}.hero-card .event-map .map-icon{display:inline-block;position:relative;width:.8em;height:.8em;flex:0 0 auto;color:var(--gold);border:.14em solid currentColor;border-radius:50% 50% 50% 0;transform:rotate(-45deg)}.hero-card .event-map .map-icon::after{content:"";position:absolute;width:.22em;height:.22em;top:50%;left:50%;border-radius:50%;background:currentColor;transform:translate(-50%,-50%)}.hero-card .event-map a:hover,.hero-card .event-map a:focus{background:rgba(255,255,255,.16);text-decoration:underline}.form-card{background:var(--surface);padding:clamp(1rem,4vw,2rem);border-radius:0 0 1rem 1rem;box-shadow:0 12px 30px rgba(17,54,42,.1)}.orientation{background:#f4f0e7;border-left:4px solid var(--gold);padding:1rem;border-radius:.25rem}.section-title{font-size:1.25rem;font-weight:750;color:var(--primary-dark)}.person-card{border:1px solid #dce4df;border-radius:.75rem;padding:1rem;margin-bottom:1rem;background:#fbfcfb}.person-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.person-heading h3{font-size:1rem;margin:0;color:var(--primary)}.form-control,.form-select,.btn{min-height:44px}.btn-primary{background:var(--primary);border-color:var(--primary)}.btn-primary:hover,.btn-primary:focus{background:var(--primary-dark);border-color:var(--primary-dark)}.public-body #botao-enviar,.btn-administrador,.btn-entrar{background:var(--primary);border-color:var(--primary);color:#fff}.public-body #botao-enviar:hover,.public-body #botao-enviar:focus,.btn-administrador:hover,.btn-administrador:focus,.btn-entrar:hover,.btn-entrar:focus{background:var(--primary-dark);border-color:var(--primary-dark);color:#fff}.btn-sair{color:var(--primary);border-color:var(--primary)}.btn-sair:hover,.btn-sair:focus{background:var(--primary);border-color:var(--primary);color:#fff}.vehicle-section{padding:1.25rem;background:#edf5f1;border-radius:.75rem}.confirmation-card{max-width:620px;background:#fff;border-radius:1rem;padding:clamp(2rem,6vw,4rem);box-shadow:0 12px 30px rgba(17,54,42,.1)}.success-mark{width:68px;height:68px;display:grid;place-items:center;margin:0 auto 1rem;border-radius:50%;background:var(--primary);color:#fff;font-size:2rem}.protocol{background:#f3f5f2;padding:1rem;border-radius:.5rem}.metric-card{height:100%;border:0;border-left:4px solid var(--primary);box-shadow:0 3px 12px rgba(0,0,0,.07)}.metric-value{font-size:2rem;font-weight:750}.table-responsive{background:#fff;border-radius:.5rem}.admin-body{background:#f4f6f5}.nowrap{white-space:nowrap}.linha-resumo-admin{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem}.resumo-vagas-admin{grid-column:2;justify-self:center;text-align:center;font-size:2rem}.linha-resumo-admin form{grid-column:3;justify-self:end}@media(max-width:575.98px){main.container{padding-left:.75rem;padding-right:.75rem}.hero-card{padding:1.5rem .75rem}.form-card{padding:1rem}.person-card{padding:.85rem}.linha-resumo-admin{grid-template-columns:minmax(0,1fr) auto;gap:.5rem}.resumo-vagas-admin{grid-column:1;font-size:clamp(1.25rem,5.5vw,2rem)}.linha-resumo-admin form{grid-column:2}}@media print{.no-print,.btn,form.search-form{display:none!important}.admin-body{background:#fff}.container{max-width:none!important}.card,.table-responsive{box-shadow:none!important}.table{font-size:10pt}a{text-decoration:none;color:#000}}
