:root {
  --cofic-green: #0db14b;
  --cofic-green-dark: #087b35;
  --cofic-sidebar-green: #002f1d;
  --cofic-black: #0b0f0d;
  --cofic-white: #ffffff;
  --cofic-soft: #f4f8f5;
  --cofic-border: #dce7df;
}

* {
  box-sizing: border-box;
}

body {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  background: var(--cofic-soft);
  color: var(--cofic-black);
  font-family: var(--cui-font-sans-serif);
}

.app-shell {
  display: flex;
  min-height: 100vh;
  flex-direction: column;
  background:
    linear-gradient(180deg, rgba(13, 177, 75, 0.09), rgba(255, 255, 255, 0) 320px),
    var(--cofic-soft);
}

.entry-header {
  min-height: 128px;
  background: var(--cofic-white);
  box-shadow: 0 1px 0 rgba(11, 15, 13, 0.08);
}

.entry-header__content {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 22px 18px 18px;
}

.header-brand {
  display: flex;
  width: 100%;
  justify-content: center;
  text-decoration: none;
}

.brand-logo {
  display: block;
  width: min(540px, 82vw);
  height: auto;
}

.entry-main {
  flex: 1;
  padding: 22px 0 92px;
}

.entry-container {
  max-width: 1120px;
}

.entry-title {
  margin-bottom: 24px;
  text-align: center;
}

