/* =======================
   Opaix Theme – Corporate Design
   ======================= */

html, body {
  font-family: 'Poppins', sans-serif !important;
  background-color: #071c42 !important;
  color: white !important;
  height: 100%;
  min-height: 100vh;
  margin: 0;
  display: flex;
  flex-direction: column;
}

main {
  flex-grow: 1 0 auto;
}

header {
  background-color: #071c42;
  color: white;
  padding: 20px 0;
  border-bottom: 4px solid #3dcab1;
}

header img.sc4eu {
  border-radius: 10px;
  padding: 5px;
  box-shadow: 0px 0px 7px 6px rgba(170, 170, 170, .80);
	background-color: #fffefebd;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Poppins', sans-serif;
  color: white;
  text-shadow: none !important;
}

h1 small {
  color: white !important;
}

#logos img {
  height: 40px;
  margin-left: 10px;
  vertical-align: middle;
}

/* =========================================
   Footer
   ========================================= */

footer > div {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
}

footer #footer-containers #contact,
footer #footer-containers #quick-links,
footer #footer-containers #infos {
  display: flex;
  flex: 1;
  width: 50%;
  padding: 50px;
  box-sizing: border-box;
  align-content: space-around;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  flex-wrap: wrap;
  min-width: 150px;
}

footer #footer-containers #contact-phone,
footer #footer-containers #contact-mail {
  display: flex;
  flex: 1;
  box-sizing: border-box;
  align-items: center;
  flex-direction: row;
  margin-top: 15px;
}

footer #footer-containers .contact-phone-icon svg,
footer #footer-containers .contact-mail-icon svg {
  width: 40px;
  padding: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
}

footer #footer-containers #contact p,
footer #footer-containers #infos p {
  max-width: 400px;
  margin-bottom: 0px;
}

footer .copyright {
  display: flex;
  align-items: center;
  flex-direction: column;
}

/* =========================================
   Buttons & Submit Styling (General & Hover)
   ========================================= */

button,
.btn,
input[type="submit"],
.btn-primary,
#choose-file-button.btn.btn-primary {
  background-color: #3dcab1 !important;
  border-color: #3dcab1 !important;
  color: #00094c !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

button:hover,
.btn:hover,
input[type="submit"]:hover,
.btn-primary:hover,
#choose-file-button.btn.btn-primary:hover {
  background-color: #c23a97 !important;
  border-color: #c23a97 !important;
  color: white !important;
}

.btn-default,
.btn-success,
.btn-info,
.btn-warning,
.btn-danger {
  background-color: #3dcab1 !important;
  color: #00094c !important;
  border: none !important;
}

.btn-default:hover,
.btn-success:hover,
.btn-info:hover,
.btn-warning:hover,
.btn-danger:hover {
  background-color: #c23a97 !important;
  color: white !important;
}

button,
.btn {
  background-color: #3dcab1 !important;
  color: #00094c !important;
}


/* =====================
   Card Design
   ===================== */

.card {
  background-color: #00094c !important;
  color: white !important;
  border-radius: 10px;
  padding: 25px;
  box-shadow: 0 0 20px rgb(255, 255, 255);
}

.row-card .btn {
  background-color: #00094c !important;
  color: white !important;
  border: none !important;
}

.card * {
  color: white !important;
}

#session-stop-modal .modal-body *,
#session-stop-modal .modal-dialog .modal-header .modal-title {
  color: black !important;
}

/* =====================
   Form Elements
   ===================== */

input.form-control,
select.form-control,
textarea.form-control,
.card input.form-control,
.card select.form-control,
.card textarea.form-control {
  background-color: #00094c !important;
  color: white !important;
  border-color: #3dcab1 !important;
}

/* =====================
   Displaying Errors from user input
   ===================== */

.form-group.has-error .form-control {
  border-color: #ff5757 !important;
  box-shadow: none !important;
}

.form-control-feedback.glyphicon-remove,
.fail-icon.glyphicon-remove {
  color: #ff5757 !important;
}

