/* Vachoux Manager — extra styles complementing Tailwind CDN */
:root {
  --gold: #c9a77f;
  --gold-dark: #a37f56;
  --ink: #1a1a1f;
}
.text-gold { color: var(--gold) !important; }
.bg-gold { background: var(--gold) !important; }
.border-gold { border-color: var(--gold) !important; }
.bg-gold-light { background: rgba(201, 167, 127, 0.12); }
body { font-family: 'Space Grotesk', sans-serif; }

/* Cards & badges */
.portal-card { transition: all .3s ease; cursor: pointer; }
.portal-card:hover { transform: translateY(-6px); box-shadow: 0 18px 36px rgba(0,0,0,.08); }
.portal-card:hover .card-icon { transform: scale(1.08); }
.card-icon { transition: transform .3s ease; }

.status-badge {
  display: inline-block; padding: 3px 10px; border-radius: 999px;
  font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em;
}
.status-new { background: #dbeafe; color: #1e40af; }
.status-confirmed { background: #d1fae5; color: #065f46; }
.status-assigned { background: #fef3c7; color: #92400e; }
.status-in_progress { background: #ede9fe; color: #5b21b6; }
.status-done { background: #e5e7eb; color: #374151; }
.status-cancelled { background: #fee2e2; color: #991b1b; }

.input { @apply w-full px-3 py-2 border border-gray-300 rounded-lg focus:outline-none focus:border-orange-500; }
input.input, select.input, textarea.input {
  width: 100%;
  padding: 0.5rem 0.75rem;
  border: 1px solid #d1d5db;
  border-radius: 0.5rem;
  font-family: inherit;
  font-size: 14px;
  background: #fff;
}
input.input:focus, select.input:focus, textarea.input:focus { outline: none; border-color: #f97316; box-shadow: 0 0 0 3px rgba(249,115,22,0.1); }

/* Calendar */
.cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 1px; background: #e5e7eb; border: 1px solid #e5e7eb; border-radius: 12px; overflow: hidden; }
.cal-day-name { background: #f9fafb; padding: 8px; text-align: center; font-weight: 600; font-size: 12px; color: #6b7280; text-transform: uppercase; }
.cal-cell { background: #fff; min-height: 110px; padding: 6px; cursor: pointer; transition: background .15s; }
.cal-cell:hover { background: #fef3e2; }
.cal-cell.muted { background: #f9fafb; color: #9ca3af; }
.cal-cell.today { background: #fff8ec; box-shadow: inset 0 0 0 2px #f97316; }
.cal-num { font-weight: 600; font-size: 13px; color: #1f2937; }
.cal-event {
  display: block; font-size: 11px; padding: 2px 6px; border-radius: 4px;
  background: #f97316; color: #fff; margin-top: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.cal-event.confirmed { background: #16a34a; }
.cal-event.cancelled { background: #9ca3af; text-decoration: line-through; }
.cal-event.new { background: #2563eb; }

/* Modal */
.modal-back {
  position: fixed; inset: 0; background: rgba(0,0,0,0.5); display: none;
  align-items: center; justify-content: center; z-index: 100; padding: 20px;
}
.modal-back.open { display: flex; }
.modal {
  background: #fff; border-radius: 16px; max-width: 560px; width: 100%;
  max-height: 90vh; overflow: auto; box-shadow: 0 30px 60px rgba(0,0,0,0.3);
}
.modal h3 { font-family: 'Space Grotesk', sans-serif; font-size: 20px; font-weight: 700; padding: 20px; border-bottom: 1px solid #e5e7eb; margin: 0; }
.modal .body { padding: 20px; }
.modal .actions { padding: 16px 20px; border-top: 1px solid #e5e7eb; display: flex; justify-content: flex-end; gap: 8px; }

/* Loading */
.skel { background: linear-gradient(90deg, #f3f4f6 25%, #e5e7eb 50%, #f3f4f6 75%); background-size: 200% 100%; animation: skel 1.4s infinite; border-radius: 6px; }
@keyframes skel { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }
