/* =====================================================================
   CARWAY v15 — BASE
   Reset, variáveis, tipografia
   ===================================================================== */

:root{
  --bg:#0b1120; --bg2:#111c33; --card:#16213b; --card2:#1c2946;
  --linha:#26365c; --txt:#e8eefc; --txt2:#93a4c8;
  --azul:#3b82f6; --azul2:#60a5fa; --roxo:#a78bfa;
  --verde:#22c55e; --amarelo:#f59e0b; --vermelho:#ef4444; --ciano:#22d3ee;
  --c:#3b82f6; --cc:#3b82f6; --r:16px; --safe: env(safe-area-inset-bottom, 0px);
  color-scheme: dark;
}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0}
body{
  background:var(--bg);
  color:var(--txt);
  font-family:'Segoe UI',system-ui,-apple-system,Roboto,Arial,sans-serif;
  font-size:15px;
  padding-bottom:calc(84px + var(--safe));
  overscroll-behavior-y:contain;
  -webkit-font-smoothing:antialiased;
}

body.tema-claro{
  color-scheme:light;
  --bg:#eef1f7; --bg2:#ffffff; --card:#ffffff; --card2:#f4f6fb;
  --linha:#c7cfdd; --txt:#111827; --txt2:#4b5567;
  --azul:#2563eb; --azul2:#3b82f6; --roxo:#7c3aed;
  --verde:#16a34a; --amarelo:#d97706; --vermelho:#dc2626; --ciano:#0891b2;
}

.ms{
  font-family:'Material Symbols Rounded';
  font-weight:400;font-style:normal;font-size:22px;line-height:1;
  letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;
  direction:ltr;-webkit-font-feature-settings:'liga';
  -webkit-font-smoothing:antialiased;vertical-align:middle;
}
.ms.verde{color:var(--verde)}
.ms.amarelo{color:var(--amarelo)}
.ms.vermelho{color:var(--vermelho)}

.oculto{display:none !important}
.esmaecido{opacity:.4;pointer-events:none;transition:.2s}

/* Loader global */
.overlay-load{
  position:fixed;inset:0;background:rgba(4,10,22,.72);z-index:900;
  display:grid;place-items:center;backdrop-filter:blur(3px);
}
.load-cx{
  display:flex;flex-direction:column;align-items:center;gap:11px;
  background:var(--bg2);border:1px solid var(--linha);border-radius:16px;
  padding:24px 28px;text-align:center;max-width:300px;
}
.load-cx span{font-size:13px;color:var(--txt);line-height:1.5}
.loader{
  width:34px;height:34px;border:3px solid rgba(96,165,250,.25);
  border-top-color:var(--azul2);border-radius:50%;
  animation:gira .8s linear infinite;
}
@keyframes gira{to{transform:rotate(360deg)}}

/* Toast */
#toast{
  position:fixed;left:50%;bottom:calc(96px + var(--safe));
  transform:translateX(-50%) translateY(18px);
  background:#1e293b;color:#fff;border:1px solid var(--linha);
  padding:11px 17px;border-radius:12px;font-size:13px;z-index:1000;
  opacity:0;pointer-events:none;transition:.25s;max-width:88vw;text-align:center;
}
#toast.on{opacity:1;transform:translateX(-50%)}
#toast.erro{background:#7f1d1d;border-color:#b91c1c}
#toast.ok{background:#14532d;border-color:#16a34a}