.entry-kicker {
  margin-bottom: 6px;
  color: var(--cofic-green-dark);
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

.entry-title h1 {
  margin: 0;
  color: var(--cofic-black);
  font-size: clamp(1.65rem, 3vw, 2.35rem);
  font-weight: 700;
  letter-spacing: 0;
}

.module-card {
  border: 1px solid var(--cofic-border);
  border-radius: 8px;
  background: var(--cofic-white);
  box-shadow: 0 14px 28px rgba(11, 15, 13, 0.06);
  transition:
    border-color 160ms ease,
    box-shadow 160ms ease,
    transform 160ms ease;
}

.module-card:hover {
  border-color: rgba(13, 177, 75, 0.5);
  box-shadow: 0 18px 36px rgba(11, 15, 13, 0.11);
  transform: translateY(-2px);
}

.module-card__body {
  display: flex;
  min-height: 156px;
  flex-direction: column;
  justify-content: space-between;
  gap: 18px;
  padding: 20px;
}

.module-card__content {
  min-width: 0;
  text-align: center;
}

.module-card__content h2 {
  margin: 0 0 6px;
  color: var(--cofic-black);
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 0;
}

.module-card__content p {
  margin: 0;
  color: #46514b;
  font-size: 0.94rem;
  line-height: 1.35;
}

.module-card__button {
  min-height: 42px;
  border-color: var(--cofic-green);
  background: var(--cofic-green);
  color: var(--cofic-white);
  font-weight: 700;
}

.module-card__button:hover,
.module-card__button:focus {
  border-color: var(--cofic-green-dark);
  background: var(--cofic-green-dark);
  color: var(--cofic-white);
}

.entry-actions {
  display: flex;
  justify-content: center;
  margin-top: 26px;
}

.exit-button {
  min-width: 180px;
  min-height: 46px;
  border-radius: 8px;
  font-weight: 700;
}

.app-footer {
  display: flex;
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
  min-height: 58px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  border-top: 1px solid var(--cofic-border);
  background: var(--cofic-white);
  color: #46514b;
  font-size: 0.82rem;
  font-weight: 600;
  text-align: center;
}

.app-footer a {
  color: var(--cofic-green-dark);
  font-weight: 800;
  text-decoration: none;
}

.app-footer a:hover,
.app-footer a:focus {
  color: var(--cofic-green);
  text-decoration: underline;
}

.login-container {
  max-width: 520px;
}

.login-card,
.crud-card,
.gestao-section-card {
  border: 1px solid var(--cofic-border);
  border-radius: 8px;
  background: var(--cofic-white);
  box-shadow: 0 12px 24px rgba(11, 15, 13, 0.05);
}

.login-card__body {
  display: flex;
  flex-direction: column;
  gap: 22px;
  padding: 28px;
}

.login-title {
  text-align: center;
}

.login-title h1 {
  margin: 0 0 8px;
  color: var(--cofic-black);
  font-size: 1.55rem;
  font-weight: 700;
  letter-spacing: 0;
}

.login-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.login-form .form-label,
.crud-filter .form-label,
.crud-form .form-label {
  color: var(--cofic-black);
  font-weight: 700;
}

.login-submit,
.back-button,
.module-exit,
.crud-new-button,
.crud-report-button,
.crud-filter__actions .btn,
.crud-form .btn,
.crud-row-actions .btn {
  border-radius: 8px;
  font-weight: 700;
}

.module-shell {
  display: flex;
  min-height: 100vh;
  background: var(--cofic-soft);
}

.app-sidebar {
  width: 256px;
  min-width: 256px;
  overflow: hidden;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  background: var(--cofic-sidebar-green);
  color: var(--cofic-white);
  transition: width 160ms ease, min-width 160ms ease;
}

.app-sidebar--collapsed {
  width: 0;
  min-width: 0;
}

.app-sidebar__header {
  min-height: 78px;
  padding: 16px;
}

.app-sidebar__brand,
.app-sidebar__brand:hover,
.app-sidebar__brand:focus {
  display: flex;
  align-items: center;
  color: var(--cofic-white);
  font-weight: 700;
  text-decoration: none;
}

.app-sidebar__nav {
  padding: 10px;
}

.app-sidebar__nav .nav-link,
.app-sidebar__nav .nav-group-toggle {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 42px;
  gap: 12px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: rgba(255, 255, 255, 0.8);
  font-weight: 600;
  text-align: left;
  text-decoration: none;
}

.app-sidebar__nav .nav-link:hover,
.app-sidebar__nav .nav-link.active,
.app-sidebar__nav .nav-group-toggle:hover {
  background: rgba(13, 177, 75, 0.22);
  color: var(--cofic-white);
}

.app-sidebar__nav .nav-link.active {
  border-left: 3px solid var(--cofic-green);
  background: rgba(13, 177, 75, 0.34);
}

.nav-group-items {
  display: none;
  padding-left: 16px;
}

.nav-group.show > .nav-group-items {
  display: block;
}

.nav-group-items .nav-link {
  min-height: 36px;
  padding-left: 24px;
  font-size: 0.92rem;
}

.nav-group--nested .nav-group-items .nav-link {
  min-height: 32px;
  padding-left: 18px;
  font-size: 0.86rem;
}

.module-wrapper {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
}

.module-header {
  min-height: 74px;
  background: var(--cofic-white);
  box-shadow: 0 1px 0 rgba(11, 15, 13, 0.08);
}

.module-header__content {
  display: flex;
  min-height: 74px;
  align-items: center;
  gap: 18px;
}

.module-header__toggle {
  border-radius: 8px;
}

.module-header__brand,
.module-header__brand:hover,
.module-header__brand:focus {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
  margin-right: auto;
  color: var(--cofic-black);
  font-weight: 700;
  text-decoration: none;
}

.module-logo {
  width: 170px;
  height: auto;
}

.module-company {
  display: inline-flex;
  align-items: center;
  max-width: min(360px, 28vw);
  min-height: 34px;
  padding: 6px 12px;
  overflow: hidden;
  border: 1px solid var(--cofic-border);
  border-radius: 8px;
  background: var(--cofic-soft);
  color: var(--cofic-green-dark);
  font-size: 0.88rem;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.module-content {
  flex: 1;
  padding: 30px 28px 42px;
}

.dashboard-container {
  width: 100%;
  max-width: none;
}

.dashboard-heading,
.crud-heading,
.gestao-section-card__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 24px;
}

.crud-heading__actions {
  display: flex;
  gap: 10px;
  flex: 0 0 auto;
}

.dashboard-heading h1,
.crud-heading h1 {
  margin: 0 0 6px;
  color: var(--cofic-black);
  font-size: 1.7rem;
  font-weight: 700;
  letter-spacing: 0;
}

.dashboard-heading p:last-child,
.crud-heading p:last-child,
.gestao-section-card__header p {
  margin: 0;
  color: #46514b;
}

.dashboard-user {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 6px 12px;
  border: 1px solid var(--cofic-border);
  border-radius: 8px;
  background: var(--cofic-white);
  color: var(--cofic-black);
  font-weight: 700;
}

.gestao-action-list {
  display: grid;
  gap: 10px;
}

.gestao-action,
.gestao-action:hover,
.gestao-action:focus {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--cofic-border);
  border-radius: 8px;
  background: var(--cofic-white);
  color: var(--cofic-black);
  text-align: left;
  text-decoration: none;
}

