@import '/css/base/variables-c01ca19fbd38f224fbec75a8a98f3fcd.css';
@import '/css/base/browser-specific-2089da393d7be813d19104516e54dafe.css';
@import '/css/base/utilities/utilities-57c85f4aa62c2eeb896f3ac1e23daec0.css';
@import '/css/base/utilities/spinner-c037b97e7169e2ee61644df7a2958c19.css';
@import '/css/base/layouts/portal-3a80ae1692a5cc3ae3b9776cacc20b64.css';
@import '/css/base/layouts/economy-b599bb23b8e8669704d962e873c08635.css';
@import '/css/base/layouts/module-7f371f6afe565f3d7855d5c841391e3c.css';
@import '/css/base/layouts/cards-82473aa7861b647aa407722983abe746.css';

/* Base styles */
html, :host {
  -webkit-tap-highlight-color: transparent;
  font-family: 'Roboto', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

body {
  margin: 0;
  padding: 0;
  color: var(--font-clr-body);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height);
  background-color: var(--clr-bg-white);
}

*, *:before, *:after {
  box-sizing: border-box;
  transition: all ease 0.2s;
}

.ol-dragbox {
  transition: none !important;
  transition-duration: 0s !important;
  background-color: rgba(255, 255, 255, 0.376);
}

#cropperModal * {
  transition: none !important;
}

.ol-overlay-container.ol-selectable {
  transition: none !important;
  transition-duration: 0s !important;
}

.ol-viewport * {
  transition: none !important;
  transition-duration: 0s !important;
}

svg {
  width: 18px;
  height: 18px;
}

span {
  height: fit-content;
}

.alert-danger {
    color: #721c24;
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
    padding: 10px 12px;
    border-radius: 4px;
}

@keyframes shake {
    0% { transform: translateX(0); }
    25% { transform: translateX(-5px); }
    50% { transform: translateX(5px); }
    75% { transform: translateX(-5px); }
    100% { transform: translateX(0); }
}

/* Run animation only once */
.shake-once {
    animation: shake 0.4s ease;
}