/* TAXIMOB — Blue Fleet UI (v3 · BRL) */
:root{
  --tm-bg:#F4F7FC;
  --tm-bg-2:#E8EEF8;
  --tm-ink:#0A1220;
  --tm-ink-soft:#1A2740;
  --tm-muted:#5B6B86;
  --tm-white:#FFFFFF;
  --tm-blue:#1B6CFF;
  --tm-blue-2:#0B4FD6;
  --tm-blue-deep:#071A3A;
  --tm-blue-soft:rgba(27,108,255,.12);
  --tm-line:rgba(10,18,32,.08);
  --tm-line-strong:rgba(27,108,255,.28);
  --tm-ok:#0F9F6E;
  --tm-bad:#E11D48;
  --tm-warn:#D97706;
  --tm-radius:20px;
  --tm-radius-sm:12px;
  --tm-shadow:0 18px 50px rgba(7,26,58,.12);
  --tm-shadow-blue:0 16px 40px rgba(27,108,255,.28);
  --tm-font:'Outfit',system-ui,sans-serif;
  --tm-display:'Sora',system-ui,sans-serif;
  --tm-mono:'IBM Plex Mono',ui-monospace,monospace;
  --tm-safe-t:env(safe-area-inset-top,0px);
  --tm-safe-b:env(safe-area-inset-bottom,0px);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body.tm2{
  font-family:var(--tm-font);
  background:
    radial-gradient(1200px 600px at 10% -10%, rgba(27,108,255,.18), transparent 55%),
    radial-gradient(900px 500px at 100% 0%, rgba(7,26,58,.08), transparent 50%),
    linear-gradient(180deg, var(--tm-bg) 0%, var(--tm-bg-2) 100%);
  color:var(--tm-ink);
  min-height:100vh;
  line-height:1.45;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
body.tm2 a{color:inherit;text-decoration:none}
body.tm2 button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
body.tm2 img{display:block;max-width:100%}
.tm2-shell{width:min(1120px,calc(100% - 32px));margin:0 auto}
.tm2-display{font-family:var(--tm-display);letter-spacing:-.04em;line-height:.98}

.tm2-noise{
  pointer-events:none;position:fixed;inset:0;z-index:0;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.tm2-scan{
  pointer-events:none;position:fixed;inset:0;z-index:0;opacity:.45;
  background:linear-gradient(115deg, transparent 0%, rgba(27,108,255,.035) 42%, transparent 70%);
  background-size:220% 100%;
  animation:tm2Sweep 11s ease-in-out infinite alternate;
}
@keyframes tm2Sweep{to{background-position:100% 0}}
@keyframes tm2Float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes tm2Pulse{50%{opacity:.35;transform:scale(.85)}}
@keyframes tm2Ken{to{transform:scale(1.1) translate(-1.2%,-0.8%)}}
@keyframes tm2Rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes tm2Glow{0%,100%{box-shadow:0 0 0 0 rgba(27,108,255,.35)}50%{box-shadow:0 0 0 10px rgba(27,108,255,0)}}

.tm2-logo{display:inline-flex;align-items:center;gap:10px}
.tm2-logo img{height:48px;width:auto;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(27,108,255,.25))}
.tm2-logo--lg img{height:72px}
.tm2-logo-mark{
  width:44px;height:44px;border-radius:14px;overflow:hidden;
  box-shadow:0 0 0 1px var(--tm-line-strong), var(--tm-shadow-blue);
}

/* AUTH */
.tm2-auth{position:relative;z-index:1;min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}
.tm2-auth--solo{grid-template-columns:1fr;place-items:center;padding:24px 16px calc(24px + var(--tm-safe-b))}
.tm2-auth--solo .tm2-auth__form{padding:0;margin:0;width:100%;max-width:440px}
.tm2-auth--solo .tm2-auth__form-inner{border-radius:24px}
.tm2-auth__visual{position:relative;overflow:hidden;min-height:100vh;background:var(--tm-blue-deep)}
.tm2-auth__visual img.tm2-auth__bg{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transform:scale(1.03);animation:tm2Ken 20s ease-in-out infinite alternate;
}
.tm2-auth__veil{
  position:absolute;inset:0;
  background:
    linear-gradient(105deg, rgba(7,26,58,.15) 0%, rgba(7,26,58,.55) 48%, rgba(7,26,58,.92) 100%),
    linear-gradient(180deg, rgba(27,108,255,.25) 0%, transparent 40%, rgba(7,26,58,.85) 100%);
}
.tm2-auth__orb{
  position:absolute;border-radius:50%;filter:blur(40px);pointer-events:none;z-index:1;
  animation:tm2Float 7s ease-in-out infinite;
}
.tm2-auth__orb--a{width:220px;height:220px;left:8%;top:12%;background:rgba(27,108,255,.45)}
.tm2-auth__orb--b{width:160px;height:160px;right:18%;bottom:28%;background:rgba(255,255,255,.18);animation-delay:-2.5s}
.tm2-auth__copy{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:48px clamp(28px,4vw,56px) calc(40px + var(--tm-safe-b));
  max-width:560px;color:#fff;
  animation:tm2Rise .8s ease both;
}
.tm2-pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 12px;border-radius:999px;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);
  color:#fff;font-family:var(--tm-mono);font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px;
  backdrop-filter:blur(8px);
}
.tm2-pill i{width:8px;height:8px;border-radius:50%;background:#9EC5FF;box-shadow:0 0 0 4px rgba(158,197,255,.25);animation:tm2Pulse 1.8s ease-in-out infinite}
.tm2-auth__copy h1{
  font-family:var(--tm-display);font-weight:700;font-size:clamp(2.1rem,4.4vw,3.35rem);
  letter-spacing:-.05em;line-height:.94;margin-bottom:14px;
}
.tm2-auth__copy h1 em{font-style:normal;color:#9EC5FF}
.tm2-auth__copy p{color:rgba(255,255,255,.78);font-size:1.02rem;max-width:38ch;margin-bottom:22px}
.tm2-auth__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tm2-auth__stat{
  padding:14px 12px;border-radius:16px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(10px);
}
.tm2-auth__stat strong{display:block;font-family:var(--tm-display);font-size:1.05rem;margin-bottom:4px}
.tm2-auth__stat{font-size:11px;color:rgba(255,255,255,.7)}

.tm2-auth__form{
  display:flex;align-items:center;justify-content:center;
  padding:clamp(24px,4vw,48px);position:relative;
}
.tm2-auth__form::before{
  content:"";position:absolute;inset:auto auto 8% -40px;width:180px;height:180px;
  background:url('../taximob/icons/car.png') center/contain no-repeat;opacity:.08;
  animation:tm2Float 8s ease-in-out infinite;pointer-events:none;
}
.tm2-auth__form-inner{
  width:min(440px,100%);
  background:rgba(255,255,255,.86);
  border:1px solid var(--tm-line);
  border-radius:28px;
  padding:clamp(24px,3vw,36px);
  box-shadow:var(--tm-shadow);
  backdrop-filter:blur(16px);
  animation:tm2Rise .7s .08s ease both;
}
.tm2-auth__top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:28px}
.tm2-back{
  display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--tm-muted);
  padding:8px 10px;border-radius:999px;border:1px solid var(--tm-line);background:#fff;
  transition:transform .2s ease, border-color .2s ease;
}
.tm2-back:hover{transform:translateX(-2px);border-color:var(--tm-line-strong);color:var(--tm-blue)}
.tm2-back i{width:16px;height:16px}
.tm2-form-title{font-family:var(--tm-display);font-size:1.85rem;letter-spacing:-.04em;margin-bottom:6px}
.tm2-form-sub{color:var(--tm-muted);margin-bottom:22px;font-size:.95rem}
.tm2-field{margin-bottom:16px}
.tm2-field label{display:block;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--tm-ink-soft);margin-bottom:8px}
.tm2-input{
  display:flex;align-items:center;gap:10px;
  padding:0 14px;height:54px;border-radius:16px;
  background:#F7F9FD;border:1px solid var(--tm-line);
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.tm2-input:focus-within{
  background:#fff;border-color:var(--tm-blue);
  box-shadow:0 0 0 4px var(--tm-blue-soft);
}
.tm2-input i{width:18px;height:18px;color:var(--tm-blue);flex:0 0 auto}
.tm2-input input{
  flex:1;border:0;outline:0;background:transparent;height:100%;
  font-size:15px;color:var(--tm-ink);font-family:var(--tm-mono);
}
.tm2-hint{margin-top:8px;font-size:12px;color:var(--tm-muted)}
.tm2-captcha{display:grid;gap:12px}
.tm2-captcha__hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.tm2-captcha__card{
  display:grid;grid-template-columns:1fr auto;gap:10px;align-items:stretch;
  padding:12px;border-radius:18px;background:#F3F7FF;border:1px solid rgba(27,108,255,.16);
}
.tm2-captcha__image-wrap{
  min-height:110px;border-radius:14px;overflow:hidden;
  background:#fff;border:1px solid rgba(10,18,32,.08);
  display:flex;align-items:center;justify-content:center;
}
.tm2-captcha__image-wrap img{
  display:block;width:100%;max-width:100%;height:110px;object-fit:contain;
}
.tm2-captcha__refresh{
  min-width:92px;padding:10px 12px;border-radius:14px;cursor:pointer;
  display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  border:1px solid rgba(27,108,255,.22);background:#fff;color:var(--tm-blue-2);
  font-family:var(--tm-sans);font-size:11px;font-weight:800;letter-spacing:.02em;
}
.tm2-captcha__refresh i,.tm2-captcha__refresh svg{width:18px!important;height:18px!important}
.tm2-captcha__refresh:hover{border-color:var(--tm-blue);background:var(--tm-blue-soft)}
.tm2-captcha__input-wrap input{
  letter-spacing:.28em;text-transform:uppercase;font-weight:700;text-align:center;
}
.tm2-captcha__hint{margin-top:0}
@media (max-width:480px){
  .tm2-captcha__card{grid-template-columns:1fr}
  .tm2-captcha__refresh{min-width:0;flex-direction:row;height:48px}
  .tm2-captcha__image-wrap,.tm2-captcha__image-wrap img{min-height:120px;height:120px}
}
.tm2-btn{
  width:100%;height:54px;border-radius:16px;margin-top:8px;
  background:linear-gradient(135deg, var(--tm-blue) 0%, var(--tm-blue-2) 100%);
  color:#fff;font-weight:800;font-size:15px;letter-spacing:.01em;
  box-shadow:var(--tm-shadow-blue);
  transition:transform .18s ease, filter .18s ease;
  animation:tm2Glow 2.8s ease-in-out infinite;
}
.tm2-btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.tm2-btn:disabled{opacity:.7;cursor:wait;animation:none}
.tm2-divider{
  display:flex;align-items:center;gap:12px;margin:22px 0 14px;
  color:var(--tm-muted);font-size:12px;text-transform:uppercase;letter-spacing:.12em;
}
.tm2-divider::before,.tm2-divider::after{content:"";flex:1;height:1px;background:var(--tm-line)}
.tm2-switch{text-align:center;color:var(--tm-muted);font-size:14px}
.tm2-switch a{color:var(--tm-blue);font-weight:700}
.tm2-auth__foot{margin-top:22px;text-align:center;font-size:12px;color:var(--tm-muted)}
.tm2-auth__badges{display:flex;gap:8px;justify-content:center;margin-top:16px;flex-wrap:wrap}
.tm2-auth__badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 10px;border-radius:999px;font-size:11px;font-weight:700;
  background:var(--tm-blue-soft);color:var(--tm-blue-2);border:1px solid var(--tm-line-strong);
}
.tm2-auth__badge img{width:16px;height:16px;object-fit:contain}
.tm2-alert{padding:12px 14px;border-radius:14px;margin-bottom:14px;font-size:13.5px}
.tm2-alert--ok{background:rgba(15,159,110,.1);color:#0B7A54;border:1px solid rgba(15,159,110,.25)}
.tm2-alert--err{background:rgba(225,29,72,.08);color:#BE123C;border:1px solid rgba(225,29,72,.2)}

/* DASH / CARDS */
.tm2-card{
  background:var(--tm-white);border:1px solid var(--tm-line);
  border-radius:var(--tm-radius);box-shadow:var(--tm-shadow);padding:20px;
}
.tm2-bal{
  position:relative;overflow:hidden;
  background:#fff;color:var(--tm-ink);border:1px solid var(--tm-line);
}
.tm2-bal--primary{
  background:
    radial-gradient(120% 90% at 100% 0%, rgba(158,197,255,.28), transparent 55%),
    linear-gradient(155deg, #071A3A 0%, #0B3F9E 52%, #1B6CFF 100%);
  color:#fff;border:0;
}
.tm2-bal__cta{
  display:inline-flex;align-items:center;gap:6px;margin-top:auto;
  height:40px;padding:0 14px;border-radius:12px;background:#fff;color:var(--tm-blue-2);
  font-weight:800;font-size:12.5px;box-shadow:0 8px 18px rgba(0,0,0,.16);
}
.tm2-plan{
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.tm2-plan:hover{transform:translateY(-4px);box-shadow:var(--tm-shadow-blue);border-color:var(--tm-line-strong)}
.tm2-chip{
  display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;
  background:var(--tm-blue-soft);color:var(--tm-blue-2);font-size:11px;font-weight:800;
}

@media (max-width:960px){
  .tm2-auth{grid-template-columns:1fr}
  .tm2-auth__visual{min-height:42vh}
  .tm2-auth__copy{padding:28px 22px 24px;max-width:none}
  .tm2-auth__stats{grid-template-columns:1fr}
  .tm2-auth__form{padding:0 16px 28px;margin-top:-28px}
  .tm2-auth__form-inner{border-radius:24px}
  .tm2-auth--solo .tm2-auth__form{padding:0;margin:0}
}

/* Register sections */
.tm2-section{margin-top:22px;padding-top:18px;border-top:1px solid var(--tm-line)}
.tm2-section__head{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.tm2-section__num{
  width:28px;height:28px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--tm-blue-soft);color:var(--tm-blue-2);font-family:var(--tm-mono);font-size:11px;font-weight:700;
}
.tm2-section__title{font-family:var(--tm-display);font-size:1.05rem;letter-spacing:-.02em}
.tm2-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tm2-field .req{color:var(--tm-bad)}
.tm2-btn i{width:18px;height:18px;display:inline-block;vertical-align:-3px;margin-right:6px}
@media (max-width:520px){.tm2-grid-2{grid-template-columns:1fr}}