.gestao-action:hover {
  border-color: rgba(13, 177, 75, 0.55);
  background: #f7fbf8;
}

.gestao-action--disabled {
  opacity: 0.68;
}

.gestao-action strong,
.gestao-action small {
  display: block;
}

.gestao-action small {
  margin-top: 2px;
  color: #46514b;
}

.gestao-action__status {
  flex: 0 0 auto;
  color: var(--cofic-green-dark);
  font-size: 0.82rem;
  font-weight: 700;
}

.crud-page {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.crud-filter,
.crud-form {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  gap: 14px;
  align-items: end;
}

.crud-filter--companies {
  grid-template-columns: minmax(180px, 1fr) repeat(4, minmax(150px, 0.7fr)) auto;
}

.crud-filter--types {
  grid-template-columns: minmax(220px, 1fr) minmax(220px, 0.8fr) auto;
}

.crud-filter--users {
  grid-template-columns: minmax(220px, 1fr) minmax(220px, 0.9fr) minmax(160px, 0.5fr) auto;
}

.crud-filter--dados-se {
  grid-template-columns: minmax(140px, 0.35fr) minmax(140px, 0.35fr) minmax(180px, 0.45fr) auto;
}

.crud-form--companies {
  grid-template-columns: repeat(4, minmax(180px, 1fr));
}

.crud-form--users {
  grid-template-columns: repeat(3, minmax(180px, 1fr));
}

.crud-form--panel {
  grid-template-columns: 1fr;
}

.crud-checks {
  display: flex;
  min-height: 38px;
  align-items: center;
  gap: 18px;
}

.crud-filter__actions,
.crud-form__actions,
.crud-row-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.crud-table {
  margin-bottom: 0;
}

.crud-table th {
  color: var(--cofic-black);
  font-size: 0.84rem;
  text-transform: uppercase;
}

.crud-table th a {
  color: inherit;
  text-decoration: none;
}

.crud-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-top: 16px;
  color: #46514b;
  font-size: 0.88rem;
  font-weight: 600;
}

.crud-pagination .page-link {
  color: var(--cofic-green-dark);
}

.crud-pagination .active .page-link {
  border-color: var(--cofic-green);
  background: var(--cofic-green);
  color: var(--cofic-white);
}

.crud-actions-column {
  width: 230px;
}

.crud-row-actions form {
  margin: 0;
}

.crud-empty {
  padding: 28px !important;
  color: #46514b;
  text-align: center;
}

.crud-offcanvas {
  --cui-offcanvas-width: min(460px, 92vw);
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1045;
  display: flex;
  width: min(460px, 92vw);
  max-width: 100%;
  flex-direction: column;
  visibility: hidden;
  background: var(--cofic-white);
  background-clip: padding-box;
  box-shadow: -18px 0 48px rgba(11, 15, 13, 0.18);
  outline: 0;
  transform: translateX(100%);
  transition: transform 220ms ease, visibility 220ms ease;
}

.crud-offcanvas--wide {
  --cui-offcanvas-width: min(920px, 96vw);
  width: min(920px, 96vw);
}

.crud-offcanvas.show {
  visibility: visible;
  transform: none;
}

