@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600;700&display=swap");

:root {
  font-family: "Open Sans", sans-serif;
}

html {
  overscroll-behavior-y: contain;
}

html,
body {
  margin: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: fixed;
}

body {
  display: flex;
  flex-direction: column;
}

#layout {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}

a {
  text-decoration: none;
}

.clickable {
  cursor: pointer;
}

#content {
  /* height: calc(100vh - 130pt);
  height: 100%; */
  flex-grow: 1;
  overflow: hidden;
  background-color: #1e1e1e;
  box-sizing: border-box;
  padding-top: 10pt;
  display: flex;
  flex-direction: column;
  gap: 15pt;
  position: relative;
  overscroll-behavior-y: contain;
}

#content.extra-space {
  padding-top: 20pt;
}

.light #content {
  background-color: #f6f5f5;
}

.card-list {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  padding: 0 20pt;
  box-sizing: border-box;
}

.card {
  display: block;
  padding: 10pt;
  border-radius: 7.5pt;
  background-color: #2d2c2c;
  color: #fff;
  position: relative;
  margin-bottom: 15pt;
}

.light .card {
  background-color: #4866ab;
}

.light .card.details {
  background-color: white;
  color: black;
  border: 1px solid #004d9d;
}

.light .card.details .card-icon {
  color: #004d9d;
}

.card.alt .card-id {
  position: relative;
  display: flex;
  flex-direction: row;
  gap: 7.5pt;
  top: inherit;
  right: inherit;
  margin-bottom: 5pt;
}

.card.alt .card-name {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  margin-bottom: 0;
  margin-top: 5pt;
  padding-left: 15pt;
}

.card-id {
  font-size: small;
  position: absolute;
  top: 10pt;
  right: 10pt;
  display: grid;
  row-gap: 4pt;
}

.card-id span {
  padding: 1pt 4pt;
  border: 1px solid #4866ab;
  text-align: center;
}

.card-name {
  margin: 0;
  margin-bottom: 5pt;
  font-weight: 600;
  font-size: large;
}

.card-name {
  padding-right: 7ex;
}

.card-name.nospace {
  margin-bottom: 0;
}

.hide {
  display: none !important;
}

.card-data {
  font-weight: lighter;
  color: #9b9b9b;
  display: flex;
  flex-direction: row;
  gap: 5pt;
}

.light .card-data {
  color: #a4b3d5;
}

.card-separate {
  margin-top: 10pt;
}

.card-icon {
  width: 10pt;
  height: 16pt;
  color: #004d9d;
}

.card-icon.icon-pin {
  content: url(../assets/Pin.svg);
}

.light .card-icon.icon-pin {
  content: url(../assets/pin-light.svg);
}

.light .card.mieter-details .card-icon.icon-pin {
  content: url(../assets/pin-light-alt.svg);
}

.card-icon.icon-phone {
  content: url(../assets/phone.svg);
}

.card-icon.icon-email {
  content: url(../assets/email.svg);
}

.card-icon.icon-info {
  width: 12pt;
  content: url(../assets/info.svg);
}

.card-icon.icon-pricetag {
  width: 12pt;
  content: url(../assets/pricetag.svg);
}

.light .card-icon.icon-pricetag {
  width: 12pt;
  content: url(../assets/pricetag-light.svg);
}

.light .details .card-icon.icon-pricetag {
  width: 12pt;
  content: url(../assets/pricetag.svg);
}

.light .card-icon {
  color: #fff;
}

.card-data p {
  margin: 0;
}

.card p {
  color: #9b9b9b;
  overflow-x: hidden;
}

.light .card p {
  color: #a4b3d5;
}

.card-ellipsis {
  font-weight: 900;
  font-size: x-large;
  line-height: 1pt;
  letter-spacing: 2pt;
}

.white-circle-button {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  box-shadow: 2px 4px 10px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  border: none;
  color: black;
}

.white-circle-button.disabled {
  opacity: 0.5;
  cursor: default;
  background-color: #ccc; /* Example disabled background for dark theme */
}

