/* ==========================================================================
   Space Rocket — Briefing de Website
   Sem fontes externas (RGPD: nada de pedidos ao Google a partir do browser
   do cliente) e sem frameworks. Mobile first.
   ========================================================================== */

:root{
  --navy:#000A3D;
  --navy-soft:#111A52;
  --coral:#FA5951;
  --coral-dark:#E04238;
  --ink:#0F1320;
  --grey:#5A6072;
  --grey-light:#8A90A2;
  --line:#E2E5EC;
  --bg:#F4F5F9;
  --white:#fff;
  --radius:10px;
  --shadow:0 1px 2px rgba(15,19,32,.06), 0 8px 24px rgba(15,19,32,.06);
  --font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
/* Regras de display (flex/grid) ganham ao atributo hidden: força-se aqui. */
[hidden]{display:none !important}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--font);
  font-size:16px;
  line-height:1.55;
  color:var(--ink);
  background:var(--bg);
}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy)}

/* ── Layout ────────────────────────────────────────────────────────────── */

.sr-layout{display:block;min-height:100vh}

.sr-side{display:none}

.sr-main{
  max-width:760px;
  margin:0 auto;
  padding:0 16px 64px;
}

/* ── Barra de topo (móvel) ─────────────────────────────────────────────── */

.sr-topbar{
  position:sticky;top:0;z-index:20;
  margin:0 -16px 20px;
  padding:14px 16px 12px;
  background:var(--navy);
}
.sr-logo-mobile{width:132px;margin-bottom:12px;filter:brightness(0) invert(1)}
.sr-progress{
  height:4px;border-radius:99px;
  background:rgba(255,255,255,.18);overflow:hidden;
}
.sr-progress-bar{
  height:100%;width:10%;
  background:var(--coral);
  border-radius:99px;
  transition:width .35s cubic-bezier(.4,0,.2,1);
}
.sr-progress-label{
  margin:8px 0 0;font-size:12px;letter-spacing:.4px;
  color:rgba(255,255,255,.72);
}

/* ── Passos ────────────────────────────────────────────────────────────── */

.sr-step{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:24px 20px;
  animation:srIn .32s ease both;
}
@keyframes srIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.sr-step{animation:none}.sr-progress-bar{transition:none}}

.sr-step-kicker{
  margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:2px;
  color:var(--coral);
}
.sr-step-title{
  margin:0 0 6px;font-size:26px;line-height:1.2;letter-spacing:-.4px;
  color:var(--navy);
}
.sr-step-intro{margin:0 0 24px;color:var(--grey);font-size:15px}

/* ── Campos ────────────────────────────────────────────────────────────── */

.sr-grid{display:grid;grid-template-columns:1fr;gap:22px}
@media (min-width:640px){
  .sr-grid{grid-template-columns:1fr 1fr}
  .sr-field{grid-column:1 / -1}
  .sr-half{grid-column:span 1}
}

.sr-label{
  display:block;margin-bottom:6px;
  font-size:14.5px;font-weight:600;color:var(--navy);
}
.sr-req{color:var(--coral)}
.sr-help{margin:0 0 8px;font-size:13px;color:var(--grey-light);line-height:1.45}

