/* Hotel Kimininga v34.8 - softer hotel palette, high contrast, division permissions */
.department-grid {
  gap: 16px !important;
}

.department-tab {
  --dept-accent:#6a745e;
  --dept-card:#f7f4ed;
  --dept-card-2:#efe9dc;
  min-height: 200px !important;
  padding: 20px !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg, var(--dept-card) 0%, var(--dept-card-2) 100%) !important;
  background-image: linear-gradient(145deg, var(--dept-card) 0%, var(--dept-card-2) 100%) !important;
  border: 1px solid color-mix(in srgb, var(--dept-accent) 32%, #ffffff) !important;
  color: #1e2b2a !important;
  box-shadow: 0 10px 24px rgba(15, 28, 31, .10) !important;
  isolation: isolate;
  transform-origin: center;
  transition: transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, border-color .28s ease !important;
}

.department-tab::before {
  height: 5px !important;
  background: var(--dept-accent) !important;
}

.department-tab::after {
  width: 150px !important;
  height: 150px !important;
  top: -52px !important;
  right: -46px !important;
  opacity: .6 !important;
  background: radial-gradient(circle, rgba(255,255,255,.92), rgba(255,255,255,0) 70%) !important;
  transition: transform .35s ease, opacity .35s ease !important;
}

.department-tab:hover,
.department-tab:focus-visible {
  transform: translateY(-7px) scale(1.015) !important;
  border-color: var(--dept-accent) !important;
  box-shadow: 0 20px 42px rgba(15, 28, 31, .18), 0 0 0 1px color-mix(in srgb, var(--dept-accent) 20%, transparent) !important;
}

.department-tab:hover::after,
.department-tab:focus-visible::after {
  transform: translate(-12px, 12px) scale(1.12) !important;
  opacity: .9 !important;
}

.department-tab h2 {
  color: #172522 !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
}

.department-tab h4 {
  color: var(--dept-accent) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  opacity: 1 !important;
}

.department-tab p {
  color: #435451 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.58 !important;
  opacity: 1 !important;
}

.department-tab .department-number {
  color: #53615d !important;
  opacity: .16 !important;
}

.department-tab .department-icon {
  background: rgba(255,255,255,.88) !important;
  color: var(--dept-accent) !important;
  border: 1px solid rgba(255,255,255,.86) !important;
  box-shadow: 0 8px 16px rgba(15,28,31,.08) !important;
}

.department-tab:hover .department-icon,
.department-tab:focus-visible .department-icon {
  transform: translateY(-3px) rotate(-6deg) scale(1.08) !important;
  box-shadow: 0 12px 22px rgba(15,28,31,.14) !important;
}

.department-open {
  color: var(--dept-accent) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  opacity: 1 !important;
}
.department-open::after { content:' →' !important; display:inline-block; transition:transform .25s ease; }
.department-tab:hover .department-open::after { transform: translateX(5px); }

/* Softer hotel palette */
.dept-rooms { --dept-accent:#3f745f; --dept-card:#f4f8f3; --dept-card-2:#e6efe8; }
.dept-fnb { --dept-accent:#a85f2f; --dept-card:#fff7ed; --dept-card-2:#f6e7d4; }
.dept-facility { --dept-accent:#496f73; --dept-card:#f1f6f5; --dept-card-2:#dfebea; }
.dept-finance { --dept-accent:#5f6380; --dept-card:#f6f4f8; --dept-card-2:#e9e5ef; }
.dept-hr { --dept-accent:#8b5365; --dept-card:#fbf4f6; --dept-card-2:#f0e2e7; }
.dept-sales { --dept-accent:#54705f; --dept-card:#f2f7f3; --dept-card-2:#e2ece5; }

.no-division-access,
.access-denied-card {
  grid-column: 1 / -1;
  padding: 28px !important;
  border-radius: 18px !important;
  background: #fffaf1 !important;
  border: 1px solid #ead8b9 !important;
  color: #443621 !important;
}

/* Superadmin division permission editor */
.division-access-editor {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid #dde4e7;
}
.division-access-editor > h3 { margin: 0 0 4px; color:#172522; }
.division-access-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:14px;
}
.division-access-card {
  padding:16px;
  border-radius:16px;
  background:#fbfcfb;
  border:1px solid #dce5df;
  box-shadow:0 7px 18px rgba(21,39,35,.06);
}
.division-master {
  display:flex;
  align-items:center;
  gap:9px;
  padding-bottom:10px;
  margin-bottom:10px;
  border-bottom:1px solid #e5ebe7;
  color:#1d302b;
  font-size:15px;
}
.division-master input { width:18px; height:18px; }
.division-feature-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 10px;
}
.division-feature-list label {
  display:flex;
  gap:8px;
  align-items:flex-start;
  color:#42544f;
  font-size:12.5px;
  line-height:1.35;
}
.division-feature-list input { margin-top:2px; }
.division-feature-list input:disabled + * { opacity:.55; }

@media (max-width: 900px) {
  .division-access-grid { grid-template-columns:1fr; }
}
@media (max-width: 600px) {
  .division-feature-list { grid-template-columns:1fr; }
}
