/* ============================================================
   MSN Solution — Customer Portal theme
   Separate, simpler design from the reseller admin panel:
   top navbar instead of sidebar, card-based service grid.
   ============================================================ */

:root {
  --c-primary: #145da0;
  --c-primary-dark: #0d3b66;
  --c-accent: #1fb6a4;
  --c-radius: 12px;
  --c-shadow: 0 4px 16px rgba(13, 59, 102, 0.10);
  --c-shadow-hover: 0 10px 28px rgba(13, 59, 102, 0.16);
}

body {
  background: #f4f8fb;
  font-family: 'Fira Sans', sans-serif;
}

/* ---- Navbar ---- */
.customer-navbar {
  background: linear-gradient(135deg, var(--c-primary), var(--c-accent));
  box-shadow: 0 2px 10px rgba(0,0,0,0.12);
}
.customer-navbar .nav-link {
  color: rgba(255,255,255,0.9) !important;
  font-weight: 500;
}
.customer-navbar .nav-link:hover {
  color: #fff !important;
}
.customer-balance-badge {
  background: rgba(255,255,255,0.18);
  color: #fff;
  font-size: 0.95rem;
  padding: 0.5em 0.9em;
  border-radius: 20px;
}

/* ---- Auth pages (login/register) ---- */
.customer-auth-body {
  background: linear-gradient(135deg, var(--c-primary), var(--c-accent));
  min-height: 100vh;
}
.customer-auth-card {
  border: none;
  border-radius: var(--c-radius);
  box-shadow: var(--c-shadow-hover);
  overflow: hidden;
}
.customer-auth-header {
  background: linear-gradient(135deg, var(--c-primary-dark), var(--c-primary));
}
.customer-link {
  color: var(--c-primary);
  text-decoration: none;
  font-weight: 500;
}
.customer-link:hover {
  text-decoration: underline;
}

/* ---- Dashboard cards / service grid ---- */
.customer-main {
  min-height: 70vh;
}
.service-tile {
  display: block;
  text-align: center;
  background: #fff;
  border-radius: var(--c-radius);
  box-shadow: var(--c-shadow);
  padding: 1.5rem 1rem;
  text-decoration: none;
  color: #333;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
  height: 100%;
}
.service-tile:hover {
  box-shadow: var(--c-shadow-hover);
  transform: translateY(-3px);
  color: var(--c-primary-dark);
}
.service-tile i {
  font-size: 2rem;
  color: var(--c-primary);
  margin-bottom: 0.5rem;
}
.service-tile .service-name {
  display: block;
  font-weight: 600;
  font-size: 0.9rem;
  margin-top: 0.5rem;
}

.customer-card {
  background: #fff;
  border-radius: var(--c-radius);
  box-shadow: var(--c-shadow);
  border: none;
}

.btn-primary {
  background-color: var(--c-primary);
  border-color: var(--c-primary);
}
.btn-primary:hover {
  background-color: var(--c-primary-dark);
  border-color: var(--c-primary-dark);
}

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; }
}