.light .white-circle-button.disabled {
  background-color: #e0e0e0; /* Example disabled background for light theme */
  opacity: 0.6;
}

/* .white-circle-button * {
  flex-shrink: 0;
}

.white-circle-button > span {
  height: 40px;
  width: 40px;
} */

.button-pencil {
  content: url("../assets/pencil.svg");
}

.button-close {
  content: url("../assets/close.svg");
}

.light .button-pencil {
  content: url("../assets/pencil-light.svg");
}

.button-back {
  content: url("../assets/back.svg");
}

.light .button-back {
  content: url("../assets/back-light.svg");
}

.button-add {
  content: url("../assets/add.svg");
}

.light .button-add {
  content: url("../assets/add-light.svg");
}

.content-top-row {
  display: flex;
  gap: 10pt;
  padding: 0 20pt;
  justify-content: flex-end;
  align-items: center;
}

.search-container {
  background-color: #2d2c2c;
  padding: 0 10pt;
  border-radius: 4pt;
  border: 1px solid #464545;
  box-sizing: border-box;
  height: 40px;
  margin-right: 5pt;
  display: flex;
  align-items: center;
  gap: 5pt;
  flex-grow: 1;
}

.light .search-container {
  background-color: #fff;
  border: 2px solid #e2e0e0;
}

.search {
  color: #fff;
  flex-grow: 1;
  outline: none;
  border: none;
  background-color: unset;
}

.light .search {
  color: #000;
}

.search::placeholder {
  color: #757575;
  font-style: italic;
}

.search-button {
  background-color: unset;
  border: none;
  padding: 0;
  display: block;
  width: 18px;
  height: 18px;
  cursor: pointer;
}

.search-icon {
  width: 18px;
  height: 18px;
}

.light .remarks {
  background-color: #fff;
  color: #000;
}

.remarks p {
  max-height: 8em;
  overflow-y: hidden;
}

.light .remarks p {
  color: #000;
}

#search-info {
  padding: 0 20pt;
  color: #fff;
}

#search-info a {
  text-decoration: underline;
  color: #fff
}

/* Header */

#header {
  /* position: fixed;
  top: 0;
  left: 0;
  right: 0; */
  height: 80pt;
  min-height: 80pt;
  background-color: #000;
  color: #fff;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  z-index: 1;
  box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.05);
}

.light #header {
  background-color: #fff;
  color: #000;
}

#title {
  margin: 0;
  font-size: medium;
  font-weight: normal;
  padding: 0 50pt;
}

#theme-button,
#back-button {
  position: absolute;
  display: flex;
  left: 20pt;
  cursor: pointer;
}

#theme-button {
  width: 20pt;
  height: 20pt;
}

#theme-button-icon-dark {
  display: block;
  width: 20pt;
  height: 20pt;
}

#theme-button-icon-light {
  display: none;
  width: 20pt;
  height: 20pt;
}

.light #theme-button-icon-dark {
  display: none;
}

.light #theme-button-icon-light {
  display: block;
}

#settings-button {
  position: absolute;
  display: flex;
  right: 20pt;
  cursor: pointer;
}

#settings-button img {
  width: 20pt;
  height: 20pt;
  content: url("../assets/settings-dark.svg");
}

.light #settings-button img {
  content: url("../assets/settings-light.svg");
}

/* Nav */

#bottom-nav {
  min-height: 50pt;
  min-height: calc(env(safe-area-inset-bottom) + 50pt);
  background-color: #000;
}

#navigation {
  width: 100%;
  height: 50pt;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 1px;
  background-color: #2d2c2c;
  margin-bottom: env(safe-area-inset-bottom);
}

.light #navigation {
  background-color: #fff;
}

.navigation-link {
  background-color: #000;
  color: #757575;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  gap: 4pt;
  font-size: x-small;
  padding: 5pt;
}

.navigation-link.active {
  background-color: #333232;
}

.light .navigation-link {
  background-color: #004d9d;
  color: #9b9b9b;
}