.crud-offcanvas .offcanvas-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border-bottom: 1px solid var(--cofic-border);
}

.crud-offcanvas .offcanvas-body {
  flex: 1;
  overflow-y: auto;
  padding: 20px;
}

.crud-offcanvas .offcanvas-title {
  margin: 0;
  color: var(--cofic-black);
  font-size: 1.35rem;
  font-weight: 700;
}

.crud-offcanvas .crud-form,
.crud-offcanvas .crud-form--companies {
  grid-template-columns: 1fr;
}

.crud-offcanvas .crud-form__actions {
  justify-content: flex-start;
}

.dados-se-form-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.indicator-detail-section {
  display: grid;
  gap: 16px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 2px solid var(--cofic-green);
}

.indicator-detail-section[hidden] {
  display: none;
}

.indicator-detail-section__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.indicator-detail-section__header h3,
.indicator-detail-form h4 {
  margin: 0 0 4px;
  color: var(--cofic-black);
  font-size: 1.05rem;
  font-weight: 700;
}

.indicator-detail-section__header p {
  margin: 0;
  color: #58635c;
  font-size: 0.9rem;
}

.indicator-detail-table {
  min-width: 850px;
  margin-bottom: 0;
  font-size: 0.86rem;
}

.indicator-detail-form {
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid var(--cofic-border);
  border-radius: 6px;
  background: #f8faf8;
}

.indicator-detail-form__fields {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.indicator-detail-form__fields [hidden] {
  display: none !important;
}

.brigade-companies-grid {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--cofic-border);
  border-radius: 6px;
  background: #fff;
}

.brigade-companies-grid[hidden] {
  display: none !important;
}

.brigade-companies-grid__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.brigade-companies-grid__header h5 {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
}

.brigade-companies-grid__header p {
  margin: 3px 0 0;
  color: #58635c;
  font-size: 0.85rem;
}

.brigade-companies-table {
  min-width: 580px;
  margin: 0;
}

.brigade-companies-table td {
  vertical-align: middle;
}

.brigade-companies-table .form-control {
  min-width: 115px;
}

.brigade-arrival-summary {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.brigade-arrival-summary[hidden] {
  display: none !important;
}

.indicator-detail-form .form-label {
  margin-bottom: 6px;
  font-weight: 600;
}

.field-label-help {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 0.5rem;
}

.field-label-help .form-label {
  margin-bottom: 0;
}

.microhelp-button {
  display: inline-flex;
  width: 18px;
  height: 18px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--cofic-green-dark);
  border-radius: 50%;
  background: var(--cofic-white);
  color: var(--cofic-green-dark);
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1;
}

.microhelp-button:hover,
.microhelp-button:focus {
  background: var(--cofic-green);
  color: var(--cofic-white);
}

.calculated-field,
.calculated-field:focus {
  border-color: #c7c7c7;
  background: #d5d5d5;
  color: var(--cofic-black);
  font-weight: 700;
  box-shadow: none;
}

.offcanvas-backdrop,
.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1040;
  background: rgba(11, 15, 13, 0.42);
}

.modal-backdrop {
  z-index: 1050;
}

.offcanvas-open,
.modal-open {
  overflow: hidden;
}

.delete-confirm-modal .modal-content {
  overflow: hidden;
  border: 1px solid var(--cofic-border);
  border-radius: 8px;
  box-shadow: 0 24px 80px rgba(11, 15, 13, 0.22);
}

.password-modal .modal-content {
  overflow: hidden;
  border: 1px solid var(--cofic-border);
  border-radius: 8px;
  box-shadow: 0 24px 80px rgba(11, 15, 13, 0.22);
}

.delete-confirm-modal .modal-header {
  align-items: flex-start;
  border-bottom: 1px solid var(--cofic-border);
  background: linear-gradient(90deg, rgba(13, 177, 75, 0.1), rgba(255, 255, 255, 0));
}

.password-modal .modal-header {
  align-items: flex-start;
  border-bottom: 1px solid var(--cofic-border);
  background: linear-gradient(90deg, rgba(13, 177, 75, 0.1), rgba(255, 255, 255, 0));
}

