/* PRIMARY GRADIENT BUTTON */
/* line 2, app/assets/stylesheets/bills.scss */
.btn-modern-primary {
  background: linear-gradient(135deg, #4f46e5, #6366f1);
  color: #fff !important;
  border: none;
  padding: 10px 20px;
  border-radius: 50px;
  font-weight: 600;
  box-shadow: 0 8px 20px rgba(79, 70, 229, 0.3);
  transition: all 0.3s ease;
}

/* line 13, app/assets/stylesheets/bills.scss */
.btn-modern-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 25px rgba(79, 70, 229, 0.4);
}

/* line 18, app/assets/stylesheets/bills.scss */
.btn-modern-view {
  background: rgba(99, 102, 241, 0.1);
  color: #4f46e5 !important;
  border: 1px solid rgba(99, 102, 241, 0.3);
  border-radius: 30px;
  padding: 6px 14px;
  font-weight: 700;
  transition: all 0.25s ease;
}

/* line 28, app/assets/stylesheets/bills.scss */
.btn-modern-view:hover {
  background: #1f2937 !important;
  color: #fff !important;
  transform: translateY(-1px);
}

/* Bills index */
/* line 35, app/assets/stylesheets/bills.scss */
.bills-page {
  margin: -1rem -12px 0;
  padding: 0 4px 2rem;
}

/* line 40, app/assets/stylesheets/bills.scss */
.bills-hero {
  background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 45%, #4f46e5 100%);
  border-radius: 24px;
  padding: 2rem;
  color: #fff;
  margin-bottom: 2rem;
  box-shadow: 0 24px 60px rgba(79, 70, 229, 0.28);
}

/* line 49, app/assets/stylesheets/bills.scss */
.bills-hero h2 {
  font-weight: 800;
  letter-spacing: -0.03em;
}

/* line 54, app/assets/stylesheets/bills.scss */
.bills-stat-pill {
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 18px;
  padding: 1rem;
  text-align: center;
}

/* line 63, app/assets/stylesheets/bills.scss */
.bills-stat-pill .stat-value {
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.2;
}

/* line 69, app/assets/stylesheets/bills.scss */
.bills-stat-pill .stat-label {
  font-size: 0.7rem;
  opacity: 0.85;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-top: 0.35rem;
}

/* line 77, app/assets/stylesheets/bills.scss */
.bills-stat-pill.pending .stat-value {
  color: #fcd34d;
}

/* line 78, app/assets/stylesheets/bills.scss */
.bills-stat-pill.paid .stat-value {
  color: #86efac;
}

/* line 79, app/assets/stylesheets/bills.scss */
.bills-stat-pill.sales .stat-value {
  color: #67e8f9;
  font-size: 1.25rem;
}

/* line 81, app/assets/stylesheets/bills.scss */
.bills-search .input-group {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}

/* line 87, app/assets/stylesheets/bills.scss */
.bills-search .form-control,
.bills-search .input-group-text {
  border-color: #e2e8f0;
  padding-top: 0.65rem;
  padding-bottom: 0.65rem;
}

/* line 94, app/assets/stylesheets/bills.scss */
.bills-tabs .nav-link {
  border-radius: 30px;
  padding: 0.5rem 1.25rem;
  font-weight: 600;
  color: #475569;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
  border: 2px solid transparent;
}

/* line 104, app/assets/stylesheets/bills.scss */
.bills-tabs .nav-link.active.bill-tab--all {
  background: linear-gradient(135deg, #4f46e5, #6366f1);
  color: #fff;
  border-color: #4f46e5;
}

/* line 110, app/assets/stylesheets/bills.scss */
.bills-tabs .nav-link.active.bill-tab--pending {
  background: linear-gradient(135deg, #f59e0b, #fbbf24);
  color: #78350f;
  border-color: #f59e0b;
}

/* line 116, app/assets/stylesheets/bills.scss */
.bills-tabs .nav-link.active.bill-tab--paid {
  background: linear-gradient(135deg, #059669, #34d399);
  color: #fff;
  border-color: #059669;
}

/* line 122, app/assets/stylesheets/bills.scss */
.bills-list-card {
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
  overflow: hidden;
  border: 1px solid #e2e8f0;
}

/* line 130, app/assets/stylesheets/bills.scss */
.bills-table {
  margin-bottom: 0;
}

/* line 134, app/assets/stylesheets/bills.scss */
.bills-table thead th {
  background: linear-gradient(135deg, #0f172a, #1e1b4b);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border: none;
  padding: 0.85rem 1rem;
  white-space: nowrap;
}

/* line 146, app/assets/stylesheets/bills.scss */
.bills-table tbody td {
  padding: 0.85rem 1rem;
  border-bottom: 1px solid #f1f5f9;
  font-size: 0.88rem;
  vertical-align: middle;
}

/* line 153, app/assets/stylesheets/bills.scss */
.bills-table tbody tr:last-child td {
  border-bottom: none;
}

/* line 157, app/assets/stylesheets/bills.scss */
.bill-row:hover {
  background: #f8fafc;
}

/* line 161, app/assets/stylesheets/bills.scss */
.bill-row.bill-card--pending {
  border-left: 4px solid #f59e0b;
}

/* line 165, app/assets/stylesheets/bills.scss */
.bill-row.bill-card--paid {
  border-left: 4px solid #10b981;
}

/* line 169, app/assets/stylesheets/bills.scss */
.bill-number {
  color: #4f46e5;
}

/* line 173, app/assets/stylesheets/bills.scss */
.bill-amount {
  color: #059669;
  font-size: 0.95rem;
}

/* line 178, app/assets/stylesheets/bills.scss */
.bill-list-badge {
  display: inline-block;
  border-radius: 20px;
  padding: 0.2rem 0.65rem;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* line 188, app/assets/stylesheets/bills.scss */
.bill-list-badge.pending {
  background: #fef3c7;
  color: #92400e;
}

/* line 193, app/assets/stylesheets/bills.scss */
.bill-list-badge.paid {
  background: #d1fae5;
  color: #065f46;
}

@media (max-width: 576px) {
  /* line 199, app/assets/stylesheets/bills.scss */
  .bills-hero {
    padding: 1.25rem;
  }
  /* line 203, app/assets/stylesheets/bills.scss */
  .bills-stat-pill .stat-value {
    font-size: 1.25rem;
  }
}

/* Bill show page */
/* line 209, app/assets/stylesheets/bills.scss */
.bill-show-page .payment-receipt-card {
  border-radius: 22px;
}

/* line 213, app/assets/stylesheets/bills.scss */
.bill-show-page .payment-receipt-preview {
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 18px;
  padding: 1.5rem 1rem;
  display: flex;
  justify-content: center;
}

/* line 222, app/assets/stylesheets/bills.scss */
.bill-show-page .payment-receipt-preview #bill-print-area {
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}

/* line 226, app/assets/stylesheets/bills.scss */
.bill-show-page .btn-pay-release {
  background: linear-gradient(135deg, #059669, #10b981);
  border: none;
  color: #fff;
  padding: 0.75rem;
}

/* line 233, app/assets/stylesheets/bills.scss */
.bill-show-page .btn-pay-release:hover {
  background: linear-gradient(135deg, #047857, #059669);
  color: #fff;
  box-shadow: 0 8px 24px rgba(16, 185, 129, 0.35);
}

/* line 239, app/assets/stylesheets/bills.scss */
.bill-show-page .order-summary-card {
  border-radius: 22px;
  border: none;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.08);
}

/* line 245, app/assets/stylesheets/bills.scss */
.bill-show-page .order-summary-card .summary-total {
  font-size: 1.85rem;
  font-weight: 800;
  color: #4f46e5;
}
/* line 1, app/assets/stylesheets/companies.scss */
.company-page {
  margin: -1rem -12px 0;
  padding: 0 4px 3rem;
}

/* line 6, app/assets/stylesheets/companies.scss */
.company-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 45%, #4f46e5 100%);
  border-radius: 24px;
  padding: 2rem;
  color: #fff;
  margin-bottom: 2rem;
  box-shadow: 0 24px 60px rgba(79, 70, 229, 0.28);
}

/* line 17, app/assets/stylesheets/companies.scss */
.company-hero::before {
  content: "";
  position: absolute;
  width: 280px;
  height: 280px;
  top: -100px;
  right: -60px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
  pointer-events: none;
}

/* line 29, app/assets/stylesheets/companies.scss */
.company-hero-content {
  position: relative;
  z-index: 1;
}

/* line 34, app/assets/stylesheets/companies.scss */
.company-hero h1 {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  margin-bottom: 0.35rem;
}

/* line 41, app/assets/stylesheets/companies.scss */
.company-hero-lead {
  opacity: 0.88;
  margin-bottom: 0;
  max-width: 560px;
}

/* line 47, app/assets/stylesheets/companies.scss */
.company-stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 0.75rem;
  margin-top: 1.5rem;
}

/* line 54, app/assets/stylesheets/companies.scss */
.company-stat-pill {
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 16px;
  padding: 0.85rem;
  text-align: center;
}

/* line 63, app/assets/stylesheets/companies.scss */
.company-stat-pill .stat-value {
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.2;
}

/* line 69, app/assets/stylesheets/companies.scss */
.company-stat-pill .stat-label {
  font-size: 0.65rem;
  opacity: 0.85;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-top: 0.25rem;
}

/* line 77, app/assets/stylesheets/companies.scss */
.company-stat-pill.available .stat-value {
  color: #86efac;
}

/* line 78, app/assets/stylesheets/companies.scss */
.company-stat-pill.occupied .stat-value {
  color: #fca5a5;
}

/* line 79, app/assets/stylesheets/companies.scss */
.company-stat-pill.reserved .stat-value {
  color: #fcd34d;
}

/* line 81, app/assets/stylesheets/companies.scss */
.company-detail-card {
  background: #fff;
  border-radius: 22px;
  border: 1px solid #e2e8f0;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
  overflow: hidden;
}

/* line 89, app/assets/stylesheets/companies.scss */
.company-detail-card .card-header {
  background: linear-gradient(135deg, #f8fafc, #eef2ff);
  border-bottom: 1px solid #e2e8f0;
  font-weight: 700;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #475569;
  padding: 1rem 1.25rem;
}

/* line 100, app/assets/stylesheets/companies.scss */
.company-detail-card .card-body {
  padding: 1.25rem;
}

/* line 104, app/assets/stylesheets/companies.scss */
.company-info-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.65rem 0;
  border-bottom: 1px solid #f1f5f9;
  font-size: 0.88rem;
}

/* line 113, app/assets/stylesheets/companies.scss */
.company-info-row:last-child {
  border-bottom: none;
}

/* line 117, app/assets/stylesheets/companies.scss */
.company-info-row dt {
  color: #64748b;
  font-weight: 600;
  margin: 0;
  min-width: 110px;
}

/* line 124, app/assets/stylesheets/companies.scss */
.company-info-row dd {
  margin: 0;
  text-align: right;
  color: #0f172a;
  font-weight: 500;
}

/* line 131, app/assets/stylesheets/companies.scss */
.company-table {
  margin-bottom: 0;
}

/* line 135, app/assets/stylesheets/companies.scss */
.company-table thead th {
  background: linear-gradient(135deg, #0f172a, #1e1b4b);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border: none;
  padding: 0.75rem 1rem;
}

/* line 146, app/assets/stylesheets/companies.scss */
.company-table tbody td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #f1f5f9;
  font-size: 0.88rem;
  vertical-align: middle;
}

/* line 153, app/assets/stylesheets/companies.scss */
.company-table tbody tr:last-child td {
  border-bottom: none;
}

/* line 157, app/assets/stylesheets/companies.scss */
.company-table tbody tr:hover {
  background: #f8fafc;
}

/* line 161, app/assets/stylesheets/companies.scss */
.company-meta-note {
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 14px;
  padding: 0.85rem 1rem;
  font-size: 0.82rem;
  color: #64748b;
}

/* line 170, app/assets/stylesheets/companies.scss */
.btn-company-primary {
  background: linear-gradient(135deg, #4f46e5, #6366f1);
  color: #fff !important;
  border: none;
  padding: 0.65rem 1.5rem;
  border-radius: 999px;
  font-weight: 700;
  box-shadow: 0 8px 20px rgba(79, 70, 229, 0.3);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* line 181, app/assets/stylesheets/companies.scss */
.btn-company-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(79, 70, 229, 0.4);
  color: #fff;
}

@media (max-width: 576px) {
  /* line 188, app/assets/stylesheets/companies.scss */
  .company-hero {
    padding: 1.25rem;
    border-radius: 20px;
  }
  /* line 193, app/assets/stylesheets/companies.scss */
  .company-info-row {
    flex-direction: column;
    gap: 0.15rem;
  }
  /* line 198, app/assets/stylesheets/companies.scss */
  .company-info-row dd {
    text-align: left;
  }
}

/* line 203, app/assets/stylesheets/companies.scss */
.navbar .dropdown-toggle.btn-link {
  line-height: inherit;
}

/* line 207, app/assets/stylesheets/companies.scss */
.navbar .dropdown-toggle.btn-link::after {
  vertical-align: middle;
}

/* line 211, app/assets/stylesheets/companies.scss */
.navbar .dropdown-toggle.btn-link.active {
  font-weight: 600;
}
@charset "UTF-8";
/* ═══════════════════════════════════════════
   CONTACT US PAGE
   ═══════════════════════════════════════════ */
/* line 5, app/assets/stylesheets/contact.scss */
.contact-page {
  margin: -1rem -12px 0;
  padding: 0;
  overflow-x: hidden;
}

/* line 11, app/assets/stylesheets/contact.scss */
.landing-body .contact-page {
  margin: 0;
}

/* ── Hero ── */
/* line 16, app/assets/stylesheets/contact.scss */
.contact-hero-v2 {
  position: relative;
  background: linear-gradient(135deg, #0a0a12 0%, #1e1b4b 40%, #312e81 70%, #4f46e5 100%);
  padding: 3.5rem 0 4rem;
  overflow: hidden;
  color: #fff;
}

/* line 24, app/assets/stylesheets/contact.scss */
.contact-hero-orbs {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}

/* line 31, app/assets/stylesheets/contact.scss */
.contact-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
  opacity: 0.45;
}

/* line 38, app/assets/stylesheets/contact.scss */
.contact-orb.orb-1 {
  width: 320px;
  height: 320px;
  background: #a855f7;
  top: -80px;
  right: -60px;
  animation: contactFloat 8s ease-in-out infinite;
}

/* line 47, app/assets/stylesheets/contact.scss */
.contact-orb.orb-2 {
  width: 240px;
  height: 240px;
  background: #f59e0b;
  bottom: -40px;
  left: 10%;
  animation: contactFloat 10s ease-in-out infinite 1s;
}

/* line 56, app/assets/stylesheets/contact.scss */
.contact-orb.orb-3 {
  width: 180px;
  height: 180px;
  background: #06b6d4;
  top: 40%;
  left: 45%;
  animation: contactFloat 12s ease-in-out infinite 2s;
}

@keyframes contactFloat {
  0%, 100% {
    transform: translate(0, 0) scale(1);
  }
  50% {
    transform: translate(20px, -15px) scale(1.08);
  }
}

/* line 70, app/assets/stylesheets/contact.scss */
.contact-eyebrow {
  display: inline-block;
  background: rgba(245, 158, 11, 0.15);
  color: #fbbf24;
  padding: 0.35rem 1rem;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 600;
  margin-bottom: 1rem;
  border: 1px solid rgba(245, 158, 11, 0.25);
}

/* line 82, app/assets/stylesheets/contact.scss */
.contact-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin-bottom: 1rem;
}

/* line 91, app/assets/stylesheets/contact.scss */
.contact-lead {
  font-size: 1.05rem;
  color: rgba(255, 255, 255, 0.78);
  max-width: 540px;
  line-height: 1.65;
  margin-bottom: 1.75rem;
}

/* line 99, app/assets/stylesheets/contact.scss */
.contact-hero-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
}

/* line 105, app/assets/stylesheets/contact.scss */
.contact-stat {
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 16px;
  padding: 0.85rem 1.25rem;
  min-width: 120px;
}

/* line 114, app/assets/stylesheets/contact.scss */
.contact-stat strong {
  display: block;
  font-size: 1.1rem;
  font-weight: 800;
  color: #fff;
}

/* line 121, app/assets/stylesheets/contact.scss */
.contact-stat span {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.55);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* line 128, app/assets/stylesheets/contact.scss */
.contact-hero-card {
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 24px;
  padding: 2rem;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.25);
}

/* line 137, app/assets/stylesheets/contact.scss */
.contact-hero-card-icon {
  width: 56px;
  height: 56px;
  background: linear-gradient(135deg, #f59e0b, #ef4444);
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  margin-bottom: 1.25rem;
  box-shadow: 0 8px 24px rgba(239, 68, 68, 0.35);
}

/* line 150, app/assets/stylesheets/contact.scss */
.contact-hero-card h3 {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

/* line 156, app/assets/stylesheets/contact.scss */
.contact-hero-card p {
  font-size: 0.88rem;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 1.25rem;
}

/* line 162, app/assets/stylesheets/contact.scss */
.contact-hero-link {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  color: #fff !important;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 500;
  padding: 0.55rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  transition: color 0.2s, padding-left 0.2s;
}

/* line 175, app/assets/stylesheets/contact.scss */
.contact-hero-link:last-child {
  border-bottom: none;
}

/* line 177, app/assets/stylesheets/contact.scss */
.contact-hero-link:hover {
  color: #fcd34d !important;
  padding-left: 0.35rem;
}

/* line 182, app/assets/stylesheets/contact.scss */
.contact-hero-link i {
  width: 32px;
  height: 32px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
}

/* ── Body section ── */
/* line 194, app/assets/stylesheets/contact.scss */
.contact-body-section {
  padding: 3rem 0;
  background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
}

/* line 199, app/assets/stylesheets/contact.scss */
.landing-body .contact-body-section {
  background: linear-gradient(180deg, #0f172a 0%, #1e293b 100%);
}

/* line 203, app/assets/stylesheets/contact.scss */
.contact-form-card-v2 {
  background: #fff;
  border-radius: 24px;
  border: 1px solid #e2e8f0;
  box-shadow: 0 20px 60px rgba(15, 23, 42, 0.08);
  overflow: hidden;
  height: 100%;
}

/* line 212, app/assets/stylesheets/contact.scss */
.landing-body .contact-form-card-v2 {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.1);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

/* line 218, app/assets/stylesheets/contact.scss */
.contact-form-header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.5rem 1.75rem;
  background: linear-gradient(135deg, #f8fafc, #eef2ff);
  border-bottom: 1px solid #e2e8f0;
}

/* line 229, app/assets/stylesheets/contact.scss */
.landing-body .contact-form-header {
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.12), rgba(139, 92, 246, 0.08));
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

/* line 234, app/assets/stylesheets/contact.scss */
.contact-form-header h2 {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 0.25rem;
  color: #0f172a;
}

/* line 241, app/assets/stylesheets/contact.scss */
.landing-body .contact-form-header h2 {
  color: #fff;
}

/* line 243, app/assets/stylesheets/contact.scss */
.contact-form-header p {
  margin: 0;
  font-size: 0.85rem;
  color: #64748b;
}

/* line 249, app/assets/stylesheets/contact.scss */
.landing-body .contact-form-header p {
  color: rgba(255, 255, 255, 0.6);
}

/* line 251, app/assets/stylesheets/contact.scss */
.contact-form-badge {
  background: linear-gradient(135deg, #059669, #10b981);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

/* line 263, app/assets/stylesheets/contact.scss */
.contact-form-body {
  padding: 1.75rem;
}

/* line 267, app/assets/stylesheets/contact.scss */
.contact-form .form-label {
  font-weight: 600;
  font-size: 0.82rem;
  color: #475569;
  margin-bottom: 0.35rem;
}

/* line 274, app/assets/stylesheets/contact.scss */
.landing-body .contact-form .form-label {
  color: rgba(255, 255, 255, 0.75);
}

/* line 276, app/assets/stylesheets/contact.scss */
.contact-input-wrap {
  position: relative;
}

/* line 280, app/assets/stylesheets/contact.scss */
.contact-input-wrap i {
  position: absolute;
  left: 0.85rem;
  top: 50%;
  transform: translateY(-50%);
  color: #94a3b8;
  font-size: 0.95rem;
  pointer-events: none;
}

/* line 290, app/assets/stylesheets/contact.scss */
.contact-input-wrap .form-control {
  padding-left: 2.5rem;
  border-radius: 12px;
  border-color: #e2e8f0;
  padding-top: 0.65rem;
  padding-bottom: 0.65rem;
}

/* line 298, app/assets/stylesheets/contact.scss */
.landing-body .contact-input-wrap .form-control,
.landing-body .contact-textarea {
  background: rgba(0, 0, 0, 0.25);
  border-color: rgba(255, 255, 255, 0.12);
  color: #fff;
}

/* line 305, app/assets/stylesheets/contact.scss */
.landing-body .contact-input-wrap .form-control::placeholder,
.landing-body .contact-textarea::placeholder {
  color: rgba(255, 255, 255, 0.35);
}

/* line 310, app/assets/stylesheets/contact.scss */
.contact-input-wrap .form-control:focus,
.contact-textarea:focus {
  border-color: #6366f1;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15);
}

/* line 316, app/assets/stylesheets/contact.scss */
.contact-textarea {
  border-radius: 12px;
  border-color: #e2e8f0;
  resize: vertical;
  min-height: 130px;
}

/* line 323, app/assets/stylesheets/contact.scss */
.contact-submit-btn {
  background: linear-gradient(135deg, #4f46e5, #6366f1);
  color: #fff !important;
  border: none;
  padding: 0.7rem 1.75rem;
  border-radius: 999px;
  font-weight: 700;
  box-shadow: 0 8px 24px rgba(79, 70, 229, 0.35);
  transition: transform 0.2s, box-shadow 0.2s;
}

/* line 334, app/assets/stylesheets/contact.scss */
.contact-submit-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(79, 70, 229, 0.45);
  color: #fff;
}

/* line 340, app/assets/stylesheets/contact.scss */
.contact-submit-btn.is-sent {
  background: linear-gradient(135deg, #059669, #10b981);
}

/* line 344, app/assets/stylesheets/contact.scss */
.contact-back-btn {
  border: 1px solid #e2e8f0;
  color: #64748b !important;
  border-radius: 999px;
  padding: 0.7rem 1.25rem;
  font-weight: 600;
  font-size: 0.88rem;
}

/* line 353, app/assets/stylesheets/contact.scss */
.landing-body .contact-back-btn {
  border-color: rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.7) !important;
}

/* line 358, app/assets/stylesheets/contact.scss */
.contact-side-stack {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  height: 100%;
}

/* line 365, app/assets/stylesheets/contact.scss */
.contact-side-card {
  flex: 1;
  background: #fff;
  border-radius: 20px;
  padding: 1.35rem 1.5rem;
  border: 1px solid #e2e8f0;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
  transition: transform 0.2s, box-shadow 0.2s;
}

/* line 375, app/assets/stylesheets/contact.scss */
.landing-body .contact-side-card {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.1);
}

/* line 380, app/assets/stylesheets/contact.scss */
.contact-side-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.1);
}

/* line 385, app/assets/stylesheets/contact.scss */
.contact-side-card.accent-indigo {
  border-left: 4px solid #6366f1;
}

/* line 386, app/assets/stylesheets/contact.scss */
.contact-side-card.accent-emerald {
  border-left: 4px solid #10b981;
}

/* line 387, app/assets/stylesheets/contact.scss */
.contact-side-card.accent-amber {
  border-left: 4px solid #f59e0b;
}

/* line 389, app/assets/stylesheets/contact.scss */
.contact-side-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  margin-bottom: 0.85rem;
}

/* line 400, app/assets/stylesheets/contact.scss */
.accent-indigo .contact-side-icon {
  background: #eef2ff;
  color: #4f46e5;
}

/* line 401, app/assets/stylesheets/contact.scss */
.accent-emerald .contact-side-icon {
  background: #d1fae5;
  color: #059669;
}

/* line 402, app/assets/stylesheets/contact.scss */
.accent-amber .contact-side-icon {
  background: #fef3c7;
  color: #d97706;
}

/* line 404, app/assets/stylesheets/contact.scss */
.landing-body .accent-indigo .contact-side-icon {
  background: rgba(99, 102, 241, 0.2);
  color: #a5b4fc;
}

/* line 405, app/assets/stylesheets/contact.scss */
.landing-body .accent-emerald .contact-side-icon {
  background: rgba(16, 185, 129, 0.2);
  color: #6ee7b7;
}

/* line 406, app/assets/stylesheets/contact.scss */
.landing-body .accent-amber .contact-side-icon {
  background: rgba(245, 158, 11, 0.2);
  color: #fcd34d;
}

/* line 408, app/assets/stylesheets/contact.scss */
.contact-side-card h4 {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
  color: #0f172a;
}

/* line 415, app/assets/stylesheets/contact.scss */
.landing-body .contact-side-card h4 {
  color: #fff;
}

/* line 417, app/assets/stylesheets/contact.scss */
.contact-side-card p {
  font-size: 0.82rem;
  color: #64748b;
  margin-bottom: 0.5rem;
}

/* line 423, app/assets/stylesheets/contact.scss */
.landing-body .contact-side-card p {
  color: rgba(255, 255, 255, 0.55);
}

/* line 425, app/assets/stylesheets/contact.scss */
.contact-side-card a,
.contact-side-card strong {
  font-size: 0.9rem;
  font-weight: 600;
  color: #4f46e5;
  text-decoration: none;
}

/* line 433, app/assets/stylesheets/contact.scss */
.landing-body .contact-side-card a {
  color: #a5b4fc;
}

/* line 434, app/assets/stylesheets/contact.scss */
.landing-body .contact-side-card strong {
  color: #fcd34d;
}

/* line 436, app/assets/stylesheets/contact.scss */
.contact-side-card a:hover {
  text-decoration: underline;
}

/* ── Strucxil section ── */
/* line 439, app/assets/stylesheets/contact.scss */
.contact-strucxil-section {
  padding: 0 0 4rem;
  background: linear-gradient(180deg, #fff 0%, #f1f5f9 100%);
}

/* line 444, app/assets/stylesheets/contact.scss */
.landing-body .contact-strucxil-section {
  background: transparent;
  padding-bottom: 3rem;
}

/* line 449, app/assets/stylesheets/contact.scss */
.contact-strucxil-card {
  position: relative;
  background: linear-gradient(135deg, #050508 0%, #0f0a1a 40%, #1a1030 100%);
  border: 1px solid rgba(139, 92, 246, 0.3);
  border-radius: 28px;
  padding: 2.5rem;
  overflow: hidden;
  box-shadow: 0 32px 80px rgba(79, 70, 229, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

/* line 461, app/assets/stylesheets/contact.scss */
.contact-strucxil-glow {
  position: absolute;
  width: 400px;
  height: 400px;
  top: -150px;
  right: -100px;
  background: radial-gradient(circle, rgba(168, 85, 247, 0.25) 0%, transparent 65%);
  pointer-events: none;
}

/* line 471, app/assets/stylesheets/contact.scss */
.contact-strucxil-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}

@media (min-width: 992px) {
  /* line 479, app/assets/stylesheets/contact.scss */
  .contact-strucxil-brand {
    align-items: flex-start;
  }
}

/* line 484, app/assets/stylesheets/contact.scss */
.contact-strucxil-eye.strucxil-eye-wrap {
  width: 96px;
  height: 96px;
}

/* line 489, app/assets/stylesheets/contact.scss */
.contact-strucxil-eye .strucxil-eye {
  inset: 14px;
  font-size: 2rem;
}

/* line 494, app/assets/stylesheets/contact.scss */
.contact-strucxil-label {
  display: block;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: rgba(255, 255, 255, 0.45);
  margin-bottom: 0.35rem;
}

/* line 503, app/assets/stylesheets/contact.scss */
.contact-strucxil-name {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 700;
  margin: 0 0 0.5rem;
  background: linear-gradient(135deg, #fcd34d, #f97316, #c084fc);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: -0.02em;
}

/* line 515, app/assets/stylesheets/contact.scss */
.contact-strucxil-tagline {
  font-size: 0.88rem;
  color: rgba(255, 255, 255, 0.5);
  margin: 0;
  line-height: 1.5;
}

/* line 522, app/assets/stylesheets/contact.scss */
.contact-strucxil-intro {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.95rem;
  line-height: 1.65;
  margin-bottom: 1.5rem;
}

/* line 529, app/assets/stylesheets/contact.scss */
.contact-strucxil-intro strong {
  color: #fcd34d;
}

/* line 533, app/assets/stylesheets/contact.scss */
.contact-strucxil-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.85rem;
  margin-bottom: 1.5rem;
}

/* line 540, app/assets/stylesheets/contact.scss */
.contact-strucxil-tile {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: 1rem 1.1rem;
  transition: background 0.2s, border-color 0.2s;
}

/* line 551, app/assets/stylesheets/contact.scss */
.contact-strucxil-tile:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(167, 139, 250, 0.35);
}

/* line 556, app/assets/stylesheets/contact.scss */
.contact-strucxil-tile.wide {
  grid-column: 1 / -1;
}

/* line 560, app/assets/stylesheets/contact.scss */
.contact-strucxil-tile > i {
  width: 40px;
  height: 40px;
  background: linear-gradient(135deg, rgba(79, 70, 229, 0.3), rgba(168, 85, 247, 0.25));
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  color: #c4b5fd;
  flex-shrink: 0;
}

/* line 573, app/assets/stylesheets/contact.scss */
.contact-strucxil-tile span {
  display: block;
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(255, 255, 255, 0.45);
  margin-bottom: 0.15rem;
}

/* line 582, app/assets/stylesheets/contact.scss */
.contact-strucxil-tile strong,
.contact-strucxil-tile a {
  font-size: 0.88rem;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
}

/* line 590, app/assets/stylesheets/contact.scss */
.contact-strucxil-tile a:hover {
  color: #fcd34d;
}

/* line 594, app/assets/stylesheets/contact.scss */
.contact-strucxil-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

/* line 600, app/assets/stylesheets/contact.scss */
.contact-strucxil-btn-primary {
  background: linear-gradient(135deg, #f59e0b, #ef4444);
  color: #fff !important;
  border: none;
  border-radius: 999px;
  padding: 0.65rem 1.5rem;
  font-weight: 700;
  font-size: 0.88rem;
  box-shadow: 0 8px 28px rgba(239, 68, 68, 0.35);
  transition: transform 0.2s, box-shadow 0.2s;
}

/* line 612, app/assets/stylesheets/contact.scss */
.contact-strucxil-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 36px rgba(239, 68, 68, 0.45);
  color: #fff;
}

/* line 618, app/assets/stylesheets/contact.scss */
.contact-strucxil-btn-outline {
  background: transparent;
  color: rgba(255, 255, 255, 0.85) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.25);
  border-radius: 999px;
  padding: 0.65rem 1.5rem;
  font-weight: 600;
  font-size: 0.88rem;
  transition: background 0.2s, border-color 0.2s;
}

/* line 629, app/assets/stylesheets/contact.scss */
.contact-strucxil-btn-outline:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.4);
  color: #fff !important;
}

