:root{
  --bg1:#070b16;
  --bg2:#0b1b3a;
  --card:#0f1a30;
  --border:rgba(255,255,255,.08);
  --text:#e5e7eb;
  --muted:rgba(255,255,255,.70);
  --brand:#bfe1ff;
  --dangerText:#ffd1d1;
}

html,body{height:100%;}
body{
  background:
    radial-gradient(1200px 700px at 10% 10%, rgba(59,130,246,.18), transparent 60%),
    radial-gradient(900px 600px at 90% 20%, rgba(34,197,94,.10), transparent 55%),
    radial-gradient(900px 600px at 50% 90%, rgba(168,85,247,.10), transparent 55%),
    linear-gradient(135deg, var(--bg1), var(--bg2));
  color:var(--text);
}

/* Hard dark-mode readability overrides */
body, body *{ color: inherit; }
body{ color: rgba(255,255,255,.92); }
h1,h2,h3,h4,h5,h6, .h1,.h2,.h3,.h4,.h5,.h6{ color: rgba(255,255,255,.95) !important; }
p, li, td, th, label, .form-label, .form-text, .nav-link, .dropdown-item{
  color: rgba(255,255,255,.88) !important;
}
.small, small{ color: rgba(255,255,255,.72) !important; }
.text-white-50{ color: rgba(255,255,255,.70) !important; }

a{color:var(--brand); text-decoration:none;}
a:hover{text-decoration:underline;}

.navbar{
  background: rgba(15,26,48,.85);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(10px);
}

.card{
  background: rgba(15,26,48,.86);
  border:1px solid var(--border);
  border-radius: 1rem;
  box-shadow: 0 14px 40px rgba(0,0,0,.35);
}

.badge-soft{
  background: rgba(147,197,253,.15);
  color: var(--brand);
  border: 1px solid rgba(147,197,253,.25);
}

.table{
  --bs-table-color: var(--text);
  --bs-table-bg: transparent;
  --bs-table-border-color: rgba(255,255,255,.08);
}

.table thead th{
  color: rgba(255,255,255,.85);
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
}

.form-control, .form-select{
  background: rgba(255,255,255,.04);
  color: var(--text);
  border: 1px solid rgba(255,255,255,.12);
}
.form-control::placeholder{ color: rgba(255,255,255,.55) !important; }
.form-select option{ color: #0b1220; }
.form-control:focus, .form-select:focus{
  background: rgba(255,255,255,.06);
  color: var(--text);
  border-color: rgba(147,197,253,.45);
  box-shadow: 0 0 0 .25rem rgba(59,130,246,.15);
}

.btn-primary{font-weight:600;}
.btn-outline-light{border-color: rgba(255,255,255,.25); color: rgba(255,255,255,.85);}
.btn-outline-light:hover{background: rgba(255,255,255,.08);}

.footer{
  color: rgba(255,255,255,.55);
  font-size: .875rem;
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 1rem;
  margin-top: 2rem;
}

/* Contrast fixes (dark UI) */
.text-muted{ color: var(--muted) !important; }
.text-dark{ color: var(--text) !important; }
.link-dark, .btn-link{ color: rgba(147,197,253,.95) !important; }
.btn-link:hover{ filter: brightness(1.05); }
.form-label{ color: rgba(255,255,255,.88); }
.list-group-item{ color: var(--text); }
.alert{ border-color: rgba(255,255,255,.12); }
.alert-danger{ background: rgba(239,68,68,.12); color: var(--dangerText); }
.alert-success{ background: rgba(34,197,94,.12); color: rgba(255,255,255,.92); }
.btn-danger{ background: rgba(248,113,113,.88); border-color: rgba(248,113,113,.88); color: rgba(0,0,0,.85) !important; }
.btn-danger:hover{ filter: brightness(1.05); }

/* Tables */
.table td, .table th{ color: rgba(255,255,255,.88) !important; }

/* Auth pages */
.auth-card, .auth-card *{ color: rgba(255,255,255,.90) !important; }


/* UX helpers */
.territory-list{max-height:540px; overflow:auto;}
.territory-list::-webkit-scrollbar{height:8px;width:8px}
.territory-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:999px}
