.mcshedcontrol {
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  padding: 12px;
  padding-bottom: 90px;
}

/* Leave space for an on-screen keyboard on touch kiosks */
.mcshedcontrol.mcshedcontrol-kiosk {
  padding-top: 6px;
  padding-bottom: 220px;
}

/* Evacuation check-off highlight */
.mcshedcontrol .mcshedcontrol-evac-checked {
  border-color: #8ad3a1;
  background: #e6ffea;
}

.mcshedcontrol-card {
  background: #ffffff;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 12px;
}

/* Override theme button styles inside our plugin only */
.mcshedcontrol button {
  border-radius: 6px;
  border: 1px solid #ccc;
  cursor: pointer;
}

/* Search result selection buttons */
.mcshedcontrol .mcshedcontrol-pick {
  background: #ffffff !important;
  color: #222222 !important;
  border: 1px solid #ddd !important;
}

.mcshedcontrol .mcshedcontrol-pick:hover {
  background: #f5f5f5 !important;
}

/* Status boxes */
.mcshedcontrol-status-success {
  background: #e6ffea;
  color: #0a4;
}

.mcshedcontrol-status-error {
  background: #ffe6e6;
  color: #900;
}

.mcshedcontrol-kiosk h2{margin-top:0;margin-bottom:6px;}
.mcshedcontrol-kiosk p{margin-bottom:10px;}

.mcshedcontrol .mcshedcontrol-person-signedin{background:#e6ffea;border-color:#6fbf88;}
.mcshedcontrol .mcshedcontrol-person-signedin .mcshedcontrol-person-name{font-weight:700;}


.mcshedcontrol-btn-loading{opacity:.7;}

.mcshedcontrol .mcshedcontrol-person-row {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1.4fr) auto auto;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  margin: 6px 0;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: #fff;
}

.mcshedcontrol .mcshedcontrol-person-col-meta {
  font-size: 14px;
  opacity: 0.86;
}

.mcshedcontrol .mcshedcontrol-btn-signin,
.mcshedcontrol .mcshedcontrol-btn-signout {
  min-width: 112px;
  padding: 10px 14px;
  font-size: 14px;
  border-radius: 8px;
  color: #fff;
}

.mcshedcontrol .mcshedcontrol-btn-signin {
  background: #2f9e44;
  border-color: #2f9e44;
}

.mcshedcontrol .mcshedcontrol-btn-signout {
  background: #c0392b;
  border-color: #c0392b;
}

.mcshedcontrol .mcshedcontrol-btn-signin[disabled],
.mcshedcontrol .mcshedcontrol-btn-signout[disabled] {
  opacity: 0.45;
  cursor: not-allowed;
}

.mcshedcontrol .mcshedcontrol-person-signedin {
  background: #eef9ef;
  border-color: #9dd0a6;
}

.mcshedcontrol .mcshedcontrol-open-row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
}

.mcshedcontrol .mcshedcontrol-open-main {
  flex: 1;
  min-width: 0;
}

.mcshedcontrol .mcshedcontrol-open-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