.light .navigation-link.active {
  background-color: #fff;
  color: #004d9d;
}

.navigation-link.disabled {
  color: #555; /* Dark theme disabled color */
  pointer-events: none;
  cursor: default;
}

.light .navigation-link.disabled {
  color: #aaa; /* Light theme disabled color */
  background-color: #e0e0e0; /* Light theme disabled background */
}

.navigation-link.disabled img {
  opacity: 0.5;
}

.navigation-link img {
  height: 25pt;
}

.navigation-link.nav-mieter img {
  content: url("../assets/nav-mieter-dark.svg");
}

.light .navigation-link.nav-mieter img {
  content: url("../assets/nav-mieter-light.svg");
}

.light .navigation-link.nav-mieter.active img {
  content: url("../assets/nav-mieter-light-active.svg");
}

.navigation-link.nav-adressen img {
  content: url("../assets/nav-adressen-dark.svg");
}

.light .navigation-link.nav-adressen img {
  content: url("../assets/nav-adressen-light.svg");
}

.light .navigation-link.nav-adressen.active img {
  content: url("../assets/nav-adressen-light-active.svg");
}

.navigation-link.nav-auftraege img {
  content: url("../assets/nav-auftraege-dark.svg");
}

.light .navigation-link.nav-auftraege img {
  content: url("../assets/nav-auftraege-light.svg");
}

.light .navigation-link.nav-auftraege.active img {
  content: url("../assets/nav-auftraege-light-active.svg");
}

.navigation-link.nav-rech img {
  content: url("../assets/nav-rech-dark.svg");
}

.light .navigation-link.nav-rech img {
  content: url("../assets/nav-rech-light.svg");
}

.light .navigation-link.nav-rech.active img {
  content: url("../assets/nav-rech-light-active.svg");
}

#sidebar-logo {
  display: none;
}

/* Settings */

#settings {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  z-index: 100;
  background-color: #1e1e1e;
  border: 1px solid #757575;
  box-sizing: border-box;
  display: none;
}

#settings.show {
  display: block;
}

#settings-header {
  width: 100%;
  height: 80pt;
  color: #fff;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-bottom: 10pt;
}

#settings-title {
  margin: 0;
  font-size: large;
  font-weight: normal;
}

#settings-close-button {
  position: absolute;
  display: flex;
  left: 20pt;
  cursor: pointer;
}

#settings-buttons {
  display: flex;
  flex-direction: column;
}

.settings-button {
  display: grid;
  grid-template-columns: 40pt auto;
  padding: 7.5pt 20pt;
  font-weight: lighter;
  font-size: larger;
  color: #fff;
  cursor: pointer;
  /* font-family: 'Univia Pro'; */
}

.light #settings {
  background-color: #f6f5f5;
  color: #000;
}

.light #settings-header {
  background-color: #fff;
  color: #000;
}

.light .settings-button {
  color: #000;
}

/* Documents */

#documents {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
  box-sizing: border-box;
  display: none;
  z-index: 1;
}

#documents::before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #1e1e1e;
  opacity: 90%;
  z-index: -1;
}

.light #documents::before {
  background-color: #e1e1e1;
}

#documents::after {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 1px solid #757575;
  box-sizing: border-box;
  pointer-events: none;
}

#documents.show {
  display: flex;
  flex-direction: column;
}

#documents-header {
  width: 100%;
  height: 80pt;
  color: #fff;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-bottom: 10pt;
}

.light #documents-header {
  color: #000;
}

#documents-title {
  margin: 0;
  font-size: large;
  font-weight: normal;
}

#documents-close-button {
  position: absolute;
  display: flex;
  left: 20pt;
  cursor: pointer;
}

#documents-content {
  padding: 0 20pt;
  position: relative;
  flex: 1 1 auto;
}

#documents-list {
  margin-top: 15pt;
  display: flex;
  flex-direction: column;
  gap: 15pt;
}

.document {
  display: flex;
  flex-direction: row;
  gap: 10pt;
  padding: 10pt;
  border-radius: 7.5pt;
  background-color: #2d2c2c;
  color: #fff;
  position: relative;
}