/* line 635, app/assets/stylesheets/contact.scss */
.strucxil-ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid rgba(167, 139, 250, 0.4);
}

/* line 642, app/assets/stylesheets/contact.scss */
.strucxil-ring.ring-1 {
  animation: ringPulse 3s ease-in-out infinite;
}

/* line 646, app/assets/stylesheets/contact.scss */
.strucxil-ring.ring-2 {
  inset: -8px;
  animation: ringPulse 3s ease-in-out infinite 0.5s;
  border-color: rgba(245, 158, 11, 0.3);
}

@keyframes ringPulse {
  0%, 100% {
    transform: scale(1);
    opacity: 0.6;
  }
  50% {
    transform: scale(1.15);
    opacity: 0.2;
  }
}

/* line 657, app/assets/stylesheets/contact.scss */
.strucxil-eye-wrap {
  position: relative;
  flex-shrink: 0;
}

/* line 662, app/assets/stylesheets/contact.scss */
.strucxil-eye {
  position: absolute;
  background: linear-gradient(135deg, #4f46e5, #a855f7);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  box-shadow: 0 0 30px rgba(168, 85, 247, 0.6), 0 0 60px rgba(79, 70, 229, 0.3);
  animation: eyeGlow 4s ease-in-out infinite;
}

@keyframes eyeGlow {
  0%, 100% {
    box-shadow: 0 0 30px rgba(168, 85, 247, 0.6), 0 0 60px rgba(79, 70, 229, 0.3);
  }
  50% {
    box-shadow: 0 0 50px rgba(245, 158, 11, 0.5), 0 0 80px rgba(168, 85, 247, 0.4);
  }
}

@media (max-width: 767px) {
  /* line 680, app/assets/stylesheets/contact.scss */
  .contact-hero-v2 {
    padding: 2.5rem 0 3rem;
  }
  /* line 681, app/assets/stylesheets/contact.scss */
  .landing-body .contact-hero-v2 {
    padding-top: 5.5rem;
  }
  /* line 682, app/assets/stylesheets/contact.scss */
  .contact-strucxil-grid {
    grid-template-columns: 1fr;
  }
  /* line 683, app/assets/stylesheets/contact.scss */
  .contact-strucxil-card {
    padding: 1.75rem;
  }
  /* line 684, app/assets/stylesheets/contact.scss */
  .contact-strucxil-actions {
    flex-direction: column;
  }
  /* line 685, app/assets/stylesheets/contact.scss */
  .contact-strucxil-actions .btn {
    width: 100%;
    text-align: center;
  }
}

@media (max-width: 576px) {
  /* line 689, app/assets/stylesheets/contact.scss */
  .contact-hero-stats {
    flex-direction: column;
  }
  /* line 690, app/assets/stylesheets/contact.scss */
  .contact-stat {
    width: 100%;
  }
}
@charset "UTF-8";
/* ═══════════════════════════════════════════
   EMPLOYEE PORTAL
   ═══════════════════════════════════════════ */
/* line 5, app/assets/stylesheets/employee.scss */
.emp-body {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 14px !important;
  background: #f1f5f9;
  margin: 0;
}

/* line 12, app/assets/stylesheets/employee.scss */
.emp-shell {
  display: flex;
  min-height: 100vh;
}

/* line 17, app/assets/stylesheets/employee.scss */
.emp-sidebar {
  width: 260px;
  background: linear-gradient(180deg, #0f172a 0%, #1e293b 100%);
  color: #e2e8f0;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 100;
}

/* line 31, app/assets/stylesheets/employee.scss */
.emp-sidebar-brand {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1.5rem 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 39, app/assets/stylesheets/employee.scss */
.emp-brand-icon {
  width: 42px;
  height: 42px;
  background: linear-gradient(135deg, #3b82f6, #6366f1);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
}

/* line 50, app/assets/stylesheets/employee.scss */
.emp-sidebar-brand strong {
  display: block;
  color: #fff;
  font-size: 0.95rem;
}

/* line 51, app/assets/stylesheets/employee.scss */
.emp-sidebar-brand small {
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.72rem;
}

/* line 53, app/assets/stylesheets/employee.scss */
.emp-nav {
  flex: 1;
  padding: 1rem 0.75rem;
}

/* line 55, app/assets/stylesheets/employee.scss */
.emp-nav-link {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.65rem 1rem;
  color: rgba(255, 255, 255, 0.7) !important;
  text-decoration: none;
  border-radius: 10px;
  font-weight: 500;
  font-size: 0.88rem;
  margin-bottom: 0.25rem;
  transition: all 0.2s;
}

/* line 69, app/assets/stylesheets/employee.scss */
.emp-nav-link:hover,
.emp-nav-link.active {
  background: rgba(255, 255, 255, 0.1);
  color: #fff !important;
}

/* line 75, app/assets/stylesheets/employee.scss */
.emp-badge {
  margin-left: auto;
  background: #ef4444;
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
}

/* line 85, app/assets/stylesheets/employee.scss */
.emp-sidebar-footer {
  padding: 1rem 1.25rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 90, app/assets/stylesheets/employee.scss */
.emp-user {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 0.75rem;
  font-size: 0.82rem;
}

/* line 98, app/assets/stylesheets/employee.scss */
.emp-user i {
  font-size: 1.5rem;
  color: rgba(255, 255, 255, 0.5);
}

/* line 99, app/assets/stylesheets/employee.scss */
.emp-user strong {
  display: block;
  color: #fff;
}

/* line 100, app/assets/stylesheets/employee.scss */
.emp-user small {
  color: rgba(255, 255, 255, 0.5);
}

/* line 102, app/assets/stylesheets/employee.scss */
.emp-logout-btn {
  width: 100%;
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.8) !important;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
}

/* line 110, app/assets/stylesheets/employee.scss */
.emp-main {
  flex: 1;
  margin-left: 260px;
  padding: 2rem;
  min-width: 0;
}

/* line 117, app/assets/stylesheets/employee.scss */
.emp-page-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 1.75rem;
}

/* line 124, app/assets/stylesheets/employee.scss */
.emp-page-header h1 {
  font-size: 1.65rem;
  font-weight: 700;
  color: #0f172a;
  margin: 0;
}

/* line 131, app/assets/stylesheets/employee.scss */
.emp-page-header p {
  color: #64748b;
  margin: 0.25rem 0 0;
  font-size: 0.9rem;
}

/* line 133, app/assets/stylesheets/employee.scss */
.emp-back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: #64748b !important;
  text-decoration: none;
  font-size: 0.85rem;
  margin-bottom: 0.5rem;
}

/* line 143, app/assets/stylesheets/employee.scss */
.emp-stat-card {
  background: #fff;
  border-radius: 16px;
  padding: 1.25rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  border: 1px solid #e2e8f0;
}

/* line 154, app/assets/stylesheets/employee.scss */
.emp-stat-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
}

/* line 164, app/assets/stylesheets/employee.scss */
.emp-stat-card.pending .emp-stat-icon {
  background: #fef3c7;
  color: #d97706;
}

/* line 165, app/assets/stylesheets/employee.scss */
.emp-stat-card.approved .emp-stat-icon {
  background: #d1fae5;
  color: #059669;
}

/* line 166, app/assets/stylesheets/employee.scss */
.emp-stat-card.rejected .emp-stat-icon {
  background: #fee2e2;
  color: #dc2626;
}

/* line 168, app/assets/stylesheets/employee.scss */
.emp-stat-card span {
  display: block;
  font-size: 0.78rem;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* line 169, app/assets/stylesheets/employee.scss */
.emp-stat-card strong {
  font-size: 1.75rem;
  color: #0f172a;
  line-height: 1.2;
}

/* line 171, app/assets/stylesheets/employee.scss */
.emp-panel {
  background: #fff;
  border-radius: 16px;
  border: 1px solid #e2e8f0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  overflow: hidden;
}

/* line 179, app/assets/stylesheets/employee.scss */
.emp-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #f1f5f9;
}

/* line 187, app/assets/stylesheets/employee.scss */
.emp-panel-header h5 {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: #0f172a;
}

/* line 188, app/assets/stylesheets/employee.scss */
.emp-panel-title {
  padding: 1.25rem 1.25rem 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: #0f172a;
}

/* line 190, app/assets/stylesheets/employee.scss */
.emp-link {
  font-size: 0.82rem;
  color: #3b82f6 !important;
  text-decoration: none;
  font-weight: 500;
}

/* line 192, app/assets/stylesheets/employee.scss */
.emp-table {
  font-size: 0.88rem;
}

/* line 193, app/assets/stylesheets/employee.scss */
.emp-table thead th {
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
  color: #64748b;
  font-weight: 600;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.75rem 1.25rem;
}

/* line 204, app/assets/stylesheets/employee.scss */
.emp-table tbody td {
  padding: 0.85rem 1.25rem;
  vertical-align: middle;
  border-bottom: 1px solid #f1f5f9;
}

/* line 206, app/assets/stylesheets/employee.scss */
.emp-table-link {
  color: #0f172a !important;
  font-weight: 600;
  text-decoration: none;
}

/* line 207, app/assets/stylesheets/employee.scss */
.emp-table-link:hover {
  color: #3b82f6 !important;
}

/* line 209, app/assets/stylesheets/employee.scss */
.emp-status {
  display: inline-block;
  padding: 0.2rem 0.65rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: capitalize;
}

/* line 218, app/assets/stylesheets/employee.scss */
.emp-status.pending {
  background: #fef3c7;
  color: #b45309;
}

/* line 219, app/assets/stylesheets/employee.scss */
.emp-status.approved {
  background: #d1fae5;
  color: #047857;
}

/* line 220, app/assets/stylesheets/employee.scss */
.emp-status.rejected {
  background: #fee2e2;
  color: #b91c1c;
}

/* line 221, app/assets/stylesheets/employee.scss */
.emp-status.lg {
  font-size: 0.85rem;
  padding: 0.35rem 1rem;
}

/* line 223, app/assets/stylesheets/employee.scss */
.emp-btn-review {
  background: #eff6ff;
  color: #2563eb !important;
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  font-weight: 600;
}

/* line 231, app/assets/stylesheets/employee.scss */
.emp-filter-tabs {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 233, app/assets/stylesheets/employee.scss */
.emp-filter-tab {
  padding: 0.45rem 1rem;
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 500;
  color: #64748b !important;
  text-decoration: none;
  background: #fff;
  border: 1px solid #e2e8f0;
}

/* line 244, app/assets/stylesheets/employee.scss */
.emp-filter-tab.active {
  background: #0f172a;
  color: #fff !important;
  border-color: #0f172a;
}

/* line 250, app/assets/stylesheets/employee.scss */
.emp-log-list {
  padding: 0.5rem 1.25rem 1rem;
}

/* line 252, app/assets/stylesheets/employee.scss */
.emp-log-item {
  padding: 0.85rem 0;
  border-bottom: 1px solid #f1f5f9;
}

/* line 257, app/assets/stylesheets/employee.scss */
.emp-log-item:last-child {
  border-bottom: none;
}

/* line 259, app/assets/stylesheets/employee.scss */
.emp-log-action {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.15rem 0.45rem;
  border-radius: 4px;
  margin-bottom: 0.25rem;
}

/* line 270, app/assets/stylesheets/employee.scss */
.emp-log-action.submitted {
  background: #dbeafe;
  color: #1d4ed8;
}

/* line 271, app/assets/stylesheets/employee.scss */
.emp-log-action.approved {
  background: #d1fae5;
  color: #047857;
}

/* line 272, app/assets/stylesheets/employee.scss */
.emp-log-action.rejected {
  background: #fee2e2;
  color: #b91c1c;
}

/* line 274, app/assets/stylesheets/employee.scss */
.emp-detail-grid label {
  display: block;
  font-size: 0.72rem;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0.15rem;
}

/* line 283, app/assets/stylesheets/employee.scss */
.emp-detail-grid {
  padding: 0 1.25rem 1.25rem;
}

/* line 285, app/assets/stylesheets/employee.scss */
.emp-action-panel {
  padding: 0 0 1.25rem;
}

/* line 286, app/assets/stylesheets/employee.scss */
.emp-action-panel .emp-panel-title {
  padding: 1.25rem;
}

/* line 288, app/assets/stylesheets/employee.scss */
.emp-btn-approve {
  background: linear-gradient(135deg, #059669, #10b981);
  color: #fff !important;
  border: none;
  border-radius: 10px;
  font-weight: 600;
  padding: 0.65rem;
}

/* line 297, app/assets/stylesheets/employee.scss */
.emp-btn-reject {
  background: #fff;
  color: #dc2626 !important;
  border: 1px solid #fecaca;
  border-radius: 10px;
  font-weight: 600;
  padding: 0.65rem;
}

/* line 306, app/assets/stylesheets/employee.scss */
.emp-rejection-box {
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 8px;
  padding: 0.75rem;
  color: #991b1b;
}

/* line 314, app/assets/stylesheets/employee.scss */
.emp-timeline {
  padding: 0 1.25rem 1.25rem;
}

/* line 316, app/assets/stylesheets/employee.scss */
.emp-timeline-item {
  display: flex;
  gap: 0.75rem;
  margin-bottom: 1rem;
  font-size: 0.88rem;
}

/* line 323, app/assets/stylesheets/employee.scss */
.emp-timeline-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-top: 5px;
  flex-shrink: 0;
}

/* line 331, app/assets/stylesheets/employee.scss */
.emp-timeline-dot.submitted {
  background: #3b82f6;
}

/* line 332, app/assets/stylesheets/employee.scss */
.emp-timeline-dot.approved {
  background: #10b981;
}

/* line 333, app/assets/stylesheets/employee.scss */
.emp-timeline-dot.rejected {
  background: #ef4444;
}

/* line 335, app/assets/stylesheets/employee.scss */
.emp-result {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1rem 1.25rem 1.25rem;
  font-size: 0.9rem;
}

/* line 343, app/assets/stylesheets/employee.scss */
.emp-result i {
  font-size: 1.5rem;
}

/* line 344, app/assets/stylesheets/employee.scss */
.emp-result.approved i {
  color: #10b981;
}

/* line 345, app/assets/stylesheets/employee.scss */
.emp-result.rejected i {
  color: #ef4444;
}

/* line 347, app/assets/stylesheets/employee.scss */
.emp-log-message {
  max-width: 280px;
  font-size: 0.82rem;
  color: #64748b;
}

/* line 349, app/assets/stylesheets/employee.scss */
.emp-pagination {
  padding: 1rem 1.25rem;
  border-top: 1px solid #f1f5f9;
}

/* line 350, app/assets/stylesheets/employee.scss */
.emp-alert {
  border-radius: 10px;
  margin-bottom: 1rem;
}

/* Auth page */
/* line 353, app/assets/stylesheets/employee.scss */
.emp-auth-body {
  margin: 0;
  font-family: 'Inter', system-ui, sans-serif;
}

/* line 355, app/assets/stylesheets/employee.scss */
.emp-auth-wrap {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background: #0f172a;
}

/* line 364, app/assets/stylesheets/employee.scss */
.emp-auth-bg {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 20% 50%, rgba(59, 130, 246, 0.15) 0%, transparent 50%), radial-gradient(circle at 80% 20%, rgba(99, 102, 241, 0.12) 0%, transparent 40%);
}

/* line 372, app/assets/stylesheets/employee.scss */
.emp-auth-card {
  position: relative;
  z-index: 1;
  background: #fff;
  border-radius: 20px;
  padding: 2.5rem;
  width: 100%;
  max-width: 420px;
  box-shadow: 0 25px 80px rgba(0, 0, 0, 0.4);
}

/* line 383, app/assets/stylesheets/employee.scss */
.emp-auth-logo span {
  width: 56px;
  height: 56px;
  background: linear-gradient(135deg, #3b82f6, #6366f1);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: #fff;
  margin: 0 auto 1.25rem;
}

/* line 396, app/assets/stylesheets/employee.scss */
.emp-auth-card h1 {
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 0.35rem;
}

/* line 404, app/assets/stylesheets/employee.scss */
.emp-auth-sub {
  text-align: center;
  color: #64748b;
  font-size: 0.9rem;
  margin-bottom: 1.75rem;
}

/* line 411, app/assets/stylesheets/employee.scss */
.emp-auth-btn {
  background: linear-gradient(135deg, #3b82f6, #6366f1);
  color: #fff !important;
  border: none;
  border-radius: 10px;
  font-weight: 600;
  padding: 0.65rem;
}

/* line 420, app/assets/stylesheets/employee.scss */
.emp-auth-footer {
  text-align: center;
  font-size: 0.78rem;
  color: #94a3b8;
  margin-top: 1.5rem;
  margin-bottom: 0;
}

@media (max-width: 768px) {
  /* line 429, app/assets/stylesheets/employee.scss */
  .emp-sidebar {
    width: 100%;
    position: relative;
  }
  /* line 430, app/assets/stylesheets/employee.scss */
  .emp-main {
    margin-left: 0;
    padding: 1rem;
  }
  /* line 431, app/assets/stylesheets/employee.scss */
  .emp-shell {
    flex-direction: column;
  }
}
/* Expenditures */
/* line 2, app/assets/stylesheets/expenditures.scss */
.expenditures-page {
  margin: -1rem -12px 0;
  padding: 0 4px 2rem;
}

/* line 7, app/assets/stylesheets/expenditures.scss */
.expenditures-hero {
  background: linear-gradient(135deg, #1e1b4b 0%, #4338ca 45%, #6366f1 100%);
  border-radius: 24px;
  padding: 2rem;
  color: #fff;
  margin-bottom: 2rem;
  box-shadow: 0 24px 60px rgba(99, 102, 241, 0.28);
}

/* line 16, app/assets/stylesheets/expenditures.scss */
.expenditures-hero--form {
  margin-bottom: 1.5rem;
}

/* line 20, app/assets/stylesheets/expenditures.scss */
.expenditures-hero h2 {
  font-weight: 800;
  letter-spacing: -0.03em;
}

/* line 25, app/assets/stylesheets/expenditures.scss */
.exp-stat-pill {
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 18px;
  padding: 1rem;
  text-align: center;
}

/* line 34, app/assets/stylesheets/expenditures.scss */
.exp-stat-pill .stat-value {
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1.2;
}

/* line 40, app/assets/stylesheets/expenditures.scss */
.exp-stat-pill .stat-label {
  font-size: 0.7rem;
  opacity: 0.85;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-top: 0.35rem;
}

/* line 48, app/assets/stylesheets/expenditures.scss */
.exp-stat-pill.month .stat-value {
  color: #fcd34d;
}

/* line 49, app/assets/stylesheets/expenditures.scss */
.exp-stat-pill.count .stat-value {
  color: #c4b5fd;
}

/* line 50, app/assets/stylesheets/expenditures.scss */
.exp-stat-pill.categories .stat-value {
  color: #a5f3fc;
}

/* line 52, app/assets/stylesheets/expenditures.scss */
.exp-category-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

/* line 58, app/assets/stylesheets/expenditures.scss */
.exp-category-chip {
  display: inline-flex;
  flex-direction: column;
  padding: 0.55rem 0.9rem;
  border-radius: 14px;
  background: #fff;
  border: 2px solid #e2e8f0;
  text-decoration: none;
  color: #334155;
  transition: all 0.2s ease;
  min-width: 120px;
}

/* line 71, app/assets/stylesheets/expenditures.scss */
.exp-category-chip:hover,
.exp-category-chip.active {
  border-color: #6366f1;
  background: #eef2ff;
  color: #3730a3;
  transform: translateY(-2px);
}

/* line 79, app/assets/stylesheets/expenditures.scss */
.exp-category-chip.clear {
  flex-direction: row;
  align-items: center;
  justify-content: center;
  min-width: auto;
  background: #fef2f2;
  border-color: #fecaca;
  color: #991b1b;
}

/* line 89, app/assets/stylesheets/expenditures.scss */
.exp-category-chip .chip-name {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #64748b;
}

/* line 97, app/assets/stylesheets/expenditures.scss */
.exp-category-chip .chip-amount {
  font-size: 0.95rem;
  font-weight: 800;
  margin-top: 0.15rem;
}

/* line 103, app/assets/stylesheets/expenditures.scss */
.exp-search .input-group {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}

/* line 109, app/assets/stylesheets/expenditures.scss */
.exp-search .form-control,
.exp-search .input-group-text {
  border-color: #e2e8f0;
  padding-top: 0.65rem;
  padding-bottom: 0.65rem;
}

/* line 116, app/assets/stylesheets/expenditures.scss */
.exp-list-card {
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
  overflow: hidden;
  border: 1px solid #e2e8f0;
}

/* line 124, app/assets/stylesheets/expenditures.scss */
.exp-list-header {
  padding: 1rem 1.25rem;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
}

/* line 130, app/assets/stylesheets/expenditures.scss */
.exp-table thead th {
  background: linear-gradient(135deg, #1e1b4b, #4338ca);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border: none;
  padding: 0.85rem 1rem;
  white-space: nowrap;
}

/* line 142, app/assets/stylesheets/expenditures.scss */
.exp-table tbody td {
  padding: 0.85rem 1rem;
  border-bottom: 1px solid #f1f5f9;
  font-size: 0.88rem;
  vertical-align: middle;
}

/* line 149, app/assets/stylesheets/expenditures.scss */
.exp-table tbody tr:last-child td {
  border-bottom: none;
}

/* line 153, app/assets/stylesheets/expenditures.scss */
.exp-row:hover {
  background: #f8fafc;
}

/* line 157, app/assets/stylesheets/expenditures.scss */
.exp-amount {
  color: #dc2626;
}

/* line 161, app/assets/stylesheets/expenditures.scss */
.exp-category-badge {
  display: inline-block;
  border-radius: 20px;
  padding: 0.2rem 0.65rem;
  font-size: 0.72rem;
  font-weight: 700;
  white-space: nowrap;
}

/* line 170, app/assets/stylesheets/expenditures.scss */
.exp-badge--salary {
  background: #dbeafe;
  color: #1e40af;
}

/* line 171, app/assets/stylesheets/expenditures.scss */
.exp-badge--rent {
  background: #fce7f3;
  color: #9d174d;
}

/* line 172, app/assets/stylesheets/expenditures.scss */
.exp-badge--utilities {
  background: #fef3c7;
  color: #92400e;
}

/* line 173, app/assets/stylesheets/expenditures.scss */
.exp-badge--marketing {
  background: #ede9fe;
  color: #5b21b6;
}

/* line 174, app/assets/stylesheets/expenditures.scss */
.exp-badge--maintenance {
  background: #ffedd5;
  color: #9a3412;
}

/* line 175, app/assets/stylesheets/expenditures.scss */
.exp-badge--default {
  background: #f1f5f9;
  color: #475569;
}

/* line 177, app/assets/stylesheets/expenditures.scss */
.exp-form-card {
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
  border: 1px solid #e2e8f0;
  padding: 1.5rem;
  max-width: 640px;
}

@media (max-width: 576px) {
  /* line 187, app/assets/stylesheets/expenditures.scss */
  .expenditures-hero {
    padding: 1.25rem;
  }
  /* line 191, app/assets/stylesheets/expenditures.scss */
  .exp-stat-pill .stat-value {
    font-size: 1rem;
  }
  /* line 195, app/assets/stylesheets/expenditures.scss */
  .exp-category-chip {
    min-width: calc(50% - 0.5rem);
  }
}
@charset "UTF-8";
/* line 1, app/assets/stylesheets/homes.scss */
.home-page {
  margin: -1rem -12px 0;
  padding: 0 4px 3rem;
}

/* ── Hero ── */
/* line 7, app/assets/stylesheets/homes.scss */
.home-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 40%, #4f46e5 70%, #7c3aed 100%);
  border-radius: 28px;
  padding: 2.5rem 2rem;
  color: #fff;
  margin-bottom: 2rem;
  box-shadow: 0 28px 70px rgba(79, 70, 229, 0.35);
}

/* line 18, app/assets/stylesheets/homes.scss */
.home-hero::before,
.home-hero::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

/* line 26, app/assets/stylesheets/homes.scss */
.home-hero::before {
  width: 320px;
  height: 320px;
  top: -120px;
  right: -80px;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.12) 0%, transparent 70%);
}

/* line 34, app/assets/stylesheets/homes.scss */
.home-hero::after {
  width: 200px;
  height: 200px;
  bottom: -60px;
  left: 10%;
  background: radial-gradient(circle, rgba(167, 139, 250, 0.25) 0%, transparent 70%);
}

/* line 42, app/assets/stylesheets/homes.scss */
.home-hero-content {
  position: relative;
  z-index: 1;
}

/* line 47, app/assets/stylesheets/homes.scss */
.home-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  background: rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  padding: 0.35rem 0.85rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 0.75rem;
}

/* line 63, app/assets/stylesheets/homes.scss */
.home-hero h1 {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  margin-bottom: 0.5rem;
}

/* line 70, app/assets/stylesheets/homes.scss */
.home-hero-lead {
  opacity: 0.88;
  font-size: 1rem;
  max-width: 520px;
  margin-bottom: 0;
}

/* line 77, app/assets/stylesheets/homes.scss */
.home-stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 0.75rem;
  margin-top: 1.75rem;
}

