
:root {
  --bg: #f7faff;
  --bg2: #edf5ff;
  --card: rgba(255,255,255,.92);
  --text: #061734;
  --muted: #667085;
  --primary: #0058d8;
  --primary-dark: #002458;
  --primary-soft: #eaf3ff;
  --cyan: #00a9ff;
  --border: #e2ebf7;
  --danger: #d92d20;
  --danger-bg: #fff1f0;
  --success: #027a48;
  --success-bg: #ecfdf3;
  --warning: #b54708;
  --warning-bg: #fff8e6;
  --shadow: 0 18px 50px rgba(0, 31, 84, .10);
  --radius: 26px;
}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }

body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at top left, rgba(0,169,255,.16), transparent 30%),
    radial-gradient(circle at top right, rgba(0,88,216,.08), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, var(--bg) 48%, #f8fbff 100%);
  color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

button, input, textarea, select { font: inherit; }

.app { min-height: 100vh; }

.screen {
  width: min(100%, 760px);
  margin: 0 auto;
  min-height: 100vh;
  padding: calc(env(safe-area-inset-top) + 24px) 18px calc(env(safe-area-inset-bottom) + 28px);
}

.brand-loader,
.hero {
  margin-bottom: 22px;
}

.brand-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 22px;
}

.askivio-logo {
  display: block;
  height: 42px;
  max-width: 220px;
  object-fit: contain;
}

.askivio-mini {
  width: 40px;
  height: 40px;
  object-fit: contain;
}

.askivio-mark {
  width: 70px;
  height: 70px;
  border-radius: 24px;
  display: grid;
  place-items: center;
  color: #fff;
  font-weight: 950;
  font-size: 38px;
  background: linear-gradient(145deg, var(--primary-dark), var(--primary));
  box-shadow: 0 18px 42px rgba(0, 36, 88, .22);
  margin-bottom: 18px;
}

.logo-subtitle {
  font-size: 12px;
  letter-spacing: .32em;
  text-transform: uppercase;
  color: var(--cyan);
  font-weight: 900;
  margin-top: -10px;
}

h1 {
  margin: 0 0 8px;
  font-size: clamp(35px, 8vw, 56px);
  line-height: .98;
  letter-spacing: -.06em;
}

h2 {
  margin: 0 0 12px;
  font-size: 22px;
  letter-spacing: -.035em;
}

p { margin: 0 0 12px; }

.muted { color: var(--muted); }

.card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 20px;
  margin-bottom: 16px;
  box-shadow: var(--shadow);
  backdrop-filter: blur(16px);
}

.hero-card {
  background: linear-gradient(145deg, rgba(255,255,255,.94), rgba(234,243,255,.88));
  border: 1px solid rgba(0,88,216,.12);
}

.stat-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  color: var(--muted);
}

.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  padding: 8px 11px;
  background: var(--primary-soft);
  color: var(--primary);
  font-weight: 900;
  font-size: 13px;
}

.field {
  display: block;
  margin-bottom: 15px;
  font-weight: 850;
}

.field input,
.field textarea,
.field select {
  width: 100%;
  display: block;
  margin-top: 8px;
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 15px;
  background: #f8fbff;
  color: var(--text);
  outline: none;
  font-weight: 650;
}

.field input:focus,
.field textarea:focus,
.field select:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 4px rgba(0, 88, 216, .10);
  background: #fff;
}

.button {
  width: 100%;
  min-height: 54px;
  border: 0;
  border-radius: 18px;
  padding: 13px 16px;
  margin: 8px 0;
  font-weight: 950;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}

.button:active { transform: scale(.99); }

.button:disabled {
  opacity: .48;
  cursor: not-allowed;
}

.primary {
  color: #fff;
  background: linear-gradient(135deg, var(--primary-dark), var(--primary));
  box-shadow: 0 16px 30px rgba(0, 88, 216, .20);
}

.secondary {
  color: var(--primary-dark);
  background: var(--primary-soft);
}

.link {
  display: block;
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--muted);
  padding: 16px;
  cursor: pointer;
  font-weight: 800;
}