.light .document {
  background-color: #fff;
  color: #000;
}

.document-content {
  display: flex;
  flex-direction: column;
}

.document-info {
  font-size: small;
  color: #9b9b9b;
}

.document-icon {
  content: url("../assets/pdf-icon.svg");
}

.light .document-icon {
  content: url("../assets/pdf-icon-light.svg");
}

#document-view {
  display: none;
  height: 0;
}

#document-view.show {
  display: block;
  /* flex-direction: column;
  align-items: center; */
  gap: 20pt;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  padding: 0;
  color: #fff;
  z-index: 100;
  border: none;
  background-color: rgba(30, 30, 30, 0.9);
  overscroll-behavior: contain;
}

#document-download {
  margin-bottom: 20pt;
  display: none;
}

#document-view-toolbar {
  height: 64px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

#document-view-toolbar button {
  font-size: medium;
}

#viewer-container {
  overflow: auto;
  position: absolute;
  top: 64px;
  left: 0;
  right: 0;
  bottom: 0;
  overscroll-behavior: contain;
}

/* Big Buttons */

.big-button-grid {
  display: grid;
  grid-template-rows: auto auto;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 20pt;
  margin-bottom: 20pt;
}

.big-button {
  position: relative;
  display: grid;
  grid-template-rows: 50pt auto;
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  align-items: center;
  row-gap: 2pt;
  padding: 10pt;
  padding-bottom: 15pt;
  padding-top: 5pt;
  border-radius: 7.5pt;
  background-color: #004d9d;
  color: white;
  cursor: pointer;
}

.big-button.bottom {
  background-color: #3983d1;
  color: #004d9d;
}

.big-button.inactive {
  background-color: #2d2c2c;
  color: #9b9b9b;
}

.big-button-label {
  font-size: large;
  margin-top: 5pt;
}

.big-button-annotation {
  position: absolute;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  line-height: 100%;
  width: 25pt;
  height: 25pt;
  bottom: 0;
  border-radius: 50%;
  background: white;
  color: black;
  transform: translate(0, 50%);
}

/* Contact Popup */

.contact-popup {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: none;
}

.contact-popup::before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #004d9d;
  opacity: 90%;
  z-index: -1;
}

.contact-popup.show {
  display: block;
}

.contact-popup-header {
  width: 100%;
  height: 80pt;
  color: #fff;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.contact-popup-title {
  margin: 0;
  font-size: large;
  font-weight: normal;
}

.contact-popup-close-button {
  position: absolute;
  display: flex;
  left: 20pt;
}

.contact-popup-content {
  display: flex;
  flex-direction: column;
  padding: 0 20pt;
  gap: 15pt;
}

.contact {
  padding: 7.5pt;
  border-radius: 7.5pt;
  background-color: white;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10pt;
}

.contact-content {
  display: flex;
  flex-direction: column;
}

.contact-content p {
  margin: 0;
  font-weight: bold;
  color: black;
}

.contact-content span {
  margin: 0;
  color: #9b9b9b;
  font-size: 0.9em;
}

/* Full Remarks */

#remarks-full,
.remarks-full {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: none;
}

#remarks-full::before,
.remarks-full::before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #1e1e1e;
  opacity: 90%;
  z-index: -1;
}

.light #remarks-full::before,
.light .remarks-full::before {
  background-color: #e1e1e1;
}

#remarks-full.show,
.remarks-full.show {
  display: block;
}