/* line 84, app/assets/stylesheets/homes.scss */
.home-stat-pill {
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 18px;
  padding: 1rem 0.85rem;
  text-align: center;
  transition: transform 0.2s ease, background 0.2s ease;
}

/* line 94, app/assets/stylesheets/homes.scss */
.home-stat-pill:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.16);
}

/* line 99, app/assets/stylesheets/homes.scss */
.home-stat-pill .stat-value {
  font-size: 1.45rem;
  font-weight: 800;
  line-height: 1.2;
}

/* line 105, app/assets/stylesheets/homes.scss */
.home-stat-pill .stat-label {
  font-size: 0.68rem;
  opacity: 0.85;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-top: 0.3rem;
}

/* line 113, app/assets/stylesheets/homes.scss */
.home-stat-pill.available .stat-value {
  color: #86efac;
}

/* line 114, app/assets/stylesheets/homes.scss */
.home-stat-pill.occupied .stat-value {
  color: #fca5a5;
}

/* line 115, app/assets/stylesheets/homes.scss */
.home-stat-pill.sales .stat-value {
  color: #67e8f9;
  font-size: 1.2rem;
}

/* line 116, app/assets/stylesheets/homes.scss */
.home-stat-pill.pending .stat-value {
  color: #fcd34d;
}