.delete-confirm-modal .modal-title {
  margin: 0;
  color: var(--cofic-black);
  font-size: 1.35rem;
  font-weight: 800;
}

.password-modal .modal-title {
  margin: 0;
  color: var(--cofic-black);
  font-size: 1.35rem;
  font-weight: 800;
}

.delete-confirm-modal .modal-body p {
  margin-bottom: 14px;
  color: #46514b;
}

.delete-confirm-modal__record {
  padding: 12px 14px;
  border: 1px solid rgba(220, 53, 69, 0.22);
  border-left: 4px solid #dc3545;
  border-radius: 8px;
  background: rgba(220, 53, 69, 0.06);
  color: var(--cofic-black);
  font-weight: 800;
}

.password-form {
  display: grid;
  gap: 16px;
}

.inspection-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 14px;
  margin: 0;
}

.inspection-grid div {
  padding: 12px 14px;
  border: 1px solid var(--cofic-border);
  border-radius: 8px;
  background: var(--cofic-soft);
}

.inspection-grid dt {
  margin-bottom: 4px;
  color: #46514b;
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.inspection-grid dd {
  margin: 0;
  color: var(--cofic-black);
  font-weight: 700;
}

.report-body {
  background: var(--cofic-white);
}

.report-page {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 28px 0 34px;
}

.report-header {
  display: grid;
  grid-template-columns: 180px 1fr auto;
  gap: 22px;
  align-items: center;
  padding-bottom: 18px;
  border-bottom: 3px solid var(--cofic-green);
}

.report-logo {
  display: block;
  width: 170px;
  height: auto;
}

.report-header h1 {
  margin: 0 0 4px;
  color: var(--cofic-black);
  font-size: 1.55rem;
  font-weight: 800;
}

.report-header p:last-child {
  margin: 0;
  color: #46514b;
}

.report-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: #46514b;
  font-size: 0.82rem;
  font-weight: 700;
  text-align: right;
}

.report-toolbar {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 18px 0;
}

.report-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 18px 0;
}

.report-summary span {
  display: inline-flex;
  padding: 6px 10px;
  border: 1px solid var(--cofic-border);
  border-radius: 8px;
  background: var(--cofic-soft);
  color: #46514b;
  font-size: 0.82rem;
  font-weight: 700;
}

.conformity-filter-grid {
  display: grid;
  grid-template-columns: minmax(150px, 1.35fr) minmax(105px, 0.9fr) minmax(120px, 1fr) minmax(138px, 1.05fr) minmax(138px, 1.05fr) minmax(132px, 1fr) auto;
  gap: 12px;
  align-items: end;
}

.conformity-filter-grid > div {
  min-width: 0;
}

.conformity-filter-grid .form-select,
.conformity-filter-grid .form-control {
  width: 100%;
  min-width: 0;
}

.conformity-filter-grid__submit .btn {
  min-width: 82px;
}

