/* tool1 PBX — входна страница (Bootstrap 5) */
:root {
  --t1-navy: #16294A;
  --t1-navy-2: #0f1d36;
  --t1-lime: #B5D334;
  --t1-lime-2: #9fbd22;
  --t1-bg: #f3f5f9;
  --t1-text: #1d2433;
  --t1-muted: #6b7489;
}

html, body { height: 100%; }
body {
  font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  background: var(--t1-bg);
  color: var(--t1-text);
}

.t1-auth { min-height: 100vh; display: flex; }

/* Лява част — марка */
.t1-brand {
  flex: 1 1 50%;
  background:
    radial-gradient(circle at 20% 20%, rgba(181, 211, 52, .18), transparent 45%),
    radial-gradient(circle at 80% 90%, rgba(181, 211, 52, .12), transparent 40%),
    linear-gradient(160deg, var(--t1-navy) 0%, var(--t1-navy-2) 100%);
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 48px 56px;
  position: relative;
  overflow: hidden;
}
.t1-brand .logo { height: 44px; width: auto; }
.t1-brand h1 { font-weight: 800; font-size: 2.4rem; line-height: 1.15; letter-spacing: -.02em; max-width: 14ch; }
.t1-brand h1 span { color: var(--t1-lime); }
.t1-brand p.lead { color: rgba(255, 255, 255, .72); max-width: 38ch; font-size: 1.05rem; }
.t1-brand .features { list-style: none; padding: 0; margin: 28px 0 0; }
.t1-brand .features li { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; color: rgba(255, 255, 255, .85); }
.t1-brand .features i {
  width: 36px; height: 36px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center;
  background: rgba(181, 211, 52, .15); color: var(--t1-lime); font-size: 1.1rem;
}
.t1-brand .foot { color: rgba(255, 255, 255, .45); font-size: .85rem; }

/* Дясна част — форма */
.t1-form-wrap {
  flex: 1 1 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px 16px;
}
.t1-card {
  width: 100%;
  max-width: 420px;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 10px 40px rgba(22, 41, 74, .10);
  padding: 40px 36px;
}
.t1-card .mobile-logo { display: none; height: 40px; margin-bottom: 24px; }
.t1-card h2 { font-weight: 800; font-size: 1.6rem; letter-spacing: -.01em; margin-bottom: 4px; }
.t1-card .sub { color: var(--t1-muted); margin-bottom: 28px; }
.t1-card .form-label { font-weight: 600; font-size: .9rem; }
.t1-card .input-group-text { background: #f6f8fb; border-right: 0; color: var(--t1-muted); }
.t1-card .form-control { border-left: 0; padding: .7rem .9rem; }
.t1-card .form-control:focus { box-shadow: none; border-color: #dee2e6; }
.t1-card .input-group:focus-within { box-shadow: 0 0 0 .2rem rgba(181, 211, 52, .35); border-radius: .375rem; }
.t1-card .input-group:focus-within .input-group-text,
.t1-card .input-group:focus-within .form-control { border-color: var(--t1-lime-2); }

.btn-t1 {
  background: var(--t1-navy);
  color: #fff;
  font-weight: 700;
  padding: .75rem 1rem;
  border-radius: 10px;
  border: 0;
}
.btn-t1:hover, .btn-t1:focus { background: #1f3763; color: #fff; }
.btn-t1 .bi { color: var(--t1-lime); }

#error:empty { display: none; }

.t1-lang { display: inline-flex; gap: 4px; background: #eef1f6; border-radius: 999px; padding: 4px; }
.t1-lang a {
  text-decoration: none; font-weight: 700; font-size: .8rem; color: var(--t1-muted);
  padding: 4px 12px; border-radius: 999px;
}
.t1-lang a.active { background: var(--t1-navy); color: #fff; }

/* Индикатор за зареждане */
#loading-indicator {
  position: fixed; inset: 0; background: rgba(243, 245, 249, .7);
  display: flex; align-items: center; justify-content: center; z-index: 1000;
}
#loading-indicator[style*="display: none"], #loading-indicator[style*="display:none"] { display: none !important; }

@media (max-width: 991.98px) {
  .t1-brand { display: none; }
  .t1-card .mobile-logo { display: block; }
}