/* ── Setup banner ── */
/* line 119, app/assets/stylesheets/homes.scss */
.home-setup-banner {
  background: linear-gradient(135deg, #eef2ff, #e0e7ff);
  border: 1px solid #c7d2fe;
  border-radius: 22px;
  padding: 1.5rem 1.75rem;
  margin-bottom: 2rem;
  box-shadow: 0 12px 32px rgba(79, 70, 229, 0.12);
}

/* line 128, app/assets/stylesheets/homes.scss */
.home-setup-banner h5 {
  color: #312e81;
  font-weight: 800;
}

/* ── Menu sections ── */
/* line 134, app/assets/stylesheets/homes.scss */
.home-menu-section {
  margin-bottom: 2.25rem;
}

/* line 138, app/assets/stylesheets/homes.scss */
.home-section-header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1.1rem;
  padding-left: 0.25rem;
}

/* line 148, app/assets/stylesheets/homes.scss */
.home-section-header h2 {
  font-size: 1.15rem;
  font-weight: 800;
  color: #0f172a;
  margin: 0;
  letter-spacing: -0.02em;
}

/* line 156, app/assets/stylesheets/homes.scss */
.home-section-header p {
  font-size: 0.82rem;
  color: #64748b;
  margin: 0.15rem 0 0;
}

/* line 162, app/assets/stylesheets/homes.scss */
.home-section-icon {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #eef2ff, #e0e7ff);
  color: #4f46e5;
  font-size: 1.15rem;
}

/* ── Decorative menu tiles ── */
/* line 175, app/assets/stylesheets/homes.scss */
.home-menu-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.1rem;
}

/* line 181, app/assets/stylesheets/homes.scss */
.home-menu-tile {
  position: relative;
  display: block;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border-radius: 22px;
  padding: 1.35rem 1.35rem 1.25rem;
  border: 1px solid #e2e8f0;
  box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06);
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

/* line 195, app/assets/stylesheets/homes.scss */
.home-menu-tile::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 90px;
  height: 90px;
  border-radius: 0 0 0 100%;
  opacity: 0.12;
  transition: opacity 0.25s ease;
}

/* line 207, app/assets/stylesheets/homes.scss */
.home-menu-tile::after {
  content: "";
  position: absolute;
  bottom: -20px;
  left: -20px;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  opacity: 0.06;
}

/* line 218, app/assets/stylesheets/homes.scss */
.home-menu-tile:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 48px rgba(79, 70, 229, 0.18);
  border-color: #c7d2fe;
  color: inherit;
  text-decoration: none;
}

/* line 226, app/assets/stylesheets/homes.scss */
.home-menu-tile:hover::before {
  opacity: 0.22;
}