@media (max-width: 1100px) {
  .conformity-filter-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .conformity-filter-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.report-table {
  border-top: 2px solid var(--cofic-black);
  font-size: 0.86rem;
}

.report-conformity-table {
  width: 100%;
  table-layout: fixed;
}

.report-conformity-table th,
.report-conformity-table td {
  vertical-align: middle;
  overflow-wrap: anywhere;
}

.report-conformity-table thead th {
  white-space: normal;
}

.report-table > :not(caption) > * > * {
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
}

.report-table th {
  color: var(--cofic-black);
  text-transform: uppercase;
}

.report-table thead th {
  border-color: #0b3d28;
  background: #0b3d28;
  color: var(--cofic-white);
}

.report-table tbody tr:nth-child(odd):not(.report-company-row):not(.report-average-row) td {
  background: #f3faf5;
}

.report-company-row th {
  border-color: #0dab4b;
  background: #0dab4b;
  color: var(--cofic-white);
  font-size: 0.92rem;
}

.report-average-row th {
  border-top: 2px solid #0b3d28;
  border-bottom: 2px solid #0b3d28;
  background: #dff4e6;
  color: #0b3d28;
}

.report-table tfoot th {
  border-top: 3px solid #0b3d28;
  background: #0b3d28;
  color: var(--cofic-white);
}

.report-section-title {
  margin: 22px 0 8px;
  color: var(--cofic-black);
  font-size: 1rem;
  font-weight: 800;
}

.report-footer {
  margin-top: 28px;
  padding-top: 12px;
  border-top: 1px solid var(--cofic-border);
  color: #46514b;
  font-size: 0.78rem;
  font-weight: 700;
  text-align: center;
}

.report-footer a {
  color: var(--cofic-green-dark);
  font-weight: 800;
  text-decoration: none;
}

@media (max-width: 575.98px) {
  .entry-header {
    min-height: 74px;
  }

  .entry-main {
    padding-top: 24px;
  }

  .module-card__body {
    min-height: 154px;
    padding: 16px;
  }

  .module-shell {
    flex-direction: column;
  }

  .app-sidebar {
    width: 100%;
    min-width: 100%;
  }

  .app-sidebar--collapsed {
    width: 0;
    min-width: 0;
  }

  .module-header__content {
    flex-wrap: wrap;
    padding-block: 12px;
  }

  .module-logo {
    width: 132px;
  }

  .module-company {
    max-width: 100%;
  }

  .module-content {
    padding: 24px 14px 34px;
  }

  .crud-heading,
  .dashboard-heading,
  .crud-filter,
  .crud-form,
    .crud-filter--companies,
    .crud-filter--types,
    .crud-filter--users,
    .crud-filter--dados-se,
    .dados-se-form-grid,
    .crud-form--users,
    .crud-form--companies,
    .inspection-grid {
    grid-template-columns: 1fr;
    flex-direction: column;
  }

  .crud-pagination {
    align-items: flex-start;
    flex-direction: column;
  }

  .crud-heading__actions {
    width: 100%;
  }

  .crud-heading__actions .btn {
    flex: 1;
  }

  .report-page {
    width: min(100% - 24px, 1180px);
    padding-top: 18px;
  }

  .report-header {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .report-logo {
    margin: 0 auto;
  }

  .report-meta {
    text-align: center;
  }
}

@media print {
  .no-print {
    display: none !important;
  }

  .report-page {
    width: 100%;
    padding: 0;
  }

  .report-header {
    grid-template-columns: 150px 1fr auto;
  }

  .report-logo {
    width: 140px;
  }

  .report-table {
    font-size: 0.78rem;
  }
}

@page accident-report-page {
  size: landscape;
  margin: 10mm;
}

body.accident-report-preview-body {
  background: #fff !important;
}

body.accident-report-preview-body .app-sidebar,
body.accident-report-preview-body .module-header,
body.accident-report-preview-body .app-footer {
  display: none !important;
}

body.accident-report-preview-body .module-shell,
body.accident-report-preview-body .module-wrapper,
body.accident-report-preview-body .module-content,
body.accident-report-preview-body .dashboard-container {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.accident-report-preview-body .module-content {
  background: #fff !important;
}

body.accident-report-preview-body .dashboard-container.report-page {
  width: min(1180px, calc(100% - 48px)) !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 28px 0 34px !important;
}

@media print {
  body.accident-report-body {
    page: accident-report-page;
    background: #fff !important;
  }

  body.accident-report-body .app-sidebar,
  body.accident-report-body .module-header,
  body.accident-report-body .app-footer,
  body.accident-report-body .no-print {
    display: none !important;
  }

  body.accident-report-body .module-shell,
  body.accident-report-body .module-wrapper,
  body.accident-report-body .module-content {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.accident-report-body .dashboard-container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.accident-report-body .dashboard-container.report-page {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.accident-report-body .accident-report-table {
    min-width: 0 !important;
    font-size: 7pt !important;
  }

  body.accident-report-body .table-responsive {
    overflow: visible !important;
  }
}
