#restore-employee-location-gate {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: clamp(15px, 4vw, 20px);
  border: 2px solid rgba(241, 183, 75, 0.72);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(55, 39, 17, 0.98), rgba(20, 22, 25, 0.99));
  color: #f7eedb;
  text-align: start;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.32);
}

#restore-employee-location-gate .restore-location-dot {
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: #efb64a;
  box-shadow: 0 0 16px rgba(239, 182, 74, 0.75);
}

#restore-employee-location-gate h2 {
  margin: 0;
  color: #ffd981;
  font-size: clamp(19px, 5vw, 25px);
  line-height: 1.25;
}

#restore-employee-location-gate p,
#restore-employee-location-gate small {
  display: block;
  margin: 7px 0 0;
  color: #f5eee0;
  font-size: clamp(15px, 4vw, 18px);
  font-weight: 700;
  line-height: 1.45;
}

#restore-employee-location-gate small {
  color: #ffd68b;
  font-size: 14px;
}

#restore-employee-location-gate small[hidden],
#restore-employee-location-gate .restore-location-retry[hidden] {
  display: none !important;
}

#restore-employee-location-gate[data-state='inside'],
#restore-employee-location-gate[data-state='inside-offline'] {
  border-color: rgba(70, 218, 148, 0.68);
  background: linear-gradient(145deg, rgba(17, 61, 46, 0.98), rgba(18, 25, 26, 0.99));
}

#restore-employee-location-gate[data-state='inside'] .restore-location-dot,
#restore-employee-location-gate[data-state='inside-offline'] .restore-location-dot {
  background: #55e1a1;
  box-shadow: 0 0 16px rgba(85, 225, 161, 0.76);
}

#restore-employee-location-gate[data-state='inside'] h2,
#restore-employee-location-gate[data-state='inside-offline'] h2 {
  color: #82efba;
}

#restore-employee-location-gate[data-state='outside'],
#restore-employee-location-gate[data-state='error'] {
  border-color: rgba(255, 105, 120, 0.82);
  background: linear-gradient(145deg, rgba(78, 27, 34, 0.99), rgba(23, 21, 24, 0.99));
}

#restore-employee-location-gate[data-state='outside'] .restore-location-dot,
#restore-employee-location-gate[data-state='error'] .restore-location-dot {
  background: #ff6d7d;
  box-shadow: 0 0 16px rgba(255, 109, 125, 0.76);
}

#restore-employee-location-gate[data-state='outside'] h2,
#restore-employee-location-gate[data-state='error'] h2 {
  color: #ffadb6;
}

#restore-employee-location-gate .restore-location-retry {
  grid-column: 1 / -1;
  width: 100%;
  min-height: 50px;
  border: 1px solid rgba(240, 194, 92, 0.68);
  border-radius: 15px;
  background: linear-gradient(135deg, #f5d374, #d6a33d);
  color: #201708;
  font: inherit;
  font-size: 16px;
  font-weight: 900;
}

body.restore-location-locked .dashboard-grid button:not(.restore-location-retry):not(.restore-location-exempt) {
  pointer-events: none !important;
  cursor: not-allowed !important;
  filter: grayscale(0.72) brightness(0.62) !important;
  opacity: 0.58 !important;
  border-color: #52565f !important;
  background: #2a2d33 !important;
  box-shadow: none !important;
}

body.restore-location-locked #restore-employee-guide,
body.restore-location-locked .restore-shift-required-note {
  display: none !important;
}

body.restore-location-locked .dashboard-grid .duration-grid,
body.restore-location-locked .dashboard-grid .report-grid {
  opacity: 0.72;
}