@media (max-width: 900px) {
  .mcshedcontrol .mcshedcontrol-person-row {
    grid-template-columns: 1fr 1fr;
  }

  .mcshedcontrol .mcshedcontrol-person-col-name,
  .mcshedcontrol .mcshedcontrol-person-col-meta {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .mcshedcontrol .mcshedcontrol-person-row {
    grid-template-columns: 1fr;
  }

  .mcshedcontrol .mcshedcontrol-btn-signin,
  .mcshedcontrol .mcshedcontrol-btn-signout {
    width: 100%;
  }

  .mcshedcontrol .mcshedcontrol-open-row {
    flex-direction: column;
  }
}


.mcshedcontrol-kiosk .mcshedcontrol-kiosk-hero {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 10px;
}

.mcshedcontrol-kiosk .mcshedcontrol-kiosk-hero-main {
  flex: 1;
  min-width: 0;
}

.mcshedcontrol-kiosk .mcshedcontrol-kiosk-title {
  margin: 0 0 4px;
  font-size: 40px;
  line-height: 1.05;
}

.mcshedcontrol-kiosk .mcshedcontrol-kiosk-subtitle {
  margin: 0;
  font-size: 18px;
  opacity: 0.85;
}

.mcshedcontrol-kiosk .mcshedcontrol-kiosk-hero-stats {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.mcshedcontrol-kiosk .mcshedcontrol-kiosk-stat {
  min-width: 148px;
  background: #ffffff;
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 10px 12px;
  text-align: right;
}

.mcshedcontrol-kiosk .mcshedcontrol-kiosk-stat-label {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.72;
}

.mcshedcontrol-kiosk .mcshedcontrol-kiosk-stat-value {
  margin-top: 4px;
  font-size: 30px;
  font-weight: 800;
  line-height: 1.05;
}

.mcshedcontrol .mcshedcontrol-section-title {
  margin: 0 0 12px;
  font-size: 28px;
  font-weight: 800;
  line-height: 1.1;
}

.mcshedcontrol-kiosk .mcshedcontrol-guest-autofill-trap {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  max-width: 1px !important;
  max-height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  z-index: -1 !important;
}

.mcshedcontrol-kiosk .mcshedcontrol-guest-autofill-trap input {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  max-width: 1px !important;
  max-height: 1px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.mcshedcontrol-kiosk .mcshedcontrol-guest-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.mcshedcontrol-kiosk .mcshedcontrol-guest-field {
  width: 100%;
  margin: 0;
  padding: 10px;
  font-size: 18px;
}

.mcshedcontrol-kiosk .mcshedcontrol-guest-field-full {
  grid-column: 1 / -1;
}

.mcshedcontrol-kiosk .mcshedcontrol-guest-actions {
  display: flex;
  gap: 10px;
}


@media (max-width: 700px) {
  .mcshedcontrol-kiosk .mcshedcontrol-kiosk-hero {
    flex-direction: column;
  }

  .mcshedcontrol-kiosk .mcshedcontrol-kiosk-hero-stats {
    width: 100%;
    justify-content: space-between;
  }

  .mcshedcontrol-kiosk .mcshedcontrol-kiosk-stat {
    flex: 1 1 0;
    min-width: 0;
    text-align: left;
  }

  .mcshedcontrol-kiosk .mcshedcontrol-kiosk-title {
    font-size: 34px;
  }

  .mcshedcontrol .mcshedcontrol-section-title {
    font-size: 24px;
  }

  .mcshedcontrol-kiosk .mcshedcontrol-guest-grid {
    grid-template-columns: 1fr;
  }

  .mcshedcontrol-kiosk .mcshedcontrol-guest-field-full {
    grid-column: auto;
  }

  .mcshedcontrol-kiosk .mcshedcontrol-guest-actions {
    flex-direction: column;
  }
}

.mcshedcontrol-inductions .mcshedcontrol-induction-search-result {
  width: 100%;
  text-align: left;
  display: block;
  padding: 12px;
  margin: 0 0 8px 0;
  border: 1px solid #dcdcde;
  border-radius: 8px;
  background: #fff;
}

.mcshedcontrol-inductions .mcshedcontrol-induction-search-name {
  display: block;
  font-weight: 700;
  font-size: 16px;
  color: #111;
}

.mcshedcontrol-inductions .mcshedcontrol-induction-search-meta {
  display: block;
  margin-top: 4px;
  font-size: 13px;
  color: #555;
}

.mcshedcontrol-inductions .mcshedcontrol-induction-member-card {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  align-items: flex-start;
}

.mcshedcontrol-inductions .mcshedcontrol-induction-member-name {
  font-size: 24px;
  font-weight: 800;
  line-height: 1.1;
}

.mcshedcontrol-inductions .mcshedcontrol-induction-member-meta {
  margin-top: 6px;
  color: #555;
  font-size: 14px;
}

.mcshedcontrol-inductions .mcshedcontrol-induction-member-summary {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.mcshedcontrol-inductions .mcshedcontrol-induction-badge {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  background: #f4f6f8;
  border: 1px solid #dcdcde;
  font-size: 13px;
}

.mcshedcontrol-inductions .mcshedcontrol-induction-status-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  align-items: flex-start;
}

.mcshedcontrol-inductions .mcshedcontrol-induction-status-title {
  font-size: 24px;
  font-weight: 800;
  line-height: 1.1;
}

.mcshedcontrol-inductions .mcshedcontrol-induction-status-subtitle {
  margin-top: 4px;
  color: #555;
  font-size: 14px;
}

.mcshedcontrol-inductions .mcshedcontrol-induction-status-overall {
  display: inline-block;
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  border: 1px solid #dcdcde;
  background: #f7f7f7;
}

.mcshedcontrol-inductions .mcshedcontrol-induction-status-not_inducted { background: #f7f7f7; }
.mcshedcontrol-inductions .mcshedcontrol-induction-status-theory_complete { background: #fff4cc; border-color: #eed36f; }
.mcshedcontrol-inductions .mcshedcontrol-induction-status-inducted { background: #e7f4ff; border-color: #9bc6f2; }
.mcshedcontrol-inductions .mcshedcontrol-induction-status-competent { background: #e6ffea; border-color: #9dd0a6; }
.mcshedcontrol-inductions .mcshedcontrol-induction-status-inductor { background: #ede7ff; border-color: #b6a7ef; }
.mcshedcontrol-inductions .mcshedcontrol-induction-status-needs_reassessment { background: #ffe6e6; border-color: #e4aaaa; }

.mcshedcontrol-inductions .mcshedcontrol-induction-status-grid {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.mcshedcontrol-inductions .mcshedcontrol-induction-status-cell {
  border: 1px solid #dcdcde;
  border-radius: 8px;
  padding: 10px 12px;
  background: #fafafa;
}

.mcshedcontrol-inductions .mcshedcontrol-induction-status-label {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #666;
}

.mcshedcontrol-inductions .mcshedcontrol-induction-status-value {
  margin-top: 4px;
  font-size: 18px;
  font-weight: 700;
  color: #111;
}

.mcshedcontrol-inductions .mcshedcontrol-induction-status-meta {
  margin-top: 12px;
  display: grid;
  gap: 6px;
  font-size: 14px;
  color: #333;
}

.mcshedcontrol-inductions .mcshedcontrol-induction-status-foot {
  margin-top: 14px;
  font-size: 13px;
  color: #666;
}

.mcshedcontrol-inductions .mcshedcontrol-induction-actions-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.mcshedcontrol-inductions .mcshedcontrol-induction-actions-help {
  margin-top: 8px;
  color: #555;
  font-size: 14px;
}

.mcshedcontrol-inductions .mcshedcontrol-induction-actions-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.mcshedcontrol-inductions .mcshedcontrol-induction-action-btn {
  width: 100%;
  min-height: 42px;
  justify-content: center;
}

.mcshedcontrol-inductions .mcshedcontrol-induction-action-btn-danger {
  border-color: #b32d2e;
  color: #b32d2e;
}

.mcshedcontrol-inductions .mcshedcontrol-induction-action-btn[disabled] {
  opacity: 0.6;
  cursor: not-allowed;
}

@media (max-width: 640px) {
  .mcshedcontrol-inductions .mcshedcontrol-induction-member-name,
  .mcshedcontrol-inductions .mcshedcontrol-induction-status-title {
    font-size: 21px;
  }

  .mcshedcontrol-inductions .mcshedcontrol-induction-status-grid,
  .mcshedcontrol-inductions .mcshedcontrol-induction-selector-grid,
  .mcshedcontrol-inductions .mcshedcontrol-induction-actions-grid {
    grid-template-columns: 1fr !important;
  }
}


.mcshedcontrol-theory-completion {
  max-width: 760px;
  margin: 24px auto;
}

.mcshedcontrol-theory-completion .mcshedcontrol-card,
.mcshedcontrol-theory-completion .mcshedcontrol-theory-card {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

.mcshedcontrol-theory-completion .mcshedcontrol-theory-item-title {
  font-size: 26px;
  font-weight: 800;
  line-height: 1.15;
}

.mcshedcontrol-theory-completion .mcshedcontrol-theory-item-tla {
  font-size: 18px;
  font-weight: 700;
  color: #555;
}

.mcshedcontrol-theory-completion .mcshedcontrol-theory-grid {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.mcshedcontrol-theory-completion .mcshedcontrol-theory-cell {
  border: 1px solid #dcdcde;
  border-radius: 8px;
  padding: 10px 12px;
  background: #fafafa;
}

.mcshedcontrol-theory-completion .mcshedcontrol-theory-cell-label {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #666;
}

.mcshedcontrol-theory-completion .mcshedcontrol-theory-cell-value {
  margin-top: 4px;
  font-size: 18px;
  font-weight: 700;
  color: #111;
}

.mcshedcontrol-theory-completion .mcshedcontrol-theory-meta {
  margin-top: 10px;
  color: #555;
  font-size: 14px;
}

.mcshedcontrol-theory-completion .mcshedcontrol-theory-declaration {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 16px;
  font-size: 15px;
  line-height: 1.45;
}

.mcshedcontrol-theory-completion .mcshedcontrol-theory-actions {
  margin-top: 14px;
}

.mcshedcontrol-theory-completion .mcshedcontrol-theory-actions .button {
  min-height: 42px;
}

.mcshedcontrol-theory-completion .mcshedcontrol-theory-help {
  margin-top: 10px;
  color: #666;
  font-size: 14px;
}

.mcshedcontrol-theory-completion .mcshedcontrol-theory-response {
  margin-top: 12px;
}

.mcshedcontrol-note {
  padding: 12px 14px;
  border-radius: 8px;
  border: 1px solid #e0d3a0;
  background: #fff8df;
  color: #5c4b00;
}

@media (max-width: 640px) {
  .mcshedcontrol-theory-completion .mcshedcontrol-theory-item-title {
    font-size: 22px;
  }

  .mcshedcontrol-theory-completion .mcshedcontrol-theory-grid {
    grid-template-columns: 1fr;
  }
}
