@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700&family=Open+Sans:wght@400;500;600;700&display=swap');

:root {
  --flor-primary: #0073B2;
  --flor-secondary: #75D8F1;
  --flor-text: #333333;
  --flor-bg: #f6fbfe;
  --flor-border: #dceef7;
}

body {
  font-family: "Open Sans", sans-serif;
  color: var(--flor-text);
  background: var(--flor-bg);
}

h1, h2, h3, h4, h5, h6, .font-heading {
  font-family: "Montserrat", sans-serif;
}

.text-primary { color: var(--flor-primary) !important; }
.bg-primary { background-color: var(--flor-primary) !important; }
.btn-primary {
  --ar-btn-bg: var(--flor-primary);
  --ar-btn-border-color: var(--flor-primary);
  --ar-btn-hover-bg: #005f93;
  --ar-btn-hover-border-color: #005f93;
  --ar-btn-active-bg: #005482;
  --ar-btn-active-border-color: #005482;
}

.flor-logo { max-width: 230px; height: auto; }
.flor-logo-sm { max-width: 170px; height: auto; }

.auth-shell { min-height: 100vh; background: #fff; }
.auth-panel { min-height: 100vh; }
.auth-cover {
  min-height: 100vh;
  background:
    radial-gradient(circle at 20% 20%, rgba(117,216,241,.60), transparent 34%),
    radial-gradient(circle at 80% 75%, rgba(0,115,178,.26), transparent 40%),
    linear-gradient(145deg, #ecfaff 0%, #dff5fc 45%, #f8fdff 100%);
}
.auth-cover-card {
  max-width: 560px;
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.9);
  border-radius: 2rem;
  box-shadow: 0 1.5rem 4rem rgba(0,115,178,.12);
}

.form-control:focus {
  border-color: var(--flor-secondary);
  box-shadow: 0 0 0 .25rem rgba(117,216,241,.25);
}

.flor-admin-topbar { background: #fff; border-bottom: 1px solid var(--flor-border); }
.flor-sidebar {
  background: #fff;
  border-right: 1px solid var(--flor-border);
  min-height: calc(100vh - 72px);
}
.flor-sidebar .nav-link {
  color: #46545e;
  border-radius: .8rem;
  padding: .72rem .9rem;
}
.flor-sidebar .nav-link:hover,
.flor-sidebar .nav-link.active {
  color: var(--flor-primary);
  background: rgba(117,216,241,.18);
}
.flor-card { border: 1px solid var(--flor-border); box-shadow: 0 .3rem 1.2rem rgba(0,115,178,.04); }

@media (max-width: 991.98px) {
  .auth-cover { display: none !important; }
  .auth-panel { min-height: 100vh; }
  .flor-logo { max-width: 200px; }
}
