/* ================================================
GLOBAL STYLES
================================================ */
body {
  margin: 0 0 70px 0;
  background: #f0f0f0 url(/assets/images/background.png) repeat;
  padding: 0;
  width: 100%;
  overflow-x: hidden;
  font-family: Arial, sans-serif;
}

/* Header & Footer */
header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 4px solid #66cc33;
  background-color: #0366d6;
  padding: 10px 20px;
  color: #ffffff;
}

.logo img {
  width: 300px;
  height: auto;
}

footer {
  display: flex;
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  justify-content: space-between;
  align-items: center;
  z-index: 99;
  background-color: #66cc33;
  padding: 10px 20px;
  color: #ffffff;
  text-align: center;
}

.footer-text {
  margin: 0;
}

/* Navigation Tabs */
.tab {
  display: flex;
  margin-right: 15px;
  margin-left: 15px;
  background-color: #f1f1f1;
  overflow: hidden;
}

.tab button {
  float: left;
  transition: 0.3s;
  cursor: pointer;
  outline: none;
  box-shadow: inset 0 4px 6px rgba(0, 0, 0, 0.1);
  border: none;
  border-radius: 4px 4px 0 0;
  background-color: transparent;
  padding: 14px 16px;
  color: #66cc33;
  font-size: 1em;
}

.tab button.active,
.tab button:hover {
  box-shadow: unset;
  background-color: #ffffff;
}

.tabcontent {
  display: none;
  margin-bottom: 70px;
  border-top: none;
}

/* Buttons */
.green-button,
.red-button,
.orange-button,
button {
  transition: box-shadow 0.3s;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.5);
  border: none;
  border-radius: 4px;
  background-color: #66cc33;
  padding: 10px 20px;
  color: #fff;
  font-size: 18px;
}

.green-button:hover {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  background-color: #3e8e41;
}

.red-button {
  background-color: #c9302c;
}

.red-button:hover {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  background-color: #d9534f;
}

.orange-button {
  background-color: #ec971f;
}

.orange-button:hover {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  background-color: #f0ad4e;
}

button {
  background-color: #0366d6;
}

button:hover {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  background-color: #3478d9;
}

/* Forms & Inputs */
input[type=text],
input[type=password] {
  display: block;
  cursor: pointer;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.5);
  border: 1px solid #66cc33;
  border-radius: 4px;
  padding: 8px 12px;
}

input[type=submit] {
  cursor: pointer;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.5);
  border: none;
  border-radius: 4px;
  background-color: #66cc33;
  padding: 8px 12px;
  color: white;
}

input[type=submit]:hover {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  background-color: #3e8e41;
}

/* ================================================
APP LAYOUT & CONTENT
================================================ */
.content-box {
  background-color: #fff;
  padding: 20px 10px 40px 10px;
  min-height: 100vh;
}

.section h2 {
  margin-left: 10px;
}

.home.section {
  margin: 40px 10px 10px;
  box-shadow: 1.95px 1.95px 2.6px rgba(0, 0, 0, 0.15);
  border: 2px solid #66cc33;
  background-image: linear-gradient(120deg, #fdfbfb 0%, #ebedee 100%);
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
}

.entry-form {
  display: flex;
  align-items: flex-end;
  margin: 10px;
}

.entry-form .form-group {
  margin: 10px;
}

.hosts-domain,
.hosts-key {
  width: 90%;
}

.hosts-submit {
  width: 48%;
}

#domain,
#key {
  width: 90%;
}

.plupload.section,
.thupload.section {
  display: flex;
  flex-direction: row;
  gap: 40px;
  margin: 40px 10px 10px;
  box-shadow: 1.95px 1.95px 2.6px rgba(0, 0, 0, 0.15);
  border: 2px solid #66cc33;
  background-image: linear-gradient(120deg, #fdfbfb 0%, #ebedee 100%);
  max-width: 100%;
}

.pl-submit,
.th-submit {
  width: 100%;
}

#upload-container {
  width: 60%;
}

#upload-container form {
  margin: 20px;
}

.dz-button {
  box-shadow: unset;
}

.reload-btn {
  margin: 20px;
}

#message-container {
  width: 40%;
}

#message-container > div {
  margin-left: 10px;
}

/* Tables */
table {
  border-collapse: collapse;
  width: 100%;
}

th,
td {
  border-bottom: 1px solid #ddd;
  padding: 10px;
  text-align: left;
}

th {
  background-color: #f2f2f2;
}

/* Layout Utilities */
.column {
  flex: 50%;
}

.row {
  display: flex;
}

/* Log Boxes */
.log-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
}

.log-sub-box {
  margin: 10px;
  box-shadow: 1.95px 1.95px 2.6px rgba(0, 0, 0, 0.15);
  border: 2px solid #66cc33;
  padding: 10px;
  width: 28%;
}

.log-sub-box.success {
  border: 2px solid green !important;
}

.log-sub-box.error {
  border: 2px solid red !important;
}

.log-sub-box.lost {
  border: 2px solid blue !important;
}

.log-sub-box > h3 {
  margin-top: 0;
  font-size: calc(1vw + 0.5em);
}

.log-entry {
  margin: 0;
  font-size: 10px;
}

/* Dropzone */
.dropzone {
  box-shadow: 1.95px 1.95px 2.6px rgba(0, 0, 0, 0.15);
  border: 2px solid #0366d6;
}

/* Messages */
.error-message {
  color: red;
}

.success-message {
  color: #66cc33;
}

/* ================================================
   TOAST STYLES
================================================ */

.toast {
  position: fixed;
  bottom: -80px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
  transition: bottom 4s ease-in-out;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.5);
  border: 2px solid #66cc33;
  border-radius: 8px;
  background-color: #fff;
  padding: 16px;
  width: 300px;
  min-height: 60px;
  color: #333;
  text-align: center;
}

.toast.show {
  bottom: 80px;
}

@-webkit-keyframes fadein {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadein {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@-webkit-keyframes fadeout {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes fadeout {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}