.fail-help,
.fail-custom,
.help-block,
.card .help-block,
.card .fail-help,
.card .fail-custom {
  color: #ff5757 !important;
}

/* =====================
   Table Cell Validation Styling
   ===================== */

/* Error cells - light red background */
.simple-table .table-cell.error,
td.error {
  background-color: rgba(255, 87, 87, 0.2) !important;
  border: 2px solid #ff5757 !important;
}

.simple-table .cell-input.error,
input.error {
  background-color: rgba(255, 87, 87, 0.15) !important;
  color: #ff5757 !important;
  border: 1px solid #ff5757 !important;
  font-weight: 600 !important;
}

/* Warning cells - light yellow background */
.simple-table .table-cell.warning,
td.warning {
  background-color: rgba(254, 220, 2, 0.2) !important;
  border: 2px solid #fedc02 !important;
}

.simple-table .cell-input.warning,
input.warning {
  background-color: rgba(254, 220, 2, 0.15) !important;
  color: #856404 !important;
  border: 1px solid #fedc02 !important;
  font-weight: 600 !important;
}

/* Valid cells - light teal background */
.simple-table .table-cell.valid,
td.valid {
  background-color: rgba(61, 202, 177, 0.1) !important;
  border: 1px solid #3dcab1 !important;
}

.simple-table .cell-input.valid,
input.valid {
  background-color: rgba(61, 202, 177, 0.05) !important;
  color: white !important;
  border: 1px solid #3dcab1 !important;
}

/* =====================
   Tables
   ===================== */

th,
th .rowHeader {
  background-color: #00094c !important;
  color: white !important;
  border-color: #3dcab1 !important;
}

.table-striped>tbody>tr:nth-of-type(odd) {
  background-color: unset;
}

.wtHolder {
  height: auto !important;
}

/* #cohort-area .table tbody tr td {
  color: black !important;
} */

.table .table {
  background-color: unset;
}

/* =====================
   Drop Area
   ===================== */
#drop-area {
  background-color: #00094c !important;
  color: white !important;
  border: 2px dashed #3dcab1 !important;
  padding: 30px;
  text-align: center;
  border-radius: 10px;
}

/* =====================
   Footer adjustments
   ===================== */
footer {
  background-color: #3dcab1;
  color: #00094c;
  padding: 20px 0;
  flex-shrink: 0;
}

.footer-text li,
.footer-text p,
.footer-text a {
  color: #00094c !important;
}

/* =====================
   Deactivating shading 
   ===================== */
#shadow,
.shadow-top {
  display: none !important;
  box-shadow: none !important;
  border-top: none !important;
}

/* =====================
   Table-Arrow (Expand)
   ===================== */
#expand-table-button {
  display: inline-block;
  padding: 8px 12px;
  background-color: transparent;
  border: 2px solid transparent;
  border-radius: 6px;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

#expand-table-button:hover {
  background-color: #00094c;
  border-color: #3dcab1;
}

/* =====================
   Login Button Deactivation (turn on if needed)
   This hides the login button on the main page.
   ===================== */

#login-button {
  display: none !important;
}

/* =====================
   Tooltip-Colors (Corporate Design)
   ===================== */

.qtip-yellow,
.qtip-yellow * {
  background-color: #fedc02 !important;
  color: black !important;
}

/* Example: Override old background color #fdfad0 (pale yellow) */
.qtip-yellow[style*="#fdfad0"],
.qtip-yellow[style*="rgb(253, 250, 208)"] {
  background-color: #fedc02 !important;
  color: black !important;
}

/* Red tones (e.g. error highlights) */
.qtip-red,
.qtip-red * {
  background-color: #ff5757 !important;
  color: white !important;
}

/* Example: Override old background color #FDD3D0 (pale red) */

.qtip-red[style*="#FDD3D0"],
.qtip-red[style*="rgb(253, 211, 208)"] {
  background-color: #ff5757 !important;
  color: white !important;
}

/* Icon color Invert (black to white) */

input[type="datetime-local"]::-webkit-calendar-picker-indicator {
  filter: invert(1);
  background-color: transparent;
  cursor: pointer;
}

#password + .form-control-feedback.glyphicon {
  color: white !important;
}

#toggle-password {
  color: #ffffff !important;
  transition: color 0.3s ease;
}

#sessionID,
#passwordID,
#privkeyID {
  background-color: #ffffff !important;
  color: #000000 !important;
  border: 1px solid #ccc !important;
}

/* Session Details (white on black) */
#session-details pre {
  background-color: #ffffff !important;
  color: #000000 !important;
  border: 1px solid #ccc !important;
}

/* Teilnehmer-Abschnitt (dunkelblau mit weißer Schrift) */
#cohort-1 pre {
  background-color: #00094c !important;
  color: white !important;
  border: 1px solid #3dcab1 !important;
}

#toggle-password {
  color: white !important;
}

#toggle-password::before {
  color: white !important;
}

button[id^="participants-submit-"] {
  background-color: #00094c !important;
  color: white !important;
  border: 1px solid #3dcab1 !important;
  box-shadow: none !important;
  font-weight: bold;
}

button[id^="participants-submit-"]:hover {
  background-color: #3dcab1 !important;
  color: #00094c !important;
}

/*
button.ladda-button,
.ladda-button.btn,
.ladda-button.btn-primary,
.ladda-button.btn-block {
  background-color: #00094c !important;
  color: white !important;
  border: 1px solid #3dcab1 !important;
  box-shadow: none !important;
  font-weight: bold;
  border-radius: 6px;
}

button.ladda-button:hover {
  background-color: #3dcab1 !important;
  color: #00094c !important;
}

*/

.ladda-button[disabled] {
  background-color: #3dcab1 !important;
  color: #00094c !important;
  border: none !important;
  opacity: 1 !important;
  cursor: not-allowed !important;
}


#session-details pre {
  background-color: #00094c !important;
  color: white !important;
  border: 1px solid #3dcab1 !important;
}

input[readonly],
textarea[readonly],
input[disabled],
textarea[disabled] {
  background-color: #00094c !important;
  color: white !important;
  border: 1px solid #3dcab1 !important;
  opacity: 1 !important; /* falls Bootstrap den Text grau macht */
}

pre[disabled],
pre.readonly {
  background-color: #00094c !important;
  color: white !important;
  border: 1px solid #3dcab1 !important;
}

pre,
pre[disabled],
pre.readonly,
#participants-existing-0 {
  background-color: #00094c !important;
  color: white !important;
  border: 1px solid #3dcab1 !important;
}

/* Universelle Opaix-Button-Regel */
button,
button.btn,
.btn,
.btn-primary,
.btn-block,
.ladda-button,
button.ladda-button,
button.btn.btn-primary,
button.btn-block,
input[type="submit"],
a.btn,
a.btn-primary {
  background-color: #3dcab1 !important;
  background-image: none !important;
  color: #00094c !important;
  border: none !important;
  border-radius: 6px !important;
  font-weight: bold !important;
  box-shadow: none !important;
  text-shadow: none !important;
  opacity: 1 !important;
  transition: background-color 0.2s ease, background-image 0.2s ease;
}

button:hover,
button:focus,
button:active,
.btn:hover,
.btn:focus,
.btn:active,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.ladda-button:hover,
.ladda-button:focus,
.ladda-button:active,
a.btn:hover,
a.btn:focus,
a.btn:active,
a.btn-primary:hover,
a.btn-primary:focus,
a.btn-primary:active {
  background-color: #c23a97 !important;
  background-image: none !important;
  color: white !important;
  border-color: #c23a97 !important;
}

button[disabled],
.btn[disabled],
.ladda-button[disabled] {
  background-color: #3dcab1 !important;
  color: #00094c !important;
  cursor: not-allowed !important;
  opacity: 1 !important;
}

