/* Session-timeout dialog — global styles (not scoped, because FluentDialog is a child component) */

.session-timeout-dialog::part(dialog) {
  border-radius: 18px;
  padding: 0;
  border: none;
  background: linear-gradient(180deg, #FFFFFF 0%, #F7FAFF 100%);
  box-shadow: 0 24px 60px rgba(20, 40, 100, 0.18), 0 4px 16px rgba(20, 40, 100, 0.08);
  min-width: 480px;
  max-width: 480px;
}

.session-timeout-dialog::part(control) {
  padding: 0;
}

.st-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 36px 40px 32px;
  gap: 8px;
  font-family: var(--fluent-font-family, "Segoe UI", system-ui, sans-serif);
}

.st-illustration {
  margin-bottom: 8px;
  animation: stFloat 3s ease-in-out infinite;
}

@keyframes stFloat {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-6px); }
}

.st-title {
  margin: 4px 0 0 0;
  font-size: 22px;
  font-weight: 700;
  color: #1a2540;
  letter-spacing: -0.2px;
}

.st-message {
  margin: 4px 0 12px 0;
  font-size: 14px;
  line-height: 1.55;
  color: #5b6680;
  max-width: 380px;
}

.st-message b {
  color: #1a2540;
  font-weight: 600;
}

.st-countdown {
  position: relative;
  width: 110px;
  height: 110px;
  margin: 8px 0 20px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.st-countdown-number {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.st-seconds {
  font-size: 32px;
  font-weight: 700;
  color: #1a2540;
  line-height: 1;
}

.st-seconds-label {
  font-size: 11px;
  font-weight: 500;
  color: #8b96b0;
  margin-top: 2px;
  text-transform: lowercase;
  letter-spacing: 0.5px;
}

.st-actions {
  display: flex;
  gap: 12px;
  width: 100%;
  margin-top: 4px;
}

.st-actions .st-btn-continue,
.st-actions .st-btn-logout {
  flex: 1;
}

.st-actions .st-btn-continue::part(control) {
  border-radius: 10px;
  height: 42px;
  font-weight: 600;
  font-size: 14px;
  background: linear-gradient(135deg, #2D5BD7 0%, #5B8DEF 100%);
  border: none;
  color: #fff;
  box-shadow: 0 6px 16px rgba(45, 91, 215, 0.28);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.st-actions .st-btn-continue::part(control):hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(45, 91, 215, 0.38);
}

.st-actions .st-btn-logout::part(control) {
  border-radius: 10px;
  height: 42px;
  font-weight: 600;
  font-size: 14px;
  background: #F1F4FB;
  color: #455066;
  border: 1px solid #E0E6F2;
  transition: background 0.15s ease;
}

.st-actions .st-btn-logout::part(control):hover {
  background: #E7ECF7;
}