/* line 230, app/assets/stylesheets/homes.scss */
.home-menu-tile-icon {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.45rem;
  color: #fff;
  margin-bottom: 1rem;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

/* line 243, app/assets/stylesheets/homes.scss */
.home-menu-tile h3 {
  font-size: 1.05rem;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 0.35rem;
  letter-spacing: -0.02em;
}

/* line 251, app/assets/stylesheets/homes.scss */
.home-menu-tile p {
  font-size: 0.82rem;
  color: #64748b;
  margin: 0 0 0.85rem;
  line-height: 1.45;
}

/* line 258, app/assets/stylesheets/homes.scss */
.home-menu-tile-arrow {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.78rem;
  font-weight: 700;
  color: #4f46e5;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* line 269, app/assets/stylesheets/homes.scss */
.home-menu-tile:hover .home-menu-tile-arrow {
  gap: 0.55rem;
}

/* Tile accent colors */
/* line 274, app/assets/stylesheets/homes.scss */
.home-menu-tile.ops-tables .home-menu-tile-icon {
  background: linear-gradient(135deg, #059669, #34d399);
}

/* line 275, app/assets/stylesheets/homes.scss */
.home-menu-tile.ops-tables::before, .home-menu-tile.ops-tables::after {
  background: #10b981;
}

/* line 277, app/assets/stylesheets/homes.scss */
.home-menu-tile.ops-kitchen .home-menu-tile-icon {
  background: linear-gradient(135deg, #ea580c, #f97316);
}

/* line 278, app/assets/stylesheets/homes.scss */
.home-menu-tile.ops-kitchen::before, .home-menu-tile.ops-kitchen::after {
  background: #f97316;
}

/* line 280, app/assets/stylesheets/homes.scss */
.home-menu-tile.ops-bills .home-menu-tile-icon {
  background: linear-gradient(135deg, #4f46e5, #818cf8);
}

/* line 281, app/assets/stylesheets/homes.scss */
.home-menu-tile.ops-bills::before, .home-menu-tile.ops-bills::after {
  background: #6366f1;
}

/* line 283, app/assets/stylesheets/homes.scss */
.home-menu-tile.menu-items .home-menu-tile-icon {
  background: linear-gradient(135deg, #0891b2, #22d3ee);
}

/* line 284, app/assets/stylesheets/homes.scss */
.home-menu-tile.menu-items::before, .home-menu-tile.menu-items::after {
  background: #06b6d4;
}

/* line 286, app/assets/stylesheets/homes.scss */
.home-menu-tile.menu-categories .home-menu-tile-icon {
  background: linear-gradient(135deg, #7c3aed, #a78bfa);
}

/* line 287, app/assets/stylesheets/homes.scss */
.home-menu-tile.menu-categories::before, .home-menu-tile.menu-categories::after {
  background: #8b5cf6;
}

/* line 289, app/assets/stylesheets/homes.scss */
.home-menu-tile.finance-reports .home-menu-tile-icon {
  background: linear-gradient(135deg, #0f172a, #334155);
}

/* line 290, app/assets/stylesheets/homes.scss */
.home-menu-tile.finance-reports::before, .home-menu-tile.finance-reports::after {
  background: #475569;
}

/* line 292, app/assets/stylesheets/homes.scss */
.home-menu-tile.finance-expenses .home-menu-tile-icon {
  background: linear-gradient(135deg, #be123c, #fb7185);
}

/* line 293, app/assets/stylesheets/homes.scss */
.home-menu-tile.finance-expenses::before, .home-menu-tile.finance-expenses::after {
  background: #f43f5e;
}

/* line 295, app/assets/stylesheets/homes.scss */
.home-menu-tile.settings-company .home-menu-tile-icon {
  background: linear-gradient(135deg, #b45309, #fbbf24);
}

/* line 296, app/assets/stylesheets/homes.scss */
.home-menu-tile.settings-company::before, .home-menu-tile.settings-company::after {
  background: #f59e0b;
}

/* ── Guest landing ── */
/* line 299, app/assets/stylesheets/homes.scss */
.home-guest-hero {
  text-align: center;
  padding: 3rem 1rem 2rem;
}

/* line 304, app/assets/stylesheets/homes.scss */
.home-guest-hero h1 {
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  background: linear-gradient(135deg, #0f172a, #4f46e5);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 1rem;
}

/* line 315, app/assets/stylesheets/homes.scss */
.home-guest-features {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.25rem;
  margin: 2.5rem 0;
}

/* line 322, app/assets/stylesheets/homes.scss */
.home-guest-feature {
  background: #fff;
  border-radius: 20px;
  padding: 1.5rem;
  border: 1px solid #e2e8f0;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

/* line 330, app/assets/stylesheets/homes.scss */
.home-guest-feature i {
  font-size: 2rem;
  color: #4f46e5;
  margin-bottom: 0.75rem;
}

/* line 336, app/assets/stylesheets/homes.scss */
.home-guest-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
  margin-top: 1.5rem;
}

/* line 344, app/assets/stylesheets/homes.scss */
.home-btn-primary {
  background: linear-gradient(135deg, #4f46e5, #6366f1);
  color: #fff !important;
  border: none;
  padding: 0.75rem 1.75rem;
  border-radius: 999px;
  font-weight: 700;
  box-shadow: 0 10px 28px rgba(79, 70, 229, 0.35);
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* line 356, app/assets/stylesheets/homes.scss */
.home-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 36px rgba(79, 70, 229, 0.45);
  color: #fff;
}

/* line 362, app/assets/stylesheets/homes.scss */
.home-btn-outline {
  background: #fff;
  color: #4f46e5 !important;
  border: 2px solid #c7d2fe;
  padding: 0.75rem 1.75rem;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.2s ease;
}

/* line 373, app/assets/stylesheets/homes.scss */
.home-btn-outline:hover {
  background: #eef2ff;
  color: #4338ca !important;
}

@media (max-width: 576px) {
  /* line 379, app/assets/stylesheets/homes.scss */
  .home-hero {
    padding: 1.5rem 1.25rem;
    border-radius: 22px;
  }
  /* line 384, app/assets/stylesheets/homes.scss */
  .home-menu-grid {
    grid-template-columns: 1fr;
  }
}
/* Kitchen display */
/* line 2, app/assets/stylesheets/kitchen_order_tickets.scss */
.kitchen-page {
  margin: -1rem -12px 0;
  padding: 0 4px 2rem;
}

/* line 7, app/assets/stylesheets/kitchen_order_tickets.scss */
.kitchen-hero {
  background: linear-gradient(135deg, #431407 0%, #9a3412 45%, #f97316 100%);
  border-radius: 24px;
  padding: 2rem;
  color: #fff;
  margin-bottom: 2rem;
  box-shadow: 0 24px 60px rgba(249, 115, 22, 0.28);
}

/* line 16, app/assets/stylesheets/kitchen_order_tickets.scss */
.kitchen-hero h2 {
  font-weight: 800;
  letter-spacing: -0.03em;
}

/* line 21, app/assets/stylesheets/kitchen_order_tickets.scss */
.kitchen-stat-pill {
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 18px;
  padding: 1rem;
  text-align: center;
}

/* line 30, app/assets/stylesheets/kitchen_order_tickets.scss */
.kitchen-stat-pill .stat-value {
  font-size: 1.75rem;
  font-weight: 800;
  line-height: 1;
}

/* line 36, app/assets/stylesheets/kitchen_order_tickets.scss */
.kitchen-stat-pill .stat-label {
  font-size: 0.7rem;
  opacity: 0.85;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-top: 0.35rem;
}

/* line 44, app/assets/stylesheets/kitchen_order_tickets.scss */
.kitchen-stat-pill.pending .stat-value {
  color: #fcd34d;
}

/* line 45, app/assets/stylesheets/kitchen_order_tickets.scss */
.kitchen-stat-pill.in-progress .stat-value {
  color: #67e8f9;
}

/* line 46, app/assets/stylesheets/kitchen_order_tickets.scss */
.kitchen-stat-pill.completed .stat-value {
  color: #86efac;
}

/* line 48, app/assets/stylesheets/kitchen_order_tickets.scss */
.kitchen-tabs .nav-link {
  border-radius: 30px;
  padding: 0.5rem 1.25rem;
  font-weight: 600;
  color: #475569;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
  border: 2px solid transparent;
}

/* line 58, app/assets/stylesheets/kitchen_order_tickets.scss */
.kitchen-tabs .nav-link.active.kot-tab--pending {
  background: linear-gradient(135deg, #f59e0b, #fbbf24);
  color: #78350f;
  border-color: #f59e0b;
}

/* line 64, app/assets/stylesheets/kitchen_order_tickets.scss */
.kitchen-tabs .nav-link.active.kot-tab--in-progress {
  background: linear-gradient(135deg, #0891b2, #22d3ee);
  color: #fff;
  border-color: #0891b2;
}

/* line 70, app/assets/stylesheets/kitchen_order_tickets.scss */
.kitchen-tabs .nav-link.active.kot-tab--completed {
  background: linear-gradient(135deg, #059669, #34d399);
  color: #fff;
  border-color: #059669;
}

/* line 76, app/assets/stylesheets/kitchen_order_tickets.scss */
.kot-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 1.25rem;
}

/* line 82, app/assets/stylesheets/kitchen_order_tickets.scss */
.kot-card {
  border-radius: 22px;
  border: 2px solid transparent;
  border-left-width: 6px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.1);
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

/* line 93, app/assets/stylesheets/kitchen_order_tickets.scss */
.kot-card-header {
  padding: 1rem 1.15rem;
  color: #fff;
}

/* line 98, app/assets/stylesheets/kitchen_order_tickets.scss */
.kot-card-header h5 {
  font-weight: 800;
  margin: 0;
}

/* line 103, app/assets/stylesheets/kitchen_order_tickets.scss */
.kot-card-body {
  padding: 1rem 1.15rem;
  flex: 1;
  background: #fff;
}

/* line 109, app/assets/stylesheets/kitchen_order_tickets.scss */
.kot-card-footer {
  padding: 0.75rem 1.15rem;
  background: #f8fafc;
  border-top: 1px solid #e2e8f0;
  font-size: 0.8rem;
  color: #64748b;
}

/* line 117, app/assets/stylesheets/kitchen_order_tickets.scss */
.kot-card--pending {
  border-color: #fbbf24;
  border-left-color: #f59e0b;
}

/* line 122, app/assets/stylesheets/kitchen_order_tickets.scss */
.kot-card--pending .kot-card-header {
  background: linear-gradient(135deg, #d97706, #f59e0b);
}

/* line 126, app/assets/stylesheets/kitchen_order_tickets.scss */
.kot-card--in-progress {
  border-color: #22d3ee;
  border-left-color: #06b6d4;
}

/* line 131, app/assets/stylesheets/kitchen_order_tickets.scss */
.kot-card--in-progress .kot-card-header {
  background: linear-gradient(135deg, #0891b2, #06b6d4);
}

/* line 135, app/assets/stylesheets/kitchen_order_tickets.scss */
.kot-card--completed {
  border-color: #34d399;
  border-left-color: #10b981;
  opacity: 0.92;
}

/* line 141, app/assets/stylesheets/kitchen_order_tickets.scss */
.kot-card--completed .kot-card-header {
  background: linear-gradient(135deg, #059669, #10b981);
}

/* line 145, app/assets/stylesheets/kitchen_order_tickets.scss */
.kot-status-badge {
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.35em 0.65em;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.25);
  color: #fff;
}

/* line 156, app/assets/stylesheets/kitchen_order_tickets.scss */
.kot-item-row {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  padding: 0.65rem 0;
  border-bottom: 1px dashed #e2e8f0;
}

/* line 164, app/assets/stylesheets/kitchen_order_tickets.scss */
.kot-item-row:last-child {
  border-bottom: none;
}

/* line 166, app/assets/stylesheets/kitchen_order_tickets.scss */
.kot-item-qty {
  min-width: 2.5rem;
  height: 2.5rem;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 0.9rem;
}

/* line 177, app/assets/stylesheets/kitchen_order_tickets.scss */
.kot-item--pending .kot-item-qty {
  background: #fef3c7;
  color: #92400e;
}

/* line 178, app/assets/stylesheets/kitchen_order_tickets.scss */
.kot-item--preparing .kot-item-qty {
  background: #cffafe;
  color: #155e75;
}

/* line 179, app/assets/stylesheets/kitchen_order_tickets.scss */
.kot-item--ready .kot-item-qty {
  background: #d1fae5;
  color: #065f46;
}

/* line 181, app/assets/stylesheets/kitchen_order_tickets.scss */
.kot-item-badge {
  font-size: 0.65rem;
  font-weight: 700;
  padding: 0.2em 0.55em;
  border-radius: 12px;
  text-transform: uppercase;
}

/* line 189, app/assets/stylesheets/kitchen_order_tickets.scss */
.kot-item--pending .kot-item-badge {
  background: #fef3c7;
  color: #92400e;
}

/* line 190, app/assets/stylesheets/kitchen_order_tickets.scss */
.kot-item--preparing .kot-item-badge {
  background: #cffafe;
  color: #155e75;
}

/* line 191, app/assets/stylesheets/kitchen_order_tickets.scss */
.kot-item--ready .kot-item-badge {
  background: #d1fae5;
  color: #065f46;
}

/* line 193, app/assets/stylesheets/kitchen_order_tickets.scss */
.kot-meta {
  font-size: 0.82rem;
  color: #64748b;
}

/* line 198, app/assets/stylesheets/kitchen_order_tickets.scss */
.kot-meta strong {
  color: #334155;
}

/* line 200, app/assets/stylesheets/kitchen_order_tickets.scss */
.kot-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.75rem;
  align-items: center;
}
@charset "UTF-8";
/* ═══════════════════════════════════════════
   LANDING PAGE — Glossy Restaurant Website
   ═══════════════════════════════════════════ */
/* line 5, app/assets/stylesheets/landing.scss */
.landing-body {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 14px !important;
  background: #0a0a0f;
  color: #1f2937;
  overflow-x: hidden;
}

/* ── Navbar ── */
/* line 14, app/assets/stylesheets/landing.scss */
.landing-nav {
  background: rgba(10, 10, 15, 0.65);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding: 0.65rem 0;
  transition: background 0.3s ease;
}

/* line 23, app/assets/stylesheets/landing.scss */
.landing-brand {
  font-weight: 800 !important;
  font-size: 1.15rem !important;
  color: #fff !important;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 32, app/assets/stylesheets/landing.scss */
.brand-icon {
  width: 36px;
  height: 36px;
  background: linear-gradient(135deg, #f59e0b, #ef4444);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  box-shadow: 0 4px 15px rgba(245, 158, 11, 0.4);
}

/* line 44, app/assets/stylesheets/landing.scss */
.landing-nav-link {
  color: rgba(255, 255, 255, 0.85) !important;
  font-weight: 500;
  font-size: 0.88rem;
  transition: color 0.2s;
}

/* line 51, app/assets/stylesheets/landing.scss */
.landing-nav-link:hover {
  color: #fff !important;
}

/* line 55, app/assets/stylesheets/landing.scss */
.landing-toggler {
  border-color: rgba(255, 255, 255, 0.3);
}

/* line 59, app/assets/stylesheets/landing.scss */
.landing-btn-primary {
  background: linear-gradient(135deg, #f59e0b, #ef4444);
  color: #fff !important;
  border: none;
  border-radius: 999px;
  padding: 0.45rem 1.25rem;
  font-weight: 700;
  font-size: 0.85rem;
  box-shadow: 0 6px 24px rgba(239, 68, 68, 0.35);
  transition: transform 0.2s, box-shadow 0.2s;
}

/* line 71, app/assets/stylesheets/landing.scss */
.landing-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 32px rgba(239, 68, 68, 0.45);
  color: #fff;
}

/* line 77, app/assets/stylesheets/landing.scss */
.landing-btn-outline {
  background: transparent;
  color: #fff !important;
  border: 1.5px solid rgba(255, 255, 255, 0.35);
  border-radius: 999px;
  padding: 0.45rem 1.25rem;
  font-weight: 600;
  font-size: 0.85rem;
  transition: all 0.2s;
}

/* line 88, app/assets/stylesheets/landing.scss */
.landing-btn-outline:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: #fff;
  color: #fff;
}

/* line 94, app/assets/stylesheets/landing.scss */
.landing-btn-glass {
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(12px);
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 999px;
  font-weight: 600;
  transition: all 0.2s;
}

/* line 104, app/assets/stylesheets/landing.scss */
.landing-btn-glass:hover {
  background: rgba(255, 255, 255, 0.22);
  color: #fff;
  transform: translateY(-2px);
}

/* line 110, app/assets/stylesheets/landing.scss */
.landing-btn-link {
  color: rgba(255, 255, 255, 0.7) !important;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.9rem;
}

/* line 117, app/assets/stylesheets/landing.scss */
.landing-btn-link:hover {
  color: #fff !important;
}

/* ── Hero ── */
/* line 120, app/assets/stylesheets/landing.scss */
.landing-hero {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
}

/* line 126, app/assets/stylesheets/landing.scss */
.landing-hero-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1.05);
  animation: heroKenBurns 20s ease-in-out infinite alternate;
}

@keyframes heroKenBurns {
  from {
    transform: scale(1.05);
  }
  to {
    transform: scale(1.12);
  }
}

/* line 140, app/assets/stylesheets/landing.scss */
.landing-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(10, 10, 20, 0.88) 0%, rgba(30, 20, 60, 0.75) 50%, rgba(10, 10, 20, 0.85) 100%);
}

/* line 149, app/assets/stylesheets/landing.scss */
.landing-hero-shimmer {
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 40%, rgba(255, 255, 255, 0.03) 50%, transparent 60%);
  animation: shimmer 6s ease-in-out infinite;
}

@keyframes shimmer {
  0%, 100% {
    transform: translateX(-100%);
  }
  50% {
    transform: translateX(100%);
  }
}

/* line 164, app/assets/stylesheets/landing.scss */
.landing-hero-content {
  position: relative;
  z-index: 2;
  padding-top: 80px;
}

/* line 170, app/assets/stylesheets/landing.scss */
.landing-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(245, 158, 11, 0.15);
  border: 1px solid rgba(245, 158, 11, 0.35);
  color: #fcd34d;
  padding: 0.35rem 1rem;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
}

/* line 186, app/assets/stylesheets/landing.scss */
.pulse-dot {
  width: 8px;
  height: 8px;
  background: #22c55e;
  border-radius: 50%;
  animation: pulse 2s ease infinite;
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.5;
    transform: scale(1.4);
  }
}

/* line 199, app/assets/stylesheets/landing.scss */
.landing-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.5rem, 5.5vw, 4rem);
  font-weight: 700;
  color: #fff;
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin-bottom: 1.25rem;
}

/* line 209, app/assets/stylesheets/landing.scss */
.landing-title em {
  font-style: italic;
  background: linear-gradient(135deg, #fcd34d, #f97316);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* line 217, app/assets/stylesheets/landing.scss */
.landing-lead {
  color: rgba(255, 255, 255, 0.78);
  font-size: 1.05rem;
  line-height: 1.7;
  max-width: 540px;
  margin-bottom: 2rem;
}

/* line 225, app/assets/stylesheets/landing.scss */
.landing-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.85rem;
  margin-bottom: 2rem;
}

/* line 233, app/assets/stylesheets/landing.scss */
.landing-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
}

/* line 239, app/assets/stylesheets/landing.scss */
.trust-item {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.82rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

/* line 248, app/assets/stylesheets/landing.scss */
.trust-item i {
  color: #fcd34d;
}

/* Floating food plates */
/* line 251, app/assets/stylesheets/landing.scss */
.floating-plate {
  position: absolute;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
  z-index: 1;
  animation: floatPlate 8s ease-in-out infinite;
}

/* line 263, app/assets/stylesheets/landing.scss */
.floating-plate img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 269, app/assets/stylesheets/landing.scss */
.fp-1 {
  top: 18%;
  right: 8%;
  animation-delay: 0s;
}

/* line 270, app/assets/stylesheets/landing.scss */
.fp-2 {
  top: 55%;
  right: 15%;
  width: 70px;
  height: 70px;
  animation-delay: 2s;
}

/* line 271, app/assets/stylesheets/landing.scss */
.fp-3 {
  bottom: 20%;
  right: 5%;
  width: 80px;
  height: 80px;
  animation-delay: 4s;
}

@keyframes floatPlate {
  0%, 100% {
    transform: translateY(0) rotate(0deg);
  }
  50% {
    transform: translateY(-18px) rotate(5deg);
  }
}

/* Hero visual card */
/* line 279, app/assets/stylesheets/landing.scss */
.landing-hero-visual {
  padding: 2rem 0;
}

/* line 281, app/assets/stylesheets/landing.scss */
.hero-card-glass {
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(24px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.5);
}

/* line 290, app/assets/stylesheets/landing.scss */
.hero-card-img {
  width: 100%;
  height: 280px;
  object-fit: cover;
}

/* line 296, app/assets/stylesheets/landing.scss */
.hero-card-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
}

/* line 302, app/assets/stylesheets/landing.scss */
.hcs-item {
  padding: 1rem;
  text-align: center;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
}

/* line 308, app/assets/stylesheets/landing.scss */
.hcs-item:last-child {
  border-right: none;
}

/* line 310, app/assets/stylesheets/landing.scss */
.hcs-val {
  display: block;
  font-size: 1.35rem;
  font-weight: 800;
  color: #fcd34d;
}

/* line 317, app/assets/stylesheets/landing.scss */
.hcs-lbl {
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.6);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* line 324, app/assets/stylesheets/landing.scss */
.animate-float {
  animation: floatPlate 6s ease-in-out infinite;
}

/* Fade-up animations */
/* line 329, app/assets/stylesheets/landing.scss */
.animate-fade-up {
  opacity: 0;
  transform: translateY(24px);
  animation: fadeUp 0.8s ease forwards;
}

/* line 335, app/assets/stylesheets/landing.scss */
.delay-1 {
  animation-delay: 0.15s;
}

/* line 336, app/assets/stylesheets/landing.scss */
.delay-2 {
  animation-delay: 0.3s;
}

/* line 337, app/assets/stylesheets/landing.scss */
.delay-3 {
  animation-delay: 0.45s;
}

/* line 338, app/assets/stylesheets/landing.scss */
.delay-4 {
  animation-delay: 0.6s;
}

@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ── Sections ── */
/* line 345, app/assets/stylesheets/landing.scss */
.landing-section {
  padding: 5rem 0;
  background: #fafafa;
}

/* line 350, app/assets/stylesheets/landing.scss */
.section-tag {
  display: inline-block;
  background: linear-gradient(135deg, #eef2ff, #e0e7ff);
  color: #4f46e5;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  margin-bottom: 0.75rem;
}

/* line 363, app/assets/stylesheets/landing.scss */
.section-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 700;
  color: #0f172a;
  margin-bottom: 0.75rem;
}

/* line 371, app/assets/stylesheets/landing.scss */
.section-lead {
  color: #64748b;
  max-width: 560px;
  font-size: 1rem;
  line-height: 1.6;
}

/* Feature cards */
/* line 379, app/assets/stylesheets/landing.scss */
.feature-card {
  background: #fff;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  box-shadow: 0 8px 32px rgba(15, 23, 42, 0.06);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
  height: 100%;
}

/* line 389, app/assets/stylesheets/landing.scss */
.feature-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 24px 56px rgba(79, 70, 229, 0.15);
}

/* line 394, app/assets/stylesheets/landing.scss */
.feature-img-wrap {
  position: relative;
  height: 180px;
  overflow: hidden;
}

/* line 400, app/assets/stylesheets/landing.scss */
.feature-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

/* line 407, app/assets/stylesheets/landing.scss */
.feature-card:hover .feature-img-wrap img {
  transform: scale(1.08);
}

/* line 411, app/assets/stylesheets/landing.scss */
.feature-icon {
  position: absolute;
  bottom: -18px;
  left: 1.25rem;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.2rem;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

/* line 426, app/assets/stylesheets/landing.scss */
.feature-emerald .feature-icon {
  background: linear-gradient(135deg, #059669, #34d399);
}

/* line 427, app/assets/stylesheets/landing.scss */
.feature-orange .feature-icon {
  background: linear-gradient(135deg, #ea580c, #fb923c);
}

/* line 428, app/assets/stylesheets/landing.scss */
.feature-indigo .feature-icon {
  background: linear-gradient(135deg, #4f46e5, #818cf8);
}

/* line 429, app/assets/stylesheets/landing.scss */
.feature-violet .feature-icon {
  background: linear-gradient(135deg, #7c3aed, #a78bfa);
}

/* line 430, app/assets/stylesheets/landing.scss */
.feature-cyan .feature-icon {
  background: linear-gradient(135deg, #0891b2, #22d3ee);
}

/* line 431, app/assets/stylesheets/landing.scss */
.feature-rose .feature-icon {
  background: linear-gradient(135deg, #e11d48, #fb7185);
}

/* line 433, app/assets/stylesheets/landing.scss */
.feature-body {
  padding: 2rem 1.25rem 1.5rem;
}

/* line 437, app/assets/stylesheets/landing.scss */
.feature-body h3 {
  font-size: 1.05rem;
  font-weight: 800;
  color: #0f172a;
  margin-bottom: 0.5rem;
}

/* line 444, app/assets/stylesheets/landing.scss */
.feature-body p {
  font-size: 0.85rem;
  color: #64748b;
  line-height: 1.55;
  margin: 0;
}

/* Gallery */
/* line 452, app/assets/stylesheets/landing.scss */
.landing-gallery {
  background: linear-gradient(180deg, #0f172a, #1e1b4b);
  padding: 4rem 0;
  overflow: hidden;
}

/* line 458, app/assets/stylesheets/landing.scss */
.gallery-track {
  display: flex;
  gap: 1.25rem;
  animation: galleryScroll 30s linear infinite;
  width: max-content;
}

/* line 465, app/assets/stylesheets/landing.scss */
.gallery-track:hover {
  animation-play-state: paused;
}

@keyframes galleryScroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

/* line 474, app/assets/stylesheets/landing.scss */
.gallery-slide {
  flex-shrink: 0;
  width: 320px;
  height: 220px;
  border-radius: 18px;
  overflow: hidden;
  border: 2px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.4);
}

/* line 484, app/assets/stylesheets/landing.scss */
.gallery-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s;
}

/* line 491, app/assets/stylesheets/landing.scss */
.gallery-slide:hover img {
  transform: scale(1.06);
}

/* Steps */
/* line 496, app/assets/stylesheets/landing.scss */
.steps-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.5rem;
}

/* line 502, app/assets/stylesheets/landing.scss */
.step-card {
  position: relative;
  background: #fff;
  border-radius: 20px;
  padding: 2rem 1.5rem;
  text-align: center;
  border: 1px solid #e2e8f0;
  box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06);
  transition: transform 0.3s;
}

/* line 513, app/assets/stylesheets/landing.scss */
.step-card:hover {
  transform: translateY(-4px);
}

/* line 517, app/assets/stylesheets/landing.scss */
.step-num {
  font-size: 2.5rem;
  font-weight: 900;
  color: #e2e8f0;
  line-height: 1;
  margin-bottom: 0.5rem;
}

/* line 525, app/assets/stylesheets/landing.scss */
.step-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 1rem;
  background: linear-gradient(135deg, #4f46e5, #7c3aed);
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.4rem;
  box-shadow: 0 8px 24px rgba(79, 70, 229, 0.3);
}

/* line 539, app/assets/stylesheets/landing.scss */
.step-card h4 {
  font-weight: 800;
  font-size: 1rem;
  margin-bottom: 0.5rem;
}

/* line 545, app/assets/stylesheets/landing.scss */
.step-card p {
  font-size: 0.82rem;
  color: #64748b;
  margin: 0;
  line-height: 1.5;
}

/* line 552, app/assets/stylesheets/landing.scss */
.step-connector {
  position: absolute;
  top: 50%;
  right: -1rem;
  width: 2rem;
  height: 2px;
  background: linear-gradient(90deg, #c7d2fe, #4f46e5);
}

/* CTA */
/* line 562, app/assets/stylesheets/landing.scss */
.landing-cta {
  background: linear-gradient(135deg, #1e1b4b, #4f46e5, #7c3aed);
  padding: 5rem 0;
  color: #fff;
}

/* line 568, app/assets/stylesheets/landing.scss */
.landing-cta h2 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  font-weight: 700;
  margin-bottom: 0.75rem;
}

/* line 575, app/assets/stylesheets/landing.scss */
.landing-cta p {
  opacity: 0.85;
  margin-bottom: 2rem;
  font-size: 1.05rem;
}

/* ── Footer / Strucxil ── */
/* line 582, app/assets/stylesheets/landing.scss */
.landing-footer {
  background: #050508;
  padding: 3rem 0 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

/* line 588, app/assets/stylesheets/landing.scss */
.strucxil-powered {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  padding: 2rem;
  background: linear-gradient(135deg, rgba(79, 70, 229, 0.12), rgba(124, 58, 237, 0.08));
  border: 1px solid rgba(139, 92, 246, 0.25);
  border-radius: 24px;
  margin-bottom: 2rem;
  position: relative;
  overflow: hidden;
}

/* line 603, app/assets/stylesheets/landing.scss */
.strucxil-powered::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 30% 50%, rgba(139, 92, 246, 0.15), transparent 60%);
  pointer-events: none;
}

/* line 611, app/assets/stylesheets/landing.scss */
.strucxil-eye-wrap {
  position: relative;
  width: 80px;
  height: 80px;
  flex-shrink: 0;
}

/* line 618, app/assets/stylesheets/landing.scss */
.strucxil-ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid rgba(167, 139, 250, 0.4);
}

/* line 625, app/assets/stylesheets/landing.scss */
.strucxil-ring.ring-1 {
  animation: ringPulse 3s ease-in-out infinite;
}

/* line 629, app/assets/stylesheets/landing.scss */
.strucxil-ring.ring-2 {
  inset: -8px;
  animation: ringPulse 3s ease-in-out infinite 0.5s;
  border-color: rgba(245, 158, 11, 0.3);
}

@keyframes ringPulse {
  0%, 100% {
    transform: scale(1);
    opacity: 0.6;
  }
  50% {
    transform: scale(1.15);
    opacity: 0.2;
  }
}

/* line 640, app/assets/stylesheets/landing.scss */
.strucxil-eye {
  position: absolute;
  inset: 12px;
  background: linear-gradient(135deg, #4f46e5, #a855f7);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.75rem;
  color: #fff;
  box-shadow: 0 0 30px rgba(168, 85, 247, 0.6), 0 0 60px rgba(79, 70, 229, 0.3);
  animation: eyeGlow 4s ease-in-out infinite;
}

@keyframes eyeGlow {
  0%, 100% {
    box-shadow: 0 0 30px rgba(168, 85, 247, 0.6), 0 0 60px rgba(79, 70, 229, 0.3);
  }
  50% {
    box-shadow: 0 0 50px rgba(245, 158, 11, 0.5), 0 0 80px rgba(168, 85, 247, 0.4);
  }
}

/* line 659, app/assets/stylesheets/landing.scss */
.strucxil-text {
  text-align: center;
  position: relative;
  z-index: 1;
}

/* line 665, app/assets/stylesheets/landing.scss */
.strucxil-label {
  display: block;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 0.25rem;
}

/* line 674, app/assets/stylesheets/landing.scss */
.strucxil-name {
  display: block;
  font-size: clamp(1.25rem, 3vw, 1.75rem);
  font-weight: 800;
  background: linear-gradient(135deg, #fcd34d, #f97316, #a855f7);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: -0.02em;
}

/* line 685, app/assets/stylesheets/landing.scss */
.strucxil-tagline {
  display: block;
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.45);
  margin-top: 0.35rem;
}

/* line 692, app/assets/stylesheets/landing.scss */
.landing-footer-bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.35);
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

/* line 704, app/assets/stylesheets/landing.scss */
.footer-link {
  color: rgba(255, 255, 255, 0.5);
  text-decoration: none;
}

/* line 709, app/assets/stylesheets/landing.scss */
.footer-link:hover {
  color: #a855f7;
}

/* ── Auth Modals ── */
/* line 712, app/assets/stylesheets/landing.scss */
.auth-modal-content {
  border: none;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.4);
}

/* line 719, app/assets/stylesheets/landing.scss */
.auth-modal-header {
  background: linear-gradient(135deg, #1e1b4b, #4f46e5);
  color: #fff;
  text-align: center;
  padding: 2rem 1.5rem 1.5rem;
  position: relative;
}

/* line 727, app/assets/stylesheets/landing.scss */
.auth-modal-header.signup {
  background: linear-gradient(135deg, #7c2d12, #ea580c);
}

/* line 731, app/assets/stylesheets/landing.scss */
.auth-modal-header .btn-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
}

/* line 737, app/assets/stylesheets/landing.scss */
.auth-modal-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 0.75rem;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
}

/* line 749, app/assets/stylesheets/landing.scss */
.auth-modal-header .modal-title {
  font-weight: 800;
  font-size: 1.25rem;
}

/* line 754, app/assets/stylesheets/landing.scss */
.auth-modal-sub {
  opacity: 0.8;
  font-size: 0.85rem;
  margin: 0.25rem 0 0;
}

/* line 760, app/assets/stylesheets/landing.scss */
.auth-modal-body {
  padding: 1.5rem;
}

/* line 764, app/assets/stylesheets/landing.scss */
.auth-input {
  border-radius: 12px;
  border-color: #e2e8f0;
  padding: 0.65rem 0.85rem;
}

/* line 770, app/assets/stylesheets/landing.scss */
.auth-input:focus {
  border-color: #6366f1;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15);
}

/* line 775, app/assets/stylesheets/landing.scss */
.auth-modal-footer {
  text-align: center;
  padding: 1rem 1.5rem 1.25rem;
  background: #f8fafc;
  font-size: 0.85rem;
  color: #64748b;
  border-top: 1px solid #e2e8f0;
}

/* line 784, app/assets/stylesheets/landing.scss */
.auth-switch-link {
  color: #4f46e5;
  font-weight: 700;
  text-decoration: none;
}

/* line 790, app/assets/stylesheets/landing.scss */
.auth-switch-link:hover {
  text-decoration: underline;
}

/* line 792, app/assets/stylesheets/landing.scss */
.show-password-check {
  padding-left: 1.6rem;
}

/* line 796, app/assets/stylesheets/landing.scss */
.show-password-check .form-check-input {
  cursor: pointer;
}

/* line 800, app/assets/stylesheets/landing.scss */
.show-password-check .form-check-label {
  font-size: 0.82rem;
  color: #64748b;
  cursor: pointer;
  user-select: none;
}

/* line 807, app/assets/stylesheets/landing.scss */
.auth-modal-body .show-password-check .form-check-label {
  color: #475569;
}

/* line 811, app/assets/stylesheets/landing.scss */
.auth-alert {
  background: #fef2f2;
  border-left: 4px solid #ef4444;
  padding: 0.75rem 1rem;
  border-radius: 10px;
  font-size: 0.85rem;
  color: #991b1b;
  margin-bottom: 1rem;
  animation: shake 0.4s ease;
}

@keyframes shake {
  0%, 100% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(-4px);
  }
  75% {
    transform: translateX(4px);
  }
}

/* Scroll reveal */
/* line 829, app/assets/stylesheets/landing.scss */
.reveal-on-scroll {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

/* line 835, app/assets/stylesheets/landing.scss */
.reveal-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 991px) {
  /* line 841, app/assets/stylesheets/landing.scss */
  .floating-plate {
    display: none;
  }
  /* line 843, app/assets/stylesheets/landing.scss */
  .landing-nav .navbar-collapse {
    background: rgba(10, 10, 15, 0.95);
    border-radius: 16px;
    padding: 1rem;
    margin-top: 0.5rem;
    max-height: calc(100vh - 4.5rem);
    overflow-y: auto;
  }
  /* line 852, app/assets/stylesheets/landing.scss */
  .landing-nav .navbar-nav {
    gap: 0.35rem;
    width: 100%;
  }
  /* line 857, app/assets/stylesheets/landing.scss */
  .landing-nav .nav-item {
    width: 100%;
  }
  /* line 861, app/assets/stylesheets/landing.scss */
  .landing-nav .nav-item .btn {
    width: 100%;
    display: block;
  }
  /* line 866, app/assets/stylesheets/landing.scss */
  .landing-nav .landing-btn-primary,
.landing-nav .landing-btn-outline {
    width: 100%;
    text-align: center;
    padding-top: 0.6rem;
    padding-bottom: 0.6rem;
  }
  /* line 874, app/assets/stylesheets/landing.scss */
  .landing-hero-visual {
    padding-top: 0.5rem;
  }
  /* line 878, app/assets/stylesheets/landing.scss */
  .landing-section {
    padding: 3.5rem 0;
  }
  /* line 882, app/assets/stylesheets/landing.scss */
  .section-lead {
    max-width: 100%;
  }
}

@media (max-width: 767px) {
  /* line 888, app/assets/stylesheets/landing.scss */
  .landing-hero {
    min-height: auto;
    padding-bottom: 2.5rem;
  }
  /* line 893, app/assets/stylesheets/landing.scss */
  .landing-hero-content {
    padding-top: 5.5rem;
    padding-bottom: 1rem;
  }
  /* line 898, app/assets/stylesheets/landing.scss */
  .landing-title {
    font-size: clamp(1.85rem, 8vw, 2.5rem);
  }
  /* line 902, app/assets/stylesheets/landing.scss */
  .landing-lead {
    font-size: 0.95rem;
    max-width: 100%;
  }
  /* line 907, app/assets/stylesheets/landing.scss */
  .landing-trust {
    flex-direction: column;
    gap: 0.65rem;
  }
  /* line 912, app/assets/stylesheets/landing.scss */
  .hero-card-img {
    height: 200px;
  }
  /* line 916, app/assets/stylesheets/landing.scss */
  .hero-card-stats {
    grid-template-columns: 1fr;
  }
  /* line 920, app/assets/stylesheets/landing.scss */
  .hcs-item {
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding: 0.75rem;
  }
  /* line 926, app/assets/stylesheets/landing.scss */
  .hcs-item:last-child {
    border-bottom: none;
  }
  /* line 930, app/assets/stylesheets/landing.scss */
  .gallery-slide {
    width: 260px;
    height: 170px;
  }
  /* line 935, app/assets/stylesheets/landing.scss */
  .landing-cta {
    padding: 3rem 0;
  }
  /* line 939, app/assets/stylesheets/landing.scss */
  .landing-footer {
    padding: 2rem 0 1.5rem;
  }
  /* line 943, app/assets/stylesheets/landing.scss */
  .footer-grid {
    gap: 1.5rem;
  }
}

@media (max-width: 576px) {
  /* line 949, app/assets/stylesheets/landing.scss */
  .landing-hero-actions {
    flex-direction: column;
    align-items: stretch;
  }
  /* line 954, app/assets/stylesheets/landing.scss */
  .landing-hero-actions .btn-lg {
    width: 100%;
  }
  /* line 958, app/assets/stylesheets/landing.scss */
  .landing-brand {
    font-size: 1rem !important;
  }
  /* line 962, app/assets/stylesheets/landing.scss */
  .brand-icon {
    width: 32px;
    height: 32px;
    font-size: 0.9rem;
  }
  /* line 968, app/assets/stylesheets/landing.scss */
  .strucxil-powered {
    flex-direction: column;
    text-align: center;
  }
  /* line 973, app/assets/stylesheets/landing.scss */
  .feature-img-wrap {
    height: 160px;
  }
  /* line 977, app/assets/stylesheets/landing.scss */
  .steps-row {
    grid-template-columns: 1fr;
  }
}
/* line 1, app/assets/stylesheets/menu_management.scss */
.menu-page {
  margin: -1rem -12px 0;
  padding: 0 4px 2rem;
}

/* line 6, app/assets/stylesheets/menu_management.scss */
.menu-hero {
  background: linear-gradient(135deg, #0f172a 0%, #1e3a5f 45%, #0ea5e9 100%);
  border-radius: 24px;
  padding: 2rem;
  color: #fff;
  margin-bottom: 2rem;
  box-shadow: 0 24px 60px rgba(14, 165, 233, 0.22);
}

/* line 15, app/assets/stylesheets/menu_management.scss */
.menu-hero h2 {
  font-weight: 800;
  letter-spacing: -0.03em;
}

/* line 20, app/assets/stylesheets/menu_management.scss */
.menu-stat-pill {
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 18px;
  padding: 1rem;
  text-align: center;
}

/* line 29, app/assets/stylesheets/menu_management.scss */
.menu-stat-pill .stat-value {
  font-size: 1.75rem;
  font-weight: 800;
  line-height: 1;
}

/* line 35, app/assets/stylesheets/menu_management.scss */
.menu-stat-pill .stat-label {
  font-size: 0.7rem;
  opacity: 0.85;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-top: 0.35rem;
}

/* line 43, app/assets/stylesheets/menu_management.scss */
.category-card {
  border: none;
  border-radius: 22px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.06);
  margin-bottom: 1.5rem;
  overflow: hidden;
}

/* line 51, app/assets/stylesheets/menu_management.scss */
.category-card-header {
  background: linear-gradient(135deg, #f8fafc 0%, #eef2ff 100%);
  border-bottom: 1px solid #e2e8f0;
  padding: 1rem 1.25rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

/* line 62, app/assets/stylesheets/menu_management.scss */
.category-card-header h5 {
  font-weight: 800;
  margin: 0;
  color: #1e293b;
}

/* line 68, app/assets/stylesheets/menu_management.scss */
.menu-item-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.85rem 1.25rem;
  border-bottom: 1px solid #f1f5f9;
  transition: background 0.15s ease;
}

/* line 78, app/assets/stylesheets/menu_management.scss */
.menu-item-row:last-child {
  border-bottom: none;
}

/* line 82, app/assets/stylesheets/menu_management.scss */
.menu-item-row:hover {
  background: #f8fafc;
}

/* line 86, app/assets/stylesheets/menu_management.scss */
.menu-item-name {
  font-weight: 600;
  color: #1e293b;
}

/* line 91, app/assets/stylesheets/menu_management.scss */
.menu-item-price {
  font-weight: 700;
  color: #0ea5e9;
  white-space: nowrap;
}

/* line 97, app/assets/stylesheets/menu_management.scss */
.menu-empty-state {
  text-align: center;
  padding: 2.5rem 1rem;
  color: #64748b;
}

/* line 103, app/assets/stylesheets/menu_management.scss */
.menu-form-card {
  border: none;
  border-radius: 22px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.08);
  overflow: hidden;
}

/* line 110, app/assets/stylesheets/menu_management.scss */
.menu-form-card .card-header {
  background: linear-gradient(135deg, #0ea5e9, #6366f1);
  color: #fff;
  border: none;
  padding: 1.25rem 1.5rem;
}

/* line 117, app/assets/stylesheets/menu_management.scss */
.menu-cat-pills .nav-link {
  border-radius: 30px;
  padding: 0.45rem 1.1rem;
  font-weight: 600;
  color: #475569;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
}

/* line 126, app/assets/stylesheets/menu_management.scss */
.menu-cat-pills .nav-link.active {
  background: linear-gradient(135deg, #0ea5e9, #6366f1);
  color: #fff;
}
/* line 1, app/assets/stylesheets/pagination.scss */
.pagination-wrapper {
  display: flex;
  justify-content: center;
  margin-top: 24px;
}

/* line 7, app/assets/stylesheets/pagination.scss */
.pagination {
  display: flex;
  gap: 10px;
  padding: 0;
  list-style: none;
}

/* Common button style */
/* line 15, app/assets/stylesheets/pagination.scss */
.pagination a,
.pagination span {
  min-width: 40px;
  height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  color: #4f46e5;
  background: #f5f7ff;
  border: 1px solid #d8ddff;
  transition: all 0.2s ease;
}

/* Hover */
/* line 34, app/assets/stylesheets/pagination.scss */
.pagination a:hover {
  background: #4f46e5;
  color: #fff;
}

/* ACTIVE PAGE (FIXED) */
/* line 40, app/assets/stylesheets/pagination.scss */
.pagination .current {
  background: linear-gradient(135deg, #4f46e5, #6366f1);
  color: #fff;
  min-width: 40px;
  height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  border: 1px solid #d8ddff;
  transition: all 0.2s ease;
}

/* Previous / Next buttons */
/* line 58, app/assets/stylesheets/pagination.scss */
.pagination .previous_page,
.pagination .next_page {
  padding: 0 18px;
}

/* Disabled state */
/* line 64, app/assets/stylesheets/pagination.scss */
.pagination .disabled {
  opacity: 0.45;
  pointer-events: none;
}

/* Remove weird separator */
/* line 70, app/assets/stylesheets/pagination.scss */
.pagination .gap {
  background: transparent;
  border: none;
  color: #999;
}
@charset "UTF-8";
/* ═══════════════════════════════════════════
   RESPONSIVE — Mobile, tablet, desktop
   ═══════════════════════════════════════════ */
/* ── Global ── */
/* line 6, app/assets/stylesheets/responsive.scss */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* line 11, app/assets/stylesheets/responsive.scss */
img,
video {
  max-width: 100%;
  height: auto;
}

/* Touch-friendly controls on phones */
@media (max-width: 767px) {
  /* line 19, app/assets/stylesheets/responsive.scss */
  .auth-input,
.auth-form .btn,
.devise-auth-page .btn,
.contact-form .btn,
.contact-form .form-control,
.devise-auth-page .form-control,
.emp-auth-form .form-control,
.emp-auth-form .btn {
    min-height: 44px;
  }
  /* line 30, app/assets/stylesheets/responsive.scss */
  .auth-input,
.contact-form .form-control,
.devise-auth-page .form-control {
    font-size: 16px;
    /* prevents iOS zoom on focus */
  }
  /* line 36, app/assets/stylesheets/responsive.scss */
  .show-password-check {
    min-height: auto;
    padding-top: 0.15rem;
    padding-bottom: 0.15rem;
  }
  /* line 42, app/assets/stylesheets/responsive.scss */
  .show-password-check .form-check-input {
    width: 1.15em;
    height: 1.15em;
    min-height: auto;
    margin-top: 0.15em;
  }
}

/* ── App shell (logged-in) ── */
@media (max-width: 991px) {
  /* line 52, app/assets/stylesheets/responsive.scss */
  .navbar.bg-dark .navbar-collapse {
    background: rgba(33, 37, 41, 0.98);
    border-radius: 12px;
    padding: 0.75rem;
    margin-top: 0.5rem;
    max-height: calc(100vh - 4.5rem);
    overflow-y: auto;
  }
  /* line 61, app/assets/stylesheets/responsive.scss */
  .navbar.bg-dark .navbar-nav {
    gap: 0.15rem;
  }
  /* line 65, app/assets/stylesheets/responsive.scss */
  .navbar.bg-dark .nav-link {
    padding: 0.55rem 0.75rem !important;
    border-radius: 8px;
  }
  /* line 70, app/assets/stylesheets/responsive.scss */
  .navbar.bg-dark .nav-link:hover {
    background: rgba(255, 255, 255, 0.08);
  }
  /* line 74, app/assets/stylesheets/responsive.scss */
  .navbar.bg-dark .dropdown-menu {
    border: none;
    background: rgba(255, 255, 255, 0.06);
    margin-left: 0.5rem;
  }
  /* line 80, app/assets/stylesheets/responsive.scss */
  .navbar.bg-dark .dropdown-item {
    color: rgba(255, 255, 255, 0.85);
  }
  /* line 84, app/assets/stylesheets/responsive.scss */
  .navbar.bg-dark .dropdown-item:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
  }
}

@media (max-width: 575px) {
  /* line 91, app/assets/stylesheets/responsive.scss */
  body .container.mt-4 {
    padding-left: 0.85rem;
    padding-right: 0.85rem;
    margin-top: 0.75rem !important;
  }
  /* line 97, app/assets/stylesheets/responsive.scss */
  .navbar-brand {
    font-size: 0.95rem;
    max-width: 55vw;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  /* line 105, app/assets/stylesheets/responsive.scss */
  .navbar .nav-email {
    display: none;
  }
  /* line 109, app/assets/stylesheets/responsive.scss */
  .card-header h4,
.card-header h3 {
    font-size: 1.15rem;
  }
}

@media (min-width: 576px) and (max-width: 991px) {
  /* line 116, app/assets/stylesheets/responsive.scss */
  .navbar .nav-email {
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

/* ── Devise auth pages ── */
@media (max-width: 575px) {
  /* line 126, app/assets/stylesheets/responsive.scss */
  .devise-auth-page {
    margin-top: 1rem !important;
  }
  /* line 130, app/assets/stylesheets/responsive.scss */
  .devise-auth-page .card {
    border-radius: 16px;
  }
  /* line 134, app/assets/stylesheets/responsive.scss */
  .devise-auth-page .card-body {
    padding: 1.25rem;
  }
}

/* ── Auth modals ── */
@media (max-width: 575px) {
  /* line 141, app/assets/stylesheets/responsive.scss */
  .auth-modal .modal-dialog {
    margin: 0.5rem;
    max-width: calc(100% - 1rem);
  }
  /* line 146, app/assets/stylesheets/responsive.scss */
  .auth-modal-header {
    padding: 1.5rem 1rem 1.25rem;
  }
  /* line 150, app/assets/stylesheets/responsive.scss */
  .auth-modal-header .modal-title {
    font-size: 1.1rem;
  }
  /* line 154, app/assets/stylesheets/responsive.scss */
  .auth-modal-body {
    padding: 1.15rem;
  }
  /* line 158, app/assets/stylesheets/responsive.scss */
  .auth-modal-footer {
    padding: 0.85rem 1rem 1rem;
    font-size: 0.8rem;
  }
}

@media (min-width: 576px) and (max-width: 991px) {
  /* line 165, app/assets/stylesheets/responsive.scss */
  .auth-modal .modal-dialog {
    max-width: 420px;
  }
}

/* ── Contact page (application layout) ── */
@media (max-width: 991px) {
  /* line 172, app/assets/stylesheets/responsive.scss */
  .contact-page {
    margin-left: 0;
    margin-right: 0;
  }
  /* line 177, app/assets/stylesheets/responsive.scss */
  .contact-form-header {
    flex-direction: column;
    align-items: flex-start !important;
  }
  /* line 182, app/assets/stylesheets/responsive.scss */
  .contact-form-badge {
    align-self: flex-start;
  }
  /* line 186, app/assets/stylesheets/responsive.scss */
  .contact-side-stack {
    margin-top: 0.5rem;
  }
}

@media (max-width: 575px) {
  /* line 192, app/assets/stylesheets/responsive.scss */
  .contact-body-section {
    padding: 2rem 0;
  }
  /* line 196, app/assets/stylesheets/responsive.scss */
  .contact-form-body {
    padding: 1.25rem;
  }
  /* line 200, app/assets/stylesheets/responsive.scss */
  .contact-form-header {
    padding: 1.15rem 1.25rem;
  }
  /* line 204, app/assets/stylesheets/responsive.scss */
  .contact-title {
    font-size: 1.75rem;
  }
  /* line 208, app/assets/stylesheets/responsive.scss */
  .contact-lead {
    font-size: 0.95rem;
  }
  /* line 212, app/assets/stylesheets/responsive.scss */
  .contact-hero-card {
    margin-top: 0.5rem;
  }
  /* line 216, app/assets/stylesheets/responsive.scss */
  .contact-strucxil-brand {
    flex-direction: column;
    text-align: center;
  }
  /* line 221, app/assets/stylesheets/responsive.scss */
  .contact-back-btn,
.contact-submit-btn {
    width: 100%;
  }
  /* line 226, app/assets/stylesheets/responsive.scss */
  .contact-form .col-12.d-flex {
    flex-direction: column !important;
  }
}

@media (min-width: 576px) and (max-width: 991px) {
  /* line 232, app/assets/stylesheets/responsive.scss */
  .contact-hero-v2 {
    padding: 3rem 0 3.5rem;
  }
  /* line 236, app/assets/stylesheets/responsive.scss */
  .contact-body-section {
    padding: 2.5rem 0;
  }
}
@charset "UTF-8";
/* Restaurant floor plan */
/* line 2, app/assets/stylesheets/restaurant_tables.scss */
.floor-plan-page {
  margin: -1rem -12px 0;
  padding: 0 4px 2rem;
}

/* line 7, app/assets/stylesheets/restaurant_tables.scss */
.floor-plan-hero {
  background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 45%, #4f46e5 100%);
  border-radius: 24px;
  padding: 2rem;
  color: #fff;
  margin-bottom: 2rem;
  box-shadow: 0 24px 60px rgba(79, 70, 229, 0.28);
}

/* line 16, app/assets/stylesheets/restaurant_tables.scss */
.floor-plan-hero h2 {
  font-weight: 800;
  letter-spacing: -0.03em;
}

/* line 21, app/assets/stylesheets/restaurant_tables.scss */
.stat-pill {
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 18px;
  padding: 1rem;
  text-align: center;
  transition: transform 0.2s ease;
}

/* line 31, app/assets/stylesheets/restaurant_tables.scss */
.stat-pill:hover {
  transform: translateY(-4px);
}

/* line 32, app/assets/stylesheets/restaurant_tables.scss */
.stat-pill .stat-value {
  font-size: 1.85rem;
  font-weight: 800;
  line-height: 1;
}

/* line 33, app/assets/stylesheets/restaurant_tables.scss */
.stat-pill .stat-label {
  font-size: 0.7rem;
  opacity: 0.85;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-top: 0.35rem;
}

/* line 41, app/assets/stylesheets/restaurant_tables.scss */
.stat-pill.available .stat-value {
  color: #86efac;
}

/* line 42, app/assets/stylesheets/restaurant_tables.scss */
.stat-pill.occupied .stat-value {
  color: #fca5a5;
}

/* line 43, app/assets/stylesheets/restaurant_tables.scss */
.stat-pill.reserved .stat-value {
  color: #fcd34d;
}

/* line 44, app/assets/stylesheets/restaurant_tables.scss */
.stat-pill.billing .stat-value {
  color: #67e8f9;
}

/* line 45, app/assets/stylesheets/restaurant_tables.scss */
.stat-pill.cleaning .stat-value {
  color: #cbd5e1;
}

/* line 47, app/assets/stylesheets/restaurant_tables.scss */
.floor-tabs .nav-link {
  border-radius: 30px;
  padding: 0.45rem 1.1rem;
  font-weight: 600;
  color: #475569;
  margin-right: 0.5rem;
}

/* line 55, app/assets/stylesheets/restaurant_tables.scss */
.floor-tabs .nav-link.active {
  background: linear-gradient(135deg, #4f46e5, #6366f1);
  color: #fff;
}

/* line 60, app/assets/stylesheets/restaurant_tables.scss */
.tables-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  gap: 1.25rem;
}

/* line 66, app/assets/stylesheets/restaurant_tables.scss */
.table-card {
  position: relative;
  border-radius: 22px;
  padding: 1.35rem 1rem;
  text-align: center;
  text-decoration: none !important;
  color: inherit;
  border: 2px solid transparent;
  border-left-width: 6px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  min-height: 195px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}

/* line 84, app/assets/stylesheets/restaurant_tables.scss */
a.table-card:hover,
a.table-card:focus {
  transform: translateY(-8px) scale(1.02);
  text-decoration: none !important;
  color: inherit;
}

/* line 91, app/assets/stylesheets/restaurant_tables.scss */
.table-card .table-icon {
  font-size: 2rem;
  margin-bottom: 0.35rem;
}

/* line 92, app/assets/stylesheets/restaurant_tables.scss */
.table-card .table-number {
  font-size: 1.45rem;
  font-weight: 800;
}

/* line 93, app/assets/stylesheets/restaurant_tables.scss */
.table-card .table-meta {
  font-size: 0.78rem;
  opacity: 0.88;
  margin-top: 0.2rem;
}

/* line 94, app/assets/stylesheets/restaurant_tables.scss */
.table-card .table-amount {
  font-size: 0.85rem;
  font-weight: 700;
  margin-top: 0.45rem;
  padding: 0.25rem 0.75rem;
  border-radius: 20px;
}

/* line 102, app/assets/stylesheets/restaurant_tables.scss */
.table-status-badge {
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 0.62rem;
  padding: 0.35em 0.6em;
  border-radius: 20px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* Available — green */
/* line 115, app/assets/stylesheets/restaurant_tables.scss */
.table-card--available {
  background: linear-gradient(160deg, #ecfdf5 0%, #a7f3d0 100%);
  border-color: #34d399;
  border-left-color: #10b981;
  color: #064e3b;
}

/* line 121, app/assets/stylesheets/restaurant_tables.scss */
.table-card--available .table-icon {
  color: #059669;
}

/* line 122, app/assets/stylesheets/restaurant_tables.scss */
.table-card--available:hover {
  box-shadow: 0 18px 42px rgba(16, 185, 129, 0.35);
}

/* line 123, app/assets/stylesheets/restaurant_tables.scss */
.table-status-badge.table-card--available {
  background: #10b981 !important;
  color: #fff !important;
}

/* Occupied — red */
/* line 126, app/assets/stylesheets/restaurant_tables.scss */
.table-card--occupied {
  background: linear-gradient(160deg, #fef2f2 0%, #fca5a5 100%);
  border-color: #f87171;
  border-left-color: #ef4444;
  color: #7f1d1d;
}

/* line 132, app/assets/stylesheets/restaurant_tables.scss */
.table-card--occupied .table-icon {
  color: #dc2626;
}

/* line 133, app/assets/stylesheets/restaurant_tables.scss */
.table-card--occupied .table-amount {
  color: #991b1b;
  background: rgba(239, 68, 68, 0.15);
}

/* line 137, app/assets/stylesheets/restaurant_tables.scss */
.table-card--occupied:hover {
  box-shadow: 0 18px 42px rgba(239, 68, 68, 0.35);
}

/* line 138, app/assets/stylesheets/restaurant_tables.scss */
.table-status-badge.table-card--occupied {
  background: #ef4444 !important;
  color: #fff !important;
}

/* Reserved — amber */
/* line 141, app/assets/stylesheets/restaurant_tables.scss */
.table-card--reserved {
  background: linear-gradient(160deg, #fffbeb 0%, #fcd34d 100%);
  border-color: #fbbf24;
  border-left-color: #f59e0b;
  color: #78350f;
}

/* line 147, app/assets/stylesheets/restaurant_tables.scss */
.table-card--reserved .table-icon {
  color: #d97706;
}

/* line 148, app/assets/stylesheets/restaurant_tables.scss */
.table-card--reserved:hover {
  box-shadow: 0 18px 42px rgba(245, 158, 11, 0.35);
}

/* line 149, app/assets/stylesheets/restaurant_tables.scss */
.table-status-badge.table-card--reserved {
  background: #f59e0b !important;
  color: #fff !important;
}

/* Billing — cyan */
/* line 152, app/assets/stylesheets/restaurant_tables.scss */
.table-card--billing {
  background: linear-gradient(160deg, #ecfeff 0%, #67e8f9 100%);
  border-color: #22d3ee;
  border-left-color: #06b6d4;
  color: #164e63;
}

/* line 158, app/assets/stylesheets/restaurant_tables.scss */
.table-card--billing .table-icon {
  color: #0891b2;
}

/* line 159, app/assets/stylesheets/restaurant_tables.scss */
.table-card--billing .table-amount {
  color: #0e7490;
  background: rgba(6, 182, 212, 0.18);
}

/* line 163, app/assets/stylesheets/restaurant_tables.scss */
.table-card--billing:hover {
  box-shadow: 0 18px 42px rgba(6, 182, 212, 0.35);
}

/* line 164, app/assets/stylesheets/restaurant_tables.scss */
.table-status-badge.table-card--billing {
  background: #06b6d4 !important;
  color: #fff !important;
}

/* Cleaning — slate */
/* line 167, app/assets/stylesheets/restaurant_tables.scss */
.table-card--cleaning {
  background: linear-gradient(160deg, #f8fafc 0%, #cbd5e1 100%);
  border-color: #94a3b8;
  border-left-color: #64748b;
  color: #334155;
}

/* line 173, app/assets/stylesheets/restaurant_tables.scss */
.table-card--cleaning .table-icon {
  color: #64748b;
}

/* line 174, app/assets/stylesheets/restaurant_tables.scss */
.table-card--cleaning:hover {
  box-shadow: 0 18px 42px rgba(100, 116, 139, 0.25);
}

/* line 175, app/assets/stylesheets/restaurant_tables.scss */
.table-status-badge.table-card--cleaning {
  background: #64748b !important;
  color: #fff !important;
}

/* Legacy aliases (keep for other views) */
/* line 178, app/assets/stylesheets/restaurant_tables.scss */
.table-available {
  background: linear-gradient(160deg, #ecfdf5 0%, #a7f3d0 100%);
  border-color: #34d399;
  color: #064e3b;
}

/* line 179, app/assets/stylesheets/restaurant_tables.scss */
.table-occupied {
  background: linear-gradient(160deg, #fef2f2 0%, #fca5a5 100%);
  border-color: #f87171;
  color: #7f1d1d;
}

/* line 180, app/assets/stylesheets/restaurant_tables.scss */
.table-reserved {
  background: linear-gradient(160deg, #fffbeb 0%, #fcd34d 100%);
  border-color: #fbbf24;
  color: #78350f;
}

/* line 181, app/assets/stylesheets/restaurant_tables.scss */
.table-billing {
  background: linear-gradient(160deg, #ecfeff 0%, #67e8f9 100%);
  border-color: #22d3ee;
  color: #164e63;
}

/* line 182, app/assets/stylesheets/restaurant_tables.scss */
.table-cleaning {
  background: linear-gradient(160deg, #f8fafc 0%, #cbd5e1 100%);
  border-color: #94a3b8;
  color: #334155;
}

/* line 183, app/assets/stylesheets/restaurant_tables.scss */
.table-status-badge.table-available {
  background: #10b981 !important;
  color: #fff !important;
}

/* line 184, app/assets/stylesheets/restaurant_tables.scss */
.table-status-badge.table-occupied {
  background: #ef4444 !important;
  color: #fff !important;
}

/* line 185, app/assets/stylesheets/restaurant_tables.scss */
.table-status-badge.table-reserved {
  background: #f59e0b !important;
  color: #fff !important;
}

/* line 186, app/assets/stylesheets/restaurant_tables.scss */
.table-status-badge.table-billing {
  background: #06b6d4 !important;
  color: #fff !important;
}

/* line 187, app/assets/stylesheets/restaurant_tables.scss */
.table-status-badge.table-cleaning {
  background: #64748b !important;
  color: #fff !important;
}

/* line 189, app/assets/stylesheets/restaurant_tables.scss */
.legend-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  padding: 1rem 1.25rem;
  background: #f8fafc;
  border-radius: 16px;
  margin-bottom: 1.75rem;
}

/* line 199, app/assets/stylesheets/restaurant_tables.scss */
.legend-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.82rem;
  color: #475569;
}

/* line 207, app/assets/stylesheets/restaurant_tables.scss */
.legend-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
}

/* line 208, app/assets/stylesheets/restaurant_tables.scss */
.legend-dot.available {
  background: #10b981;
}

/* line 209, app/assets/stylesheets/restaurant_tables.scss */
.legend-dot.occupied {
  background: #ef4444;
}

/* line 210, app/assets/stylesheets/restaurant_tables.scss */
.legend-dot.reserved {
  background: #f59e0b;
}

/* line 211, app/assets/stylesheets/restaurant_tables.scss */
.legend-dot.billing {
  background: #06b6d4;
}

/* line 212, app/assets/stylesheets/restaurant_tables.scss */
.legend-dot.cleaning {
  background: #64748b;
}

/* Order screen */
/* line 215, app/assets/stylesheets/restaurant_tables.scss */
.order-hero {
  background: linear-gradient(135deg, #0f172a, #4f46e5);
  color: #fff;
  border-radius: 22px;
  padding: 1.5rem 2rem;
  margin-bottom: 1.5rem;
}

/* line 223, app/assets/stylesheets/restaurant_tables.scss */
.order-item-row {
  background: #f8fafc;
  border-radius: 14px;
  padding: 0.85rem;
  margin-bottom: 0.5rem;
  border: 1px solid #e2e8f0;
}

/* line 231, app/assets/stylesheets/restaurant_tables.scss */
.order-item-row.unsent {
  border-left: 4px solid #f97316;
}

/* line 232, app/assets/stylesheets/restaurant_tables.scss */
.order-item-row.sent {
  border-left: 4px solid #10b981;
}

/* line 234, app/assets/stylesheets/restaurant_tables.scss */
.order-item-status-badge {
  font-size: 0.75rem;
  letter-spacing: 0.02em;
  padding: 0.35em 0.65em;
}

/* line 240, app/assets/stylesheets/restaurant_tables.scss */
.order-summary-card {
  position: sticky;
  top: 1rem;
  border-radius: 22px;
  border: none;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.08);
}

/* line 248, app/assets/stylesheets/restaurant_tables.scss */
.order-summary-card .summary-total {
  font-size: 1.85rem;
  font-weight: 800;
  color: #4f46e5;
}

/* line 254, app/assets/stylesheets/restaurant_tables.scss */
.payment-receipt-card {
  border-radius: 22px;
}

/* line 258, app/assets/stylesheets/restaurant_tables.scss */
.payment-receipt-preview {
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 18px;
  padding: 1.5rem 1rem;
  display: flex;
  justify-content: center;
}

/* line 267, app/assets/stylesheets/restaurant_tables.scss */
.payment-receipt-preview #bill-print-area {
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}

/* line 271, app/assets/stylesheets/restaurant_tables.scss */
.booking-card {
  max-width: 520px;
  margin: 0 auto;
  border: none;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(79, 70, 229, 0.18);
}

/* line 280, app/assets/stylesheets/restaurant_tables.scss */
.booking-card .card-header {
  background: linear-gradient(135deg, #4f46e5, #6366f1);
  color: #fff;
  border: none;
  padding: 2rem;
  text-align: center;
}

/* line 288, app/assets/stylesheets/restaurant_tables.scss */
.booking-table-preview {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 298, app/assets/stylesheets/restaurant_tables.scss */
.category-section {
  margin-bottom: 2rem;
}

/* line 302, app/assets/stylesheets/restaurant_tables.scss */
.category-section-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1rem;
  padding: 0.85rem 1.1rem;
  border-radius: 16px;
  background: linear-gradient(135deg, #f8fafc 0%, #eef2ff 100%);
  border: 1px solid #e2e8f0;
}

/* line 315, app/assets/stylesheets/restaurant_tables.scss */
.category-section-header h5 {
  font-weight: 800;
  color: #1e293b;
}

/* line 320, app/assets/stylesheets/restaurant_tables.scss */
.category-tables-grid {
  margin-bottom: 0.5rem;
}

@media print {
  @page {
    size: 80mm auto;
    margin: 5mm;
  }
  /* line 326, app/assets/stylesheets/restaurant_tables.scss */
  body {
    margin: 0;
    font-family: monospace;
    font-size: 12px;
  }
  /* line 327, app/assets/stylesheets/restaurant_tables.scss */
  .no-print {
    display: none !important;
  }
}
/* Sales reports */
/* line 2, app/assets/stylesheets/sales_reports.scss */
.reports-page {
  margin: -1rem -12px 0;
  padding: 0 4px 2rem;
}

/* line 7, app/assets/stylesheets/sales_reports.scss */
.reports-hero {
  background: linear-gradient(135deg, #134e4a 0%, #0f766e 45%, #14b8a6 100%);
  border-radius: 24px;
  padding: 2rem;
  color: #fff;
  margin-bottom: 2rem;
  box-shadow: 0 24px 60px rgba(20, 184, 166, 0.28);
}

/* line 16, app/assets/stylesheets/sales_reports.scss */
.reports-hero h2 {
  font-weight: 800;
  letter-spacing: -0.03em;
}

/* line 21, app/assets/stylesheets/sales_reports.scss */
.reports-stat-pill {
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 18px;
  padding: 1rem;
  text-align: center;
}

/* line 30, app/assets/stylesheets/sales_reports.scss */
.reports-stat-pill .stat-value {
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.2;
}

/* line 36, app/assets/stylesheets/sales_reports.scss */
.reports-stat-pill .stat-label {
  font-size: 0.7rem;
  opacity: 0.85;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-top: 0.35rem;
}

/* line 44, app/assets/stylesheets/sales_reports.scss */
.reports-stat-pill.bills .stat-value {
  color: #fcd34d;
}

/* line 45, app/assets/stylesheets/sales_reports.scss */
.reports-stat-pill.sales .stat-value {
  color: #a7f3d0;
  font-size: 1.15rem;
}

/* line 46, app/assets/stylesheets/sales_reports.scss */
.reports-stat-pill.today .stat-value {
  color: #67e8f9;
  font-size: 1.15rem;
}

/* line 47, app/assets/stylesheets/sales_reports.scss */
.reports-stat-pill .stat-value-sm {
  font-size: 0.95rem;
  line-height: 1.35;
}

/* line 49, app/assets/stylesheets/sales_reports.scss */
.reports-hero--items {
  background: linear-gradient(135deg, #064e3b 0%, #059669 45%, #34d399 100%);
  box-shadow: 0 24px 60px rgba(52, 211, 153, 0.28);
}

/* line 54, app/assets/stylesheets/sales_reports.scss */
.reports-hero--custom {
  background: linear-gradient(135deg, #78350f 0%, #b45309 45%, #f59e0b 100%);
  box-shadow: 0 24px 60px rgba(245, 158, 11, 0.28);
}

/* line 59, app/assets/stylesheets/sales_reports.scss */
.reports-hero--graph {
  background: linear-gradient(135deg, #831843 0%, #be185d 45%, #ec4899 100%);
  box-shadow: 0 24px 60px rgba(236, 72, 153, 0.28);
}

/* line 64, app/assets/stylesheets/sales_reports.scss */
.reports-hero--graph .reports-stat-pill.bills .stat-value {
  color: #fbcfe8;
}

/* line 65, app/assets/stylesheets/sales_reports.scss */
.reports-hero--graph .reports-stat-pill.sales .stat-value {
  color: #fce7f3;
  font-size: 1rem;
}

/* line 66, app/assets/stylesheets/sales_reports.scss */
.reports-hero--graph .reports-stat-pill.today .stat-value {
  color: #fdf2f8;
  font-size: 1rem;
}

/* line 67, app/assets/stylesheets/sales_reports.scss */
.reports-hero--graph .reports-stat-pill.sales .stat-label,
.reports-hero--graph .reports-stat-pill.today .stat-label {
  font-size: 0.62rem;
}

/* line 72, app/assets/stylesheets/sales_reports.scss */
.reports-chart-card {
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
  overflow: hidden;
  border: 1px solid #e2e8f0;
}

/* line 80, app/assets/stylesheets/sales_reports.scss */
.reports-chart-wrap {
  padding: 1.25rem 1.25rem 0.5rem;
  min-height: 320px;
  height: 360px;
  position: relative;
}

/* line 87, app/assets/stylesheets/sales_reports.scss */
.reports-chart-wrap canvas {
  width: 100% !important;
  height: 100% !important;
}

/* line 92, app/assets/stylesheets/sales_reports.scss */
.graph-type-badge {
  background: linear-gradient(135deg, #be185d, #ec4899);
  color: #fff;
  font-weight: 600;
  border-radius: 20px;
  padding: 0.35rem 0.75rem;
}

/* line 100, app/assets/stylesheets/sales_reports.scss */
.reports-table--graph thead th {
  background: linear-gradient(135deg, #831843, #be185d);
}

/* line 104, app/assets/stylesheets/sales_reports.scss */
.reports-hero-hint {
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 14px;
  padding: 0.85rem 1.1rem;
  font-size: 0.9rem;
}

/* line 112, app/assets/stylesheets/sales_reports.scss */
.reports-search .input-group,
.reports-filter-card {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}

/* line 119, app/assets/stylesheets/sales_reports.scss */
.reports-search .form-control,
.reports-search .input-group-text {
  border-color: #e2e8f0;
  padding-top: 0.65rem;
  padding-bottom: 0.65rem;
}

/* line 126, app/assets/stylesheets/sales_reports.scss */
.reports-filter-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 22px;
  padding: 1.25rem;
}

/* line 133, app/assets/stylesheets/sales_reports.scss */
.reports-tabs .nav-link {
  border-radius: 30px;
  padding: 0.5rem 1.15rem;
  font-weight: 600;
  color: #475569;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
  border: 2px solid transparent;
}

/* line 143, app/assets/stylesheets/sales_reports.scss */
.reports-tabs .nav-link.active.report-tab--daily {
  background: linear-gradient(135deg, #0f766e, #14b8a6);
  color: #fff;
  border-color: #0f766e;
}

/* line 149, app/assets/stylesheets/sales_reports.scss */
.reports-tabs .nav-link.active.report-tab--period {
  background: linear-gradient(135deg, #4f46e5, #6366f1);
  color: #fff;
  border-color: #4f46e5;
}

/* line 155, app/assets/stylesheets/sales_reports.scss */
.reports-tabs .nav-link.active.report-tab--items {
  background: linear-gradient(135deg, #059669, #34d399);
  color: #fff;
  border-color: #059669;
}

/* line 161, app/assets/stylesheets/sales_reports.scss */
.reports-tabs .nav-link.active.report-tab--custom {
  background: linear-gradient(135deg, #b45309, #f59e0b);
  color: #fff;
  border-color: #b45309;
}

/* line 167, app/assets/stylesheets/sales_reports.scss */
.reports-tabs .nav-link.active.report-tab--graph {
  background: linear-gradient(135deg, #be185d, #ec4899);
  color: #fff;
  border-color: #be185d;
}

/* line 173, app/assets/stylesheets/sales_reports.scss */
.reports-quick-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid #e2e8f0;
}

/* line 182, app/assets/stylesheets/sales_reports.scss */
.reports-quick-link {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.85rem;
  border-radius: 20px;
  background: #f1f5f9;
  color: #334155;
  font-size: 0.82rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}

/* line 195, app/assets/stylesheets/sales_reports.scss */
.reports-quick-link:hover {
  background: #0f766e;
  color: #fff;
}

/* line 200, app/assets/stylesheets/sales_reports.scss */
.reports-list-card {
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
  overflow: hidden;
  border: 1px solid #e2e8f0;
}

/* line 208, app/assets/stylesheets/sales_reports.scss */
.reports-list-header {
  padding: 1rem 1.25rem;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
}

/* line 214, app/assets/stylesheets/sales_reports.scss */
.reports-table {
  margin-bottom: 0;
}

/* line 218, app/assets/stylesheets/sales_reports.scss */
.reports-table thead th {
  background: linear-gradient(135deg, #134e4a, #0f766e);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border: none;
  padding: 0.85rem 1rem;
  white-space: nowrap;
}

/* line 230, app/assets/stylesheets/sales_reports.scss */
.reports-table tbody td {
  padding: 0.85rem 1rem;
  border-bottom: 1px solid #f1f5f9;
  font-size: 0.88rem;
  vertical-align: middle;
}

/* line 237, app/assets/stylesheets/sales_reports.scss */
.reports-table tbody tr:last-child td {
  border-bottom: none;
}

/* line 241, app/assets/stylesheets/sales_reports.scss */
.report-row:hover {
  background: #f0fdfa;
}

/* line 245, app/assets/stylesheets/sales_reports.scss */
.report-period {
  color: #0f766e;
}

/* line 249, app/assets/stylesheets/sales_reports.scss */
.report-amount {
  color: #059669;
}

/* line 253, app/assets/stylesheets/sales_reports.scss */
.report-count-badge {
  display: inline-block;
  min-width: 2rem;
  padding: 0.15rem 0.55rem;
  border-radius: 20px;
  background: #ecfdf5;
  color: #065f46;
  font-weight: 700;
  font-size: 0.82rem;
}

@media (max-width: 576px) {
  /* line 265, app/assets/stylesheets/sales_reports.scss */
  .reports-hero {
    padding: 1.25rem;
  }
  /* line 269, app/assets/stylesheets/sales_reports.scss */
  .reports-stat-pill .stat-value {
    font-size: 1.1rem;
  }
}
@charset "UTF-8";
/* ═══════════════════════════════════════════
   SUBSCRIPTION FLOW
   ═══════════════════════════════════════════ */
/* line 5, app/assets/stylesheets/subscription.scss */
.subscription-body {
  font-family: 'Inter', system-ui, sans-serif !important;
  background: linear-gradient(160deg, #0a0a0f 0%, #1a1025 40%, #0f172a 100%);
  min-height: 100vh;
  color: #e2e8f0;
}

/* line 12, app/assets/stylesheets/subscription.scss */
.sub-header {
  background: rgba(10, 10, 15, 0.8);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 18, app/assets/stylesheets/subscription.scss */
.sub-brand {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  color: #fff !important;
  font-weight: 800;
  text-decoration: none;
  font-size: 1.1rem;
}

/* line 28, app/assets/stylesheets/subscription.scss */
.sub-brand-icon {
  width: 36px;
  height: 36px;
  background: linear-gradient(135deg, #f59e0b, #ef4444);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
}

/* line 39, app/assets/stylesheets/subscription.scss */
.sub-user-badge {
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.06);
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
}

/* line 47, app/assets/stylesheets/subscription.scss */
.sub-btn-outline {
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: #fff !important;
  border-radius: 999px;
  font-size: 0.82rem;
}

/* line 54, app/assets/stylesheets/subscription.scss */
.sub-btn-primary {
  background: linear-gradient(135deg, #f59e0b, #ef4444);
  color: #fff !important;
  border: none;
  border-radius: 12px;
  padding: 0.75rem 1.5rem;
  font-weight: 700;
  box-shadow: 0 8px 32px rgba(239, 68, 68, 0.35);
  transition: transform 0.2s, box-shadow 0.2s;
}

/* line 65, app/assets/stylesheets/subscription.scss */
.sub-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 40px rgba(239, 68, 68, 0.45);
  color: #fff;
}

/* line 71, app/assets/stylesheets/subscription.scss */
.sub-alert {
  border-radius: 12px;
  font-size: 0.9rem;
}

/* line 73, app/assets/stylesheets/subscription.scss */
.sub-hero {
  padding: 4rem 0 2rem;
  text-align: center;
}

/* line 78, app/assets/stylesheets/subscription.scss */
.sub-eyebrow {
  display: inline-block;
  background: rgba(245, 158, 11, 0.15);
  color: #fbbf24;
  padding: 0.35rem 1rem;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 600;
  margin-bottom: 1.25rem;
}

/* line 89, app/assets/stylesheets/subscription.scss */
.sub-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
  margin-bottom: 1rem;
}

/* line 98, app/assets/stylesheets/subscription.scss */
.sub-subtitle {
  color: rgba(255, 255, 255, 0.65);
  font-size: 1.05rem;
  max-width: 560px;
  margin: 0 auto;
}

/* line 105, app/assets/stylesheets/subscription.scss */
.sub-plan-card {
  position: relative;
  display: block;
  background: rgba(255, 255, 255, 0.04);
  border: 2px solid rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  padding: 2rem 1.75rem;
  cursor: pointer;
  transition: all 0.3s ease;
  height: 100%;
  overflow: hidden;
}

/* line 118, app/assets/stylesheets/subscription.scss */
.sub-plan-card:hover,
.sub-plan-card.is-selected {
  border-color: rgba(245, 158, 11, 0.6);
  background: rgba(245, 158, 11, 0.08);
  transform: translateY(-4px);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
}

/* line 126, app/assets/stylesheets/subscription.scss */
.sub-plan-card.featured {
  border-color: rgba(245, 158, 11, 0.4);
  background: rgba(245, 158, 11, 0.06);
}

/* line 131, app/assets/stylesheets/subscription.scss */
.sub-plan-badge {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: linear-gradient(135deg, #f59e0b, #ef4444);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
  padding: 0.25rem 0.65rem;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* line 145, app/assets/stylesheets/subscription.scss */
.sub-plan-radio {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* line 147, app/assets/stylesheets/subscription.scss */
.sub-plan-icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  margin-bottom: 1.25rem;
}

/* line 158, app/assets/stylesheets/subscription.scss */
.plan-basic .sub-plan-icon {
  background: rgba(59, 130, 246, 0.2);
  color: #60a5fa;
}

/* line 159, app/assets/stylesheets/subscription.scss */
.plan-pro .sub-plan-icon {
  background: rgba(245, 158, 11, 0.2);
  color: #fbbf24;
}

/* line 160, app/assets/stylesheets/subscription.scss */
.plan-enterprise .sub-plan-icon {
  background: rgba(168, 85, 247, 0.2);
  color: #c084fc;
}

/* line 162, app/assets/stylesheets/subscription.scss */
.sub-plan-name {
  font-size: 1.35rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 0.35rem;
}

/* line 169, app/assets/stylesheets/subscription.scss */
.sub-plan-tagline {
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.88rem;
  margin-bottom: 1.25rem;
}

/* line 175, app/assets/stylesheets/subscription.scss */
.sub-plan-price {
  font-size: 2.25rem;
  font-weight: 800;
  color: #fff;
  margin-bottom: 1.5rem;
}

/* line 182, app/assets/stylesheets/subscription.scss */
.sub-plan-price .currency {
  font-size: 1.25rem;
  vertical-align: super;
}

/* line 183, app/assets/stylesheets/subscription.scss */
.sub-plan-price small {
  font-size: 0.85rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.5);
}

/* line 185, app/assets/stylesheets/subscription.scss */
.sub-plan-features {
  list-style: none;
  padding: 0;
  margin: 0 0 1rem;
}

/* line 191, app/assets/stylesheets/subscription.scss */
.sub-plan-features li {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.88rem;
  color: rgba(255, 255, 255, 0.75);
  margin-bottom: 0.55rem;
}

/* line 200, app/assets/stylesheets/subscription.scss */
.sub-plan-features li i {
  color: #34d399;
  flex-shrink: 0;
  margin-top: 2px;
}

/* line 202, app/assets/stylesheets/subscription.scss */
.sub-plan-select {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  background: rgba(52, 211, 153, 0.15);
  color: #34d399;
  padding: 0.5rem;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.85rem;
}

/* line 215, app/assets/stylesheets/subscription.scss */
.sub-plan-card.is-selected .sub-plan-select {
  display: flex;
}

/* line 217, app/assets/stylesheets/subscription.scss */
.sub-details-card {
  max-width: 640px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  padding: 2rem;
}

/* line 225, app/assets/stylesheets/subscription.scss */
.sub-details-card h4 {
  color: #fff;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

/* line 227, app/assets/stylesheets/subscription.scss */
.sub-input {
  background: rgba(0, 0, 0, 0.3) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  color: #fff !important;
  border-radius: 10px;
}

/* line 234, app/assets/stylesheets/subscription.scss */
.sub-input:focus {
  border-color: #f59e0b !important;
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.2) !important;
}

/* line 239, app/assets/stylesheets/subscription.scss */
.sub-note {
  background: rgba(59, 130, 246, 0.1);
  border: 1px solid rgba(59, 130, 246, 0.25);
  border-radius: 10px;
  padding: 0.85rem 1rem;
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.75);
}

/* line 248, app/assets/stylesheets/subscription.scss */
.sub-status-hero {
  padding: 3rem 0 5rem;
}

/* line 250, app/assets/stylesheets/subscription.scss */
.sub-status-card {
  max-width: 620px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 24px;
  padding: 3rem 2.5rem;
  text-align: center;
}

/* line 259, app/assets/stylesheets/subscription.scss */
.sub-status-icon {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.25rem;
  margin: 0 auto 1.5rem;
}

/* line 270, app/assets/stylesheets/subscription.scss */
.sub-status-icon.pending {
  background: rgba(245, 158, 11, 0.15);
  color: #fbbf24;
}

/* line 271, app/assets/stylesheets/subscription.scss */
.sub-status-icon.approved {
  background: rgba(52, 211, 153, 0.15);
  color: #34d399;
}

/* line 272, app/assets/stylesheets/subscription.scss */
.sub-status-icon.rejected {
  background: rgba(239, 68, 68, 0.15);
  color: #f87171;
}

/* line 274, app/assets/stylesheets/subscription.scss */
.sub-status-card h1 {
  font-family: 'Playfair Display', serif;
  color: #fff;
  font-size: 1.85rem;
  margin-bottom: 0.75rem;
}

/* line 281, app/assets/stylesheets/subscription.scss */
.sub-status-text {
  color: rgba(255, 255, 255, 0.7);
  font-size: 1rem;
}

/* line 283, app/assets/stylesheets/subscription.scss */
.sub-status-meta {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin: 2rem 0;
  padding: 1.25rem;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 12px;
}

/* line 293, app/assets/stylesheets/subscription.scss */
.sub-status-meta div {
  text-align: center;
}

/* line 294, app/assets/stylesheets/subscription.scss */
.sub-status-meta span {
  display: block;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.5);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* line 295, app/assets/stylesheets/subscription.scss */
.sub-status-meta strong {
  color: #fff;
  font-size: 0.95rem;
}

/* line 297, app/assets/stylesheets/subscription.scss */
.sub-waiting-bar {
  height: 4px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  overflow: hidden;
  margin-bottom: 1rem;
}

/* line 305, app/assets/stylesheets/subscription.scss */
.sub-waiting-progress {
  height: 100%;
  width: 60%;
  background: linear-gradient(90deg, #f59e0b, #ef4444);
  border-radius: 999px;
  animation: subPulse 2s ease-in-out infinite;
}

@keyframes subPulse {
  0%, 100% {
    opacity: 0.6;
    width: 40%;
  }
  50% {
    opacity: 1;
    width: 70%;
  }
}

/* line 318, app/assets/stylesheets/subscription.scss */
.sub-status-hint {
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.5);
}

/* line 320, app/assets/stylesheets/subscription.scss */
.sub-rejection-reason {
  background: rgba(239, 68, 68, 0.1);
  border: 1px solid rgba(239, 68, 68, 0.25);
  border-radius: 10px;
  padding: 1rem;
  text-align: left;
  color: rgba(255, 255, 255, 0.8);
  margin-top: 1rem;
}

/* line 330, app/assets/stylesheets/subscription.scss */
.sub-timeline {
  text-align: left;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 1.5rem;
}

/* line 331, app/assets/stylesheets/subscription.scss */
.sub-timeline h5 {
  color: #fff;
  font-size: 0.95rem;
  margin-bottom: 1rem;
}

/* line 333, app/assets/stylesheets/subscription.scss */
.sub-timeline-item {
  display: flex;
  gap: 0.75rem;
  margin-bottom: 1rem;
  font-size: 0.88rem;
}

/* line 340, app/assets/stylesheets/subscription.scss */
.sub-timeline-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-top: 5px;
  flex-shrink: 0;
}

/* line 348, app/assets/stylesheets/subscription.scss */
.sub-timeline-dot.submitted {
  background: #60a5fa;
}

/* line 349, app/assets/stylesheets/subscription.scss */
.sub-timeline-dot.approved {
  background: #34d399;
}

/* line 350, app/assets/stylesheets/subscription.scss */
.sub-timeline-dot.rejected {
  background: #f87171;
}

@media (max-width: 576px) {
  /* line 353, app/assets/stylesheets/subscription.scss */
  .sub-status-meta {
    grid-template-columns: 1fr;
  }
}
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
 * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *



 */
/* line 18, app/assets/stylesheets/application.scss */
body {
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  color: #1f2937 !important;
}