input[type=text],input[type=email],input[type=tel],input[type=url],
input[type=date],input[type=number],textarea,select{
  width:100%;
  padding:12px 13px;
  font:inherit;font-size:15.5px;
  color:var(--ink);
  background:var(--white);
  border:1.5px solid var(--line);
  border-radius:8px;
  transition:border-color .15s, box-shadow .15s;
  -webkit-appearance:none;appearance:none;
}
textarea{resize:vertical;min-height:88px;line-height:1.55}
select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235A6072' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:38px;
}
input:focus,textarea:focus,select:focus{
  outline:none;border-color:var(--navy);
  box-shadow:0 0 0 3px rgba(0,10,61,.12);
}
::placeholder{color:#AEB3C2}

/* Opções (radio / checkbox) */
.sr-options{display:grid;gap:8px}
@media (min-width:640px){
  .sr-options-multi{grid-template-columns:1fr 1fr}
}
.sr-opt,.sr-consent{
  display:flex;align-items:flex-start;gap:11px;
  padding:11px 13px;
  border:1.5px solid var(--line);border-radius:8px;
  background:var(--white);cursor:pointer;
  font-size:15px;line-height:1.4;
  transition:border-color .15s, background .15s;
}
.sr-opt:hover,.sr-consent:hover{border-color:#C3C8D6}
.sr-opt input,.sr-consent input{
  position:absolute;opacity:0;width:0;height:0;
}
.sr-opt-mark{
  flex:0 0 auto;width:19px;height:19px;margin-top:1px;
  border:1.5px solid #B9BFCF;border-radius:50%;
  background:var(--white);
  transition:border-color .15s, background .15s;
  position:relative;
}
.sr-options-multi .sr-opt-mark,
.sr-consent .sr-opt-mark{border-radius:5px}

.sr-opt input:checked ~ .sr-opt-mark,
.sr-consent input:checked ~ .sr-opt-mark{
  border-color:var(--coral);background:var(--coral);
}
.sr-opt input:checked ~ .sr-opt-mark::after,
.sr-consent input:checked ~ .sr-opt-mark::after{
  content:"";position:absolute;left:5.5px;top:2px;
  width:5px;height:10px;
  border:solid var(--white);border-width:0 2px 2px 0;
  transform:rotate(43deg);
}
.sr-opt:has(input:checked),.sr-consent:has(input:checked){
  border-color:var(--coral);background:rgba(250,89,81,.05);
}
.sr-opt input:focus-visible ~ .sr-opt-mark,
.sr-consent input:focus-visible ~ .sr-opt-mark{
  box-shadow:0 0 0 3px rgba(0,10,61,.18);
}
.sr-consent{align-items:flex-start;font-size:14px;color:var(--grey)}

/* Erros */
.sr-error{margin:7px 0 0;font-size:13px;color:var(--coral-dark);font-weight:500}
.sr-field.has-error input,
.sr-field.has-error textarea,
.sr-field.has-error select{border-color:var(--coral)}
.sr-field.has-error .sr-options .sr-opt{border-color:rgba(250,89,81,.55)}
.sr-summary-error{
  margin:16px 0 0;padding:12px 14px;
  background:rgba(250,89,81,.08);
  border-left:3px solid var(--coral);border-radius:6px;
  font-size:14px;color:var(--coral-dark);
}

/* Armadilha anti-spam */
.sr-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ── Ações ─────────────────────────────────────────────────────────────── */

.sr-actions{
  display:flex;gap:10px;justify-content:flex-end;align-items:center;
  margin-top:20px;
}
.sr-btn{
  font:inherit;font-size:15.5px;font-weight:600;
  padding:13px 26px;border-radius:8px;border:1.5px solid transparent;
  cursor:pointer;transition:background .15s, transform .08s, border-color .15s;
}
.sr-btn:active{transform:translateY(1px)}
.sr-btn-primary{background:var(--coral);color:var(--white)}
.sr-btn-primary:hover{background:var(--coral-dark)}
.sr-btn-ghost{background:transparent;color:var(--navy);border-color:var(--line)}
.sr-btn-ghost:hover{border-color:var(--navy)}
.sr-btn:focus-visible{outline:3px solid rgba(0,10,61,.35);outline-offset:2px}
.sr-btn[disabled]{opacity:.6;cursor:wait}
@media (max-width:479px){
  .sr-actions{flex-direction:column-reverse}
  .sr-btn{width:100%;text-align:center}
}

/* ── Recuperação de rascunho ───────────────────────────────────────────── */

.sr-restore{
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;
  margin-bottom:16px;padding:11px 14px;
  background:rgba(0,10,61,.05);border-radius:8px;
  font-size:13.5px;color:var(--grey);
}
.sr-restore button{
  font:inherit;font-size:13.5px;font-weight:600;
  background:none;border:none;padding:0;
  color:var(--coral-dark);text-decoration:underline;cursor:pointer;
}

/* ── Rodapé ────────────────────────────────────────────────────────────── */

.sr-foot{
  display:flex;flex-direction:column;gap:4px;
  margin-top:26px;font-size:12.5px;color:var(--grey-light);text-align:center;
}
.sr-foot a{color:var(--grey);font-weight:600;text-decoration:none}

/* ── Desktop: painel lateral ───────────────────────────────────────────── */

@media (min-width:1000px){
  .sr-layout{display:grid;grid-template-columns:320px 1fr}

  .sr-side{
    display:flex;flex-direction:column;
    position:sticky;top:0;height:100vh;
    padding:36px 30px;
    background:var(--navy);color:var(--white);
    overflow-y:auto;
  }
  .sr-logo{width:150px;filter:brightness(0) invert(1);margin-bottom:28px}
  .sr-title{margin:0 0 10px;font-size:22px;line-height:1.25;letter-spacing:-.3px}
  .sr-sub{margin:0 0 26px;font-size:13.5px;line-height:1.6;color:rgba(255,255,255,.62)}

  .sr-nav{list-style:none;margin:0;padding:0;flex:1}
  .sr-nav-item{
    display:flex;align-items:center;gap:11px;
    padding:6px 0;font-size:13.5px;color:rgba(255,255,255,.45);
    transition:color .2s;
  }
  .sr-nav-num{
    flex:0 0 auto;width:23px;height:23px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-size:11px;font-weight:700;
    border:1.5px solid rgba(255,255,255,.22);
    transition:all .2s;
  }
  .sr-nav-item.is-current{color:var(--white);font-weight:600}
  .sr-nav-item.is-current .sr-nav-num{background:var(--coral);border-color:var(--coral);color:var(--white)}
  .sr-nav-item.is-done{color:rgba(255,255,255,.8)}
  .sr-nav-item.is-done .sr-nav-num{
    background:rgba(250,89,81,.2);border-color:var(--coral);color:var(--coral);
  }
  .sr-side-foot{margin:22px 0 0;font-size:12.5px;color:rgba(255,255,255,.5)}
  .sr-side-foot a{color:var(--coral);text-decoration:none}

  .sr-main{max-width:820px;margin:0;padding:44px 48px 80px}
  .sr-topbar{
    position:static;margin:0 0 26px;padding:0;background:none;
  }
  .sr-logo-mobile{display:none}
  .sr-sair{display:none}
  .sr-progress{background:rgba(0,10,61,.1)}
  .sr-progress-label{color:var(--grey)}
  .sr-step{padding:36px 38px}
  .sr-foot{flex-direction:row;justify-content:space-between;text-align:left}
}

/* ── Páginas de acesso (login, código, avisos) ─────────────────────────── */

.sr-body-center{background:var(--bg)}
.sr-auth{max-width:440px;margin:0 auto;padding:56px 20px}
.sr-auth-card{
  background:var(--white);border:1px solid var(--line);
  border-radius:var(--radius);box-shadow:var(--shadow);padding:36px 30px;
}
.sr-auth-card h1{margin:0 0 10px;font-size:23px;color:var(--navy);letter-spacing:-.3px}
.sr-auth-card .sr-logo{width:140px;margin:0 auto 26px}
.sr-logo-cor{filter:none !important}
.sr-auth-intro{margin:0 0 22px;font-size:14.5px;color:var(--grey);line-height:1.6}
.sr-auth-form .sr-label{margin-top:16px}
.sr-auth-form .sr-label:first-of-type{margin-top:0}
.sr-auth-alt{margin:18px 0 0;font-size:13.5px;text-align:center}
.sr-auth-alt a{color:var(--coral-dark)}
.sr-auth-foot{
  margin:22px 0 0;padding-top:18px;border-top:1px solid var(--line);
  font-size:12.5px;color:var(--grey-light);text-align:center;
}
.sr-codigo{
  letter-spacing:8px;font-size:22px !important;text-align:center;font-variant-numeric:tabular-nums;
}
.sr-btn-block{width:100%;margin-top:22px}
.sr-btn-inline{display:inline-block;margin-top:22px;text-decoration:none}
.sr-btn-mini{padding:8px 15px;font-size:13.5px}
.sr-mini{margin:20px 0 0;text-align:center;font-size:12px;color:var(--grey-light)}
.sr-mini-note{font-size:12.5px !important;color:var(--grey-light) !important;line-height:1.55}

.sr-alert{
  margin:0 0 18px;padding:12px 14px;border-radius:8px;
  background:rgba(0,10,61,.05);border-left:3px solid var(--navy);
  font-size:13.5px;color:var(--grey);line-height:1.55;
}
.sr-alert-erro{background:rgba(250,89,81,.08);border-left-color:var(--coral);color:var(--coral-dark)}
.sr-alert-ok{background:rgba(32,150,90,.08);border-left-color:#20965A;color:#177247}
.sr-alert a{color:inherit;font-weight:600}
.sr-fixo{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:60;
  margin:0;max-width:520px;box-shadow:var(--shadow);background:#FFF0EF;
}
.sr-link-box{
  margin-top:10px;padding:9px 11px;background:var(--white);
  border:1px solid var(--line);border-radius:6px;
  font-size:12px;word-break:break-all;color:var(--ink);
}

/* Cabeçalho do formulário autenticado */
.sr-ola{margin:0 0 14px;font-size:15px;color:var(--grey)}
.sr-saved{color:var(--coral);font-weight:600}
.sr-sair{
  position:absolute;top:14px;right:16px;
  font-size:12.5px;color:rgba(255,255,255,.75);text-decoration:none;
}
.sr-sair:hover{color:#fff}
.sr-topbar{position:sticky;top:0}

/* ── Backoffice ────────────────────────────────────────────────────────── */

.sr-admin{background:var(--bg)}
.sr-admin-top{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px 20px;background:var(--navy);
}
.sr-admin-logo{width:118px;filter:brightness(0) invert(1)}
.sr-admin-top-right{display:flex;align-items:center;gap:12px}
.sr-admin-user{font-size:12.5px;color:rgba(255,255,255,.6)}
.sr-admin-top .sr-btn-ghost{color:#fff;border-color:rgba(255,255,255,.3)}
.sr-admin-top .sr-btn-ghost:hover{border-color:#fff}
.sr-admin-main{max-width:1080px;margin:0 auto;padding:24px 16px 60px}

.sr-panel{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:22px;margin-bottom:20px;
}
.sr-panel h2{
  margin:0 0 4px;font-size:16px;color:var(--navy);
  display:flex;align-items:center;gap:9px;
}
.sr-count{
  font-size:11.5px;font-weight:700;color:var(--coral);
  background:rgba(250,89,81,.1);padding:2px 8px;border-radius:99px;
}
.sr-panel-sub{margin:0 0 18px;font-size:13px;color:var(--grey-light)}
.sr-vazio{margin:8px 0 0;font-size:13.5px;color:var(--grey-light)}

.sr-admin-grid{display:grid;grid-template-columns:1fr;gap:14px}
@media (min-width:760px){
  .sr-admin-grid{grid-template-columns:1fr 1fr 1fr auto;align-items:end}
  .sr-admin-submit .sr-btn{margin-top:0;white-space:nowrap}
}
.sr-admin-form .sr-label{margin-bottom:5px}

.sr-tabela-wrap{overflow-x:auto;margin:0 -6px}
.sr-tabela{width:100%;border-collapse:collapse;font-size:13.5px;min-width:620px}
.sr-tabela th{
  text-align:left;padding:8px 10px;font-size:11px;letter-spacing:.8px;
  text-transform:uppercase;color:var(--grey-light);border-bottom:1px solid var(--line);
  font-weight:700;
}
.sr-tabela td{padding:12px 10px;border-bottom:1px solid #F0F2F6;vertical-align:middle}
.sr-tabela tr:last-child td{border-bottom:none}
.sr-sub-linha{display:block;font-size:12px;color:var(--grey-light);margin-top:2px}
.sr-tabela-log code{font-size:11.5px;color:var(--navy);background:#F4F5F9;padding:1px 5px;border-radius:4px}

.sr-badge{
  display:inline-block;padding:3px 9px;border-radius:99px;
  font-size:11.5px;font-weight:600;
}
.sr-badge-ok{background:rgba(32,150,90,.12);color:#177247}
.sr-badge-off{background:rgba(90,96,114,.12);color:var(--grey)}
.sr-badge-done{background:rgba(250,89,81,.12);color:var(--coral-dark)}

.sr-barra{width:76px;height:5px;border-radius:99px;background:#EDEFF4;overflow:hidden}
.sr-barra-fill{display:block;height:100%;background:var(--coral);border-radius:99px}
.sr-p0{width:0}.sr-p5{width:5%}.sr-p10{width:10%}.sr-p15{width:15%}.sr-p20{width:20%}
.sr-p25{width:25%}.sr-p30{width:30%}.sr-p35{width:35%}.sr-p40{width:40%}.sr-p45{width:45%}
.sr-p50{width:50%}.sr-p55{width:55%}.sr-p60{width:60%}.sr-p65{width:65%}.sr-p70{width:70%}
.sr-p75{width:75%}.sr-p80{width:80%}.sr-p85{width:85%}.sr-p90{width:90%}.sr-p95{width:95%}
.sr-p100{width:100%}

.sr-col-acoes{white-space:nowrap}
.sr-acoes{display:flex;gap:6px;flex-wrap:wrap}
.sr-acao{
  font:inherit;font-size:12.5px;font-weight:600;
  padding:6px 11px;border-radius:6px;cursor:pointer;text-decoration:none;
  border:1px solid var(--line);background:var(--white);color:var(--navy);
}
.sr-acao:hover{border-color:var(--navy)}
.sr-acao-perigo{color:var(--coral-dark)}
.sr-acao-perigo:hover{border-color:var(--coral)}

/* ── Página de agradecimento ───────────────────────────────────────────── */

.sr-thanks{
  max-width:620px;margin:0 auto;padding:72px 20px;text-align:center;
}
.sr-thanks-card{
  background:var(--white);border:1px solid var(--line);
  border-radius:var(--radius);box-shadow:var(--shadow);
  padding:44px 30px;
}
.sr-thanks .sr-logo{width:150px;margin:0 auto 30px}
.sr-thanks-icon{
  width:62px;height:62px;margin:0 auto 22px;border-radius:50%;
  background:rgba(250,89,81,.12);
  display:flex;align-items:center;justify-content:center;
}
.sr-thanks h1{margin:0 0 12px;font-size:27px;color:var(--navy);letter-spacing:-.4px}
.sr-thanks p{margin:0 auto 10px;color:var(--grey);font-size:15.5px;max-width:44ch}
.sr-thanks .sr-btn{display:inline-block;margin-top:24px;text-decoration:none}
.sr-warn{
  margin-top:22px;padding:12px 14px;border-radius:8px;
  background:rgba(250,89,81,.08);border-left:3px solid var(--coral);
  font-size:13.5px;color:var(--coral-dark);text-align:left;
}
