/* App extra styles */
:root {
  --po-primary: #C2410C;
  --po-primary-hover: #9A3412;
  --po-admin-bg: #F9F8F6;
}
body { -webkit-font-smoothing: antialiased; }
.btn-primary { background: var(--po-primary); color: #fff; padding: 0.5rem 1rem; border-radius: 0.5rem; font-weight: 600; font-size: 0.875rem; box-shadow: 0 1px 2px rgba(194,65,12,0.2); transition: background .15s; display: inline-flex; align-items: center; gap: 0.5rem; }
.btn-primary:hover { background: var(--po-primary-hover); }
.btn-secondary { background: #fff; color: #334155; padding: 0.5rem 1rem; border-radius: 0.5rem; font-weight: 600; font-size: 0.875rem; border: 1px solid #e2e8f0; transition: background .15s; display: inline-flex; align-items: center; gap: 0.5rem; }
.btn-secondary:hover { background: #f8fafc; }
.btn-danger { background: #dc2626; color:#fff; padding: 0.5rem 1rem; border-radius: 0.5rem; font-weight: 600; font-size: 0.875rem; }
.badge { display: inline-flex; align-items:center; padding: 0.15rem 0.65rem; border-radius: 9999px; font-size: 0.75rem; font-weight: 600; border: 1px solid transparent; }
.badge-Available, .badge-Paid, .badge-Confirmed, .badge-active, .badge-Clean, .badge-Inspected, .badge-success { background:#d1fae5; color:#065f46; border-color:#a7f3d0; }
.badge-Pending, .badge-Partial, .badge-Dirty, .badge-Assigned, .badge-warning, .badge-Waiting-Parts { background:#fef3c7; color:#92400e; border-color:#fde68a; }
.badge-Occupied, .badge-Confirmed, .badge-Checked-In, .badge-Cleaning, .badge-info { background:#dbeafe; color:#1e40af; border-color:#bfdbfe; }
.badge-Cancelled, .badge-Unpaid, .badge-Out-of-Order, .badge-Failed, .badge-danger { background:#fee2e2; color:#991b1b; border-color:#fecaca; }
.badge-Refunded, .badge-Inactive, .badge-Checked-Out, .badge-neutral { background:#f1f5f9; color:#475569; border-color:#e2e8f0; }
.badge-Maintenance { background:#ede9fe; color:#6b21a8; border-color:#ddd6fe; }
.badge-No-Show { background:#ffedd5; color:#9a3412; border-color:#fed7aa; }
.badge-In-Progress { background:#e0f2fe; color:#075985; border-color:#bae6fd; }
.badge-Open { background:#fef3c7; color:#92400e; border-color:#fde68a; }
.badge-Resolved, .badge-Closed { background:#d1fae5; color:#065f46; border-color:#a7f3d0; }
.badge-Rejected, .badge-Out-of-Service { background:#fee2e2; color:#991b1b; border-color:#fecaca; }
.badge-Booked { background:#dbeafe; color:#1e40af; border-color:#bfdbfe; }
.card { background:#fff; border:1px solid #e2e8f0; border-radius: 0.75rem; }
.form-input, .form-select, .form-textarea { display:block; width:100%; border:1px solid #cbd5e1; border-radius: 0.5rem; padding: 0.5rem 0.75rem; font-size: 0.875rem; background:#fff; }
.form-input:focus, .form-select:focus, .form-textarea:focus { outline: none; border-color: var(--po-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--po-primary) 18%, transparent); }
.form-label { display:block; font-size: 0.8rem; font-weight: 600; color: #334155; margin-bottom: 0.35rem; }
.settings-tab-shell { background:transparent; border:0; border-radius:0; padding:0; overflow-x:auto; }
.settings-tab-list { display:flex; min-width:max-content; align-items:flex-end; padding:0 0.25rem; }
.settings-tab { position:relative; top:1px; min-width:10.5rem; min-height:4rem; display:inline-flex; align-items:center; justify-content:center; gap:0.5rem; white-space:nowrap; border:1px solid #d7dce3; border-left-width:0; border-bottom-color:#8a8f98; border-radius:0; padding:0.85rem 1.25rem; background:linear-gradient(180deg,#fbfbfd 0%,#f4f6f9 100%); color:#0f172a; font-size:0.95rem; font-weight:600; transition:background .15s, color .15s, border-color .15s, box-shadow .15s; }
.settings-tab:first-child { border-left-width:1px; }
.settings-tab:hover { background:#fff; color:#0f172a; }
.settings-tab.is-active { min-height:4.25rem; background:#fff; color:#0f172a; border:2px solid #52565f; border-bottom-color:#fff; font-weight:800; box-shadow:none; z-index:3; }
.settings-tab.is-active + .settings-tab { border-left-width:0; }
.settings-tab i { color:#94a3b8; }
.settings-tab.is-active i { color:var(--po-primary); }
.settings-tab-panels { margin-top:0; }
.settings-tab-panels > .card { min-height:28rem; background:#fff; border:2px solid #8a8f98; border-radius:0; padding:3rem 3.5rem; }
@media (max-width: 768px) {
  .settings-tab { min-width:9rem; min-height:3.4rem; padding:0.7rem 1rem; font-size:0.85rem; }
  .settings-tab.is-active { min-height:3.65rem; }
  .settings-tab-panels > .card { padding:1.25rem; }
}
.table-wrap { background:#fff; border:1px solid #e2e8f0; border-radius: 0.75rem; overflow: hidden; }
.table-wrap table { width: 100%; border-collapse: collapse; font-size: 0.875rem; }
.table-wrap th { background:#f8fafc; text-align:left; padding: 0.75rem 1rem; font-size: 0.7rem; font-weight: 700; color:#64748b; text-transform: uppercase; letter-spacing: 0.05em; border-bottom: 1px solid #e2e8f0; }
.table-wrap td { padding: 0.85rem 1rem; border-bottom: 1px solid #f1f5f9; color:#334155; vertical-align: middle; }
.table-wrap tr:hover td { background: #fafafa; }

.public-header-logo,
.public-header-logo:hover,
.cms-public-header-logo,
.cms-public-header-logo:hover,
.public-footer__brand-logo,
.public-footer__brand-logo:hover,
.public-footer-logo,
.public-footer-logo:hover,
.cms-public-footer-logo,
.cms-public-footer-logo:hover {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  filter: none;
  opacity: 1;
  transform: none;
  transition: none;
}

.public-header-logo img,
.cms-public-header-logo img,
.public-footer__brand-logo img,
.public-footer-logo img,
.cms-public-footer-logo img {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  filter: none;
  opacity: 1;
  transform: none;
  transition: none;
}

.public-header-logo:hover img,
.cms-public-header-logo:hover img,
.public-footer__brand-logo:hover img,
.public-footer-logo:hover img,
.cms-public-footer-logo:hover img {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  filter: none;
  opacity: 1;
  transform: none;
  transition: none;
}

.public-header-logo__mark,
.public-header-logo__mark:hover,
.public-footer__brand-initial,
.public-footer__brand-initial:hover {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  filter: none;
  opacity: 1;
  transform: none;
  transition: none;
}

@media print { .no-print { display: none !important; } body { background: #fff !important; } }
