:root {
  --m360-navy: #0b2545;
  --m360-blue: #1361ff;
  --m360-teal: #0fb5ae;
  --m360-amber: #ff9f1c;
  --m360-red: #e5484d;
  --m360-bg: #f4f6fb;
}

body { background: var(--m360-bg); font-family: 'Segoe UI', Roboto, -apple-system, sans-serif; }

.brand-mark {
  width: 64px; height: 64px; border-radius: 16px;
  background: #fff; color: var(--m360-navy);
  display: flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: 1.1rem;
}
.brand-mark-sm {
  background: #fff; color: var(--m360-navy); font-weight: 800;
  border-radius: 8px; padding: 2px 8px; font-size: .85rem;
}

/* ---------- App shell (tenant + admin) ---------- */
.auth-bg { min-height: 100vh; background: linear-gradient(135deg, var(--m360-navy), var(--m360-blue)); }
.app-navbar { background: var(--m360-navy); }
.app-shell { display: flex; min-height: calc(100vh - 56px); }

.sidebar { width: 240px; background: #fff; border-right: 1px solid #e7eaf3; padding: 1rem 0; flex-shrink: 0; }
.sidebar .nav-link { color: #445; padding: .5rem 1.25rem; font-size: .9rem; display: flex; align-items: center; gap: .5rem; }
.sidebar .nav-link.active, .sidebar .nav-link:hover { background: #eef3ff; color: var(--m360-blue); font-weight: 600; }
.sidebar .nav-section { font-size: .7rem; text-transform: uppercase; letter-spacing: .05em; color: #99a; padding: 1rem 1.25rem .25rem; }

.content-area { flex: 1; padding: 1.5rem; max-width: 100%; overflow-x: auto; }

.stat-card { border: none; border-radius: 12px; box-shadow: 0 2px 10px rgba(20,30,60,.06); }
.stat-card .stat-value { font-size: 1.6rem; font-weight: 700; }

.badge-status-new { background:#6c757d; }
.badge-status-awaiting_parts { background: var(--m360-amber); }
.badge-status-in_progress { background: var(--m360-blue); }
.badge-status-quality_check { background:#8b5cf6; }
.badge-status-completed { background: var(--m360-teal); }
.badge-status-invoiced { background:#198754; }
.badge-status-cancelled, .badge-status-no_show { background: var(--m360-red); }
.badge-status-pending { background:#adb5bd; }
.badge-status-confirmed { background: var(--m360-blue); }

.card { border-radius: 12px; }

.scheduler-grid { display: grid; border: 1px solid #e7eaf3; border-radius: 8px; overflow: hidden; background:#fff; }
.scheduler-cell { border-right: 1px solid #f0f2f8; border-bottom: 1px solid #f0f2f8; min-height: 46px; padding: 2px; font-size: .75rem; position: relative; }
.scheduler-job { background: var(--m360-blue); color:#fff; border-radius: 4px; padding: 2px 4px; font-size: .7rem; margin-bottom: 2px; cursor:pointer; }

@media (max-width: 991px) {
  .sidebar { position: fixed; z-index: 1030; left: -240px; top: 56px; bottom: 0; transition: left .2s; }
  body.sidebar-open .sidebar { left: 0; }
}

/* ---------- Marketing site ---------- */
.marketing-body { background: #fff; }
.marketing-nav { background: var(--m360-navy); }
.footer-link { color: #cbd5e1; text-decoration: none; }
.footer-link:hover { color: #fff; }
.marketing-footer { background: var(--m360-navy); }

.hero-section {
  background: linear-gradient(135deg, var(--m360-navy) 0%, var(--m360-blue) 100%);
  color: #fff;
  padding: 5rem 0 6rem;
}
.hero-section .lead { color: #dbe6ff; }

.feature-icon {
  width: 48px; height: 48px; border-radius: 12px;
  background: #eef3ff; color: var(--m360-blue);
  display: flex; align-items: center; justify-content: center; font-size: 1.4rem;
}

.pricing-card { border-radius: 16px; border: 1px solid #e7eaf3; transition: transform .15s; }
.pricing-card.featured { border: 2px solid var(--m360-blue); box-shadow: 0 8px 30px rgba(19,97,255,.15); }
.pricing-card:hover { transform: translateY(-4px); }

.section-eyebrow { color: var(--m360-blue); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; font-size: .75rem; }
