/* =====================================================================
   Golden Parts — ESTILO ÚNICO (16/10/2026)
   Modelo: Central de Acessos. Fundo claro, caixas brancas, dourado como destaque.
   Vale para: Painel (admin e equipe), GP Loja, App do técnico.
   Classes prontas para telas novas: gp-abas, gp-cards, gp-box, gp-tab, gp-btn, gp-tag, gp-filtros, gp-muted.
   ===================================================================== */

:root {
  --gp-ouro: #d4a72c;
  --gp-ouro-escuro: #b38b1d;
  --gp-fundo: #f3f1ec;
  --gp-caixa: #ffffff;
  --gp-borda: #e3e0da;
  --gp-texto: #1f1b16;
  --gp-suave: #6f685e;
  --gp-ok: #17643a;    --gp-ok-bg: #e2f6e9;
  --gp-alerta: #7a5a00; --gp-alerta-bg: #fff1c7;
  --gp-erro: #8a1c1c;  --gp-erro-bg: #fde2e2;
  --gp-info: #0b4f8a;  --gp-info-bg: #dff0ff;
  --gp-raio: 12px;
}

/* ---------- marca ao lado do logo (Painel / Loja / Técnico) ---------- */
.gp-marca { display:inline-block; vertical-align:middle; margin-left:8px; padding:3px 9px; border-radius:7px; font:800 11px/1.2 'Manrope', Arial, sans-serif; letter-spacing:1.2px; text-transform:uppercase; }
.gp-marca-painel { background:#1f1b16; color:var(--gp-ouro); border:1px solid var(--gp-ouro); }
.gp-marca-loja { background:var(--gp-ouro); color:#111; }
.gp-marca-tecnico { background:#1f6fd1; color:#fff; }

/* =====================================================================
   PAINEL — área de conteúdo clara (o menu lateral continua escuro)
   ===================================================================== */
.admin-shell { background: var(--gp-fundo); }
.admin-main {
  max-width: 1500px !important;
  width: 100%;
  color: var(--gp-texto);
  /* as telas antigas usam estas variáveis: trocando aqui, todas ficam claras */
  --paper: #ffffff; --surface: #ffffff; --surface-2: #f6f4f0; --bg: #f3f1ec; --bg-2: #f6f4f0;
  --line: rgba(0,0,0,.09); --line-strong: rgba(0,0,0,.2);
  --ink: #1f1b16; --ink-soft: #3a342c; --muted: #6f685e; --muted-2: #9a9286;
  --orange: #d4a72c; --orange-bright: #e2b84a; --orange-dim: #b38b1d;
  --shadow: 0 6px 18px -10px rgba(0,0,0,.25);
}
.admin-main h1, .admin-main h2, .admin-main h3 { color: var(--gp-texto); }
.admin-main a:not(.btn):not(.gp-btn):not(.chip):not([class*="-btn"]) { color: #a8790e; }
.admin-main .btn-primary { background: var(--gp-ouro); color: #111; box-shadow: none; }
.admin-main .btn-primary:hover { background: var(--gp-ouro-escuro); }
.admin-main .btn-outline { background: #fff; }
.admin-main .btn { white-space: nowrap; }

/* abas / filtros em botões arredondados (igual à Central) */
.admin-main .chips { display:flex; gap:8px; flex-wrap:wrap; }
.admin-main .chip { border-radius:22px !important; border:1px solid #ccc !important; background:#fff !important; color:#222 !important; font-weight:600; }
.admin-main .chip.active { background: var(--gp-ouro) !important; border-color: var(--gp-ouro) !important; color:#111 !important; }

/* caixas */
.admin-main .admin-card, .admin-main .form-card, .admin-main .table-wrap {
  background: #fff; border: 1px solid var(--gp-borda); border-radius: var(--gp-raio); box-shadow: none;
}
.admin-main .table-wrap { padding: 4px 8px; }
.admin-main table.data th { color: var(--gp-suave); background: transparent; }
.admin-main table.data td { color: var(--gp-texto); vertical-align: middle; }
.admin-main table.data tr:hover td { background: #faf8f4; }

/* campos */
.admin-main input[type=text], .admin-main input[type=search], .admin-main input[type=email], .admin-main input[type=tel],
.admin-main input[type=number], .admin-main input[type=password], .admin-main input[type=date], .admin-main input[type=url],
.admin-main select, .admin-main textarea {
  background: #fff; color: var(--gp-texto); border: 1px solid #cfcac2; border-radius: 9px;
}
.admin-main input:focus, .admin-main select:focus, .admin-main textarea:focus { outline: 2px solid rgba(212,167,44,.45); border-color: var(--gp-ouro); }

/* avisos */
.admin-main .alert-ok { background: var(--gp-ok-bg); color: var(--gp-ok); border-color: #b9e3c8; }
.admin-main .alert-error { background: var(--gp-erro-bg); color: var(--gp-erro); border-color: #f0b9b9; }
.admin-main .alert-info { background: var(--gp-info-bg); color: var(--gp-info); border-color: #b8d9f5; }

/* =====================================================================
   Componentes prontos (telas novas)
   ===================================================================== */
.gp-abas { display:flex; gap:8px; flex-wrap:wrap; margin:0 0 14px; }
.gp-abas a { padding:9px 14px; border-radius:22px; border:1px solid #ccc; background:#fff; color:#222 !important; text-decoration:none; font-weight:600; font-size:14px; }
.gp-abas a.on { background:var(--gp-ouro); border-color:var(--gp-ouro); color:#111 !important; }
.gp-cards { display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:10px; margin-bottom:14px; }
.gp-card { background:#fff; border:1px solid var(--gp-borda); border-radius:var(--gp-raio); padding:12px 14px; color:var(--gp-texto) !important; text-decoration:none; display:block; }
.gp-card .n { font-size:26px; font-weight:800; }
.gp-card .t { font-size:13px; color:var(--gp-suave); }
.gp-card.on { border-color: var(--gp-ouro); box-shadow: 0 0 0 2px rgba(212,167,44,.35) inset; }
.gp-box { background:#fff; border:1px solid var(--gp-borda); border-radius:var(--gp-raio); padding:12px; margin-bottom:14px; color:var(--gp-texto); }
.gp-filtros { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.gp-filtros input[type=search], .gp-filtros input[type=text] { flex:1; min-width:220px; padding:10px 12px; font-size:15px; }
.gp-filtros select { padding:10px; font-size:14px; }
.gp-tab { width:100%; border-collapse:collapse; font-size:14px; }
.gp-tab th { text-align:left; color:var(--gp-suave); font-weight:600; font-size:12px; padding:8px; border-bottom:1px solid #eee; }
.gp-tab td { padding:9px 8px; border-bottom:1px solid #f1f1f1; vertical-align:top; color:var(--gp-texto); }
.gp-tab tr:hover td { background:#faf8f4; }
.gp-tag { display:inline-block; padding:2px 9px; border-radius:20px; font-size:12px; font-weight:700; background:#eee; color:#333; white-space:nowrap; }
.gp-tag.ok { background:var(--gp-ok-bg); color:var(--gp-ok); } .gp-tag.pend { background:var(--gp-alerta-bg); color:var(--gp-alerta); }
.gp-tag.erro { background:var(--gp-erro-bg); color:var(--gp-erro); } .gp-tag.info { background:var(--gp-info-bg); color:var(--gp-info); }
.gp-btn { display:inline-block; padding:7px 12px; border-radius:8px; border:1px solid #ccc; background:#f6f6f6; color:#222 !important; text-decoration:none; font-size:13px; font-weight:600; cursor:pointer; margin:2px 0; white-space:nowrap; font-family:inherit; }
.gp-btn.p { background:var(--gp-ouro); border-color:var(--gp-ouro); color:#111 !important; }
.gp-btn.v { background:#1f6f43; border-color:#1f6f43; color:#fff !important; }
.gp-btn.r { background:#fff; border-color:#e0a1a1; color:var(--gp-erro) !important; }
.gp-muted { color:var(--gp-suave); font-size:12px; }
.gp-paginas { display:flex; gap:8px; align-items:center; justify-content:center; margin:12px 0; flex-wrap:wrap; }
@media (max-width: 700px) {
  .gp-tab thead { display:none; } .gp-tab tr { display:block; border-bottom:1px solid #eee; padding:6px 0; } .gp-tab td { display:block; border:0; padding:3px 6px; }
  .admin-main { padding: 14px 12px !important; }
}

/* telas antigas: aviso amarelo e etiquetas de situação legíveis no fundo claro */
.admin-main .alert:not(.alert-ok):not(.alert-error):not(.alert-info) { background: var(--gp-alerta-bg) !important; color: var(--gp-alerta) !important; border-color: #f0d78c !important; }
.admin-main .badge { background: #eee; color: #333; }
.admin-main .badge-pendente { background: var(--gp-alerta-bg) !important; color: var(--gp-alerta) !important; }
.admin-main .badge-ativo, .admin-main .badge-ok, .admin-main .badge-entregue, .admin-main .badge-pronto { background: var(--gp-ok-bg) !important; color: var(--gp-ok) !important; }
.admin-main .badge-recusado, .admin-main .badge-inativo, .admin-main .badge-cancelado { background: var(--gp-erro-bg) !important; color: var(--gp-erro) !important; }
.admin-main .btn-danger { background: #fff; color: var(--gp-erro); border: 1px solid #e0a1a1; }

/* =====================================================================
   APPS (GP Loja = body.gp-app · App do técnico = body.gp-tec) — mesmo visual do painel
   Barra de cima escura (igual ao menu do painel), conteúdo claro com caixas brancas.
   ===================================================================== */
body.gp-app, body.gp-tec {
  --bg: #f3f1ec; --card: #ffffff; --line: #e3e0da; --txt: #1f1b16; --muted: #6f685e; --gold: #d4a72c; --orange: #d4a72c;
  background: #f3f1ec !important; color: #1f1b16 !important;
}
body.gp-app a, body.gp-tec a { color: #a8790e; }
body.gp-app .top, body.gp-tec .top { background: #1f1b16 !important; border-bottom: 2px solid var(--gp-ouro) !important; color: #fff; }
body.gp-app .top h1, body.gp-tec .top h1 { color: #fff; }
body.gp-app .top .quem, body.gp-tec .top .quem { color: #c9c2b6; }
body.gp-app .top .btn, body.gp-tec .top .btn { background: #2b2620 !important; border-color: #4a4237 !important; color: #fff !important; }
body.gp-app .card, body.gp-tec .card { background: #fff; border-color: var(--gp-borda); color: #1f1b16; }
body.gp-app a.card, body.gp-tec a.card { color: #1f1b16 !important; }
body.gp-app .linha, body.gp-tec .linha { border-bottom-color: #efece6 !important; }
body.gp-app .grande { color: var(--gp-ouro-escuro); }
body.gp-app .btn, body.gp-tec .btn { background: #fff; border-color: #d6d1c8; color: #1f1b16 !important; }
body.gp-app .btn-p, body.gp-tec .btn-p { background: var(--gp-ouro) !important; border-color: var(--gp-ouro) !important; color: #111 !important; }
body.gp-app .btn-ok, body.gp-tec .btn-ok { background: #1f6f43 !important; border-color: #1f6f43 !important; color: #fff !important; }
body.gp-app input[type=text], body.gp-app input[type=search], body.gp-app input[type=email], body.gp-app input[type=password], body.gp-app input[type=tel], body.gp-app input[type=number], body.gp-app input[type=date], body.gp-app textarea, body.gp-app select,
body.gp-tec input[type=text], body.gp-tec input[type=search], body.gp-tec input[type=email], body.gp-tec input[type=password], body.gp-tec input[type=tel], body.gp-tec input[type=number], body.gp-tec input[type=date], body.gp-tec textarea, body.gp-tec select {
  background: #fff !important; color: #1f1b16 !important; border: 1px solid #cfcac2 !important;
}
body.gp-app label, body.gp-tec label { color: #5c564d; }
body.gp-app .alert-ok, body.gp-tec .alert-ok { background: var(--gp-ok-bg); border-color: #b9e3c8; color: var(--gp-ok); }
body.gp-app .alert-err, body.gp-tec .alert-err, body.gp-app .alert-error, body.gp-tec .alert-error { background: var(--gp-erro-bg); border-color: #f0b9b9; color: var(--gp-erro); }
body.gp-app .aviso { background: var(--gp-erro-bg) !important; border-color: #f0b9b9 !important; color: var(--gp-erro) !important; }
body.gp-app .abas a, body.gp-tec .abas a { background: #fff; border-color: #ccc; color: #222 !important; }
body.gp-app .abas a.on, body.gp-tec .abas a.on { background: var(--gp-ouro); border-color: var(--gp-ouro); color: #111 !important; }
body.gp-app .nav, body.gp-tec .nav { background: #1f1b16 !important; border-top: 2px solid var(--gp-ouro) !important; }
body.gp-app .nav a, body.gp-tec .nav a { color: #c9c2b6 !important; }
body.gp-app .nav a.on, body.gp-tec .nav a.on { color: var(--gp-ouro) !important; }
/* tela de garantia do GP Loja */
body.gp-app .gar-res div { border-bottom-color: #eee !important; }
body.gp-app .gar-res div:active { background: #f6f4f0 !important; }
body.gp-app .gar-op label { background: #fff !important; color: #1f1b16 !important; border-color: #d6d1c8 !important; }

/* =====================================================================
   VITRINE / SITE DO CLIENTE (body.gp-site) — claro, igual ao painel.
   Cabeçalho e rodapé continuam escuros (como as barras dos apps); conteúdo claro.
   ===================================================================== */
body.gp-site {
  --bg: #f3f1ec; --bg-2: #f6f4f0; --paper: #ffffff; --surface: #ffffff; --surface-2: #f6f4f0;
  --line: rgba(0,0,0,.09); --line-strong: rgba(0,0,0,.2);
  --ink: #1f1b16; --ink-soft: #3a342c; --muted: #6f685e; --muted-2: #9a9286;
  --orange: #d4a72c; --orange-bright: #e2b84a; --orange-dim: #b38b1d;
  --shadow: 0 6px 18px -10px rgba(0,0,0,.25);
  background: #f3f1ec !important; color: #1f1b16; color-scheme: light;
}
body.gp-site header.top, body.gp-site footer {
  --ink: #f6f1e9; --ink-soft: #d8d2c7; --muted: #a29b8f; --muted-2: #6f685e;
  --line: rgba(255,255,255,.09); --line-strong: rgba(255,255,255,.18);
  --paper: #1c1815; --surface: #18140f; --surface-2: #221c17;
  background: #1f1b16 !important; color: #f6f1e9;
}
body.gp-site header.top { border-bottom: 2px solid var(--gp-ouro); }
body.gp-site footer { border-top: 2px solid var(--gp-ouro); }
body.gp-site main .card, body.gp-site main section.card { background: #fff; border: 1px solid var(--gp-borda); box-shadow: none; }
body.gp-site main .card:hover { box-shadow: 0 8px 20px -12px rgba(0,0,0,.3); }
body.gp-site main a:not(.btn):not(.card):not(.chip):not(.pill) { color: #a8790e; }
body.gp-site main a.card { color: var(--gp-texto); }
body.gp-site .btn-primary { background: var(--gp-ouro) !important; color: #111 !important; box-shadow: none !important; }
body.gp-site .btn-outline { background: #fff; color: #1f1b16; }
body.gp-site header.top .btn-outline, body.gp-site footer .btn-outline { background: transparent; color: #f6f1e9; }
body.gp-site main .chip { background: #fff; color: #222; border-color: #ccc; }
body.gp-site main .chip.active { background: var(--gp-ouro); border-color: var(--gp-ouro); color: #111; }
body.gp-site .alert-ok { background: var(--gp-ok-bg); color: var(--gp-ok); border-color: #b9e3c8; }
body.gp-site .alert-error { background: var(--gp-erro-bg); color: var(--gp-erro); border-color: #f0b9b9; }
body.gp-site .alert-info { background: var(--gp-info-bg); color: var(--gp-info); border-color: #b8d9f5; }
body.gp-site main input[type=text], body.gp-site main input[type=search], body.gp-site main input[type=email], body.gp-site main input[type=tel],
body.gp-site main input[type=number], body.gp-site main input[type=password], body.gp-site main select, body.gp-site main textarea {
  background: #fff; color: #1f1b16; border-color: #cfcac2;
}

/* avisos com cor escrita direto na página (vitrine) */
body.gp-site main [style*="#2a2410"] { background: var(--gp-alerta-bg) !important; border-color: #f0d78c !important; color: var(--gp-alerta) !important; }
body.gp-site main [style*="#1b1b1b"] { background: #fff !important; color: #1f1b16 !important; border-color: var(--gp-borda) !important; }
body.gp-site main [style*="#2a2410"] a { color: #7a5a00 !important; font-weight: 800; text-decoration: underline; }
html:has(body.gp-app), html:has(body.gp-tec), html:has(body.gp-site) { background: #f3f1ec !important; }