.notice {
  border-radius: 18px;
  padding: 13px 15px;
  margin-bottom: 14px;
  font-weight: 850;
}

.notice.error { color: var(--danger); background: var(--danger-bg); }
.notice.success { color: var(--success); background: var(--success-bg); }
.notice.info { color: var(--primary); background: var(--primary-soft); }

.action-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
  margin: 16px 0;
}

.action-card {
  border: 1px solid var(--border);
  background: linear-gradient(180deg, #fff, #f8fbff);
  border-radius: 24px;
  padding: 18px 12px;
  min-height: 136px;
  box-shadow: 0 12px 34px rgba(0, 31, 84, .08);
  text-align: center;
  color: var(--text);
  font-weight: 950;
  cursor: pointer;
}

.action-card.primary-action {
  background: linear-gradient(145deg, var(--primary-dark), var(--primary));
  color: #fff;
  border-color: transparent;
}

.action-card .icon {
  width: 44px;
  height: 44px;
  margin: 0 auto 12px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: var(--primary-soft);
  color: var(--primary);
  font-size: 24px;
}

.action-card.primary-action .icon {
  background: rgba(255,255,255,.16);
  color: #fff;
}

.row {
  width: 100%;
  text-align: left;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: #fff;
  color: var(--text);
  padding: 15px;
  margin-bottom: 10px;
  box-shadow: 0 8px 22px rgba(0,31,84,.05);
}

.row.available {
  border-color: rgba(2,122,72,.14);
  background: linear-gradient(90deg, #fff, #f1fff7);
}

.row.unavailable {
  background: linear-gradient(90deg, #fff, #f5f7fb);
  color: #8a94a6;
}

.row strong { display: block; margin-bottom: 4px; }
.row span { color: var(--muted); font-size: 14px; font-weight: 750; }
.row:disabled { opacity: .82; }

.date-grid {
  display: grid;
  gap: 10px;
  margin-bottom: 14px;
}

.date-choice {
  border: 1px solid var(--border);
  border-radius: 18px;
  background: #fff;
  padding: 14px;
  text-align: left;
  color: var(--text);
  box-shadow: 0 8px 20px rgba(0,31,84,.05);
}

.date-choice.selected {
  border-color: var(--primary);
  background: var(--primary-soft);
  color: var(--primary-dark);
  font-weight: 950;
}

.compact-line {
  line-height: 1.5;
  margin-bottom: 8px;
}

.bottom-nav {
  position: sticky;
  bottom: calc(env(safe-area-inset-bottom) + 10px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  background: rgba(255,255,255,.82);
  border: 1px solid var(--border);
  border-radius: 24px;
  padding: 8px;
  box-shadow: 0 16px 45px rgba(0,31,84,.12);
  backdrop-filter: blur(16px);
  margin-top: 22px;
}

.nav-item {
  border: 0;
  background: transparent;
  border-radius: 18px;
  padding: 10px 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.nav-item.active {
  background: var(--primary-soft);
  color: var(--primary);
}

.nav-item .nav-icon {
  display: block;
  font-size: 20px;
  margin-bottom: 3px;
}

@media (min-width: 560px) {
  .date-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 420px) {
  .screen { padding-left: 14px; padding-right: 14px; }
  .action-card { min-height: 124px; }
}


.team-date-card h2 {
  margin-bottom: 16px;
}

.team-category {
  padding-top: 12px;
  margin-top: 12px;
  border-top: 1px solid var(--border);
}

.team-category:first-of-type {
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}

.team-category h3 {
  margin: 0 0 8px;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--primary);
}


.auth-links {
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
  margin: 12px 0 4px;
}
.link-button {
  background: transparent;
  border: 0;
  color: #0058d8;
  font-weight: 800;
  text-decoration: underline;
  cursor: pointer;
  padding: 4px 0;
}
.auth-inline-panel {
  margin-top: 12px;
  padding: 14px;
  border: 1px solid #e2ebf7;
  border-radius: 16px;
  background: #ffffff;
}
.form-grid {
  display: grid;
  gap: 10px;
}


/* Askivio embedded local mode visual isolation */
.sdop-staff-app-local {
  width: 100%;
  min-height: 760px;
  background: linear-gradient(180deg, #f3f8ff 0%, #ffffff 52%, #eef6ff 100%) !important;
  border-radius: 24px !important;
  padding: 0 !important;
  margin: 0 auto !important;
  overflow: hidden !important;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
  color: #102a43 !important;
  line-height: 1.45 !important;
  box-sizing: border-box !important;
}

.sdop-staff-app-local,
.sdop-staff-app-local * {
  box-sizing: border-box !important;
}

.sdop-staff-app-local .app {
  min-height: 760px !important;
  width: 100% !important;
  max-width: 480px !important;
  margin: 0 auto !important;
  background: linear-gradient(180deg, #f4f9ff 0%, #ffffff 45%, #eef6ff 100%) !important;
  color: #102a43 !important;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
}

.sdop-staff-app-local .screen {
  min-height: 760px !important;
  padding: 18px 16px 96px !important;
  background: transparent !important;
}

.sdop-staff-app-local h1,
.sdop-staff-app-local h2,
.sdop-staff-app-local h3,
.sdop-staff-app-local h4,
.sdop-staff-app-local p,
.sdop-staff-app-local label,
.sdop-staff-app-local div,
.sdop-staff-app-local span {
  font-family: inherit !important;
}

.sdop-staff-app-local h1,
.sdop-staff-app-local h2,
.sdop-staff-app-local h3 {
  color: #102a43 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

.sdop-staff-app-local .card,
.sdop-staff-app-local .panel,
.sdop-staff-app-local .auth-inline-panel {
  background: #ffffff !important;
  color: #102a43 !important;
  border: 1px solid #e2ebf7 !important;
  border-radius: 22px !important;
  box-shadow: 0 18px 42px rgba(0, 47, 108, 0.10) !important;
  padding: 18px !important;
}

.sdop-staff-app-local input,
.sdop-staff-app-local select,
.sdop-staff-app-local textarea {
  width: 100% !important;
  min-height: 46px !important;
  border: 1px solid #d7e3f5 !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  color: #102a43 !important;
  font-size: 15px !important;
  padding: 10px 12px !important;
  box-shadow: none !important;
  outline: none !important;
  appearance: auto !important;
}

.sdop-staff-app-local textarea {
  min-height: 110px !important;
}

.sdop-staff-app-local label.field,
.sdop-staff-app-local .field {
  display: block !important;
  margin: 0 0 12px !important;
  color: #344054 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.sdop-staff-app-local button,
.sdop-staff-app-local .button {
  border-radius: 16px !important;
  border: 0 !important;
  min-height: 48px !important;
  padding: 12px 16px !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  text-decoration: none !important;
  box-shadow: none !important;
  line-height: 1.2 !important;
  font-family: inherit !important;
}

.sdop-staff-app-local .button.primary,
.sdop-staff-app-local button.primary {
  background: #0058d8 !important;
  color: #ffffff !important;
  box-shadow: 0 14px 28px rgba(0, 88, 216, 0.22) !important;
}

.sdop-staff-app-local .button.secondary,
.sdop-staff-app-local button.secondary {
  background: #eef6ff !important;
  color: #0058d8 !important;
}

.sdop-staff-app-local .link-button {
  background: transparent !important;
  color: #0058d8 !important;
  border: 0 !important;
  min-height: auto !important;
  padding: 4px 0 !important;
  box-shadow: none !important;
  text-decoration: underline !important;
}

.sdop-staff-app-local .auth-links {
  display: flex !important;
  justify-content: center !important;
  gap: 14px !important;
  margin: 12px 0 6px !important;
}

.sdop-staff-app-local .bottom-nav {
  position: sticky !important;
  bottom: 0 !important;
  max-width: 480px !important;
  margin: 0 auto !important;
  background: rgba(255, 255, 255, 0.96) !important;
  backdrop-filter: blur(14px) !important;
  border: 1px solid #e2ebf7 !important;
  border-radius: 22px 22px 0 0 !important;
  box-shadow: 0 -16px 40px rgba(0, 47, 108, 0.10) !important;
}

.sdop-staff-app-local .nav-item {
  background: transparent !important;
  color: #667085 !important;
  border: 0 !important;
  box-shadow: none !important;
  min-height: auto !important;
}

.sdop-staff-app-local .nav-item.active {
  color: #0058d8 !important;
}

.sdop-staff-app-local .brand-loader,
.sdop-staff-app-local .header,
.sdop-staff-app-local header {
  color: #102a43 !important;
}

.sdop-staff-app-local a {
  color: #0058d8 !important;
}

@media (max-width: 640px) {
  .sdop-staff-app-local {
    border-radius: 0 !important;
    margin-left: -12px !important;
    margin-right: -12px !important;
  }
  .sdop-staff-app-local .app {
    max-width: none !important;
  }
}


/* Askivio modern UI refresh v0.8.0 - no iframe */
.sdop-staff-app-local {
  --ask-bg-1: #eef6ff;
  --ask-bg-2: #f8fbff;
  --ask-surface: #ffffff;
  --ask-surface-2: #f7fbff;
  --ask-border: #dbeafe;
  --ask-text: #0f2747;
  --ask-muted: #61708a;
  --ask-primary: #0b63f6;
  --ask-primary-dark: #053b9f;
  --ask-primary-soft: #e8f1ff;
  --ask-shadow: 0 22px 50px rgba(15, 39, 71, 0.12);
  background:
    radial-gradient(circle at 12% 8%, rgba(11, 99, 246, 0.10), transparent 30%),
    linear-gradient(180deg, var(--ask-bg-1) 0%, var(--ask-bg-2) 46%, #ffffff 100%) !important;
  color: var(--ask-text) !important;
  font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Inter", "Segoe UI", Roboto, Arial, sans-serif !important;
  -webkit-font-smoothing: antialiased !important;
  text-rendering: geometricPrecision !important;
}

.sdop-staff-app-local .app {
  max-width: 480px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(11, 99, 246, 0.12), transparent 30%),
    linear-gradient(180deg, #f8fbff 0%, #eef6ff 100%) !important;
  color: var(--ask-text) !important;
  letter-spacing: -0.01em !important;
}

.sdop-staff-app-local .screen {
  padding: 22px 18px 112px !important;
}

.sdop-staff-app-local h1,
.sdop-staff-app-local h2,
.sdop-staff-app-local h3,
.sdop-staff-app-local .title {
  color: var(--ask-text) !important;
  font-weight: 900 !important;
  letter-spacing: -0.035em !important;
}

.sdop-staff-app-local p,
.sdop-staff-app-local .muted,
.sdop-staff-app-local .subtitle {
  color: var(--ask-muted) !important;
  font-weight: 600 !important;
}

.sdop-staff-app-local .card,
.sdop-staff-app-local .panel,
.sdop-staff-app-local .auth-inline-panel {
  background: rgba(255, 255, 255, 0.96) !important;
  color: var(--ask-text) !important;
  border: 1px solid rgba(219, 234, 254, 0.95) !important;
  border-radius: 26px !important;
  box-shadow: var(--ask-shadow) !important;
}

.sdop-staff-app-local .card *,
.sdop-staff-app-local .panel *,
.sdop-staff-app-local .auth-inline-panel * {
  color: inherit;
}

/* Dashboard action tiles: make inactive cards readable */
.sdop-staff-app-local .action-card,
.sdop-staff-app-local .dashboard-card,
.sdop-staff-app-local .quick-card,
.sdop-staff-app-local .tile,
.sdop-staff-app-local [class*="action"],
.sdop-staff-app-local [class*="tile"] {
  color: var(--ask-text) !important;
}

.sdop-staff-app-local .action-card:not(.active),
.sdop-staff-app-local .dashboard-card:not(.active),
.sdop-staff-app-local .quick-card:not(.active),
.sdop-staff-app-local .tile:not(.active) {
  background: rgba(255, 255, 255, 0.94) !important;
  border: 1px solid rgba(219, 234, 254, 0.9) !important;
  color: var(--ask-text) !important;
  box-shadow: 0 18px 36px rgba(15, 39, 71, 0.08) !important;
}

.sdop-staff-app-local .action-card:not(.active) *,
.sdop-staff-app-local .dashboard-card:not(.active) *,
.sdop-staff-app-local .quick-card:not(.active) *,
.sdop-staff-app-local .tile:not(.active) * {
  color: var(--ask-text) !important;
  opacity: 1 !important;
}

.sdop-staff-app-local .action-card.active,
.sdop-staff-app-local .dashboard-card.active,
.sdop-staff-app-local .quick-card.active,
.sdop-staff-app-local .tile.active {
  background: linear-gradient(135deg, var(--ask-primary-dark) 0%, var(--ask-primary) 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 22px 44px rgba(11, 99, 246, 0.25) !important;
}

.sdop-staff-app-local .action-card.active *,
.sdop-staff-app-local .dashboard-card.active *,
.sdop-staff-app-local .quick-card.active *,
.sdop-staff-app-local .tile.active * {
  color: #ffffff !important;
  opacity: 1 !important;
}

/* Catch common dashboard menu buttons/cards from the vanilla JS app */
.sdop-staff-app-local button[onclick*="show"],
.sdop-staff-app-local button[onclick*="logout"],
.sdop-staff-app-local .button {
  color: var(--ask-text) !important;
}

.sdop-staff-app-local button[onclick*="showDashboard"],
.sdop-staff-app-local .button.primary,
.sdop-staff-app-local button.primary {
  background: linear-gradient(135deg, var(--ask-primary-dark), var(--ask-primary)) !important;
  color: #ffffff !important;
}

.sdop-staff-app-local button[onclick*="showDashboard"] *,
.sdop-staff-app-local .button.primary *,
.sdop-staff-app-local button.primary * {
  color: #ffffff !important;
}

.sdop-staff-app-local button:not(.primary):not(.secondary):not(.link-button) {
  background: #ffffff !important;
  color: var(--ask-text) !important;
  border: 1px solid var(--ask-border) !important;
}

.sdop-staff-app-local input,
.sdop-staff-app-local select,
.sdop-staff-app-local textarea {
  border: 1px solid #cfe0f7 !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  color: var(--ask-text) !important;
  font-weight: 650 !important;
}

.sdop-staff-app-local input::placeholder,
.sdop-staff-app-local textarea::placeholder {
  color: #8a99af !important;
}

.sdop-staff-app-local .brand-loader h1,
.sdop-staff-app-local .brand-loader p {
  color: var(--ask-text) !important;
}

.sdop-staff-app-local .askivio-mark {
  background: linear-gradient(135deg, var(--ask-primary-dark), var(--ask-primary)) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(11, 99, 246, 0.25) !important;
}

/* Bottom navigation */
.sdop-staff-app-local .bottom-nav {
  background: rgba(255, 255, 255, 0.98) !important;
  border: 1px solid rgba(219, 234, 254, 0.95) !important;
  box-shadow: 0 -18px 45px rgba(15, 39, 71, 0.13) !important;
}

.sdop-staff-app-local .nav-item,
.sdop-staff-app-local .bottom-nav button {
  background: transparent !important;
  color: #6b7890 !important;
  border: 0 !important;
  font-weight: 850 !important;
}

.sdop-staff-app-local .nav-item *,
.sdop-staff-app-local .bottom-nav button * {
  color: inherit !important;
  opacity: 1 !important;
}

.sdop-staff-app-local .nav-item.active,
.sdop-staff-app-local .bottom-nav button.active {
  color: var(--ask-primary) !important;
}

/* Emergency contrast fallback: never allow white text on white cards */
.sdop-staff-app-local .card:not(.active) .text-white,
.sdop-staff-app-local .panel:not(.active) .text-white,
.sdop-staff-app-local .tile:not(.active) .text-white,
.sdop-staff-app-local [style*="color:#fff"]:not(.active),
.sdop-staff-app-local [style*="color: #fff"]:not(.active),
.sdop-staff-app-local [style*="color:white"]:not(.active),
.sdop-staff-app-local [style*="color: white"]:not(.active) {
  color: var(--ask-text) !important;
}

.sdop-staff-app-local svg,
.sdop-staff-app-local svg * {
  color: currentColor !important;
}


/* Askivio font size tuning v0.8.1 */
.sdop-staff-app-local {
  font-size: 15px !important;
}

.sdop-staff-app-local .app {
  font-size: 15px !important;
}

.sdop-staff-app-local .screen {
  padding: 18px 16px 104px !important;
}

/* Main headings: modern but not oversized */
.sdop-staff-app-local h1 {
  font-size: clamp(24px, 4.8vw, 32px) !important;
  line-height: 1.12 !important;
  font-weight: 850 !important;
  letter-spacing: -0.03em !important;
}

.sdop-staff-app-local h2,
.sdop-staff-app-local .title {
  font-size: clamp(21px, 4.2vw, 28px) !important;
  line-height: 1.16 !important;
  font-weight: 850 !important;
  letter-spacing: -0.025em !important;
}

.sdop-staff-app-local h3 {
  font-size: clamp(18px, 3.6vw, 22px) !important;
  line-height: 1.2 !important;
  font-weight: 820 !important;
  letter-spacing: -0.02em !important;
}

.sdop-staff-app-local p,
.sdop-staff-app-local .muted,
.sdop-staff-app-local .subtitle {
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 560 !important;
}

/* Dashboard action cards */
.sdop-staff-app-local .action-card,
.sdop-staff-app-local .dashboard-card,
.sdop-staff-app-local .quick-card,
.sdop-staff-app-local .tile {
  min-height: 126px !important;
  padding: 18px 14px !important;
  border-radius: 22px !important;
}

.sdop-staff-app-local .action-card h2,
.sdop-staff-app-local .dashboard-card h2,
.sdop-staff-app-local .quick-card h2,
.sdop-staff-app-local .tile h2,
.sdop-staff-app-local .action-card h3,
.sdop-staff-app-local .dashboard-card h3,
.sdop-staff-app-local .quick-card h3,
.sdop-staff-app-local .tile h3,
.sdop-staff-app-local .action-card strong,
.sdop-staff-app-local .dashboard-card strong,
.sdop-staff-app-local .quick-card strong,
.sdop-staff-app-local .tile strong {
  font-size: clamp(17px, 3.6vw, 22px) !important;
  line-height: 1.16 !important;
  font-weight: 830 !important;
  letter-spacing: -0.02em !important;
}

.sdop-staff-app-local .action-card span,
.sdop-staff-app-local .dashboard-card span,
.sdop-staff-app-local .quick-card span,
.sdop-staff-app-local .tile span {
  font-size: 14px !important;
  line-height: 1.25 !important;
}

/* Icon bubbles inside cards */
.sdop-staff-app-local .action-card svg,
.sdop-staff-app-local .dashboard-card svg,
.sdop-staff-app-local .quick-card svg,
.sdop-staff-app-local .tile svg {
  width: 26px !important;
  height: 26px !important;
}

/* Buttons: less massive */
.sdop-staff-app-local button,
.sdop-staff-app-local .button {
  min-height: 44px !important;
  font-size: 14.5px !important;
  font-weight: 780 !important;
  border-radius: 14px !important;
  padding: 10px 14px !important;
}

.sdop-staff-app-local .button.primary,
.sdop-staff-app-local button.primary {
  font-weight: 820 !important;
}

/* Forms */
.sdop-staff-app-local input,
.sdop-staff-app-local select,
.sdop-staff-app-local textarea {
  min-height: 43px !important;
  font-size: 14.5px !important;
  font-weight: 560 !important;
  border-radius: 14px !important;
}

.sdop-staff-app-local label.field,
.sdop-staff-app-local .field {
  font-size: 12.5px !important;
  font-weight: 740 !important;
}

/* Week/date headers and cards */
.sdop-staff-app-local .week-title,
.sdop-staff-app-local .date-title,
.sdop-staff-app-local [class*="week"] h2,
.sdop-staff-app-local [class*="date"] h2 {
  font-size: clamp(19px, 4vw, 26px) !important;
  line-height: 1.18 !important;
  font-weight: 800 !important;
}

/* Bottom navigation: compact and premium */
.sdop-staff-app-local .bottom-nav {
  padding: 10px 10px 12px !important;
  border-radius: 20px 20px 0 0 !important;
}

.sdop-staff-app-local .nav-item,
.sdop-staff-app-local .bottom-nav button {
  font-size: 12.5px !important;
  line-height: 1.16 !important;
  font-weight: 760 !important;
  padding: 7px 6px !important;
  min-height: 48px !important;
}

.sdop-staff-app-local .nav-item svg,
.sdop-staff-app-local .bottom-nav button svg {
  width: 22px !important;
  height: 22px !important;
  margin-bottom: 3px !important;
}

.sdop-staff-app-local .nav-item strong,
.sdop-staff-app-local .bottom-nav button strong,
.sdop-staff-app-local .nav-item span,
.sdop-staff-app-local .bottom-nav button span {
  font-size: 12.5px !important;
  line-height: 1.16 !important;
  font-weight: 760 !important;
}

/* Large dashboard CTA button */
.sdop-staff-app-local .card > .button,
.sdop-staff-app-local .panel > .button {
  font-size: 15px !important;
  min-height: 46px !important;
}

/* Make oversized inline text obey the compact scale */
.sdop-staff-app-local [style*="font-size:22"],
.sdop-staff-app-local [style*="font-size: 22"],
.sdop-staff-app-local [style*="font-size:24"],
.sdop-staff-app-local [style*="font-size: 24"],
.sdop-staff-app-local [style*="font-size:26"],
.sdop-staff-app-local [style*="font-size: 26"],
.sdop-staff-app-local [style*="font-size:28"],
.sdop-staff-app-local [style*="font-size: 28"],
.sdop-staff-app-local [style*="font-size:30"],
.sdop-staff-app-local [style*="font-size: 30"] {
  font-size: clamp(18px, 3.8vw, 24px) !important;
}


/* Askivio modern icons v0.8.2 */
.sdop-staff-app-local .icon,
.sdop-staff-app-local .action-icon,
.sdop-staff-app-local .tile-icon,
.sdop-staff-app-local .card-icon,
.sdop-staff-app-local [class*="icon"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 62px !important;
  height: 62px !important;
  border-radius: 22px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(219,234,254,.94)) !important;
  color: #0b63f6 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.85),
    0 16px 32px rgba(11, 99, 246, 0.16) !important;
  margin-bottom: 12px !important;
}

.sdop-staff-app-local .action-card.active .icon,
.sdop-staff-app-local .dashboard-card.active .icon,
.sdop-staff-app-local .quick-card.active .icon,
.sdop-staff-app-local .tile.active .icon,
.sdop-staff-app-local .action-card.active [class*="icon"],
.sdop-staff-app-local .dashboard-card.active [class*="icon"],
.sdop-staff-app-local .quick-card.active [class*="icon"],
.sdop-staff-app-local .tile.active [class*="icon"] {
  background:
    linear-gradient(135deg, rgba(255,255,255,.26), rgba(255,255,255,.12)) !important;
  color: #ffffff !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.32),
    0 16px 34px rgba(0, 26, 77, 0.18) !important;
}

.sdop-staff-app-local .icon svg,
.sdop-staff-app-local .action-icon svg,
.sdop-staff-app-local .tile-icon svg,
.sdop-staff-app-local .card-icon svg,
.sdop-staff-app-local [class*="icon"] svg {
  width: 34px !important;
  height: 34px !important;
  stroke: currentColor !important;
  stroke-width: 2.15 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  fill: none !important;
}

.sdop-staff-app-local .icon svg path,
.sdop-staff-app-local .action-icon svg path,
.sdop-staff-app-local .tile-icon svg path,
.sdop-staff-app-local .card-icon svg path,
.sdop-staff-app-local [class*="icon"] svg path {
  stroke: currentColor !important;
}

/* Larger modern icons for dashboard action cards, while keeping fonts compact */
.sdop-staff-app-local .action-card,
.sdop-staff-app-local .dashboard-card,
.sdop-staff-app-local .quick-card,
.sdop-staff-app-local .tile {
  gap: 10px !important;
}

.sdop-staff-app-local .action-card > svg,
.sdop-staff-app-local .dashboard-card > svg,
.sdop-staff-app-local .quick-card > svg,
.sdop-staff-app-local .tile > svg {
  width: 38px !important;
  height: 38px !important;
  color: currentColor !important;
}

/* Bottom navigation icons: modern but not bulky */
.sdop-staff-app-local .bottom-nav svg,
.sdop-staff-app-local .nav-item svg {
  width: 25px !important;
  height: 25px !important;
  stroke: currentColor !important;
  stroke-width: 2.05 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  fill: none !important;
  margin-bottom: 4px !important;
}

/* If the app still renders simple text glyph icons, make them look like badges */
.sdop-staff-app-local .action-card > span:first-child,
.sdop-staff-app-local .dashboard-card > span:first-child,
.sdop-staff-app-local .quick-card > span:first-child,
.sdop-staff-app-local .tile > span:first-child {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 58px !important;
  min-height: 58px !important;
  border-radius: 21px !important;
  background: linear-gradient(135deg, rgba(232,241,255,.95), rgba(255,255,255,.88)) !important;
  color: #0b63f6 !important;
  font-size: 31px !important;
  line-height: 1 !important;
  box-shadow: 0 14px 28px rgba(11,99,246,.14) !important;
  margin-bottom: 10px !important;
}

.sdop-staff-app-local .action-card.active > span:first-child,
.sdop-staff-app-local .dashboard-card.active > span:first-child,
.sdop-staff-app-local .quick-card.active > span:first-child,
.sdop-staff-app-local .tile.active > span:first-child {
  background: linear-gradient(135deg, rgba(255,255,255,.26), rgba(255,255,255,.10)) !important;
  color: #ffffff !important;
}

/* v1.9.9 stacked dashboard actions */
#app .sdop-dash-actions.grid-actions,
#app .grid-actions.sdop-dash-actions {
  width: min(100%, 520px) !important;
  margin: 22px auto 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  align-items: stretch !important;
}

#app .sdop-dash-action {
  width: 100% !important;
  height: 96px !important;
  min-height: 96px !important;
  max-height: 96px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  padding: 16px 18px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(191, 213, 245, 0.95) !important;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%) !important;
  box-shadow: 0 14px 30px rgba(16, 42, 76, 0.075) !important;
  color: #102a4c !important;
  text-align: left !important;
  cursor: pointer !important;
  font-family: inherit !important;
  overflow: hidden !important;
}

#app .sdop-dash-action-primary {
  background: linear-gradient(180deg, #ffffff 0%, #eef6ff 100%) !important;
}

#app .sdop-dash-action-icon {
  flex: 0 0 56px !important;
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 19px !important;
  background: #eef5ff !important;
  color: #1267f1 !important;
}

#app .sdop-dash-action-icon svg {
  display: block !important;
  width: 29px !important;
  height: 29px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.25 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

#app .sdop-dash-action-text {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 3px !important;
}

#app .sdop-dash-action-title {
  display: block !important;
  font-weight: 900 !important;
  font-size: clamp(17px, 2.3vw, 21px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.02em !important;
  color: #102a4c !important;
  overflow-wrap: anywhere !important;
}

#app .sdop-dash-action-subtitle {
  display: block !important;
  font-weight: 750 !important;
  font-size: 14px !important;
  line-height: 1.15 !important;
  color: #64748b !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

@media (max-width: 520px) {
  #app .sdop-dash-actions.grid-actions,
  #app .grid-actions.sdop-dash-actions {
    width: min(100%, 430px) !important;
    gap: 11px !important;
  }

  #app .sdop-dash-action {
    height: 92px !important;
    min-height: 92px !important;
    max-height: 92px !important;
    padding: 15px 16px !important;
    border-radius: 21px !important;
  }

  #app .sdop-dash-action-icon {
    flex-basis: 54px !important;
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
  }
}
