/* VoltZ Book · campos de formulário, combo, dinheiro, telefone e janela (classes gc-).
   Padrão startup: superfícies sólidas, roxo só no botão principal, sem brilho colorido. */

/* ── Combo de busca ───────────────────────────────────── */
.gc-combo{position:relative;min-width:0}
.gc-caixa{position:relative;min-width:0}
.gc-combo .p-input{width:100%}
.gc-list{position:fixed;z-index:80;top:0;left:0;width:280px;box-sizing:border-box;max-height:280px;overflow-y:auto;overscroll-behavior:contain;padding:4px;border-radius:12px;border:1px solid var(--line-2);background:var(--surface-2);box-shadow:0 14px 34px rgba(0,0,0,.45)}
.gc-list[hidden]{display:none}
.gc-opt{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 10px;border-radius:9px;cursor:pointer;color:var(--text-2);font-size:14px;user-select:none}
.gc-opt[aria-selected="true"]{background:rgba(255,255,255,.07);color:var(--text)}
.gc-opt-txt{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.gc-opt-sub{flex-shrink:0;font-family:var(--mono);font-size:11px;letter-spacing:.6px;color:var(--text-3)}
.gc-opt.is-novo{color:var(--accent-ink)}
.gc-opt.is-novo svg{flex-shrink:0}
.gc-opt.is-novo .gc-opt-txt{font-weight:600}
.gc-hit{background:none;color:var(--text);font-weight:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.gc-dica{display:block;margin-top:2px;font-size:12px;color:var(--text-3)}

/* ── Dinheiro ─────────────────────────────────────────── */
.gc-money .p-input{padding-left:40px;font-variant-numeric:tabular-nums}
.gc-prefix{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:12px;font-weight:600;color:var(--text-3);pointer-events:none}

/* ── Telefone ─────────────────────────────────────────── */
.gc-phone .p-input{font-variant-numeric:tabular-nums}

/* ── Formulário em seções ─────────────────────────────── */
.gc-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.gc-form > *{min-width:0}
.gc-sec{grid-column:1/-1;margin:10px 0 -6px;padding-bottom:8px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--text-3)}
.gc-sec:first-child{margin-top:0}
.gc-largo{grid-column:1/-1}
.gc-form .p-field.is-bad .p-input,
.gc-form .p-field.is-bad .gc-caixa .p-input{border-color:var(--danger)}
.gc-erro{font-size:12px;line-height:1.4;color:var(--danger)}

/* ── Janela (G.dialog) ────────────────────────────────── */
.gc-dlg{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px;pointer-events:none}
.gc-dlg.is-aberto{pointer-events:auto}
.gc-dlg-fundo{position:absolute;inset:0;background:rgba(5,4,10,.66);opacity:0;transition:opacity .24s var(--ease)}
.gc-dlg.is-aberto .gc-dlg-fundo{opacity:1;transition-duration:.28s}
.gc-dlg-card{position:relative;width:min(760px,100%);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);display:flex;flex-direction:column;min-height:0;overflow:hidden;border-radius:22px;border:1px solid var(--line-2);background:var(--surface);color:var(--text);opacity:0;transform:translateY(12px) scale(.985);transition:opacity .24s var(--ease),transform .24s var(--ease)}
.gc-dlg-card.is-larga{width:min(920px,100%)}
.gc-dlg.is-aberto .gc-dlg-card{opacity:1;transform:none;transition-duration:.28s}
.gc-dlg-head{display:flex;align-items:flex-start;gap:12px;padding:20px 20px 16px 24px;border-bottom:1px solid var(--line)}
.gc-dlg-head > div{flex:1 1 auto;min-width:0}
.gc-dlg-head .p-btn{flex-shrink:0}
.gc-dlg-eyebrow{margin-bottom:6px;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--text-3)}
.gc-dlg-head h2{margin:0;font-family:var(--cond);font-size:28px;line-height:1.05;font-weight:700;text-transform:uppercase;color:var(--text)}
.gc-dlg-head p{margin:6px 0 0;font-size:13.5px;line-height:1.45;color:var(--text-2)}
.gc-dlg-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:20px 24px}
.gc-dlg-foot{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:14px 24px;border-top:1px solid var(--line)}
.gc-dlg-card :focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}

/* ── Celular: uma coluna, janela sobe da base ─────────── */
@media (max-width: 560px){
  .gc-form{grid-template-columns:minmax(0,1fr)}
  .gc-combo .p-input,.gc-money .p-input,.gc-phone .p-input{font-size:16px} /* evita zoom do iPhone ao focar */
  .gc-dlg{padding:0;align-items:end}
  .gc-dlg-card,.gc-dlg-card.is-larga{width:100%;max-height:92vh;max-height:92dvh;border-radius:22px 22px 0 0}
  .gc-dlg-body{padding:18px 16px}
  .gc-dlg-head{padding:18px 12px 14px 16px}
  .gc-dlg-foot{padding:12px 16px}
  .gc-dlg-foot .p-btn{flex:1 1 auto}
}

/* ── Movimento reduzido: sem transição ─────────────────── */
@media (prefers-reduced-motion: reduce){
  .gc-dlg,.gc-dlg *{transition:none !important}
}