#remarks-full-header,
.remarks-full-header {
  width: 100%;
  height: 80pt;
  color: #fff;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.light #remarks-full-header,
.light .remarks-full-header {
  color: #000;
}

#remarks-full-title,
.remarks-full-title {
  margin: 0;
  font-size: large;
  font-weight: normal;
}

#remarks-full-close-button,
.remarks-full-close-button {
  position: absolute;
  display: flex;
  left: 20pt;
}

#remarks-full-content,
.remarks-full-content {
  display: flex;
  flex-direction: column;
  padding: 0 40pt;
  color: #9b9b9b;
  font-size: small;
}

.light #remarks-full-content,
.light .remarks-full-content {
  color: #000;
}

/* .remarks-full {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  z-index: 1;
  display: none;
}

.remarks-full::before {
  position: fixed;
  content: "";
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  background-color: #1e1e1e;
  opacity: 90%;
  z-index: -1;
}

.remarks-full.show {
  display: block;
}

.remarks-full-header {
  width: 100%;
  height: 80pt;
  color: #fff;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.remarks-full-title {
  margin: 0;
  font-size: large;
  font-weight: normal;
}

.remarks-full-close-button {
  position: absolute;
  display: flex;
  left: 20pt;
}

.remarks-full-content {
  display: flex;
  flex-direction: column;
  padding: 0 40pt;
  color: #9b9b9b;
  font-size: small;
} */

/* Buttons */

.button {
  display: block;
  background-color: #9b9b9b;
  color: white;
  text-decoration: none;
  padding: 10pt;
  border-radius: 7.5pt;
  text-align: center;
  font-weight: 200;
  border: none;
  cursor: pointer;
}

.button.small {
  width: fit-content;
}

.button.green {
  background-color: #7ed321;
}

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

.button.wide {
  grid-column: 1 / span 2;
}

.button.approved {
  background-color: #403f3f;
}

.button.save {
  margin-top: 10pt;
  margin-bottom: 20pt;
  padding: 15pt 30pt;
  font-size: medium;
}

/* Loader */

.loader {
  border: 4pt solid #9b9b9b;
  border-top: 4pt solid #3983d1;
  border-radius: 50%;
  width: 32pt;
  height: 32pt;
  animation: spin 0.5s linear infinite;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  left: calc(50% - 16pt);
  top: calc(50% - 16pt);
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(180deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.input-loader {
  border: 4pt solid #9b9b9b;
  border-top: 4pt solid #3983d1;
  border-radius: 50%;
  width: 24pt;
  height: 24pt;
  animation: spin 0.5s linear infinite;
  margin-left: auto;
  margin-right: auto;
}

.index-loader {
  border: 4pt solid #9b9b9b;
  border-top: 4pt solid #3983d1;
  border-radius: 50%;
  width: 32pt;
  height: 32pt;
  animation: spin 0.5s linear infinite;
}

/* Input */

.input-group {
  display: flex;
  flex-direction: column;
  margin-bottom: 15pt;
}

.card-list .input-group {
  margin-bottom: 10pt;
}

.input-label {
  padding-left: 15pt;
  margin-bottom: 2pt;
  color: white;
  font-weight: 100;
  opacity: 75%;
}

.light .input-label {
  color: #000;
}

.input-field {
  font-size: medium;
  padding: 10pt 15pt;
  padding-bottom: 7.5pt;
  border-radius: 7.5pt;
  border: none;
  outline: none;
  background-color: #fff;
  width: 100%;
  box-sizing: border-box;
}

.input-field:disabled {
  background-color: #959292;
  color: #484848;
}

.input-area {
  height: 25em;
}

.input-select {
  padding: 2.5pt;
  display: grid;
  grid-template-areas: "select";
  align-items: center;
}

.input-select select {
  font-size: inherit;
  appearance: none;
  border: none;
  outline: none;
  width: 100%;
  padding: 7.5pt 20px 5pt 12.5pt;
  z-index: 1;
  background-color: transparent;
}

.input-select::after {
  content: "";
  width: 20px;
  height: 20px;
  background-image: url("../assets/dropdown.svg");
  justify-self: end;
  margin-right: 5pt;
}

.input-select select,
.input-select::after {
  grid-area: select;
}

.input-collection {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10pt;
}

.input-collection.wide-right {
  grid-template-columns: 1fr 2fr;
}

.input-collection.very-wide-left {
  grid-template-columns: 8fr 3fr;
}

.input-error {
  padding-left: 15pt;
  margin-top: 2pt;
  color: red;
}

/* Pull-to-Refresh */

.pull-to-refresh-container {
  position: relative;
  overflow-y: hidden;
  height: 100%;
}

.pull-to-refresh {
  position: absolute;
  bottom: 100%;
  left: 50%;
  background-color: #2d2c2c;
  border-radius: 50%;
  color: #fff;
  transform: translateX(-50%);
  z-index: 100;
  padding: 5pt;
  box-shadow: 1px 2px 6px 1px #000;
  visibility: hidden;
  margin-bottom: 10px;
}

.pull-to-refresh.show {
  visibility: visible;
}

.pull-to-refresh .pull-to-refresh-loader {
  width: 32px;
  height: 32px;
  border: 4px solid #9b9b9b;
  border-top: 4px solid #3983d1;
  border-radius: 50%;
}

.pull-to-refresh .pull-to-refresh-loader.animate {
  animation: spin 0.5s linear infinite;
}

/* Tablet/Desktop */

@media only screen and (min-width: 768px) {
  body {
    display: flex;
    flex-direction: column;
    position: relative;
  }

  #layout {
    display: grid;
    grid-template-columns: 30% auto;
    grid-template-rows: 80pt minmax(0, auto);
    height: 100%;
  }

  #header {
    position: relative;
    grid-column: 1;
  }

  #bottom-nav {
    position: relative;
    grid-column: 1;
  }

  #content {
    margin: 0;
    grid-column: 2;
    grid-row: 1 / span 2;
    padding-top: 30pt;
    padding-left: 10pt;
    padding-right: 10pt;
    gap: 30pt;
  }

  #navigation {
    height: 100%;
    display: flex;
    flex-direction: column;
    background-color: #000;
    margin: 0;
  }

  #sidebar-logo {
    display: block;
    position: absolute;
    left: 25pt;
    bottom: 25pt;
  }

  .navigation-link {
    display: grid;
    grid-template-columns: 40pt auto;
    gap: 10pt;
    justify-content: start;
    justify-items: center;
    padding: 20pt 20pt 15pt;
  }

  .navigation-link span {
    font-size: medium;
  }

  .light .navigation-link.active {
    background-color: #004d9d;
    color: #9b9b9b;
  }

  .light .navigation-link {
    background-color: #fff;
    color: #004d9d;
  }

  .light .navigation-link.nav-mieter.active img {
    content: url("../assets/nav-mieter-light.svg");
  }

  .light .navigation-link.nav-mieter img {
    content: url("../assets/nav-mieter-light-active.svg");
  }

  .light .navigation-link.nav-adressen.active img {
    content: url("../assets/nav-adressen-light.svg");
  }

  .light .navigation-link.nav-adressen img {
    content: url("../assets/nav-adressen-light-active.svg");
  }

  .light .navigation-link.nav-auftraege.active img {
    content: url("../assets/nav-auftraege-light.svg");
  }

  .light .navigation-link.nav-auftraege img {
    content: url("../assets/nav-auftraege-light-active.svg");
  }

  .light .navigation-link.nav-rech.active img {
    content: url("../assets/nav-rech-light.svg");
  }

  .light .navigation-link.nav-rech img {
    content: url("../assets/nav-rech-light-active.svg");
  }

  .card-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 25pt;
    row-gap: 20pt;
    height: unset;
    max-height: 100%;
    /* -ms-overflow-style: none;
    scrollbar-width: none; */
    padding-bottom: 20pt;
  }

  .editor.card-list {
    display: flex;
    row-gap: unset;
  }

  /* .card-list::-webkit-scrollbar {
    display: none;
  } */

  .card {
    margin: 0;
  }

  .card.details {
    grid-column: 1;
  }

  .big-button-grid {
    grid-column: 1;
    min-height: 0;
    height: fit-content;
  }

  .remarks {
    grid-column: 2;
    grid-row: 1 / span 2;
    min-height: 0;
    display: grid;
    grid-template-rows: min-content minmax(0, 1fr) min-content;
  }

  .meldungen-arbeiten-container {
    grid-column: 2;
    grid-row: 1 / span 2;
    display: flex;
    flex-direction: column;
    gap: 20pt;
  }

  .card-ellipsis {
    height: 1ex;
    margin-top: 5pt;
  }

  .remarks p {
    max-height: unset;
    min-height: 0;
    overflow: hidden;
    margin: 0;
  }

  .search-container {
    padding: 24pt 20pt;
    max-width: 60%;
  }

  .search {
    font-size: medium;
  }

  .search-button,
  .search-icon {
    width: 27px;
    height: 27px;
  }

  .content-top-row {
    gap: 15pt;
    justify-content: space-between;
  }

  .white-circle-button:not(:where(#header *)) {
    width: 56px;
    height: 56px;
  }

  .white-circle-button img {
    width: 50%;
    height: 50%;
  }

  #document-view-toolbar button {
    font-size: x-large;
  }
}

