/* Gestor-Soft brand colors for gestaobd_v2 admin */
:root {
  --gs-baltic: #ee6c4d;
  --gs-cerulean: #069b99;
  --gs-cyan: #5ad6d9;
  --gs-smoke: #ebeaeb;
  --gs-royal: #094074;
}
.text-cyan { color: var(--gs-cyan) !important; }
.text-baltic { color: var(--gs-baltic) !important; }
.bg-baltic { background-color: var(--gs-baltic) !important; color: #fff; }
.bg-cerulean { background-color: var(--gs-cerulean) !important; color: #fff; }
.bg-cyan { background-color: var(--gs-cyan) !important; color: #032a4a; }
.bg-royal { background-color: var(--gs-royal) !important; color: #fff; }

.btn-brand {
  background: linear-gradient(90deg, var(--gs-baltic), var(--gs-cerulean));
  color: #fff !important; border: 0; padding: 10px 22px;
  border-radius: 50px; font-weight: 600; transition: .25s;
}
.btn-brand:hover { filter: brightness(1.12); color: #fff; }

.btn-cyan {
  background: var(--gs-cyan); color: #03345a !important; border: 0;
  padding: 10px 22px; border-radius: 50px; font-weight: 600; transition: .25s;
}
.btn-cyan:hover { background: #03b9b9; color: #fff !important; }

/* Sidebar overrides */
.sidebar { background: linear-gradient(180deg, #069b99 0%, #032a4a 100%) !important; }
.sidebar a:hover, .sidebar a.active { background: rgba(4,217,217,0.15); color: var(--gs-cyan) !important; }

/* Login page */
.login-wrap {
  min-height: 100vh;
  background:
    linear-gradient(135deg, rgba(3,101,140,.92), rgba(54,36,166,.85)),
    radial-gradient(circle at top right, rgba(4,217,217,.4) 0%, transparent 60%);
  display: flex; align-items: center; justify-content: center;
  padding: 2rem;
}
.login-card {
  width: 100%; max-width: 920px;
  background: #fff; border-radius: 20px; overflow: hidden;
  box-shadow: 0 20px 50px rgba(0,0,0,.25);
  display: grid; grid-template-columns: 1fr 1fr;
}
.login-card .left {
  padding: 3rem 2.5rem;
  background: linear-gradient(135deg, #069b99, #094074);
  color: #fff; display: flex; flex-direction: column; justify-content: center;
}
.login-card .left h2 { color: #fff; font-weight: 700; }
.login-card .left p { color: #cfe6f0; }
.login-card .left .feature {
  display: flex; align-items: center; gap: .6rem; margin: .5rem 0;
}
.login-card .left .feature i { color: var(--gs-cyan); font-size: 1.3rem; }
.login-card .right { padding: 3rem 2.5rem; }
.login-card .logo-wrap {
  width: 80px; height: 80px;
  background: #fff; border-radius: 18px; padding: 8px;
  box-shadow: 0 6px 20px rgba(0,0,0,.15); margin-bottom: 1rem;
}
.login-card .logo-wrap img { width: 100%; height: 100%; object-fit: contain; }
.login-card .form-control:focus {
  border-color: var(--gs-cerulean);
  box-shadow: 0 0 0 .25rem rgba(3,115,140,.15);
}
.login-card .form-floating > label { color: #6c757d; }
@media (max-width: 768px) {
  .login-card { grid-template-columns: 1fr; }
  .login-card .left { display: none; }
}

/* Search & filter bar */
.filter-bar {
  background: #fff; padding: 1rem; border-radius: .6rem;
  border: 1px solid #e2e8f0; margin-bottom: 1rem;
}
.filter-bar label { font-size: .8rem; color: #475569; font-weight: 500; margin-bottom: .15rem; }
.filter-bar .form-control, .filter-bar .form-select { border-color: #cbd5e1; }

/* Pagination */
.page-link { color: var(--gs-baltic); }
.page-item.active .page-link {
  background-color: var(--gs-baltic); border-color: var(--gs-baltic); color: #fff;
}
