/* ===== Formulário da Ficha do Escritório ===== */
/* borda dos campos editáveis — forte o bastante para o participante ver onde digitar */
:root{--campo-borda:rgba(233,195,107,.30)}
:root[data-theme="light"]{--campo-borda:rgba(138,101,32,.42)}

.form-step{display:none}
.form-step.on{display:block}

.gate{max-width:520px}
.gate .panel{padding:28px}

.field{display:block;margin-bottom:18px}
.field > label,.field-label{display:block;font-family:var(--display);font-size:13px;font-weight:700;letter-spacing:.02em;margin-bottom:7px}
.field .hint{display:block;font-size:13px;color:var(--muted);font-weight:400;margin-top:-3px;margin-bottom:8px}

input[type=text],input[type=tel],input[type=email],input[type=number],select,textarea{
  width:100%;font:inherit;font-size:15px;color:var(--text);
  background:var(--ground);border:1px solid var(--campo-borda);border-radius:10px;
  padding:11px 13px;transition:border-color .15s ease,background .15s ease;
}
:root[data-theme="light"] input[type=text],
:root[data-theme="light"] input[type=tel],
:root[data-theme="light"] input[type=email],
:root[data-theme="light"] input[type=number],
:root[data-theme="light"] select,
:root[data-theme="light"] textarea{background:#fff}
input:hover,select:hover,textarea:hover{border-color:var(--line)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);background:var(--surface)}

/* dica fraca — ajuda sem competir com a resposta */
input::placeholder,textarea::placeholder{color:var(--muted);opacity:.55;font-weight:400}
:root[data-theme="light"] input::placeholder,
:root[data-theme="light"] textarea::placeholder{opacity:.6}
/* select ainda vazio fica com a cor de dica */
select:has(option[value=""]:checked){color:var(--muted);opacity:.75}
textarea{min-height:110px;resize:vertical;line-height:1.6}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px}

.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 18px}
@media (max-width:640px){.grid2,.grid3{grid-template-columns:1fr}}

/* opções (radio / checkbox) */
.opts{display:flex;flex-direction:column;gap:8px}
.opts.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px 16px}
.opt{display:flex;gap:10px;align-items:flex-start;padding:10px 13px;border:1px solid var(--line-soft);border-radius:10px;cursor:pointer;transition:border-color .15s ease,background .15s ease;font-size:14.5px}
.opt:hover{border-color:var(--gold)}
.opt input{margin:3px 0 0;accent-color:var(--gold);flex:none}
.opt:has(input:checked){border-color:var(--gold);background:var(--ghost-bg)}

/* tabelas repetíveis */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line-soft);border-radius:12px;margin-bottom:12px}
table.tbl{width:100%;border-collapse:collapse;min-width:640px}
table.tbl th{
  text-align:left;font-family:var(--display);font-size:11px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:var(--gold);
  padding:11px 12px;border-bottom:1px solid var(--line-soft);white-space:nowrap;
}
table.tbl td{padding:7px 8px;min-width:170px;border-bottom:1px solid var(--line-soft);vertical-align:middle}
table.tbl tr:last-child td{border-bottom:0}
/* campos da tabela ficam com borda visível — o participante precisa ver que dá para digitar */
table.tbl input,table.tbl select{border:1px solid var(--campo-borda);background:var(--ground);padding:9px 10px;font-size:14px}
:root[data-theme="light"] table.tbl input,
:root[data-theme="light"] table.tbl select{background:#fff}
table.tbl input:hover,table.tbl select:hover{border-color:var(--gold)}
table.tbl input:focus,table.tbl select:focus{border-color:var(--gold);background:var(--surface)}
table.tbl td.del{width:38px;min-width:0;padding-right:10px}
.row-del{width:26px;height:26px;border-radius:7px;border:1px solid var(--line-soft);background:transparent;color:var(--muted);cursor:pointer;font-size:15px;line-height:1;display:grid;place-items:center}
.row-del:hover{border-color:var(--warn,#e88f7a);color:var(--warn,#e88f7a)}
.add-row{font-family:var(--display);font-size:13px;font-weight:700;color:var(--gold);background:transparent;border:1px dashed var(--line);border-radius:999px;padding:8px 18px;cursor:pointer}
.add-row:hover{background:var(--ghost-bg)}

/* barra de status fixa */
.savebar{
  position:sticky;bottom:0;z-index:25;margin-top:34px;
  display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  background:var(--nav-bg);backdrop-filter:blur(12px);
  border-top:1px solid var(--line);padding:14px 20px;
}
.savebar .status{font-size:13px;color:var(--muted)}
.savebar .status b{color:var(--gold);font-weight:700}
.savebar .status.err b{color:#e88f7a}

.legend{font-size:13.5px;color:var(--muted);margin:0 0 14px}
.legend b{color:var(--text)}
.sec-num{font-family:var(--display);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:6px}

.done-box{text-align:center;padding:20px 0}
.done-box .mark{width:64px;height:64px;margin:0 auto 20px;border-radius:50%;border:1px solid var(--gold);background:var(--ghost-bg);display:grid;place-items:center;font-size:28px}