@media screen and (max-height: 550px) {
  #sidebar-logo {
    display: none;
  }
}

/*** iPhone and iOS Form Input Zoom Fixes ***/
/* Fix Input Zoom on devices older than iPhone 5: */
@media screen and (device-aspect-ratio: 2/3) {
  select,
  textarea,
  input[type="text"],
  input[type="password"],
  input[type="datetime"],
  input[type="datetime-local"],
  input[type="date"],
  input[type="month"],
  input[type="time"],
  input[type="week"],
  input[type="number"],
  input[type="email"],
  input[type="url"] {
    font-size: 16px;
  }
}

/* Fix Input Zoom on iPhone 5, 5C, 5S, iPod Touch 5g */
@media screen and (device-aspect-ratio: 40/71) {
  select,
  textarea,
  input[type="text"],
  input[type="password"],
  input[type="datetime"],
  input[type="datetime-local"],
  input[type="date"],
  input[type="month"],
  input[type="time"],
  input[type="week"],
  input[type="number"],
  input[type="email"],
  input[type="url"] {
    font-size: 16px;
  }
}

/* Fix Input Zoom on iPhone 6, iPhone 6s, iPhone 7  */
@media screen and (device-aspect-ratio: 375/667) {
  select,
  textarea,
  input[type="text"],
  input[type="password"],
  input[type="datetime"],
  input[type="datetime-local"],
  input[type="date"],
  input[type="month"],
  input[type="time"],
  input[type="week"],
  input[type="number"],
  input[type="email"],
  input[type="tel"],
  input[type="url"] {
    font-size: 16px;
  }
}