.ladda-button,
.ladda-button.btn,
.ladda-button.btn-primary,
button.ladda-button,
button.ladda-button.btn-primary {
  background-color: #3dcab1 !important;
  background-image: none !important;
  color: #00094c !important;
  border: none !important;
  font-weight: bold !important;
  box-shadow: none !important;
  border-radius: 6px !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

.ladda-button:hover,
.ladda-button.btn:hover,
.ladda-button.btn-primary:hover,
button.ladda-button:hover,
button.ladda-button.btn-primary:hover {
  background-color: #c23a97 !important;
  background-image: none !important;
  color: white !important;
}

/* Additional Bootstrap override - ensure no gradients */
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
  background-color: #c23a97 !important;
  background-image: none !important;
  border-color: #c23a97 !important;
}

/* Override any focus states */
.btn:focus,
.btn-primary:focus,
.btn.focus,
.btn-primary.focus {
  background-color: #3dcab1 !important;
  background-image: none !important;
  border-color: #3dcab1 !important;
  box-shadow: none !important;
}

.btn:focus:hover,
.btn-primary:focus:hover,
.btn.focus:hover,
.btn-primary.focus:hover {
  background-color: #c23a97 !important;
  background-image: none !important;
  border-color: #c23a97 !important;
}

/* Specific overrides for template download and form buttons */
.template-downloads .btn,
.template-downloads .btn-primary,
.form-group .btn,
.form-group .btn-primary,
#choose-file-button,
#cohort-enumerate,
#participants-submit,
button[type="submit"],
a.btn.btn-primary {
  background-color: #3dcab1 !important;
  background-image: none !important;
  color: #00094c !important;
  border: none !important;
  border-radius: 6px !important;
  font-weight: bold !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transition: all 0.2s ease !important;
}

.template-downloads .btn:hover,
.template-downloads .btn-primary:hover,
.form-group .btn:hover,
.form-group .btn-primary:hover,
#choose-file-button:hover,
#cohort-enumerate:hover,
#participants-submit:hover,
button[type="submit"]:hover,
a.btn.btn-primary:hover {
  background-color: #c23a97 !important;
  background-image: none !important;
  color: white !important;
  border-color: #c23a97 !important;
  transform: none !important;
}

/* =========================================
   Global Modal Styling (Clean Design)
   ========================================= */

/* Hide alertify close buttons since we have OK buttons */
.alertify .ajs-dialog .ajs-header .ajs-close,
.alertify .ajs-close,
.ajs-dialog .ajs-header .ajs-close,
.ajs-close,
.alertify .ajs-dialog .ajs-commands .ajs-close,
.ajs-dialog .ajs-commands .ajs-close,
.alertify .ajs-commands .ajs-close,
.ajs-commands .ajs-close,
.alertify button[data-close],
button[data-close],
.alertify .close,
.close {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

/* Clean up modal header padding since no close button */
.alertify .ajs-header,
.ajs-header,
.alertify .ajs-dialog,
.ajs-dialog {
  padding-right: 15px !important;
}

/* Hide commands section entirely for cleaner look */
.alertify .ajs-commands,
.ajs-commands {
  display: none !important;
  visibility: hidden !important;
}

/* Fix modal dialog shape and borders for uniform appearance */
.alertify .ajs-dialog,
.ajs-dialog {
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
  background: #fff !important;
  outline: none !important;
  overflow: hidden !important;
}

.alertify .ajs-modal,
.ajs-modal {
  background: rgba(0, 0, 0, 0.5) !important;
  outline: none !important;
}

/* Ensure modal content has proper styling */
.alertify .ajs-content,
.ajs-content {
  background: #fff !important;
  border: none !important;
  padding: 20px !important;
  margin: 0 !important;
}

.alertify .ajs-header,
.ajs-header {
  background: #fff !important;
  border: none !important;
  border-bottom: 1px solid #eee !important;
  padding: 15px 20px !important;
  margin: 0 !important;
}

.alertify .ajs-footer,
.ajs-footer {
  background: #fff !important;
  border: none !important;
  border-top: 1px solid #eee !important;
  padding: 15px 20px !important;
  margin: 0 !important;
}

.alertify .ajs-body,
.ajs-body {
  background: #fff !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