/* Fix Input Zoom on iPhone 6 Plus, iPhone 6s Plus, iPhone 7 Plus, iPhone 8, iPhone X, XS, XS Max  */
@media screen and (device-aspect-ratio: 9/16) {
  select,
  textarea,
  input[type="text"],
  input[type="password"],
  input[type="datetime"],
  input[type="datetime-local"],
  input[type="date"],
  input[type="month"],
  input[type="time"],
  input[type="week"],
  input[type="number"],
  input[type="email"],
  input[type="tel"],
  input[type="url"],
  input[type="search"],
  input[type="color"] {
    font-size: 16px;
  }
}

body#index .navigation {
  display: none;
}

body#index {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5pt;
  color: #fff;
  background-color: #1e1e1e;
}

#offline-banner {
  /* position: fixed;
  top: 0; */
  width: 100%;
  background-color: red;
  color: #fff;
  z-index: 100;
  text-align: center;
  line-height: 1.6;
  pointer-events: none;
}

#remarks-full {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  z-index: 200; /* Ensure it's above other content */
  background-color: #1e1e1e; /* Dark theme background */
  border: 1px solid #757575;
  box-sizing: border-box;
  display: none;
  flex-direction: column; /* Added for proper layout */
}

.light #remarks-full {
  background-color: #f6f5f5; /* Light theme background */
  color: #000;
  border-color: #ccc; /* Lighter border for light theme */
}

#remarks-full.show {
  display: flex;
  flex-direction: column;
}
