/*
 * WEA365 YOOtheme late contrast/adapter layer.
 * com_wea365.foundation and portal.css are loaded before this file. Do not
 * duplicate component layout rules here unless a deliberate late cascade
 * override is required by the YOOtheme embedding context.
 */
/*
 * WEA365 adaptive contrast layer.
 * Builder elements never paint their own surface. They inherit the foreground
 * colour selected by YOOtheme, so text automatically inverts with the design.
 */
.wea365-ui {
  background-color: transparent !important;
  color-scheme: normal;
}

/* Component fallback views remain a self-contained light surface. */
.wea365-app {
  --wea365-app-text: var(--wea365-color-text);
  --wea365-app-heading: var(--wea365-color-heading);
  --wea365-app-muted: var(--wea365-color-muted);
  --wea365-app-link: var(--wea365-color-link);
  background-color: var(--wea365-color-white);
  color: var(--wea365-app-text) !important;
  color-scheme: light;
}

/* Builder typography follows the actual YOOtheme foreground colour. */
.wea365-ui h1,
.wea365-ui h2,
.wea365-ui h3,
.wea365-ui h4,
.wea365-ui h5,
.wea365-ui h6,
.wea365-ui .uk-h1,
.wea365-ui .uk-h2,
.wea365-ui .uk-h3,
.wea365-ui .uk-h4,
.wea365-ui .uk-h5,
.wea365-ui .uk-h6,
.wea365-ui p,
.wea365-ui li,
.wea365-ui dt,
.wea365-ui dd,
.wea365-ui th,
.wea365-ui td,
.wea365-ui label,
.wea365-ui legend,
.wea365-ui small,
.wea365-ui .uk-panel {
  color: inherit !important;
}

.wea365-ui .uk-text-meta,
.wea365-ui .uk-text-muted,
.wea365-ui .text-muted {
  color: inherit !important;
  opacity: .72;
}

.wea365-ui a:not(.uk-button):not(.uk-label) {
  color: inherit !important;
  text-decoration-color: currentColor;
}

.wea365-ui a:not(.uk-button):not(.uk-label):hover {
  color: inherit !important;
  opacity: .78;
}

.wea365-ui .uk-table-divider > :first-child > tr:not(:first-child),
.wea365-ui .uk-table-divider > :not(:first-child) > tr,
.wea365-ui .uk-table-divider > tr:not(:first-child) {
  border-color: currentColor !important;
  opacity: .92;
}

/* Fallback typography uses an explicit light-surface palette. */
.wea365-app h1,
.wea365-app h2,
.wea365-app h3,
.wea365-app h4,
.wea365-app h5,
.wea365-app h6,
.wea365-app .uk-h1,
.wea365-app .uk-h2,
.wea365-app .uk-h3,
.wea365-app .uk-h4,
.wea365-app .uk-h5,
.wea365-app .uk-h6 {
  color: var(--wea365-app-heading) !important;
}

.wea365-app p,
.wea365-app li,
.wea365-app dt,
.wea365-app dd,
.wea365-app th,
.wea365-app td,
.wea365-app label,
.wea365-app legend,
.wea365-app small,
.wea365-app .uk-panel {
  color: var(--wea365-app-text) !important;
}

.wea365-app .uk-text-meta,
.wea365-app .uk-text-muted,
.wea365-app .text-muted {
  color: var(--wea365-app-muted) !important;
  opacity: 1;
}

.wea365-app a:not(.uk-button):not(.uk-label) {
  color: var(--wea365-app-link) !important;
}

/* Inputs deliberately stay light and readable in every surrounding design. */
.wea365-app .uk-input,
.wea365-app .uk-select,
.wea365-app .uk-textarea,
.wea365-app input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
.wea365-app select,
.wea365-app textarea,
.wea365-ui .uk-input,
.wea365-ui .uk-select,
.wea365-ui .uk-textarea,
.wea365-ui input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
.wea365-ui select,
.wea365-ui textarea {
  border-color: var(--wea365-color-border) !important;
  background-color: var(--wea365-color-white) !important;
  color: var(--wea365-color-text) !important;
  -webkit-text-fill-color: var(--wea365-color-text) !important;
  color-scheme: light;
}

.wea365-app input::placeholder,
.wea365-app textarea::placeholder,
.wea365-ui input::placeholder,
.wea365-ui textarea::placeholder {
  color: var(--wea365-color-placeholder) !important;
  opacity: 1;
}

.wea365-app .uk-dropdown,
.wea365-ui .uk-dropdown {
  background-color: var(--wea365-color-white) !important;
  color: var(--wea365-color-text) !important;
  color-scheme: light;
}

.wea365-app .uk-dropdown *,
.wea365-ui .uk-dropdown * {
  color: inherit;
}

.wea365-app .uk-button-default,
.wea365-ui .uk-button-default {
  border-color: var(--wea365-color-primary) !important;
  background-color: var(--wea365-color-white) !important;
  color: var(--wea365-color-primary-strong) !important;
}

.wea365-app .uk-button-primary,
.wea365-ui .uk-button-primary {
  border-color: var(--wea365-color-primary) !important;
  background-color: var(--wea365-color-primary) !important;
  color: var(--wea365-color-white) !important;
}

.wea365-app .uk-button-danger,
.wea365-ui .uk-button-danger {
  border-color: var(--wea365-color-danger) !important;
  background-color: var(--wea365-color-danger) !important;
  color: var(--wea365-color-white) !important;
}

.wea365-app .uk-button-text {
  color: var(--wea365-app-link) !important;
}

.wea365-ui .uk-button-text {
  color: inherit !important;
}

.wea365-app .uk-badge,
.wea365-ui .uk-badge,
.wea365-app .uk-label,
.wea365-ui .uk-label {
  background-color: var(--wea365-color-primary) !important;
  color: var(--wea365-color-white) !important;
}

.wea365-app .uk-label-success,
.wea365-ui .uk-label-success {
  background-color: #4caf7d !important;
  color: var(--wea365-color-white) !important;
}

.wea365-app .uk-label-warning,
.wea365-ui .uk-label-warning {
  background-color: #f2b94b !important;
  color: #34270d !important;
}

.wea365-app .uk-label-danger,
.wea365-ui .uk-label-danger {
  background-color: var(--wea365-color-danger) !important;
  color: var(--wea365-color-white) !important;
}

/* Semantic messages own both their background and foreground colours. */
.wea365-app .uk-alert-primary,
.wea365-ui .uk-alert-primary {
  background-color: #e9f2fa !important;
  color: #234f75 !important;
}

.wea365-app .uk-alert-success,
.wea365-ui .uk-alert-success,
.wea365-app .wea365-workreport-success-alert,
.wea365-ui .wea365-workreport-success-alert {
  background-color: #58bc8d !important;
  color: var(--wea365-color-white) !important;
}

.wea365-app .uk-alert-warning,
.wea365-ui .uk-alert-warning {
  background-color: #f4c35f !important;
  color: #34270d !important;
}

.wea365-app .uk-alert-danger,
.wea365-ui .uk-alert-danger {
  background-color: var(--wea365-color-danger) !important;
  color: var(--wea365-color-white) !important;
}

.wea365-app .uk-alert-primary *,
.wea365-ui .uk-alert-primary * { color: #234f75 !important; }
.wea365-app .uk-alert-success *,
.wea365-ui .uk-alert-success *,
.wea365-app .wea365-workreport-success-alert *,
.wea365-ui .wea365-workreport-success-alert * { color: var(--wea365-color-white) !important; }
.wea365-app .uk-alert-warning *,
.wea365-ui .uk-alert-warning * { color: #34270d !important; }
.wea365-app .uk-alert-danger *,
.wea365-ui .uk-alert-danger * { color: var(--wea365-color-white) !important; }

/* The document preview has its own print-oriented colour system. */
.wea365-document-preview-page {
  background: var(--wea365-color-white) !important;
  color: #222 !important;
  -webkit-text-fill-color: initial;
}
.wea365-document-preview-page p,
.wea365-document-preview-page li,
.wea365-document-preview-page td,
.wea365-document-preview-page th,
.wea365-document-preview-page label,
.wea365-document-preview-page small {
  color: #222 !important;
  -webkit-text-fill-color: initial;
}


/* Report and review action menus are moved to <body> by UIkit. This keeps them
 * outside scrollable table containers and above following rows. */
.wea365-action-dropdown {
  z-index: 100000 !important;
  min-width: 220px;
  width: max-content;
  max-width: calc(100vw - 32px);
  padding: 12px 16px !important;
  border: 1px solid rgba(31, 53, 73, .12);
  border-radius: 2px;
  background: var(--wea365-color-white) !important;
  box-shadow: 0 10px 28px rgba(31, 53, 73, .18);
  color: var(--wea365-color-text) !important;
  color-scheme: light;
}

.wea365-action-dropdown,
.wea365-action-dropdown * {
  box-sizing: border-box;
}

.wea365-action-dropdown .uk-dropdown-nav {
  margin: 0;
  padding: 0;
}

.wea365-action-dropdown .uk-dropdown-nav > li + li {
  margin-top: 2px;
}

.wea365-action-dropdown .uk-dropdown-nav > li > a {
  display: block;
  min-height: 34px;
  padding: 7px 4px !important;
  color: var(--wea365-color-primary-strong) !important;
  font-size: 14px;
  line-height: 1.4 !important;
  text-decoration: none;
  white-space: nowrap;
}

.wea365-action-dropdown .uk-dropdown-nav > li > a:hover,
.wea365-action-dropdown .uk-dropdown-nav > li > a:focus {
  color: #203d58 !important;
  text-decoration: underline;
}


/* Notification filters: the active pill owns an accent background and must
 * therefore keep a high-contrast foreground in every YOOtheme style. */
.wea365-notifications-filter > .uk-active > a,
.wea365-notifications-filter > .uk-active > a:hover,
.wea365-notifications-filter > .uk-active > a:focus {
  color: var(--wea365-color-white) !important;
  -webkit-text-fill-color: var(--wea365-color-white) !important;
}


/* Audit & Control: stable contrast, responsive details and protected previews. */
.wea365-audit-controls .uk-subnav-pill > .uk-active > a,
.wea365-audit-controls .uk-subnav-pill > .uk-active > a:hover,
.wea365-audit-controls .uk-subnav-pill > .uk-active > a:focus,
.wea365-audit-controls .uk-button-primary,
.wea365-audit-controls .uk-button-primary:hover,
.wea365-audit-controls .uk-button-primary:focus,
.wea365-audit-controls .uk-button-primary *,
.wea365-audit-controls .uk-subnav-pill > .uk-active > a * {
  color: var(--wea365-color-white) !important;
  -webkit-text-fill-color: var(--wea365-color-white) !important;
}

.wea365-audit-actions {
  gap: 8px;
}

.wea365-audit-actions .uk-margin-left\@l {
  margin-left: auto;
}

.wea365-audit-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}

.wea365-audit-table th,
.wea365-audit-table td {
  vertical-align: top;
}

.wea365-audit-preview-cell {
  width: 128px;
  min-width: 128px;
}

.wea365-audit-thumbnail {
  display: block;
  width: 112px;
  height: 72px;
  object-fit: cover;
  border-radius: 3px;
  background: #eef2f5;
}

.wea365-audit-file-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 112px;
  height: 72px;
  border: 1px solid var(--wea365-color-border);
  border-radius: 3px;
  background: #f5f7f9;
  color: var(--wea365-color-primary-strong) !important;
  font-weight: 700;
  text-decoration: none;
}

.wea365-audit-break,
.wea365-audit-code,
.wea365-audit-detail-cell {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.wea365-audit-event-cell {
  min-width: 180px;
  max-width: 260px;
}

.wea365-audit-detail-cell {
  min-width: 300px;
  max-width: 520px;
}

.wea365-audit-raw {
  box-sizing: border-box;
  max-width: 100%;
  max-height: 300px;
  margin-bottom: 0;
  padding: 12px;
  overflow-x: hidden;
  overflow-y: auto;
  border: 1px solid var(--wea365-color-border);
  background: #f5f7f9;
  color: var(--wea365-color-text) !important;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media (max-width: 959px) {
  .wea365-audit-actions .uk-margin-left\@l {
    margin-left: 0;
  }
}

/* Maintenance planning: compact controls, calm action panels and clear empty states. */
.wea365-maintenance-tenant-switcher.uk-card-body {
  padding-top: 22px;
  padding-bottom: 22px;
}

.wea365-maintenance-tenant-form {
  gap: 18px 28px;
}

.wea365-maintenance-tenant-form .uk-select {
  width: min(340px, 72vw);
}

.wea365-maintenance-tenant-label strong {
  font-size: 17px;
}

.wea365-maintenance-action-panel {
  box-sizing: border-box;
  height: 100%;
  min-height: 210px;
  padding: 24px;
  border: 1px solid rgba(77, 103, 128, .18);
  border-radius: 3px;
  background: rgba(77, 103, 128, .035);
}

.wea365-maintenance-action-header {
  gap: 18px;
}

.wea365-maintenance-action-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(79, 127, 170, .12);
  color: var(--wea365-color-primary-strong) !important;
}

.wea365-maintenance-nowrap {
  flex: none;
  white-space: nowrap;
}

.wea365-maintenance-empty-inline,
.wea365-maintenance-empty-state {
  display: flex;
  align-items: center;
  gap: 10px;
  box-sizing: border-box;
  border: 1px dashed rgba(77, 103, 128, .24);
  border-radius: 3px;
  background: rgba(77, 103, 128, .035);
}

.wea365-maintenance-empty-inline {
  padding: 14px 16px;
  font-size: 14px;
}

.wea365-maintenance-empty-state {
  min-height: 118px;
  padding: 24px;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

.wea365-maintenance-filter {
  padding: 18px;
  border: 1px solid rgba(77, 103, 128, .16);
  border-radius: 3px;
  background: rgba(77, 103, 128, .025);
}

.wea365-maintenance-filter-actions {
  gap: 8px;
}

/* Maintenance planning: unmistakable, accessible section tabs. */
.wea365-maintenance-tab-nav {
  border-bottom: 1px solid rgba(48, 79, 108, .24);
}

.wea365-maintenance-tabs {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 6px;
  margin-left: 0 !important;
}

.wea365-maintenance-tabs::before {
  display: none;
}

.wea365-maintenance-tabs > li {
  margin: 0;
  padding-left: 0 !important;
}

.wea365-maintenance-tabs > li > a {
  min-height: 46px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 18px;
  border: 1px solid rgba(48, 79, 108, .22);
  border-bottom: 0;
  border-radius: 5px 5px 0 0;
  background: rgba(48, 79, 108, .055);
  color: #244c70 !important;
  font-weight: 600;
  text-decoration: none;
}

.wea365-maintenance-tabs > li > a:hover {
  background: rgba(48, 79, 108, .09);
  color: #173f64 !important;
}

.wea365-maintenance-tabs > li > a:focus-visible {
  outline: 2px solid #2b5aa5;
  outline-offset: 2px;
}

.wea365-maintenance-tabs > .uk-active > a,
.wea365-maintenance-tabs > .uk-active > a:hover,
.wea365-maintenance-tabs > .uk-active > a:focus {
  position: relative;
  margin-bottom: -1px;
  padding-top: 1px;
  border-color: rgba(48, 79, 108, .28);
  border-top: 3px solid #2b5aa5;
  background: var(--wea365-color-white);
  color: #173f64 !important;
}

.wea365-maintenance-tabs > .uk-active > a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 1px;
  background: var(--wea365-color-white);
}

.wea365-maintenance-tabs .uk-badge {
  min-width: 22px;
  height: 22px;
  margin-left: 2px;
  padding: 0 6px;
  border: 1px solid rgba(36, 76, 112, .18);
  background: #dfe8f1 !important;
  color: #244c70 !important;
  font-size: 12px;
  font-weight: 700;
  line-height: 22px;
}

.wea365-maintenance-tabs > .uk-active > a .uk-badge {
  background: #2b5aa5;
  color: var(--wea365-color-white) !important;
}

@media (max-width: 639px) {
  .wea365-maintenance-tenant-form {
    display: block;
  }

  .wea365-maintenance-tenant-form .uk-form-controls,
  .wea365-maintenance-tenant-form .uk-select {
    width: 100%;
  }

  .wea365-maintenance-tenant-form .uk-form-controls {
    margin-top: 12px;
  }

  .wea365-maintenance-action-header.uk-flex {
    display: block;
  }

  .wea365-maintenance-action-header .uk-button {
    margin-top: 18px;
  }

  .wea365-maintenance-filter-actions,
  .wea365-maintenance-filter-actions .uk-button {
    width: 100%;
  }

  .wea365-maintenance-filter-actions .uk-button-default {
    width: auto;
  }
}

/* Maintenance orders and technician dispatch. */
.wea365-maintenance-section-heading {
  gap: 14px;
}

.wea365-maintenance-technician-list {
  overflow: hidden;
  border: 1px solid rgba(127, 127, 127, .28);
  border-radius: 3px;
}

.wea365-maintenance-technician-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 11px 14px;
}

.wea365-maintenance-technician-row + .wea365-maintenance-technician-row {
  border-top: 1px solid rgba(127, 127, 127, .2);
}

.wea365-maintenance-technician-row label {
  margin: 0;
}

.wea365-maintenance-team {
  display: grid;
  gap: 7px;
  min-width: 180px;
}

.wea365-maintenance-team-member {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 8px;
  min-width: 0;
}

.wea365-maintenance-team-name {
  min-width: 0;
  font-weight: 500;
  line-height: 1.35;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: manual;
}

.wea365-maintenance-lead-badge {
  flex: 0 0 auto;
  font-size: 10px;
  line-height: 18px;
  padding: 0 7px;
  white-space: nowrap;
}

.wea365-maintenance-instructions {
  max-width: 320px;
  white-space: normal;
}

@media (max-width: 639px) {
  .wea365-maintenance-technician-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
}

/* Bidirectional maintenance order and dispatch navigation. */
.wea365-maintenance-order-focused {
  background: rgba(30, 135, 240, .08);
  box-shadow: inset 3px 0 0 rgba(30, 135, 240, .72);
}

.wea365-maintenance-actions-column {
  width: 52px;
  min-width: 52px;
  white-space: nowrap;
}

.wea365-maintenance-actions-column .wea365-more-button {
  width: 34px;
  height: 34px;
}

@media (max-width: 959px) {
  .wea365-maintenance-actions-column {
    width: auto;
    min-width: 0;
  }
}

.wea365-dispatch-page-header {
  max-width: 760px;
}

.wea365-dispatch-page-header .uk-h2 {
  font-weight: 650;
  letter-spacing: -.018em;
}

.wea365-dispatch-tenant-switcher {
  max-width: 360px;
}

.wea365-dispatch-tenant-form {
  display: flex;
  align-items: center;
  gap: 10px;
}

.wea365-dispatch-tenant-form .uk-form-label {
  margin: 0;
  white-space: nowrap;
}

.wea365-dispatch-tenant-form .uk-select {
  min-width: 220px;
  border-radius: 7px;
}

@media (max-width: 639px) {
  .wea365-dispatch-tenant-form {
    align-items: stretch;
    flex-direction: column;
    gap: 5px;
  }

  .wea365-dispatch-tenant-form .uk-select {
    width: 100%;
    min-width: 0;
  }
}

/* Technician teams and stable action menus. */
.wea365-employee-team-management {
  padding-bottom: 1rem;
  border-bottom: 1px solid color-mix(in srgb, currentColor 16%, transparent);
}

.wea365-employee-team-summary {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}

.wea365-employee-team-summary .uk-label {
  padding: .25rem .55rem;
  font-size: .75rem;
  line-height: 1.35;
  text-transform: none;
}

.wea365-employee-teams .uk-offcanvas-bar {
  width: min(460px, 92vw);
}

.wea365-action-dropdown .wea365-dropdown-action {
  display: block;
  min-height: 34px;
  width: 100%;
  padding: 7px 4px !important;
  color: var(--wea365-color-primary-strong) !important;
  font-size: 14px;
  line-height: 1.4 !important;
  text-align: left;
  text-decoration: none;
  text-transform: none;
  white-space: nowrap;
}

.wea365-action-dropdown .wea365-dropdown-action:hover,
.wea365-action-dropdown .wea365-dropdown-action:focus {
  color: #203d58 !important;
  text-decoration: underline;
}

/* WEA365 0.9.20: shared responsive and visual harmony rules. */
.wea365-app,
.wea365-ui {
  --wea365-control-min-height: 44px;
  --wea365-card-border: rgba(127, 127, 127, .24);
  --wea365-card-radius: 4px;
}

.wea365-app h1,
.wea365-app h2,
.wea365-app h3,
.wea365-app h4,
.wea365-app .uk-h1,
.wea365-app .uk-h2,
.wea365-app .uk-h3,
.wea365-app .uk-h4,
.wea365-ui h1,
.wea365-ui h2,
.wea365-ui h3,
.wea365-ui h4,
.wea365-ui .uk-h1,
.wea365-ui .uk-h2,
.wea365-ui .uk-h3,
.wea365-ui .uk-h4 {
  max-width: 100%;
  min-width: 0;
  overflow-wrap: anywhere;
  hyphens: auto;
}

.wea365-app .uk-button,
.wea365-ui .uk-button {
  box-sizing: border-box;
  min-height: var(--wea365-control-min-height) !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-top: 8px;
  padding-bottom: 8px;
  line-height: 1.25 !important;
  text-align: center;
  white-space: normal;
}

.wea365-app .uk-icon-button,
.wea365-ui .uk-icon-button,
.wea365-app .wea365-more-button,
.wea365-ui .wea365-more-button {
  box-sizing: border-box;
  width: var(--wea365-control-min-height) !important;
  min-width: var(--wea365-control-min-height) !important;
  height: var(--wea365-control-min-height) !important;
  min-height: var(--wea365-control-min-height) !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
}

.wea365-app .wea365-action-dropdown .uk-dropdown-nav > li > a,
.wea365-ui .wea365-action-dropdown .uk-dropdown-nav > li > a,
.wea365-app .wea365-action-dropdown .wea365-dropdown-action,
.wea365-ui .wea365-action-dropdown .wea365-dropdown-action {
  min-height: var(--wea365-control-min-height);
  display: flex;
  align-items: center;
  padding-top: 9px !important;
  padding-bottom: 9px !important;
  white-space: normal;
}

.wea365-responsive-table-wrap {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  overflow: visible;
}

.wea365-filter-actions {
  gap: 10px;
  min-width: 0;
}

.wea365-filter-actions > .uk-button {
  min-width: 0;
}

.wea365-turbine-card {
  position: relative;
  min-width: 0;
  padding-right: 64px !important;
}

.wea365-turbine-card-header {
  min-width: 0;
}

.wea365-turbine-card-header > div:first-child,
.wea365-turbine-card-header > div:first-child > div:last-child {
  min-width: 0;
}

.wea365-turbine-card-header h3,
.wea365-turbine-card-header a,
.wea365-turbine-card p {
  overflow-wrap: anywhere;
}

.wea365-turbine-card-actions {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
}

.wea365-audit-summary-grid > div {
  min-width: 0;
}

.wea365-audit-summary-grid .uk-text-meta {
  display: block;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.wea365-audit-controls .uk-subnav {
  gap: 8px;
}

.wea365-audit-controls .uk-subnav > * {
  padding-left: 0;
}

.wea365-maintenance-tabs > * > a {
  min-height: var(--wea365-control-min-height);
  box-sizing: border-box;
}

@media (max-width: 639px) {
  .wea365-app .uk-h1,
  .wea365-ui .uk-h1 {
    font-size: clamp(1.75rem, 9vw, 2.35rem);
    line-height: 1.08;
  }

  .wea365-filter-actions {
    width: 100%;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wea365-filter-actions .uk-button {
    width: 100%;
    min-width: 0;
    padding-right: 10px;
    padding-left: 10px;
  }

  .wea365-responsive-table-wrap {
    width: 100%;
    overflow: visible !important;
  }

  table.wea365-responsive-table,
  table.wea365-responsive-table tbody {
    display: block;
    width: 100%;
    min-width: 0 !important;
    max-width: 100%;
  }

  table.wea365-responsive-table thead {
    display: none;
  }

  table.wea365-responsive-table tbody {
    display: grid;
    gap: 12px;
  }

  table.wea365-responsive-table tr {
    position: relative;
    display: block;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    padding: 15px 58px 15px 15px;
    border: 1px solid var(--wea365-card-border) !important;
    border-radius: var(--wea365-card-radius);
    background: transparent;
  }

  table.wea365-responsive-table td,
  table.wea365-responsive-table th {
    display: block;
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 6px 0 !important;
    border: 0 !important;
    color: inherit;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }

  table.wea365-responsive-table td[data-label]::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 2px;
    font-size: .7rem;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: .035em;
    text-transform: uppercase;
    opacity: .64;
  }

  table.wea365-responsive-table td.wea365-card-primary {
    padding-top: 0 !important;
  }

  table.wea365-responsive-table td.wea365-table-actions {
    position: absolute;
    top: 8px;
    right: 7px;
    width: var(--wea365-control-min-height) !important;
    padding: 0 !important;
  }

  table.wea365-responsive-table td.wea365-card-actions {
    padding-top: 10px !important;
  }

  table.wea365-responsive-table td.wea365-card-actions .uk-button,
  table.wea365-responsive-table td.wea365-card-actions form,
  table.wea365-responsive-table td.wea365-card-actions form .uk-button {
    width: 100%;
  }

  table.wea365-responsive-table .uk-text-nowrap {
    white-space: normal !important;
  }

  .wea365-reviews-table td.wea365-card-actions .uk-flex {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px !important;
  }

  .wea365-reviews-table td.wea365-card-actions .uk-button,
  .wea365-reviews-table td.wea365-card-actions form {
    width: 100%;
  }

  .wea365-documents-table tr {
    padding-right: 58px;
  }

  .wea365-audit-table {
    min-width: 0 !important;
  }

  .wea365-audit-preview-cell,
  .wea365-audit-event-cell,
  .wea365-audit-detail-cell {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  .wea365-audit-thumbnail,
  .wea365-audit-file-placeholder {
    width: min(112px, 100%);
  }

  .wea365-audit-summary-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 18px;
    margin-left: 0 !important;
  }

  .wea365-audit-summary-grid > div {
    width: auto !important;
    padding-left: 0 !important;
  }

  .wea365-audit-controls .uk-subnav {
    display: grid;
    grid-template-columns: 1fr;
    margin-left: 0;
  }

  .wea365-audit-controls .uk-subnav > li,
  .wea365-audit-controls .uk-subnav > li > a {
    width: 100%;
    box-sizing: border-box;
  }

  .wea365-audit-controls .uk-subnav > li > a {
    min-height: var(--wea365-control-min-height);
    display: flex;
    align-items: center;
  }

  .wea365-audit-actions {
    display: grid !important;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .wea365-audit-actions .uk-button {
    width: 100%;
    margin-left: 0 !important;
  }

  .wea365-maintenance-tab-nav {
    border-bottom: 0;
  }

  .wea365-maintenance-tabs {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 6px;
    margin-left: 0 !important;
    overflow: visible !important;
  }

  .wea365-maintenance-tabs::before {
    display: none;
  }

  .wea365-maintenance-tabs > li {
    width: 100%;
    padding-left: 0 !important;
  }

  .wea365-maintenance-tabs > li > a {
    width: 100%;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid rgba(48, 79, 108, .22);
    border-radius: 4px;
    white-space: normal;
    text-align: left;
  }

  .wea365-maintenance-tabs > .uk-active > a,
  .wea365-maintenance-tabs > .uk-active > a:hover,
  .wea365-maintenance-tabs > .uk-active > a:focus {
    margin-bottom: 0;
    padding-top: 10px;
    border: 1px solid rgba(48, 79, 108, .28);
    border-left: 4px solid #2b5aa5;
    background: var(--wea365-color-white);
  }

  .wea365-maintenance-tabs > .uk-active > a::after {
    display: none;
  }

  .wea365-turbine-card {
    padding-right: 58px !important;
  }

  .wea365-turbine-card .wea365-turbine-title-cell,
  .wea365-turbine-card-header > div:first-child {
    align-items: flex-start;
  }

  .wea365-document-preview-shell {
    width: 100% !important;
    margin: 0 !important;
    padding: 8px !important;
    overflow: hidden !important;
    border-radius: 4px !important;
  }

  .wea365-document-preview-page {
    width: 100% !important;
    min-width: 0 !important;
    font-size: clamp(4.6px, 1.72vw, 7px) !important;
  }
}

@media (max-width: 380px) {
  .wea365-filter-actions {
    grid-template-columns: 1fr;
  }

  .wea365-audit-summary-grid {
    grid-template-columns: 1fr;
  }
}

.wea365-turbine-card-data {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}

.wea365-turbine-card-data > div {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.wea365-card-field-label {
  display: block;
  font-size: .7rem;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: .035em;
  text-transform: uppercase;
  opacity: .64;
}

.wea365-turbine-card-data strong,
.wea365-turbine-card-data span {
  overflow-wrap: anywhere;
}

.wea365-turbine-card-status {
  margin-top: 16px;
}
@media (max-width: 639px) {
  .wea365-app .wea365-maintenance-tabs > li > a,
  .wea365-ui .wea365-maintenance-tabs > li > a {
    white-space: normal !important;
  }
}

/* WEA365 0.9.20: final consistency refinements. */
.wea365-app .uk-button[uk-icon]:empty,
.wea365-ui .uk-button[uk-icon]:empty {
  box-sizing: border-box;
  width: var(--wea365-control-min-height);
  min-width: var(--wea365-control-min-height);
  padding-right: 0 !important;
  padding-left: 0 !important;
}

@media (max-width: 639px) {
  table.wea365-responsive-table.wea365-no-row-actions tr {
    padding-right: 15px;
  }

  table.wea365-responsive-table td.wea365-card-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  table.wea365-responsive-table td.wea365-card-actions > *,
  table.wea365-responsive-table td.wea365-card-actions form,
  table.wea365-responsive-table td.wea365-card-actions .uk-button {
    box-sizing: border-box;
    width: 100%;
    margin: 0 !important;
  }

  .wea365-maintenance-section-heading {
    align-items: stretch !important;
    gap: 12px;
  }

  .wea365-maintenance-section-heading > * {
    width: 100%;
    min-width: 0;
  }

  .wea365-maintenance-section-heading > .uk-button {
    width: 100%;
  }

  .wea365-audit-list .uk-flex.uk-flex-between.uk-flex-middle.uk-margin-medium-top {
    flex-wrap: wrap;
    gap: 10px;
  }
}

/* WEA365 0.9.23: native YOOtheme/UIkit sidepanels and responsive corrections. */
.wea365-app,
.wea365-ui,
.wea365-app *,
.wea365-ui * {
  box-sizing: border-box;
}

.wea365-app,
.wea365-ui,
.wea365-app > *,
.wea365-ui > * {
  min-width: 0;
  max-width: 100%;
}

.wea365-app,
.wea365-ui {
  overflow-x: clip;
}

.wea365-app table,
.wea365-ui table {
  width: 100%;
  table-layout: fixed;
}

.wea365-app th,
.wea365-app td,
.wea365-ui th,
.wea365-ui td {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: normal;
}

.wea365-app h1,
.wea365-app h2,
.wea365-app h3,
.wea365-app .uk-h1,
.wea365-app .uk-h2,
.wea365-app .uk-h3,
.wea365-ui h1,
.wea365-ui h2,
.wea365-ui h3,
.wea365-ui .uk-h1,
.wea365-ui .uk-h2,
.wea365-ui .uk-h3 {
  max-width: 100%;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: manual;
}

/* Frontend dialogs use the same native YOOtheme/UIkit offcanvas pattern as team management.
   UIkit owns positioning, overlay and animation; WEA365 only defines responsive content width. */
.wea365-offcanvas .uk-offcanvas-bar {
  box-sizing: border-box;
  width: min(720px, 92vw);
  max-width: 100vw;
  overflow-x: hidden;
  overflow-y: auto;
}

.wea365-offcanvas--wide .uk-offcanvas-bar {
  width: min(920px, 94vw);
}

.wea365-offcanvas.wea365-employee-teams .uk-offcanvas-bar,
.wea365-offcanvas--confirm .uk-offcanvas-bar {
  width: min(520px, 92vw);
}

/* WEA365 0.9.260: one definitive width for every dispatch sidepanel. */
.wea365-offcanvas.wea365-dispatch-create .uk-offcanvas-bar,
.wea365-offcanvas.wea365-dispatch-detail .uk-offcanvas-bar,
.wea365-offcanvas.wea365-dispatch-teams .uk-offcanvas-bar,
.wea365-offcanvas.wea365-dispatch-entry-panel .uk-offcanvas-bar,
.wea365-offcanvas.wea365-dispatch-save-view .uk-offcanvas-bar {
  width: min(600px, 92vw);
}

.wea365-offcanvas .uk-input,
.wea365-offcanvas .uk-select,
.wea365-offcanvas .uk-textarea,
.wea365-offcanvas .uk-form-label {
  max-width: 100%;
}

.wea365-sidepanel-title {
  margin: 0 44px 26px 0;
  font-size: clamp(1.55rem, 3vw, 2.15rem);
  line-height: 1.15;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: manual;
}

.wea365-sidepanel-content {
  min-width: 0;
  max-width: 100%;
}

.wea365-sidepanel-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid rgba(127,127,127,.22);
}


.wea365-offcanvas .uk-grid > *,
.wea365-offcanvas form > *,
.wea365-offcanvas fieldset,
.wea365-offcanvas .uk-width-1-2\@m,
.wea365-offcanvas .uk-width-1-3\@m,
.wea365-offcanvas .uk-width-1-4\@m,
.wea365-offcanvas .uk-width-2-3\@m,
.wea365-offcanvas .uk-width-3-4\@m {
  min-width: 0;
  max-width: 100%;
}


.wea365-category-editor {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

/* Cards and actions use one predictable hierarchy. */
.wea365-turbine-card,
.wea365-mobile-card,
.wea365-responsive-card {
  position: relative;
  min-width: 0;
}

.wea365-turbine-card-header {
  gap: 14px;
}

.wea365-turbine-card-actions,
.wea365-card-actions,
.wea365-document-card-actions {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
}

.wea365-turbine-title-cell {
  min-width: 0;
  max-width: calc(100% - 50px);
}

.wea365-turbine-title-cell > div:last-child,
.wea365-turbine-title-cell a,
.wea365-turbine-title-cell h3 {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

/* Document/PDF preview scales into its container. */
.wea365-document-preview,
.wea365-document-preview-wrap,
.wea365-document-preview-page {
  max-width: 100%;
}

.wea365-document-preview-wrap {
  overflow: hidden !important;
}

.wea365-document-preview-page {
  width: min(100%, 794px) !important;
  margin-inline: auto;
  transform-origin: top center;
}

/* Mobile tabs become a clear stacked navigation instead of disappearing right. */
@media (max-width: 639px) {
  .wea365-app .uk-tab,
  .wea365-ui .uk-tab {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
    margin-left: 0;
    overflow: visible;
  }

  .wea365-app .uk-tab::before,
  .wea365-ui .uk-tab::before {
    display: none;
  }

  .wea365-app .uk-tab > *,
  .wea365-ui .uk-tab > * {
    width: 100%;
    padding-left: 0;
  }

  .wea365-app .uk-tab > * > a,
  .wea365-ui .uk-tab > * > a {
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid rgba(127,127,127,.2);
    border-radius: 4px;
    white-space: normal;
    text-align: left;
  }

  .wea365-app .uk-tab > .uk-active > a,
  .wea365-ui .uk-tab > .uk-active > a {
    border-color: currentColor;
  }

  .wea365-offcanvas .uk-offcanvas-bar,
  .wea365-offcanvas.wea365-dispatch-create .uk-offcanvas-bar,
  .wea365-offcanvas.wea365-dispatch-detail .uk-offcanvas-bar,
  .wea365-offcanvas.wea365-dispatch-teams .uk-offcanvas-bar,
  .wea365-offcanvas.wea365-dispatch-entry-panel .uk-offcanvas-bar,
  .wea365-offcanvas.wea365-dispatch-save-view .uk-offcanvas-bar {
    width: 100vw;
    max-width: 100vw;
  }

  .wea365-sidepanel-actions {
    flex-direction: column-reverse;
  }

  .wea365-sidepanel-actions .uk-button,
  .wea365-sidepanel-actions form {
    width: 100%;
  }

  .wea365-app .uk-h1,
  .wea365-ui .uk-h1 {
    font-size: clamp(1.85rem, 10vw, 2.6rem);
    line-height: 1.06;
  }

  .wea365-turbine-card {
    padding-top: 58px !important;
  }

  .wea365-turbine-card-header,
  .wea365-turbine-title-cell {
    display: block !important;
    max-width: 100%;
  }

  .wea365-turbine-thumb {
    width: 100% !important;
    height: 150px !important;
    margin: 0 0 14px !important;
    border-radius: 4px;
  }

  .wea365-app .uk-button,
  .wea365-ui .uk-button {
    max-width: 100%;
    white-space: normal;
  }

  .wea365-app table,
  .wea365-ui table {
    table-layout: auto;
  }
}

/* 0.9.23: natural headings and card titles without letter-by-letter breaking. */
.wea365-turbine-title-cell > div:last-child {
  min-width: 0;
  width: 100%;
}

.wea365-turbine-title-cell a,
.wea365-turbine-title-cell h3,
.wea365-turbine-card-header a,
.wea365-turbine-card-header h3 {
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: manual;
}

.wea365-maintenance-heading {
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: manual !important;
}

/* 0.9.23: tables never create a horizontal page or container scrollbar. */
.wea365-fluid-table-wrap,
.wea365-responsive-table-wrap {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  overflow: visible;
}

.wea365-fluid-table-wrap table,
.wea365-responsive-table-wrap table {
  width: 100%;
  max-width: 100%;
}

.wea365-fluid-table-wrap table {
  table-layout: fixed;
}

.wea365-fluid-table-wrap th,
.wea365-fluid-table-wrap td,
.wea365-responsive-table-wrap th,
.wea365-responsive-table-wrap td {
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
}

.wea365-fluid-table-wrap .uk-table-shrink,
.wea365-responsive-table-wrap .uk-table-shrink,
.wea365-fluid-table-wrap .wea365-table-actions,
.wea365-responsive-table-wrap .wea365-table-actions {
  width: 56px;
}

.wea365-audit-log-scroll {
  max-width: 100%;
  overflow-x: hidden;
  overflow-y: auto;
}

/* 0.9.24: disabled actions must be unmistakable and work-report completion stays in one flow. */
.wea365-app .uk-button:disabled,
.wea365-app .uk-button[aria-disabled="true"],
.wea365-ui .uk-button:disabled,
.wea365-ui .uk-button[aria-disabled="true"],
.wea365-offcanvas .uk-button:disabled,
.wea365-offcanvas .uk-button[aria-disabled="true"] {
  opacity: .38 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
  filter: grayscale(1);
}

.wea365-workreport-completion {
  padding-top: 24px;
  border-top: 1px solid rgba(127,127,127,.2);
}

.wea365-workreport-actions {
  gap: 10px;
}

.wea365-workreport-actions .uk-button {
  min-width: 190px;
}

@media (max-width: 639px) {
  .wea365-workreport-actions,
  .wea365-workreport-actions .uk-button {
    width: 100%;
  }

  .wea365-workreport-actions {
    align-items: stretch;
  }
}

/* WEA365 0.9.27: clear list hierarchy and full-width disposition. */

/* Generic table action cells must remain in the table flow. Only real card menus are positioned. */
table.wea365-responsive-table td.wea365-card-actions,
table.wea365-responsive-table th.wea365-card-actions {
  position: static !important;
  inset: auto !important;
}

/* Review queue: one readable work item per card, with the action at the end of the flow. */
.wea365-review-list {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.wea365-review-card {
  display: grid;
  gap: 18px;
  min-width: 0;
  padding: 20px;
  border: 1px solid rgba(127, 127, 127, .2);
  border-radius: 6px;
  background: color-mix(in srgb, var(--uk-global-background, var(--wea365-color-white)) 97%, currentColor 3%);
}

.wea365-review-card-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, auto);
  gap: 22px;
  align-items: start;
  min-width: 0;
}

.wea365-review-card-identity,
.wea365-review-card-status,
.wea365-review-card-data > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.wea365-review-card-number {
  font-size: 1.12rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.wea365-review-card-status {
  justify-items: end;
  text-align: right;
}

.wea365-review-card-data {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px 28px;
  min-width: 0;
  padding-top: 16px;
  border-top: 1px solid rgba(127, 127, 127, .16);
}

.wea365-review-card-data strong,
.wea365-review-card-data span {
  overflow-wrap: anywhere;
}

.wea365-review-card-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  min-width: 0;
  padding-top: 16px;
  border-top: 1px solid rgba(127, 127, 127, .16);
}

.wea365-review-card-actions form {
  margin: 0;
}

/* Document list: readable cards instead of a seven-column squeeze. */
.wea365-document-list {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.wea365-document-card {
  position: relative;
  display: grid;
  gap: 17px;
  min-width: 0;
  padding: 20px;
  border: 1px solid rgba(127, 127, 127, .2);
  border-radius: 6px;
  background: color-mix(in srgb, var(--uk-global-background, var(--wea365-color-white)) 97%, currentColor 3%);
}

.wea365-document-card.is-archived {
  opacity: .86;
}

.wea365-document-card-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px;
  gap: 16px;
  align-items: start;
  min-width: 0;
}

.wea365-document-card-title {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  min-width: 0;
}

.wea365-document-card-title > div {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.wea365-document-card-title strong {
  font-size: 1.04rem;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.wea365-document-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(127, 127, 127, .1);
}

.wea365-document-card-actions {
  position: static !important;
  justify-self: end;
}

.wea365-document-card-data {
  display: grid;
  grid-template-columns: minmax(180px, 1.35fr) minmax(150px, 1fr) minmax(70px, .45fr) minmax(150px, 1fr) minmax(150px, 1fr);
  gap: 18px 24px;
  min-width: 0;
  padding-top: 16px;
  border-top: 1px solid rgba(127, 127, 127, .16);
}

.wea365-document-card-data > div,
.wea365-document-card-visibility {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.wea365-document-card-data strong,
.wea365-document-card-data span {
  overflow-wrap: anywhere;
}

.wea365-document-card-state {
  padding-top: 2px;
}

@media (max-width: 1199px) {
  .wea365-document-card-data {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .wea365-review-card,
  .wea365-document-card,
  .wea365-turbine-card {
    padding: 16px !important;
  }

  .wea365-review-card-header {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .wea365-review-card-status {
    justify-items: start;
    text-align: left;
  }

  .wea365-review-card-data,
  .wea365-document-card-data,
  .wea365-turbine-card-data {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .wea365-review-card-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .wea365-review-card-actions form,
  .wea365-review-card-actions .uk-button {
    box-sizing: border-box;
    width: 100%;
  }

  .wea365-document-card-header {
    grid-template-columns: minmax(0, 1fr) 44px;
  }

  .wea365-document-card-title {
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 10px;
  }

  .wea365-document-card-icon {
    width: 32px;
    height: 32px;
  }

  .wea365-turbine-card-header {
    display: grid !important;
    grid-template-columns: 86px minmax(0, 1fr) 44px;
    gap: 12px;
  }

  .wea365-turbine-card .wea365-turbine-thumb {
    width: 86px !important;
    height: 66px !important;
    margin: 0 !important;
  }

  .wea365-turbine-card-link {
    width: 100%;
    min-height: 44px;
    justify-content: center;
    border: 1px solid rgba(127, 127, 127, .24);
  }
}

@media (max-width: 420px) {
  .wea365-turbine-card-header {
    grid-template-columns: 72px minmax(0, 1fr) 44px;
  }

  .wea365-turbine-card .wea365-turbine-thumb {
    width: 72px !important;
    height: 58px !important;
  }
}
.wea365-document-card-manage {
  min-width: 0;
  padding-top: 14px;
  border-top: 1px solid rgba(127, 127, 127, .16);
}
.wea365-document-card-manage > details > summary {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
}

/* 0.9.33 maintenance order overview: calm cards instead of compressed multi-column tables. */
.wea365-maintenance-order-list {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}
.wea365-maintenance-order-card {
  min-width: 0;
  overflow: visible;
  border: 1px solid rgba(127,127,127,.2);
  border-radius: 8px;
  background: var(--uk-global-background, var(--wea365-color-white));
  box-shadow: 0 3px 14px rgba(0,0,0,.035);
}
.wea365-maintenance-order-card-header {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 18px;
  align-items: start;
  padding: 17px 18px 14px;
  border-bottom: 1px solid rgba(127,127,127,.15);
}
.wea365-maintenance-order-card-title {
  min-width: 0;
}
.wea365-maintenance-order-card-title h4 {
  margin: 3px 0 2px;
  font-size: 1.08rem;
  line-height: 1.2;
  overflow-wrap: anywhere;
}
.wea365-maintenance-order-card-title p {
  margin: 0;
  color: var(--uk-text-muted-color, #777);
  line-height: 1.35;
}
.wea365-maintenance-order-card-state {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}
.wea365-maintenance-order-menu {
  position: relative;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  margin-left: 2px;
}
.wea365-maintenance-order-menu .wea365-more-button {
  width: 44px;
  height: 44px;
}
.wea365-maintenance-order-card-data {
  display: grid;
  grid-template-columns: 1.05fr 1fr 1.15fr .85fr;
  gap: 18px 24px;
  padding: 16px 18px 18px;
}
.wea365-maintenance-order-card-field {
  display: grid;
  align-content: start;
  min-width: 0;
  gap: 3px;
}
.wea365-maintenance-order-card-field strong,
.wea365-maintenance-order-card-field span,
.wea365-maintenance-order-card-notes p {
  overflow-wrap: anywhere;
  word-break: normal;
}
.wea365-maintenance-order-card-field > span:not(.wea365-maintenance-order-card-label) {
  color: var(--uk-text-muted-color, #777);
  line-height: 1.35;
}
.wea365-maintenance-order-card-label {
  display: block;
  margin-bottom: 2px;
  color: var(--uk-text-muted-color, #777);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .035em;
  line-height: 1.25;
  text-transform: uppercase;
}
.wea365-maintenance-order-card-notes {
  padding: 0 18px 18px;
}
.wea365-maintenance-order-card-notes p {
  margin: 5px 0 0;
  white-space: pre-line;
}
.wea365-maintenance-order-card.wea365-maintenance-order-focused {
  background: rgba(30,135,240,.055);
  box-shadow: inset 3px 0 0 rgba(30,135,240,.72), 0 3px 14px rgba(0,0,0,.035);
}
.wea365-maintenance-order-card .wea365-maintenance-team {
  min-width: 0;
}
.wea365-dispatch-detail-color {
  margin: 20px 0 0;
  padding-top: 18px;
  border-top: 1px solid rgba(127,127,127,.24);
}
@media (max-width: 1099px) {
  .wea365-maintenance-order-card-data {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 639px) {
  .wea365-maintenance-order-card-header {
    grid-template-columns: minmax(0,1fr) 44px;
    gap: 12px;
    padding: 16px;
  }
  .wea365-maintenance-order-card-state {
    display: contents;
  }
  .wea365-maintenance-order-card-state > .uk-label {
    grid-column: 1;
    justify-self: start;
  }
  .wea365-maintenance-order-menu {
    grid-column: 2;
    grid-row: 1 / span 3;
    align-self: start;
    margin: 0;
  }
  .wea365-maintenance-order-card-data {
    grid-template-columns: 1fr;
    gap: 15px;
    padding: 15px 16px 17px;
  }
  .wea365-maintenance-order-card-notes {
    padding: 0 16px 17px;
  }
}
.wea365-dispatch-color-picker { display:flex; flex-wrap:wrap; gap:8px; margin-top:7px; }
.wea365-dispatch-color-option { display:inline-flex; align-items:center; gap:7px; min-height:38px; padding:6px 9px; border:1px solid rgba(127,127,127,.25); border-radius:7px; cursor:pointer; }
.wea365-dispatch-color-option:has(input:checked) { border-color:rgba(30,135,240,.7); box-shadow:0 0 0 2px rgba(30,135,240,.12); }
.wea365-dispatch-color-swatch { width:18px; height:18px; flex:0 0 18px; border:1px solid rgba(0,0,0,.12); border-radius:50%; background:#6f7b86; }
.wea365-dispatch-color-option input { margin:0; }
@media (max-width:639px) { .wea365-dispatch-color-option { flex:1 1 calc(50% - 8px); } }


/* 0.9.35 compact colour-vision-aware dispatch palette and readable UIkit notifications */
.wea365-dispatch-color-picker { display:grid; grid-template-columns:repeat(auto-fit,minmax(132px,1fr)); gap:8px; margin-top:7px; }
.wea365-dispatch-color-swatch { width:24px; height:24px; flex:0 0 24px; border:1px solid rgba(0,0,0,.16); border-radius:50%; }
.wea365-dispatch-color-swatch.is-auto { background:conic-gradient(#2B88C8,#CE5862,#5C252B,#1F4293,#9B8026,#1F9091,#1F3E59,#7F4926,#2B88C8); }
.wea365-dispatch-color-swatch.is-slate { background:#1F3E59; }
.wea365-dispatch-color-swatch.is-navy { background:#1F3E59; }
.wea365-dispatch-color-swatch.is-blue { background:#1F4293; }
.wea365-dispatch-color-swatch.is-sky { background:#2B88C8; }
.wea365-dispatch-color-swatch.is-teal { background:#1F9091; }
.wea365-dispatch-color-swatch.is-emerald { background:#1F9091; }
.wea365-dispatch-color-swatch.is-sage { background:#9B8026; }
.wea365-dispatch-color-swatch.is-olive { background:#9B8026; }
.wea365-dispatch-color-swatch.is-ochre { background:#9B8026; }
.wea365-dispatch-color-swatch.is-sand { background:#7F4926; }
.wea365-dispatch-color-swatch.is-copper { background:#7F4926; }
.wea365-dispatch-color-swatch.is-terracotta { background:#CE5862; }
.wea365-dispatch-color-swatch.is-brick { background:#5C252B; }
.wea365-dispatch-color-swatch.is-rose { background:#CE5862; }
.wea365-dispatch-color-swatch.is-plum { background:#5C252B; }
.wea365-dispatch-color-swatch.is-violet { background:#1F4293; }

.uk-notification-message { border:1px solid var(--wea365-color-border) !important; border-left:5px solid #315f9a !important; background:var(--wea365-color-white) !important; color:#1f2933 !important; box-shadow:0 12px 32px rgba(15,23,42,.18) !important; }
.uk-notification-message-success { border-left-color:#2f855a !important; }
.uk-notification-message-warning { border-left-color:#b7791f !important; }
.uk-notification-message-danger { border-left-color:#c53030 !important; }
.uk-notification-message .uk-close { color:#52606d !important; }

/* 0.8.4 / package 0.9.35: mobile maintenance setup and assignments turbine overview. */
.wea365-maintenance-setup-title {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: manual;
}

.wea365-maintenance-type-row {
  min-width: 0;
  gap: 12px;
}

.wea365-maintenance-type-copy {
  min-width: 0;
}

.wea365-assignment-turbine {
  min-width: 0;
}

.wea365-assignment-turbine-header {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  min-width: 0;
}

.wea365-assignment-turbine-thumb {
  display: flex;
  width: 112px;
  height: 78px;
  min-width: 0;
  overflow: hidden;
  border-radius: 4px;
  background: rgba(0, 0, 0, .035);
}

.wea365-assignment-turbine-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wea365-assignment-turbine-title {
  min-width: 0;
}

.wea365-assignment-turbine-title h3,
.wea365-assignment-turbine-title a {
  max-width: 100%;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: manual;
}

.wea365-assignment-turbine-data {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px 22px;
  margin: 20px 0 0;
}

.wea365-assignment-turbine-data > div {
  min-width: 0;
}

.wea365-assignment-turbine-data dt {
  margin: 0 0 3px;
  color: rgba(60, 70, 80, .58);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .045em;
  line-height: 1.25;
  text-transform: uppercase;
}

.wea365-assignment-turbine-data dd {
  margin: 0;
  overflow-wrap: break-word;
  word-break: normal;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
}

.wea365-assignment-turbine-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 20px;
}

@media (max-width: 639px) {
  .wea365-maintenance-setup-title {
    margin-bottom: 26px !important;
    font-size: clamp(1.65rem, 7.5vw, 2rem);
    line-height: 1.16;
  }

  .wea365-maintenance-setup-grid {
    margin-left: 0;
  }

  .wea365-maintenance-setup-grid > * {
    padding-left: 0;
  }

  .wea365-maintenance-action-panel {
    min-height: 0;
    padding: 20px;
  }

  .wea365-maintenance-action-header.uk-flex {
    display: grid;
    gap: 16px;
  }

  .wea365-maintenance-action-header .uk-button {
    width: 100%;
    margin-top: 0;
  }

  .wea365-maintenance-type-row.uk-flex {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  .wea365-maintenance-type-row .uk-label {
    justify-self: start;
  }

  .wea365-assignment-turbine-header {
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 14px;
  }

  .wea365-assignment-turbine-thumb {
    width: 92px !important;
    height: 72px !important;
    margin: 0 !important;
    flex: none !important;
  }

  .wea365-assignment-turbine-title h3 {
    margin-top: 0;
    font-size: 1.12rem;
    line-height: 1.2;
  }

  .wea365-assignment-turbine-data {
    grid-template-columns: 1fr;
    gap: 13px;
    margin-top: 18px;
  }

  .wea365-assignment-turbine-actions {
    align-items: stretch;
    flex-direction: column;
    margin-top: 20px;
  }

  .wea365-assignment-turbine-actions .uk-button {
    width: 100%;
  }
}

/* 0.8.5 / package 0.9.36: consistent contact forms and card action menus. */
.wea365-contact-section-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  margin-bottom: 12px;
}
.wea365-contact-section-header .uk-h4 {
  min-width: 0;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.wea365-contact-row .uk-flex-middle > label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  line-height: 1.35;
}
.wea365-contact-row .uk-checkbox {
  box-sizing: border-box;
  width: 20px !important;
  min-width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  border: 2px solid #647484 !important;
  border-radius: 3px !important;
  background-color: var(--wea365-color-white) !important;
  opacity: 1 !important;
}
.wea365-contact-row .uk-checkbox:checked,
.wea365-contact-row .uk-checkbox:indeterminate {
  border-color: var(--uk-global-primary-background, #2b5aa5) !important;
  background-color: var(--uk-global-primary-background, #2b5aa5) !important;
}
.wea365-sidepanel-actions:has(> .uk-button:only-child) {
  justify-content: flex-end;
}

.wea365-action-menu {
  position: relative !important;
  inset: auto !important;
  display: inline-flex;
  align-items: flex-start;
  justify-content: flex-end;
  width: var(--wea365-control-min-height, 44px);
  min-width: var(--wea365-control-min-height, 44px);
  height: var(--wea365-control-min-height, 44px);
  flex: 0 0 var(--wea365-control-min-height, 44px);
  align-self: start;
  justify-self: end;
  z-index: 3;
}
.wea365-action-menu > .wea365-more-button,
.wea365-action-menu > .uk-icon-button {
  position: static !important;
  inset: auto !important;
  margin: 0 !important;
}
.wea365-person-card {
  min-width: 0;
}
.wea365-person-card-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--wea365-control-min-height, 44px);
  gap: 14px;
  align-items: start;
  min-width: 0;
}
.wea365-person-card-header > :first-child {
  min-width: 0;
}
.wea365-person-card-header h3,
.wea365-person-card-header .uk-text-meta {
  max-width: 100%;
  overflow-wrap: anywhere;
}
.wea365-document-card-header > .wea365-document-card-actions.wea365-action-menu {
  position: relative !important;
  inset: auto !important;
  grid-column: 2;
  grid-row: 1;
}
.wea365-document-card-title,
.wea365-document-card-title > div,
.wea365-document-card-title .uk-text-meta {
  min-width: 0;
  max-width: 100%;
}
.wea365-document-card-title .uk-text-meta {
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media (max-width: 639px) {
  .wea365-contact-section-header {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .wea365-contact-section-header [data-wea365-contact-add] {
    width: 100%;
  }
  .wea365-contact-row .uk-flex-middle {
    min-height: 44px;
  }
  .wea365-person-card-header {
    gap: 10px;
  }
}

/* 0.8.5 / package 0.9.36: readable mobile dispatch controls. */
@media (max-width: 639px) {
  .wea365-dispatch-week-picker {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100% !important;
  }
  .wea365-dispatch-week-picker input[type=week],
  .wea365-dispatch-week-picker select,
  .wea365-dispatch-filter-form select,
  .wea365-dispatch-search,
  .wea365-dispatch-search .uk-input {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* One shared visual treatment for every three-dot action trigger. */
.wea365-app .wea365-more-button,
.wea365-ui .wea365-more-button {
  border: 1px solid rgba(100, 116, 132, .55) !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: inherit !important;
  box-shadow: none !important;
}
.wea365-app .wea365-more-button:hover,
.wea365-app .wea365-more-button:focus-visible,
.wea365-ui .wea365-more-button:hover,
.wea365-ui .wea365-more-button:focus-visible {
  border-color: currentColor !important;
  background: rgba(127, 127, 127, .1) !important;
}


/* 0.9.37 shared action controls are defined by the component portal stylesheet. Bridge fallbacks: */

.wea365-ui .wea365-actions-trigger,
.wea365-ui .wea365-direct-action { min-height:46px; display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:9px 14px; font-weight:700; white-space:normal; }
.wea365-ui .wea365-actions-trigger { min-width:132px; }
.wea365-ui .wea365-action-menu,
.wea365-ui .wea365-maintenance-order-menu,
.wea365-ui .wea365-document-card-actions { width:auto!important; min-width:0!important; height:auto!important; flex:0 0 auto!important; }
.wea365-ui .wea365-action-dropdown { min-width:250px; max-width:min(330px,calc(100vw - 24px)); padding:8px; }
.wea365-ui .wea365-action-dropdown .uk-dropdown-nav>li>a,
.wea365-ui .wea365-action-dropdown .wea365-dropdown-action { min-height:48px; display:flex; align-items:center; width:100%; padding:11px 12px!important; font-size:16px; white-space:normal; }
.wea365-ui .wea365-button-icon-leading { margin-right:9px!important; }
@media(max-width:959px){.wea365-ui .wea365-actions-trigger,.wea365-ui .wea365-direct-action{width:100%;justify-content:space-between}}
.wea365-person-row-actions,.wea365-operator-row-actions{display:grid;grid-template-columns:1fr;gap:8px}.wea365-person-row-actions .wea365-action-menu,.wea365-operator-row-actions .wea365-action-menu{width:100%!important}.wea365-person-row-actions .wea365-actions-trigger,.wea365-operator-row-actions .wea365-actions-trigger{width:100%;justify-content:space-between}

/* 0.8.7 / package 0.9.38: reserve action space and keep mobile actions in card flow. */
@media (min-width: 960px) {
  .wea365-ui .wea365-reports-table { table-layout: fixed; }
  .wea365-ui .wea365-reports-table th:last-child,
  .wea365-ui .wea365-reports-table td.wea365-actions-cell {
    width: 190px !important;
    min-width: 190px !important;
    max-width: 190px !important;
  }
  .wea365-ui .wea365-reports-table .wea365-visible-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    width: 100%;
  }
  .wea365-ui .wea365-reports-table .wea365-direct-action { width: 100%; min-width: 0; }
  .wea365-ui .wea365-assignment-reports-table:has(.wea365-assignment-report-actions) { table-layout: fixed; }
  .wea365-ui .wea365-assignment-reports-table th:last-child,
  .wea365-ui .wea365-assignment-reports-table td.wea365-assignment-report-actions {
    width: 190px !important;
    min-width: 190px !important;
    max-width: 190px !important;
  }
  .wea365-ui .wea365-assignment-report-actions .wea365-direct-action { width: 100%; min-width: 0; }
}
.wea365-ui .wea365-turbine-row-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  width: 100%;
  min-width: 0;
  justify-self: stretch;
}
.wea365-ui .wea365-turbine-row-actions > .wea365-direct-action,
.wea365-ui .wea365-turbine-row-actions > .wea365-action-menu,
.wea365-ui .wea365-turbine-row-actions .wea365-actions-trigger { width: 100% !important; min-width: 0 !important; }
.wea365-ui .wea365-turbine-row-actions .wea365-action-menu { display: block; height: auto; flex: none; }
.wea365-ui .wea365-turbine-row-open { display: inline-flex !important; }
.wea365-ui .wea365-document-card-preview {
  display: block;
  width: 56px;
  height: 56px;
  overflow: hidden;
  border: 1px solid rgba(127,127,127,.22);
  border-radius: 5px;
  background: rgba(127,127,127,.06);
}
.wea365-ui .wea365-document-card-preview img { display:block; width:100%; height:100%; object-fit:cover; }
.wea365-ui .wea365-document-card-title:has(.wea365-document-card-preview) { grid-template-columns:56px minmax(0,1fr); }
@media (max-width: 959px) {
  .wea365-ui table.wea365-responsive-table tr { padding:15px !important; }
  .wea365-ui table.wea365-responsive-table td.wea365-table-actions,
  .wea365-ui table.wea365-responsive-table td.wea365-actions-cell {
    position: static !important;
    inset: auto !important;
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    margin-top:10px;
    padding:12px 0 0 !important;
    border-top:1px solid rgba(127,127,127,.18) !important;
  }
  .wea365-ui table.wea365-responsive-table .wea365-visible-actions { display:grid; grid-template-columns:1fr; gap:8px; width:100%; }
  .wea365-ui table.wea365-responsive-table .wea365-direct-action {
    width:100% !important;
    min-width:0 !important;
    overflow-wrap:normal;
    word-break:normal;
    writing-mode:horizontal-tb !important;
  }
  .wea365-ui .wea365-turbine-row { grid-template-columns:minmax(0,1fr) !important; gap:15px !important; }
  .wea365-ui .wea365-turbine-row-identity,
  .wea365-ui .wea365-turbine-row-field,
  .wea365-ui .wea365-turbine-row-status,
  .wea365-ui .wea365-turbine-row-actions { grid-column:1 !important; grid-row:auto !important; }
  .wea365-ui .wea365-turbine-row-actions { margin-top:2px; padding-top:14px; border-top:1px solid rgba(127,127,127,.18); }
}
@media (max-width:639px) {
  .wea365-ui .wea365-document-card-preview { width:48px; height:48px; }
  .wea365-ui .wea365-document-card-title:has(.wea365-document-card-preview) { grid-template-columns:48px minmax(0,1fr); }
}
@media (min-width: 960px) {
  .wea365-ui .wea365-turbine-overview {
    --wea365-turbine-grid: minmax(250px, 1.35fr) minmax(155px, .85fr) minmax(165px, .9fr) minmax(135px, .72fr) minmax(78px, .4fr) 176px;
  }
}

/* 0.8.8 / package 0.9.39: action spacing and flat detail grids (fallback when component CSS is unavailable). */
.wea365-ui .wea365-direct-action,
.wea365-ui .wea365-actions-trigger { gap:13px!important; padding-inline:18px!important; }
.wea365-ui .wea365-direct-action>span:first-child,
.wea365-ui .wea365-actions-trigger>span:first-child { min-width:0; flex:1 1 auto; text-align:center; }
@media(min-width:960px){
  .wea365-ui .wea365-reports-table th:last-child,
  .wea365-ui .wea365-reports-table td.wea365-actions-cell,
  .wea365-ui .wea365-assignment-reports-table th:last-child,
  .wea365-ui .wea365-assignment-reports-table td.wea365-assignment-report-actions { width:216px!important; min-width:216px!important; max-width:216px!important; }
  .wea365-ui .wea365-reports-table td.wea365-actions-cell,
  .wea365-ui .wea365-assignment-reports-table td.wea365-assignment-report-actions { padding-left:12px!important; padding-right:12px!important; }
}
.wea365-ui .wea365-detail-grid{width:100%;min-width:0}.wea365-ui .wea365-detail-grid-head,.wea365-ui .wea365-detail-grid-row{display:grid;align-items:center;min-width:0}.wea365-ui .wea365-detail-grid-head{padding:0 12px 10px;border-bottom:1px solid rgba(127,127,127,.25);font-size:.76rem;font-weight:600;letter-spacing:.025em;text-transform:uppercase}.wea365-ui .wea365-detail-grid-row{padding:16px 12px;border-bottom:1px solid rgba(127,127,127,.22)}.wea365-ui .wea365-detail-grid-row:last-child{border-bottom:0}.wea365-ui .wea365-detail-grid-field,.wea365-ui .wea365-detail-grid-actions{min-width:0}.wea365-ui .wea365-detail-grid-field{overflow-wrap:anywhere}.wea365-ui .wea365-detail-grid-label{display:none;margin-bottom:4px;font-size:.72rem;font-weight:700;letter-spacing:.035em;text-transform:uppercase;opacity:.58}.wea365-ui .wea365-detail-grid-actions{display:flex;justify-content:flex-end;padding-left:12px}.wea365-ui .wea365-detail-grid-actions .wea365-direct-action{width:100%;min-width:0}.wea365-ui .wea365-turbine-report-grid{grid-template-columns:minmax(150px,1.05fr) minmax(145px,.9fr) minmax(155px,1fr) minmax(120px,.72fr) 190px;gap:14px}.wea365-ui .wea365-detail-document-grid{grid-template-columns:minmax(220px,1.45fr) minmax(145px,.8fr) 72px minmax(130px,.75fr) minmax(125px,.72fr) 150px;gap:14px}.wea365-ui .wea365-photo-footer{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;margin-top:9px;min-width:0}.wea365-ui .wea365-photo-actions,.wea365-ui .wea365-photo-actions .wea365-actions-trigger{width:100%!important;min-width:0!important}.wea365-ui .wea365-photo-actions .wea365-actions-trigger{justify-content:space-between}
@media(max-width:1199px){.wea365-ui .wea365-detail-grid-head{display:none}.wea365-ui .wea365-detail-grid-row,.wea365-ui .wea365-turbine-report-grid,.wea365-ui .wea365-detail-document-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;padding:18px 0}.wea365-ui .wea365-detail-grid-label{display:block}.wea365-ui .wea365-detail-grid-primary{grid-column:1/-1}.wea365-ui .wea365-detail-grid-actions{grid-column:1/-1;padding:12px 0 0;border-top:1px solid rgba(127,127,127,.18)}}
@media(max-width:639px){.wea365-ui .wea365-detail-grid-row,.wea365-ui .wea365-turbine-report-grid,.wea365-ui .wea365-detail-document-grid{grid-template-columns:minmax(0,1fr)}.wea365-ui .wea365-detail-grid-primary,.wea365-ui .wea365-detail-grid-actions{grid-column:1}}

/* YOOtheme Bridge 0.8.9 / package 0.9.40: stable action dimensions, audit tabs and early report cards. */
.wea365-app,
.wea365-ui {
  --wea365-action-column-wide: 264px;
  --wea365-detail-action-wide: 240px;
  --wea365-action-label-gap: 14px;
  --wea365-action-padding-inline: 18px;
}

.wea365-reports-table-wrap {
  container-type: inline-size;
}

.wea365-audit-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-left: 0 !important;
  padding: 4px;
  overflow: visible;
}
.wea365-audit-tabs > li {
  min-width: 0;
  margin: 0;
  padding-left: 0 !important;
}
.wea365-audit-tabs > li > a {
  box-sizing: border-box;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  padding: 9px 15px;
  line-height: 1.25;
}

@media (min-width: 960px) {
  .wea365-app .wea365-actions-trigger,
  .wea365-ui .wea365-actions-trigger {
    justify-content: center;
    gap: var(--wea365-action-label-gap) !important;
    padding-left: var(--wea365-action-padding-inline) !important;
    padding-right: calc(var(--wea365-action-padding-inline) + 2px) !important;
  }
  .wea365-app .wea365-actions-trigger > span:first-child,
  .wea365-ui .wea365-actions-trigger > span:first-child {
    flex: 0 1 auto;
  }
  .wea365-app .wea365-actions-trigger .wea365-actions-chevron,
  .wea365-ui .wea365-actions-trigger .wea365-actions-chevron {
    margin-left: 0 !important;
  }
}

@media (min-width: 1200px) {
  .wea365-app .wea365-assignment-reports-table th:last-child,
  .wea365-ui .wea365-assignment-reports-table th:last-child,
  .wea365-app .wea365-assignment-reports-table td.wea365-assignment-report-actions,
  .wea365-ui .wea365-assignment-reports-table td.wea365-assignment-report-actions {
    width: var(--wea365-action-column-wide) !important;
    min-width: var(--wea365-action-column-wide) !important;
    max-width: var(--wea365-action-column-wide) !important;
  }
  .wea365-app .wea365-assignment-report-actions .wea365-direct-action > span:first-child,
  .wea365-ui .wea365-assignment-report-actions .wea365-direct-action > span:first-child,
  .wea365-app .wea365-detail-grid-actions .wea365-direct-action > span:first-child,
  .wea365-ui .wea365-detail-grid-actions .wea365-direct-action > span:first-child {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
  }
  .wea365-app .wea365-turbine-report-grid,
  .wea365-ui .wea365-turbine-report-grid {
    grid-template-columns: minmax(150px,1.05fr) minmax(145px,.9fr) minmax(155px,1fr) minmax(120px,.72fr) var(--wea365-detail-action-wide);
  }
  .wea365-app .wea365-turbine-report-grid-compact,
  .wea365-ui .wea365-turbine-report-grid-compact {
    grid-template-columns: minmax(160px,1.05fr) minmax(155px,.9fr) minmax(180px,1fr) var(--wea365-detail-action-wide);
  }
  .wea365-app .wea365-detail-grid-actions .wea365-direct-action,
  .wea365-ui .wea365-detail-grid-actions .wea365-direct-action {
    min-width: var(--wea365-detail-action-wide);
  }
}

@container (min-width: 1540px) {
  .wea365-app .wea365-reports-table th,
  .wea365-ui .wea365-reports-table th {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
  }
  .wea365-app .wea365-reports-table th:nth-child(1),
  .wea365-ui .wea365-reports-table th:nth-child(1) { width: 150px; }
  .wea365-app .wea365-reports-table th:nth-child(2),
  .wea365-ui .wea365-reports-table th:nth-child(2) { width: 140px; }
  .wea365-app .wea365-reports-table th:nth-child(3),
  .wea365-ui .wea365-reports-table th:nth-child(3) { width: 200px; }
  .wea365-app .wea365-reports-table th:nth-child(4),
  .wea365-ui .wea365-reports-table th:nth-child(4) { width: 210px; }
  .wea365-app .wea365-reports-table th:nth-child(5),
  .wea365-ui .wea365-reports-table th:nth-child(5) { width: 220px; }
  .wea365-app .wea365-reports-table th:nth-child(6),
  .wea365-ui .wea365-reports-table th:nth-child(6) { width: 160px; }
  .wea365-app .wea365-reports-table th:nth-child(7),
  .wea365-ui .wea365-reports-table th:nth-child(7) { width: 150px; }
  .wea365-app .wea365-reports-table th:last-child,
  .wea365-ui .wea365-reports-table th:last-child,
  .wea365-app .wea365-reports-table td.wea365-actions-cell,
  .wea365-ui .wea365-reports-table td.wea365-actions-cell {
    width: var(--wea365-action-column-wide) !important;
    min-width: var(--wea365-action-column-wide) !important;
    max-width: var(--wea365-action-column-wide) !important;
  }
  .wea365-app .wea365-reports-table .wea365-direct-action > span:first-child,
  .wea365-ui .wea365-reports-table .wea365-direct-action > span:first-child {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
  }
}

@container (max-width: 1539px) {
  .wea365-app table.wea365-reports-table,
  .wea365-ui table.wea365-reports-table,
  .wea365-app table.wea365-reports-table tbody,
  .wea365-ui table.wea365-reports-table tbody {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .wea365-app table.wea365-reports-table thead,
  .wea365-ui table.wea365-reports-table thead {
    display: none !important;
  }
  .wea365-app table.wea365-reports-table tbody,
  .wea365-ui table.wea365-reports-table tbody {
    display: grid !important;
    gap: 12px;
  }
  .wea365-app table.wea365-reports-table tr,
  .wea365-ui table.wea365-reports-table tr {
    position: static;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 20px;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    padding: 18px !important;
    border: 1px solid rgba(127,127,127,.22) !important;
    border-radius: 5px;
    background: transparent;
  }
  .wea365-app table.wea365-reports-table td,
  .wea365-ui table.wea365-reports-table td {
    position: static !important;
    inset: auto !important;
    display: block !important;
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0;
    padding: 0 !important;
    border: 0 !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }
  .wea365-app table.wea365-reports-table td[data-label]::before,
  .wea365-ui table.wea365-reports-table td[data-label]::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 4px;
    font-size: .72rem;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: .035em;
    text-transform: uppercase;
    opacity: .6;
  }
  .wea365-app table.wea365-reports-table td.wea365-card-primary,
  .wea365-ui table.wea365-reports-table td.wea365-card-primary,
  .wea365-app table.wea365-reports-table td.wea365-actions-cell,
  .wea365-ui table.wea365-reports-table td.wea365-actions-cell {
    grid-column: 1 / -1;
  }
  .wea365-app table.wea365-reports-table td.wea365-actions-cell,
  .wea365-ui table.wea365-reports-table td.wea365-actions-cell {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-top: 2px;
    padding: 14px 0 0 !important;
    border-top: 1px solid rgba(127,127,127,.18) !important;
  }
  .wea365-app table.wea365-reports-table .wea365-visible-actions,
  .wea365-ui table.wea365-reports-table .wea365-visible-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    width: 100%;
  }
  .wea365-app table.wea365-reports-table .wea365-direct-action,
  .wea365-ui table.wea365-reports-table .wea365-direct-action {
    width: 100% !important;
    min-width: 0 !important;
  }
}

@container (min-width: 640px) and (max-width: 1539px) {
  .wea365-app table.wea365-reports-table .wea365-visible-actions,
  .wea365-ui table.wea365-reports-table .wea365-visible-actions {
    width: var(--wea365-detail-action-wide);
    margin-left: auto;
  }
}

@media (max-width: 639px) {
  .wea365-audit-tabs {
    display: grid;
    grid-template-columns: 1fr;
    padding: 0;
  }
  .wea365-audit-tabs > li,
  .wea365-audit-tabs > li > a {
    width: 100%;
  }
  .wea365-app table.wea365-reports-table tr,
  .wea365-ui table.wea365-reports-table tr {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }
  .wea365-app table.wea365-reports-table td.wea365-card-primary,
  .wea365-ui table.wea365-reports-table td.wea365-card-primary,
  .wea365-app table.wea365-reports-table td.wea365-actions-cell,
  .wea365-ui table.wea365-reports-table td.wea365-actions-cell {
    grid-column: 1;
  }
}

/* WEA365 0.9.41: stable icon spacing, non-overlapping action columns and mobile section headers. */
.wea365-app,
.wea365-ui {
  --wea365-action-column-wide: 300px;
  --wea365-report-action-wide: 300px;
  --wea365-document-action-wide: 184px;
  --wea365-action-label-gap: 16px;
  --wea365-action-padding-inline: 18px;
}

.wea365-app .wea365-icon-text-button,
.wea365-ui .wea365-icon-text-button,
.wea365-app .uk-button:has(> [uk-icon]),
.wea365-ui .uk-button:has(> [uk-icon]) {
  box-sizing: border-box;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  column-gap: var(--wea365-action-label-gap) !important;
}
.wea365-app .wea365-icon-text-button > [uk-icon],
.wea365-ui .wea365-icon-text-button > [uk-icon],
.wea365-app .uk-button > [uk-icon],
.wea365-ui .uk-button > [uk-icon],
.wea365-app .uk-button > .uk-icon,
.wea365-ui .uk-button > .uk-icon {
  flex: 0 0 auto !important;
  margin: 0 !important;
}

.wea365-app .wea365-actions-trigger,
.wea365-ui .wea365-actions-trigger {
  min-width: 154px;
  justify-content: space-between !important;
  gap: var(--wea365-action-label-gap) !important;
  padding-left: var(--wea365-action-padding-inline) !important;
  padding-right: var(--wea365-action-padding-inline) !important;
}
.wea365-app .wea365-actions-trigger > span:first-child,
.wea365-ui .wea365-actions-trigger > span:first-child {
  flex: 1 1 auto;
  min-width: 0;
  text-align: center;
}
.wea365-app .wea365-actions-trigger .wea365-actions-chevron,
.wea365-ui .wea365-actions-trigger .wea365-actions-chevron {
  flex: 0 0 20px !important;
  width: 20px;
  margin: 0 !important;
}

.wea365-app .wea365-direct-action,
.wea365-ui .wea365-direct-action {
  gap: var(--wea365-action-label-gap) !important;
  padding-left: var(--wea365-action-padding-inline) !important;
  padding-right: var(--wea365-action-padding-inline) !important;
  overflow: hidden;
}
.wea365-app .wea365-direct-action > span:first-child,
.wea365-ui .wea365-direct-action > span:first-child {
  flex: 1 1 auto;
  min-width: 0;
  text-align: center;
}
.wea365-app .wea365-direct-action > [uk-icon],
.wea365-ui .wea365-direct-action > [uk-icon],
.wea365-app .wea365-direct-action > .uk-icon,
.wea365-ui .wea365-direct-action > .uk-icon {
  flex: 0 0 20px !important;
  width: 20px;
  margin: 0 !important;
}


.wea365-offcanvas .uk-offcanvas-close[uk-close] {
  box-sizing: border-box;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
}
.wea365-offcanvas .wea365-sidepanel-title {
  margin-right: 60px;
}

.wea365-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  min-width: 0;
}
.wea365-section-header > h1,
.wea365-section-header > h2,
.wea365-section-header > h3 {
  flex: 1 1 240px;
  min-width: 0;
  margin-top: 0;
  margin-bottom: 0;
}
.wea365-section-header > .uk-button {
  flex: 0 0 auto;
  margin: 0;
}

@media (min-width: 1200px) {
  .wea365-app .wea365-assignment-reports-table th:last-child,
  .wea365-ui .wea365-assignment-reports-table th:last-child,
  .wea365-app .wea365-assignment-reports-table td.wea365-assignment-report-actions,
  .wea365-ui .wea365-assignment-reports-table td.wea365-assignment-report-actions {
    width: var(--wea365-report-action-wide) !important;
    min-width: var(--wea365-report-action-wide) !important;
    max-width: var(--wea365-report-action-wide) !important;
  }
  .wea365-app .wea365-turbine-report-grid,
  .wea365-ui .wea365-turbine-report-grid {
    grid-template-columns: minmax(150px,1.05fr) minmax(145px,.9fr) minmax(155px,1fr) minmax(120px,.72fr) var(--wea365-report-action-wide) !important;
  }
  .wea365-app .wea365-turbine-report-grid-compact,
  .wea365-ui .wea365-turbine-report-grid-compact {
    grid-template-columns: minmax(160px,1.05fr) minmax(155px,.9fr) minmax(180px,1fr) var(--wea365-report-action-wide) !important;
  }
  .wea365-app .wea365-detail-document-grid,
  .wea365-ui .wea365-detail-document-grid {
    grid-template-columns: minmax(220px,1.45fr) minmax(145px,.8fr) 72px minmax(130px,.75fr) minmax(145px,.78fr) var(--wea365-document-action-wide) !important;
  }
  .wea365-app .wea365-detail-grid-actions .wea365-direct-action,
  .wea365-ui .wea365-detail-grid-actions .wea365-direct-action {
    width: 100%;
    min-width: 0 !important;
    max-width: 100%;
  }
  .wea365-app .wea365-assignment-report-actions .wea365-direct-action > span:first-child,
  .wea365-ui .wea365-assignment-report-actions .wea365-direct-action > span:first-child,
  .wea365-app .wea365-turbine-report-grid .wea365-direct-action > span:first-child,
  .wea365-ui .wea365-turbine-report-grid .wea365-direct-action > span:first-child {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
  }
}

@media (max-width: 639px) {
  .wea365-section-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }
  .wea365-section-header > h1,
  .wea365-section-header > h2,
  .wea365-section-header > h3 {
    width: 100%;
  }
  .wea365-section-header > .uk-button {
    width: 100%;
    min-height: 46px;
  }
}

/* WEA365 0.9.42: single-line desktop actions and separated document design. */
.wea365-app,
.wea365-ui {
  --wea365-action-column-wide: 320px;
  --wea365-report-action-wide: 320px;
}

.wea365-app .wea365-branding-logo-preview,
.wea365-ui .wea365-branding-logo-preview {
  box-sizing: border-box;
  padding: 12px 20px;
  background-color: var(--wea365-color-white);
  background-image: none;
}

.wea365-app .wea365-branding-logo-preview img,
.wea365-ui .wea365-branding-logo-preview img {
  max-width: 100%;
  max-height: 100%;
}

.wea365-document-design-element {
  container-type: inline-size;
}

.wea365-document-design-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 28px;
  min-width: 0;
}

.wea365-document-design-colors,
.wea365-document-design-preview {
  min-width: 0;
}

.wea365-document-design-preview {
  padding-top: 28px;
  border-top: 1px solid rgba(127, 127, 127, .2);
}

.wea365-document-design-layout.is-colors-only .wea365-document-design-colors {
  max-width: 620px;
}

@container (min-width: 900px) {
  .wea365-document-design-layout:not(.is-colors-only) {
    grid-template-columns: minmax(280px, .72fr) minmax(0, 1.45fr);
    gap: 34px;
    align-items: start;
  }

  .wea365-document-design-preview {
    padding-top: 0;
    padding-left: 34px;
    border-top: 0;
    border-left: 1px solid rgba(127, 127, 127, .2);
  }
}

@media (min-width: 960px) {
  .wea365-app .wea365-direct-action > span:first-child,
  .wea365-ui .wea365-direct-action > span:first-child,
  .wea365-app .wea365-actions-trigger > span:first-child,
  .wea365-ui .wea365-actions-trigger > span:first-child,
  .wea365-app .wea365-icon-text-button > span:last-child,
  .wea365-ui .wea365-icon-text-button > span:last-child {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
  }
}

@container (min-width: 640px) and (max-width: 1539px) {
  .wea365-app table.wea365-reports-table .wea365-visible-actions,
  .wea365-ui table.wea365-reports-table .wea365-visible-actions {
    width: var(--wea365-report-action-wide);
  }

  .wea365-app table.wea365-reports-table .wea365-direct-action > span:first-child,
  .wea365-ui table.wea365-reports-table .wea365-direct-action > span:first-child {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
  }
}

@media (max-width: 639px) {
  .wea365-app .wea365-branding-logo-preview,
  .wea365-ui .wea365-branding-logo-preview {
    padding: 10px 14px;
  }
}

/* Stable CSV/import identifiers are informative, not warnings. */
.wea365-maintenance-import-key {
  display: inline-block;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.92em;
  font-weight: 600;
  color: inherit;
  overflow-wrap: anywhere;
}

@media (min-width: 640px) {
  .wea365-workreport-actions .wea365-workreport-save-time-button {
    min-width: 360px;
    white-space: nowrap;
  }
}

@media (max-width: 639px) {
  .wea365-workreport-actions .wea365-workreport-save-time-button {
    white-space: normal;
  }
}

/* Report identity: make the specific report type scannable without competing with status colours. */
.wea365-report-identity {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 9px;
  margin-top: 5px;
  min-width: 0;
}

.wea365-report-type-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  max-width: 100%;
  padding: 3px 10px;
  border: 1px solid #9db9d1;
  border-radius: 3px;
  background: #edf4fa;
  color: var(--wea365-color-primary-strong) !important;
  font-size: .875rem;
  font-weight: 700;
  line-height: 1.35;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
  box-sizing: border-box;
}

.wea365-report-version {
  color: inherit;
  font-size: .875rem;
  font-weight: 600;
  line-height: 1.35;
  opacity: .62;
}

.wea365-detail-grid-primary > .wea365-report-type-badge {
  margin-top: 5px;
  align-self: flex-start;
}

@media (max-width: 639px) {
  .wea365-report-identity {
    gap: 5px 7px;
  }

  .wea365-report-type-badge {
    min-height: 27px;
    padding-inline: 8px;
    font-size: .84rem;
  }
}


/* WEA365 0.9.54: calm, stacked report identity in WEA detail lists. */
.wea365-report-primary-stack {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  min-width: 0;
}

.wea365-report-number-link {
  display: block;
  max-width: 100%;
  color: inherit;
  font-size: 1.02rem;
  line-height: 1.25;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.wea365-report-number-link:hover,
.wea365-report-number-link:focus {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.wea365-report-primary-stack .wea365-report-identity {
  margin-top: 0;
}

@media (min-width: 1200px) {
  .wea365-app .wea365-turbine-report-grid,
  .wea365-ui .wea365-turbine-report-grid {
    grid-template-columns: minmax(250px, 1.2fr) minmax(180px, .9fr) minmax(190px, 1fr) minmax(130px, .72fr) var(--wea365-detail-action-wide);
  }

  .wea365-app .wea365-turbine-report-grid-compact,
  .wea365-ui .wea365-turbine-report-grid-compact {
    grid-template-columns: minmax(250px, 1.2fr) minmax(190px, .9fr) minmax(210px, 1fr) var(--wea365-detail-action-wide);
  }
}

/* WEA365 0.9.58: one global button-icon convention and a standalone migration settings element. */
.wea365-app,
.wea365-ui {
  --wea365-button-icon-gap: 10px;
}

.wea365-app .uk-button:not(.uk-icon-button):not([uk-close]),
.wea365-ui .uk-button:not(.uk-icon-button):not([uk-close]) {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: var(--wea365-button-icon-gap) !important;
}

.wea365-app .uk-button:not(.uk-icon-button):not([uk-close]) > [uk-icon],
.wea365-ui .uk-button:not(.uk-icon-button):not([uk-close]) > [uk-icon],
.wea365-app .uk-button:not(.uk-icon-button):not([uk-close]) > .uk-icon,
.wea365-ui .uk-button:not(.uk-icon-button):not([uk-close]) > .uk-icon,
.wea365-app .uk-button:not(.uk-icon-button):not([uk-close]) > .wea365-actions-chevron,
.wea365-ui .uk-button:not(.uk-icon-button):not([uk-close]) > .wea365-actions-chevron {
  order: -1 !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
}

.wea365-app .wea365-actions-trigger,
.wea365-ui .wea365-actions-trigger {
  justify-content: center !important;
}

.wea365-app .wea365-actions-trigger > span:not([uk-icon]):not(.uk-icon):not(.wea365-actions-chevron),
.wea365-ui .wea365-actions-trigger > span:not([uk-icon]):not(.uk-icon):not(.wea365-actions-chevron),
.wea365-app .wea365-direct-action > span:not([uk-icon]):not(.uk-icon):not(.wea365-actions-chevron),
.wea365-ui .wea365-direct-action > span:not([uk-icon]):not(.uk-icon):not(.wea365-actions-chevron) {
  flex: 0 1 auto;
  min-width: 0;
  text-align: center;
}

.wea365-settings-migration-element {
  width: 100%;
  min-width: 0;
}

.wea365-settings-migration-element .wea365-settings-migration-entry-content {
  align-items: flex-start;
}

.wea365-settings-migration-element .wea365-settings-migration-icon {
  margin-top: 3px;
}

@media (max-width: 639px) {
  .wea365-settings-migration-element .wea365-settings-migration-entry-content {
    align-items: stretch;
  }

  .wea365-settings-migration-element .wea365-icon-text-button {
    width: 100%;
  }
}


/* WEA365 0.9.88: compact, guided account onboarding. */
.wea365-onboarding-page,
.wea365-onboarding-panel {
  min-width: 0;
}
.wea365-onboarding-page > .wea365-onboarding-panel + .wea365-onboarding-panel {
  margin-top: 18px;
}
.wea365-onboarding-panel.uk-card-body {
  padding: 30px 34px;
}
.wea365-onboarding-header.uk-card-body {
  padding-block: 26px;
}
.wea365-onboarding-header-main,
.wea365-onboarding-section-heading,
.wea365-onboarding-security-copy {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  min-width: 0;
}
.wea365-onboarding-icon,
.wea365-onboarding-section-icon,
.wea365-onboarding-security-icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 9px;
  background: rgba(255,255,255,.12);
}
.wea365-onboarding-section-icon,
.wea365-onboarding-security-icon {
  background: rgba(42,85,160,.09);
  color: #2a55a0;
}
.wea365-onboarding-header-copy {
  flex: 1 1 auto;
  min-width: 0;
}
.wea365-onboarding-kicker-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  margin-bottom: 7px;
}
.wea365-onboarding-eyebrow {
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .72;
}
.wea365-onboarding-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 26px;
  padding: 3px 9px;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: .76rem;
  font-weight: 700;
  line-height: 1;
  opacity: .9;
}
.wea365-onboarding-intro {
  max-width: 780px;
  font-size: 1rem;
  line-height: 1.55;
}
.wea365-onboarding-section-heading {
  align-items: center;
  margin-bottom: 24px;
}
.wea365-onboarding-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border: 1px solid rgba(42,72,108,.15);
  border-radius: 6px;
  overflow: hidden;
}
.wea365-onboarding-membership-list > .wea365-onboarding-facts + .wea365-onboarding-facts {
  margin-top: 14px;
}
.wea365-onboarding-fact {
  min-width: 0;
  padding: 18px 20px;
  background: rgba(42,72,108,.025);
}
.wea365-onboarding-fact + .wea365-onboarding-fact {
  border-left: 1px solid rgba(42,72,108,.12);
}
.wea365-onboarding-fact-label {
  margin-bottom: 5px;
  color: #64748b;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.wea365-onboarding-fact-value {
  min-width: 0;
  font-size: 1rem;
  font-weight: 700;
  overflow-wrap: anywhere;
}
.wea365-onboarding-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 0 0 28px;
  padding: 0;
  list-style: none;
}
.wea365-onboarding-steps li {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  min-width: 0;
  color: #788596;
  font-size: .9rem;
  font-weight: 700;
}
.wea365-onboarding-steps li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 17px;
  left: 42px;
  right: 0;
  height: 2px;
  background: #e2e7ec;
}
.wea365-onboarding-steps li > span:last-child {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding-right: 12px;
}
.wea365-onboarding-steps small {
  color: #8b96a5;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.wea365-onboarding-step-marker {
  position: relative;
  z-index: 2;
  display: inline-flex;
  flex: 0 0 36px;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 2px solid #d9e0e7;
  border-radius: 50%;
  background: var(--wea365-color-white);
  color: #758295;
  font-size: .82rem;
  font-weight: 800;
}
.wea365-onboarding-steps .is-complete,
.wea365-onboarding-steps .is-current {
  color: #24364e;
}
.wea365-onboarding-steps .is-complete .wea365-onboarding-step-marker {
  border-color: #49a66c;
  background: #49a66c;
  color: var(--wea365-color-white);
}
.wea365-onboarding-steps .is-complete:not(:last-child)::after {
  background: #49a66c;
}
.wea365-onboarding-steps .is-current .wea365-onboarding-step-marker {
  border-color: #2a55a0;
  background: #2a55a0;
  color: var(--wea365-color-white);
  box-shadow: 0 0 0 4px rgba(42,85,160,.1);
}
.wea365-onboarding-security-copy {
  padding: 20px;
  border: 1px solid rgba(42,85,160,.16);
  border-radius: 6px;
  background: rgba(42,85,160,.045);
}
.wea365-onboarding-security-copy > div {
  min-width: 0;
}
.wea365-onboarding-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 22px;
}
.wea365-onboarding-actions .uk-button {
  min-height: 44px;
  white-space: nowrap;
}
.wea365-onboarding-primary-action {
  min-width: 245px;
}
.wea365-onboarding-after-note {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  max-width: 760px;
  line-height: 1.45;
}
.wea365-onboarding-after-note .uk-icon {
  flex: 0 0 auto;
  margin-top: 2px;
}
@media (max-width: 767px) {
  .wea365-onboarding-panel.uk-card-body {
    padding: 24px;
  }
  .wea365-onboarding-header.uk-card-body {
    padding-block: 22px;
  }
  .wea365-onboarding-facts {
    grid-template-columns: 1fr;
  }
  .wea365-onboarding-fact + .wea365-onboarding-fact {
    border-top: 1px solid rgba(42,72,108,.12);
    border-left: 0;
  }
  .wea365-onboarding-steps {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .wea365-onboarding-steps li {
    flex-direction: row;
    align-items: center;
  }
  .wea365-onboarding-steps li:not(:last-child)::after {
    top: 36px;
    bottom: -14px;
    left: 17px;
    right: auto;
    width: 2px;
    height: auto;
  }
  .wea365-onboarding-steps li > span:last-child {
    padding-right: 0;
  }
  .wea365-onboarding-actions,
  .wea365-onboarding-actions form,
  .wea365-onboarding-actions .uk-button,
  .wea365-onboarding-primary-action {
    width: 100%;
  }
}
@media (max-width: 439px) {
  .wea365-onboarding-panel.uk-card-body {
    padding: 20px;
  }
  .wea365-onboarding-header-main,
  .wea365-onboarding-section-heading,
  .wea365-onboarding-security-copy {
    gap: 12px;
  }
  .wea365-onboarding-icon,
  .wea365-onboarding-section-icon,
  .wea365-onboarding-security-icon {
    width: 38px;
    height: 38px;
  }
  .wea365-onboarding-header h1 {
    font-size: 1.55rem;
    overflow-wrap: anywhere;
  }
  .wea365-onboarding-kicker-row {
    align-items: flex-start;
  }
}


/* 0.8.36 / package 0.9.93: calmer active-WEA cards and clearer work-start actions. */
.wea365-assignment-turbine-grid {
  align-items: stretch;
}

.wea365-assignment-turbine-grid > div {
  display: flex;
  min-width: 0;
}

.wea365-assignment-turbine {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  min-height: 100%;
  overflow: hidden;
}

.wea365-assignment-turbine.uk-card-body {
  padding: clamp(24px, 2.4vw, 34px);
}

.wea365-assignment-turbine-main {
  min-width: 0;
}

.wea365-assignment-turbine-header {
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 20px;
  align-items: center;
}

.wea365-assignment-turbine-thumb {
  width: 104px;
  height: 104px;
  border-radius: 8px;
  background: rgba(49, 95, 154, .07);
}

.wea365-assignment-turbine-title h3 {
  margin-top: 0;
  font-size: clamp(1.32rem, 1.8vw, 1.62rem);
  line-height: 1.15;
}

.wea365-assignment-turbine-serial {
  margin-top: 5px;
}

.wea365-assignment-report-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  max-width: 100%;
  margin-top: 14px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(60, 70, 80, .07);
  color: rgba(31, 41, 51, .72);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
}

.wea365-assignment-report-status.has-open-reports {
  background: rgba(183, 121, 31, .11);
  color: #805815;
}

.wea365-assignment-turbine-data {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 28px;
  margin-top: 28px;
}

.wea365-assignment-turbine-data .wea365-assignment-turbine-operator {
  grid-column: 1 / -1;
}

.wea365-assignment-turbine-data dt {
  margin-bottom: 5px;
  font-size: 11px;
}

.wea365-assignment-turbine-data dd {
  font-size: 15px;
  line-height: 1.45;
}

.wea365-assignment-turbine-footer {
  display: grid;
  gap: 20px;
  margin-top: auto;
  padding-top: 28px;
}

.wea365-assignment-open-button {
  justify-self: start;
}

.wea365-assignment-start-form {
  display: grid;
  gap: 13px;
  padding-top: 22px;
  border-top: 1px solid rgba(31, 41, 51, .12);
}

.wea365-assignment-start-copy {
  display: grid;
  gap: 4px;
}

.wea365-assignment-start-kicker {
  color: rgba(31, 41, 51, .58);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .055em;
  line-height: 1.25;
  text-transform: uppercase;
}

.wea365-assignment-start-form .uk-form-label {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
}

.wea365-assignment-start-controls {
  display: grid;
  grid-template-columns: minmax(170px, 1fr) auto;
  gap: 12px;
  align-items: stretch;
  min-width: 0;
}

.wea365-assignment-start-controls .uk-input,
.wea365-assignment-start-controls .uk-button {
  min-height: 46px;
}

@media (max-width: 1199px) {
  .wea365-assignment-turbine-grid > div {
    width: 100%;
  }
}

@media (max-width: 760px) {
  .wea365-assignment-turbine.uk-card-body {
    padding: 24px;
  }

  .wea365-assignment-turbine-header {
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 16px;
  }

  .wea365-assignment-turbine-thumb {
    width: 88px !important;
    height: 88px !important;
  }

  .wea365-assignment-turbine-data {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 24px;
  }

  .wea365-assignment-turbine-data .wea365-assignment-turbine-operator {
    grid-column: auto;
  }

  .wea365-assignment-open-button,
  .wea365-assignment-start-controls .uk-button {
    width: 100%;
  }

  .wea365-assignment-start-controls {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 430px) {
  .wea365-assignment-turbine.uk-card-body {
    padding: 20px;
  }

  .wea365-assignment-turbine-header {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 14px;
  }

  .wea365-assignment-turbine-thumb {
    width: 72px !important;
    height: 72px !important;
  }

  .wea365-assignment-report-status {
    border-radius: 6px;
    white-space: normal;
  }
}

/* General document library explorer */
.wea365-ui .wea365-document-explorer-layout{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);border:1px solid rgba(127,127,127,.24);border-radius:8px;overflow:hidden;min-height:360px}
.wea365-ui .wea365-document-tree{padding:14px;border-right:1px solid rgba(127,127,127,.24);min-width:0;overflow-x:hidden}
.wea365-ui .wea365-document-tree-root,.wea365-ui .wea365-document-tree-link{display:flex;align-items:center;gap:8px;min-height:40px;padding:6px 7px;border-radius:5px;color:inherit;text-decoration:none;min-width:0}.wea365-ui .wea365-document-tree-root>.wea365-document-tree-label,.wea365-ui .wea365-document-tree-link>.wea365-document-tree-label{min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.25;flex:1 1 auto}
.wea365-ui .wea365-document-tree-list{list-style:none;margin:2px 0 0;padding:0;min-width:0}.wea365-ui .wea365-document-tree-list.is-nested{margin-left:6px;padding-left:5px;border-left:1px solid rgba(127,127,127,.34)}.wea365-ui .wea365-document-tree-list.is-nested>.wea365-document-tree-item{position:relative;min-width:0}.wea365-ui .wea365-document-tree-list.is-nested>.wea365-document-tree-item::before{content:"";position:absolute;left:-5px;top:20px;width:5px;border-top:1px solid rgba(127,127,127,.34);pointer-events:none}.wea365-ui .wea365-document-tree-link [uk-icon],.wea365-ui .wea365-document-tree-root [uk-icon]{flex:0 0 auto}
.wea365-ui .wea365-document-explorer-content{padding:16px;min-width:0}.wea365-ui .wea365-document-explorer-items{display:grid;gap:8px;container-type:inline-size}
.wea365-ui .wea365-document-explorer-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:58px;padding:9px 11px;border:1px solid rgba(127,127,127,.22);border-radius:6px;color:inherit;text-decoration:none;min-width:0}
.wea365-ui .wea365-document-explorer-item-main{display:flex;flex-direction:column;gap:2px;min-width:0}.wea365-ui .wea365-document-explorer-item-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.wea365-ui .wea365-document-explorer-item-actions .uk-button{white-space:nowrap}.wea365-ui .wea365-document-explorer-breadcrumbs{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-bottom:12px}.wea365-ui .wea365-document-explorer-drop-hint{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:9px 11px;border:1px dashed rgba(127,127,127,.35);border-radius:5px}.wea365-ui .wea365-document-explorer [draggable="true"]{cursor:grab}
@media(max-width:959px){.wea365-ui .wea365-document-explorer-layout{grid-template-columns:1fr;min-height:0}.wea365-ui .wea365-document-tree{border-right:0;border-bottom:1px solid rgba(127,127,127,.24);max-height:300px;overflow-y:auto;overflow-x:hidden}}
@media(max-width:639px){.wea365-ui .wea365-document-explorer-header{display:grid;grid-template-columns:1fr}.wea365-ui .wea365-document-tree-list.is-nested{margin-left:3px;padding-left:3px}}
/* 0.8.55: document actions adapt to the actual explorer-card width, not only viewport width. */
@container (max-width:520px){.wea365-ui .wea365-document-explorer-item{grid-template-columns:34px minmax(0,1fr)}.wea365-ui .wea365-document-explorer-item>.uk-button{grid-column:1/-1;width:100%}.wea365-ui .wea365-document-explorer-item-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;min-width:0}.wea365-ui .wea365-document-explorer-item-actions .uk-button{width:100%;min-width:0;padding-left:12px;padding-right:12px}}
@container (max-width:340px){.wea365-ui .wea365-document-explorer-item-actions{grid-template-columns:1fr}}
.wea365-ui .wea365-document-explorer-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media(max-width:639px){.wea365-ui .wea365-document-explorer-actions{display:grid;grid-template-columns:1fr}.wea365-ui .wea365-document-explorer-actions .uk-button{width:100%}}
/* 0.8.50: keep asynchronous library navigation visibly calm without a page flash. */
.wea365-ui .wea365-document-explorer.is-loading .wea365-document-explorer-content{opacity:.58;pointer-events:none;transition:opacity .14s ease}
.wea365-ui .wea365-document-explorer .wea365-document-explorer-content[aria-busy="true"]{cursor:progress}

.wea365-ui .wea365-document-tree-item.is-active-branch>.wea365-document-tree-link{font-weight:700}
.wea365-ui .wea365-document-tree-root>.uk-badge,.wea365-ui .wea365-document-tree-link>.uk-badge{flex:0 0 auto;margin-left:auto}

.wea365-ui .wea365-document-tree-root.is-active,.wea365-ui .wea365-document-tree-link.is-active,.wea365-ui .wea365-document-tree-item.is-active>.wea365-document-tree-link{background:rgba(65,120,180,.12);font-weight:700}
/* 0.8.51: unified Library / General / Operators / WTGs navigation. */


/* WEA365 0.9.140: document-management sidepanel layout refinement.
   The panel needs enough space for version metadata and labeled actions; on narrow
   screens the history actions stack instead of clipping or forcing horizontal scroll. */
.wea365-offcanvas--wide.wea365-document-manage-offcanvas .uk-offcanvas-bar {
  width: min(1120px, 96vw);
}

@media (min-width: 1200px) {
  .wea365-document-manage-layout > .wea365-document-manage-main {
    width: 57%;
  }

  .wea365-document-manage-layout > .wea365-document-manage-history {
    width: 43%;
  }
}

.wea365-document-version-row {
  grid-template-columns: 42px minmax(0, 1fr) minmax(112px, max-content);
}

.wea365-document-version-row > .wea365-direct-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 112px;
  min-height: 44px;
  box-sizing: border-box;
  white-space: nowrap;
}

.wea365-document-management-block > .uk-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 44px;
  max-width: 100%;
  white-space: nowrap;
}

@media (max-width: 639px) {
  .wea365-document-version-row {
    grid-template-columns: 38px minmax(0, 1fr);
    grid-template-areas:
      "badge content"
      "action action";
    gap: 9px 10px;
  }

  .wea365-document-version-badge {
    grid-area: badge;
  }

  .wea365-document-version-content {
    grid-area: content;
  }

  .wea365-document-version-row > .wea365-direct-action {
    grid-area: action;
    width: 100%;
    min-width: 0;
    margin-top: 3px;
  }

  .wea365-document-management-block > .uk-button {
    width: 100%;
    white-space: normal;
  }
}


/* WEA365 0.9.143: consistent settings-card heading icons. */
.wea365-settings-card-heading {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  align-items: start;
  column-gap: 1rem;
}
.wea365-settings-card-icon {
  display: inline-flex;
  width: 32px;
  min-width: 32px;
  height: 32px;
  align-items: flex-start;
  justify-content: center;
  padding-top: 3px;
  box-sizing: border-box;
}
.wea365-settings-card-icon > svg {
  width: 21px;
  height: 21px;
}
.wea365-settings-card-heading + form,
.wea365-settings-card-heading + .wea365-branding-logo-stage,
.wea365-settings-card-heading + .wea365-document-design-layout {
  margin-top: 1.5rem;
}
@media (max-width: 639px) {
  .wea365-settings-card-heading {
    grid-template-columns: 28px minmax(0, 1fr);
    column-gap: .75rem;
  }
  .wea365-settings-card-icon {
    width: 28px;
    min-width: 28px;
  }
}

/* WEA365 0.9.152: one visual language for internal page headers and tenant selection. */
.wea365-page-header h1 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  font-size: clamp(2rem, 2.7vw, 2.75rem) !important;
  line-height: 1.12 !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
}
.wea365-page-header .uk-text-meta {
  margin-top: 8px !important;
  margin-bottom: 0 !important;
}
.wea365-tenant-switcher.uk-card-body {
  padding-top: 22px;
  padding-bottom: 22px;
}
.wea365-tenant-switcher-form {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) minmax(240px, 360px);
  gap: 18px 28px;
  align-items: center;
  width: 100%;
}
.wea365-tenant-switcher-label {
  margin: 0;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.35;
}
.wea365-tenant-switcher-control {
  min-width: 0;
}
.wea365-tenant-switcher-control .uk-select {
  width: 100%;
  min-height: 44px;
}
@media (max-width: 639px) {
  .wea365-tenant-switcher-form {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }
}


/* WEA365 0.9.154: report-template workspace is one coherent work surface, never cards inside cards. */
.wea365-report-templates-inner {
  width: 100%;
  min-width: 0;
}
.wea365-report-template-toolbar {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  padding: 0 0 22px;
  border-bottom: 1px solid rgba(0,0,0,.10);
}
.wea365-report-template-import-panel {
  padding: 28px 0;
  border-bottom: 1px solid rgba(0,0,0,.10);
}
.wea365-report-template-stat {
  min-height: 72px;
  padding: 14px 16px;
  background: rgba(0,0,0,.035);
  border-left: 3px solid rgba(0,0,0,.14);
  box-sizing: border-box;
}
.wea365-report-template-workspace-grid {
  display: grid;
  grid-template-columns: minmax(270px, 330px) minmax(0, 1fr);
  min-width: 0;
  min-height: 460px;
}
.wea365-report-template-library-pane,
.wea365-report-template-detail-pane {
  min-width: 0;
}
.wea365-report-template-library-pane {
  padding: 30px 32px 30px 0;
  border-right: 1px solid rgba(0,0,0,.10);
}
.wea365-report-template-detail-pane {
  padding: 30px 0 30px 40px;
}
.wea365-report-template-pane-inner,
.wea365-report-template-welcome,
.wea365-report-template-editor-pane {
  min-width: 0;
}
.wea365-report-template-welcome {
  max-width: 760px;
  padding-top: 4px;
}
.wea365-report-template-editor-pane {
  padding: 0;
}
.wea365-report-template-subsection {
  margin-top: 34px;
  padding-top: 28px;
  border-top: 1px solid rgba(0,0,0,.10);
}
.wea365-report-template-list > li > a {
  min-height: 48px;
  padding: 10px 8px;
  align-items: center;
}
.wea365-report-template-list > li.uk-active > a {
  font-weight: 700;
  background: rgba(0,0,0,.045);
}
.wea365-report-template-section {
  margin: 0 0 26px;
  padding: 22px 0 4px;
  border-top: 2px solid rgba(0,0,0,.14);
}
.wea365-report-template-section:first-child {
  border-top-width: 1px;
}
.wea365-report-template-field {
  margin: 0;
  padding: 18px 0;
  border-top: 1px solid rgba(0,0,0,.09);
}
.wea365-report-template-field:first-child {
  border-top: 0;
}
.wea365-report-template-canvas {
  border-bottom: 1px solid rgba(0,0,0,.10);
}
@media (max-width: 959px) {
  .wea365-report-template-workspace-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .wea365-report-template-library-pane {
    padding: 26px 0;
    border-right: 0;
    border-bottom: 1px solid rgba(0,0,0,.10);
  }
  .wea365-report-template-detail-pane {
    padding: 28px 0 8px;
  }
}
@media (max-width: 639px) {
  .wea365-report-template-toolbar {
    justify-content: stretch;
    padding-bottom: 18px;
  }
  .wea365-report-template-toolbar .uk-button {
    width: 100%;
  }
  .wea365-report-template-library-pane,
  .wea365-report-template-detail-pane,
  .wea365-report-template-import-panel {
    padding-left: 0;
    padding-right: 0;
  }
  .wea365-report-template-subsection {
    margin-top: 28px;
    padding-top: 24px;
  }
  .wea365-report-template-section {
    padding-top: 18px;
  }
  .wea365-report-template-field {
    padding: 16px 0;
  }
}

/* Notification hierarchy: event first, supporting context second. */
.wea365-notification-title {
  margin: 0;
  font-size: 1.02rem !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}
.wea365-notification-title a {
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
}
.wea365-notification-detail {
  font-size: .86rem !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  color: #667085 !important;
}


/* WEA365 0.9.260: direct-action icons keep their natural width. */
.wea365-app .wea365-direct-action > span:first-child,
.wea365-ui .wea365-direct-action > span:first-child {
  flex: 0 0 auto;
}

/* 0.8.78 / package 0.9.269: technician dashboard priority hierarchy, full-width unplanned start, tenant-card consistency. */
.wea365-ui .wea365-maintenance-tabs > .uk-active > a .uk-badge,
.wea365-app .wea365-maintenance-tabs > .uk-active > a .uk-badge {
  border-color: #2b5aa5 !important;
  background: #2b5aa5 !important;
  color: var(--wea365-color-white) !important;
  opacity: 1 !important;
}

.wea365-assignment-section-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.wea365-assignment-task-hub,
.wea365-assignment-schedule-section,
.wea365-assignment-unplanned {
  min-width: 0;
}

.wea365-assignment-task-group + .wea365-assignment-task-group {
  margin-top: 26px;
}

.wea365-assignment-subheading {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 10px;
  color: #1f2933;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .025em;
  text-transform: uppercase;
}

.wea365-assignment-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border: 1px solid rgba(43, 90, 165, .18);
  border-radius: 999px;
  background: #e5edf5;
  color: #244c70;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
}

.wea365-assignment-task-list,
.wea365-assignment-schedule-list,
.wea365-assignment-turbine-list {
  border-top: 1px solid rgba(31, 41, 51, .16);
}

.wea365-assignment-task-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
  min-width: 0;
  padding: 14px 0;
  border-bottom: 1px solid rgba(31, 41, 51, .16);
}

.wea365-assignment-task-main,
.wea365-assignment-task-actions {
  min-width: 0;
}

.wea365-assignment-task-titleline {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px 10px;
  min-width: 0;
}

.wea365-assignment-task-titleline > strong {
  font-size: 15px;
}

.wea365-assignment-task-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 10px;
  margin-top: 5px;
  color: rgba(31, 41, 51, .68);
  font-size: 13px;
  line-height: 1.35;
}

.wea365-assignment-task-meta > span + span::before {
  content: "·";
  margin-right: 10px;
  color: rgba(31, 41, 51, .35);
}

.wea365-assignment-task-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}

.wea365-assignment-task-actions form {
  margin: 0;
}

.wea365-assignment-task-actions .uk-button {
  min-height: 44px;
}

.wea365-assignment-schedule-list {
  margin-top: 4px;
}

.wea365-assignment-schedule-row {
  display: grid;
  grid-template-columns: minmax(150px, 190px) minmax(260px, 1fr) minmax(108px, 138px) minmax(190px, 250px);
  gap: 18px;
  align-items: center;
  min-width: 0;
  padding: 16px 0;
  border-bottom: 1px solid rgba(31, 41, 51, .16);
}

.wea365-assignment-schedule-time,
.wea365-assignment-schedule-main,
.wea365-assignment-schedule-role,
.wea365-assignment-schedule-actions {
  min-width: 0;
}

.wea365-assignment-schedule-time,
.wea365-assignment-schedule-main {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.wea365-assignment-schedule-time > strong,
.wea365-assignment-schedule-turbine {
  color: #1f2933;
  font-size: 15px;
  line-height: 1.3;
}

.wea365-assignment-schedule-time > span,
.wea365-assignment-schedule-location,
.wea365-assignment-schedule-instructions {
  color: rgba(31, 41, 51, .65);
  font-size: 13px;
  line-height: 1.35;
}

.wea365-assignment-schedule-service {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 8px;
  margin-top: 4px;
  font-size: 13px;
  line-height: 1.35;
}

.wea365-assignment-order-number {
  color: rgba(31, 41, 51, .68);
}

.wea365-assignment-order-number::before {
  content: "·";
  margin-right: 8px;
  color: rgba(31, 41, 51, .35);
}

.wea365-assignment-role-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 8px;
  border-radius: 4px;
  background: rgba(31, 41, 51, .06);
  color: rgba(31, 41, 51, .7);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
}

.wea365-assignment-role-badge.is-lead {
  background: rgba(56, 140, 91, .12);
  color: #2f714d;
}

.wea365-assignment-schedule-actions {
  display: grid;
  gap: 8px;
}

.wea365-assignment-service-action {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.wea365-assignment-service-action-name {
  overflow-wrap: anywhere;
  color: rgba(31, 41, 51, .76);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
}

.wea365-assignment-service-action form {
  margin: 0;
}

.wea365-assignment-service-action .uk-button {
  min-width: 108px;
  min-height: 44px;
}

.wea365-assignment-overdue {
  margin: 0 0 24px;
  padding: 16px 18px 4px;
  border: 1px solid rgba(211, 78, 94, .34);
  border-left: 5px solid #d34e5e;
  border-radius: 6px;
  background: rgba(211, 78, 94, .055);
}

.wea365-assignment-overdue-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 8px;
}

.wea365-assignment-overdue-header h3 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  color: #7e2834;
  font-weight: 800;
}

.wea365-assignment-overdue .wea365-assignment-count {
  border-color: rgba(211, 78, 94, .28);
  background: #d34e5e;
  color: var(--wea365-color-white);
}

.wea365-assignment-overdue > .wea365-assignment-schedule-list {
  margin-top: 10px;
}

.wea365-assignment-schedule-row.is-overdue {
  margin-right: -8px;
  margin-left: -8px;
  padding-right: 8px;
  padding-left: 8px;
  background: rgba(211, 78, 94, .025);
}

.wea365-assignment-overdue-badge {
  align-self: flex-start;
  margin-bottom: 3px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .035em;
}

.wea365-assignment-current-list {
  margin-top: 18px;
}

.wea365-assignment-unplanned-form {
  display: grid;
  grid-template-columns: minmax(240px, 1.2fr) minmax(220px, 1fr) auto;
  gap: 12px;
  align-items: end;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  padding: 18px;
  border: 1px solid rgba(31, 41, 51, .14);
  border-radius: 6px;
  background: rgba(48, 79, 108, .025);
}

.wea365-assignment-unplanned-form .uk-select,
.wea365-assignment-unplanned-form .uk-input,
.wea365-assignment-unplanned-form .uk-button {
  min-height: 46px;
}

.wea365-assignment-unplanned-action {
  display: flex;
}

.wea365-assignment-turbine-explorer {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  margin-top: 14px;
  border: 1px solid rgba(31, 41, 51, .14);
  border-radius: 6px;
}

.wea365-assignment-turbine-explorer > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 46px;
  padding: 0 14px;
  cursor: pointer;
  color: #244c70;
  font-size: 13px;
  font-weight: 700;
  list-style: none;
}

.wea365-assignment-turbine-explorer > summary::-webkit-details-marker {
  display: none;
}

.wea365-assignment-turbine-explorer[open] > summary [uk-icon] {
  transform: rotate(180deg);
}

.wea365-assignment-turbine-list {
  margin: 0 14px 12px;
}

.wea365-assignment-turbine-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  min-width: 0;
  padding: 12px 0;
  border-bottom: 1px solid rgba(31, 41, 51, .13);
}

.wea365-assignment-turbine-row-main {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 3px 10px;
  min-width: 0;
}

.wea365-assignment-turbine-row-main > strong {
  font-size: 14px;
}

.wea365-assignment-turbine-row-main > span {
  color: rgba(31, 41, 51, .65);
  font-size: 12px;
}

.wea365-assignment-turbine-open-reports {
  color: #805815 !important;
  font-weight: 700;
}

.wea365-maintenance-order-filter {
  margin-top: 18px;
  margin-bottom: 20px;
}

@media (max-width: 1199px) {
  .wea365-assignment-schedule-row {
    grid-template-columns: minmax(145px, 180px) minmax(230px, 1fr) minmax(180px, 230px);
  }
  .wea365-assignment-schedule-role {
    grid-column: 2;
    grid-row: 2;
  }
  .wea365-assignment-schedule-actions {
    grid-column: 3;
    grid-row: 1 / span 2;
  }
}

@media (max-width: 799px) {
  .wea365-assignment-task-row,
  .wea365-assignment-schedule-row,
  .wea365-assignment-turbine-row {
    grid-template-columns: 1fr;
  }
  .wea365-assignment-task-actions {
    justify-content: flex-start;
  }
  .wea365-assignment-schedule-role,
  .wea365-assignment-schedule-actions {
    grid-column: auto;
    grid-row: auto;
  }
  .wea365-assignment-service-action {
    grid-template-columns: minmax(0, 1fr) minmax(108px, auto);
  }
  .wea365-assignment-unplanned-form {
    grid-template-columns: 1fr;
  }
  .wea365-assignment-unplanned-action .uk-button {
    width: 100%;
  }
  .wea365-assignment-turbine-row .uk-button {
    width: 100%;
  }
}

@media (max-width: 479px) {
  .wea365-assignment-task-actions,
  .wea365-assignment-task-actions form,
  .wea365-assignment-task-actions .uk-button {
    width: 100%;
  }
  .wea365-assignment-service-action {
    grid-template-columns: 1fr;
  }
  .wea365-assignment-service-action .uk-button,
  .wea365-assignment-service-action form {
    width: 100%;
  }
  .wea365-assignment-unplanned-form {
    padding: 14px;
  }
}

/* 0.8.79 / package 0.9.270: clearer technician task hierarchy and roomier planned-assignment actions. */
.wea365-assignment-task-turbine {
  color: #1f2933;
  font-weight: 800;
}

@media (min-width: 1200px) {
  .wea365-assignment-schedule-row {
    grid-template-columns: minmax(160px, 190px) minmax(300px, 1fr) minmax(120px, 150px) minmax(260px, 340px);
    gap: 20px;
  }

  .wea365-assignment-service-action {
    grid-template-columns: minmax(110px, 1fr) auto;
    gap: 12px;
  }

  .wea365-assignment-service-action-name {
    overflow-wrap: normal;
    word-break: normal;
    hyphens: auto;
  }
}


/* WEA365 0.9.271: canonical shared design language.
   Shared primitives use one token set across component fallback views and
   YOOtheme bridge elements. Specialized controls may vary in layout/scale,
   but not invent their own typography, role colours or semantic status colours. */
.wea365-app,
.wea365-ui {
  --wea365-ds-font: inherit;
  --wea365-ds-text: var(--wea365-color-text);
  --wea365-ds-heading: var(--wea365-color-heading);
  --wea365-ds-muted: var(--wea365-color-muted);
  --wea365-ds-primary: var(--wea365-color-primary);
  --wea365-ds-primary-strong: var(--wea365-color-primary-strong);
  --wea365-ds-primary-soft: #e9f2fa;
  --wea365-ds-primary-soft-border: #c7d8e7;
  --wea365-ds-border: var(--wea365-color-border);
  --wea365-ds-surface: var(--wea365-color-white);
  --wea365-ds-surface-muted: #f5f7f9;
  --wea365-ds-neutral-soft: #eef2f5;
  --wea365-ds-neutral: #52606d;
  --wea365-ds-success: #4caf7d;
  --wea365-ds-success-soft: #e8f4ed;
  --wea365-ds-success-ink: #2f714d;
  --wea365-ds-warning: #f2b94b;
  --wea365-ds-warning-soft: #fff6df;
  --wea365-ds-warning-ink: #5b430f;
  --wea365-ds-danger: var(--wea365-color-danger);
  --wea365-ds-danger-soft: #fff0f3;
  --wea365-ds-danger-ink: #9f3043;
  --wea365-ds-font-control: .8125rem;
  --wea365-ds-font-meta: .8125rem;
  --wea365-ds-font-label: .75rem;
  --wea365-ds-font-chip: .6875rem;
  --wea365-ds-weight-medium: 600;
  --wea365-ds-weight-strong: 700;
  --wea365-ds-radius-control: 2px;
  --wea365-ds-radius-chip: 3px;
  --wea365-ds-chip-height: 24px;
}

/* Typography: YOOtheme remains the font-family source of truth. */
.wea365-app .uk-button,
.wea365-ui .uk-button,
.wea365-app .uk-input,
.wea365-ui .uk-input,
.wea365-app .uk-select,
.wea365-ui .uk-select,
.wea365-app .uk-textarea,
.wea365-ui .uk-textarea,
.wea365-app .uk-form-label,
.wea365-ui .uk-form-label,
.wea365-app .uk-label,
.wea365-ui .uk-label,
.wea365-app .uk-badge,
.wea365-ui .uk-badge {
  font-family: var(--wea365-ds-font) !important;
}

.wea365-app .uk-button,
.wea365-ui .uk-button {
  border-radius: var(--wea365-ds-radius-control) !important;
  font-size: var(--wea365-ds-font-control) !important;
  font-weight: var(--wea365-ds-weight-strong) !important;
  letter-spacing: .01em;
}

.wea365-app .uk-input,
.wea365-ui .uk-input,
.wea365-app .uk-select,
.wea365-ui .uk-select,
.wea365-app .uk-textarea,
.wea365-ui .uk-textarea {
  border-radius: var(--wea365-ds-radius-control) !important;
  font-size: .875rem;
  font-weight: 400;
}

.wea365-app .uk-form-label,
.wea365-ui .uk-form-label {
  font-size: var(--wea365-ds-font-label);
  font-weight: var(--wea365-ds-weight-medium);
  line-height: 1.35;
}

.wea365-app .uk-text-meta,
.wea365-ui .uk-text-meta,
.wea365-app .uk-text-muted,
.wea365-ui .uk-text-muted,
.wea365-app .text-muted,
.wea365-ui .text-muted {
  font-size: var(--wea365-ds-font-meta);
  line-height: 1.4;
}

/* Repeated structural field labels use one typographic hierarchy. */
.wea365-app .wea365-card-field-label,
.wea365-ui .wea365-card-field-label,
.wea365-app .wea365-maintenance-order-card-label,
.wea365-ui .wea365-maintenance-order-card-label,
.wea365-app .wea365-detail-grid-label,
.wea365-ui .wea365-detail-grid-label,
.wea365-app .wea365-turbine-row-label,
.wea365-ui .wea365-turbine-row-label,
.wea365-app .wea365-assignment-start-kicker,
.wea365-ui .wea365-assignment-start-kicker {
  font-size: var(--wea365-ds-font-chip) !important;
  font-weight: var(--wea365-ds-weight-strong) !important;
  line-height: 1.25 !important;
  letter-spacing: .045em !important;
  text-transform: uppercase;
}

/* Semantic status labels are one family everywhere. */
.wea365-app .uk-label,
.wea365-ui .uk-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--wea365-ds-chip-height);
  padding: 3px 8px;
  border: 1px solid transparent;
  border-radius: var(--wea365-ds-radius-chip) !important;
  background-color: var(--wea365-ds-primary) !important;
  color: var(--wea365-color-white) !important;
  font-size: var(--wea365-ds-font-chip) !important;
  font-weight: var(--wea365-ds-weight-strong) !important;
  line-height: 1.15 !important;
  letter-spacing: .025em;
  text-transform: uppercase;
}

.wea365-app .uk-label-success,
.wea365-ui .uk-label-success {
  background-color: var(--wea365-ds-success) !important;
  color: var(--wea365-color-white) !important;
}
.wea365-app .uk-label-warning,
.wea365-ui .uk-label-warning {
  background-color: var(--wea365-ds-warning) !important;
  color: var(--wea365-ds-warning-ink) !important;
}
.wea365-app .uk-label-danger,
.wea365-ui .uk-label-danger {
  background-color: var(--wea365-ds-danger) !important;
  color: var(--wea365-color-white) !important;
}

/* Numeric badges are counters, not status labels. */
.wea365-app .uk-badge,
.wea365-ui .uk-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border: 1px solid rgba(79,127,170,.22);
  border-radius: 999px !important;
  background-color: var(--wea365-ds-primary-soft) !important;
  color: var(--wea365-ds-primary-strong) !important;
  font-size: var(--wea365-ds-font-chip) !important;
  font-weight: var(--wea365-ds-weight-strong) !important;
  line-height: 1 !important;
}

/* Tabs deliberately invert only the active counter. */
.wea365-app .wea365-maintenance-tabs > li.uk-active > a .uk-badge,
.wea365-ui .wea365-maintenance-tabs > li.uk-active > a .uk-badge {
  border-color: var(--wea365-ds-primary) !important;
  background-color: var(--wea365-ds-primary) !important;
  color: var(--wea365-color-white) !important;
}

/* Roles are not success states. All lead/member role chips share one blue/neutral language. */
.wea365-app .wea365-maintenance-lead-badge,
.wea365-ui .wea365-maintenance-lead-badge,
.wea365-app .wea365-assignment-role-badge,
.wea365-ui .wea365-assignment-role-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--wea365-ds-chip-height);
  padding: 3px 8px;
  border: 1px solid #dbe2e8 !important;
  border-radius: var(--wea365-ds-radius-chip) !important;
  background: var(--wea365-ds-neutral-soft) !important;
  color: var(--wea365-ds-neutral) !important;
  font-size: var(--wea365-ds-font-chip) !important;
  font-weight: var(--wea365-ds-weight-strong) !important;
  line-height: 1.15 !important;
  letter-spacing: .025em;
  text-transform: uppercase;
  white-space: nowrap;
}

.wea365-app .wea365-maintenance-lead-badge,
.wea365-ui .wea365-maintenance-lead-badge,
.wea365-app .wea365-assignment-role-badge.is-lead,
.wea365-ui .wea365-assignment-role-badge.is-lead {
  border-color: var(--wea365-ds-primary-soft-border) !important;
  background: var(--wea365-ds-primary-soft) !important;
  color: var(--wea365-ds-primary-strong) !important;
}

/* Action dropdowns use the same text hierarchy as other controls. */
.wea365-app .wea365-action-dropdown .uk-dropdown-nav > li > a,
.wea365-ui .wea365-action-dropdown .uk-dropdown-nav > li > a,
.wea365-app .wea365-action-dropdown .wea365-dropdown-action,
.wea365-ui .wea365-action-dropdown .wea365-dropdown-action {
  font-size: .875rem !important;
  font-weight: var(--wea365-ds-weight-medium);
  line-height: 1.35 !important;
}

/* WEA365 0.9.273: page-header subtitle selector fix plus cohesive assignment action blocks.
   Binding UI rule: repeated actions that belong to one assignment are presented as
   self-contained action units. The action label and its control stay visually and
   semantically together; on narrow screens each unit stacks and the control spans
   the available width. Page-header subtitles remain theme-aware but are never tiny
   low-contrast meta copy. */
.wea365-app .wea365-page-header .uk-text-meta,
.wea365-page-header.wea365-ui .uk-text-meta,
.wea365-ui .wea365-page-header .uk-text-meta {
  margin-top: 9px !important;
  margin-bottom: 0 !important;
  color: inherit !important;
  opacity: 1 !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  letter-spacing: .005em;
}

/* Dark YOOtheme card surfaces need an explicit high-contrast subtitle.
   The page-header element itself carries both wea365-ui and the card class,
   so this selector intentionally targets the same node rather than a descendant. */
.wea365-page-header.wea365-ui.uk-card-primary .uk-text-meta,
.wea365-page-header.wea365-ui.uk-card-secondary .uk-text-meta,
.wea365-page-header.wea365-ui.uk-light .uk-text-meta {
  color: rgba(255, 255, 255, .96) !important;
}

.wea365-app .wea365-assignment-schedule-actions,
.wea365-ui .wea365-assignment-schedule-actions {
  display: grid;
  gap: 9px;
  min-width: 0;
}

.wea365-app .wea365-assignment-service-action,
.wea365-ui .wea365-assignment-service-action {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 132px;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 8px 9px;
  border: 1px solid var(--wea365-ds-border, var(--wea365-color-border));
  border-radius: 4px;
  background: rgba(255, 255, 255, .74);
  box-sizing: border-box;
}

.wea365-app .wea365-assignment-service-action-name,
.wea365-ui .wea365-assignment-service-action-name {
  min-width: 0;
  color: var(--wea365-ds-heading, var(--wea365-color-heading));
  font-size: .8125rem;
  font-weight: 700;
  line-height: 1.3;
  overflow-wrap: break-word;
}

.wea365-app .wea365-assignment-service-action form,
.wea365-ui .wea365-assignment-service-action form,
.wea365-app .wea365-assignment-service-action .uk-button,
.wea365-ui .wea365-assignment-service-action .uk-button {
  width: 100%;
  min-width: 0;
  margin: 0;
}

@media (max-width: 799px) {
  .wea365-app .wea365-page-header .uk-text-meta,
  .wea365-page-header.wea365-ui .uk-text-meta,
  .wea365-ui .wea365-page-header .uk-text-meta {
    font-size: .9375rem !important;
    line-height: 1.5 !important;
  }

  .wea365-app .wea365-assignment-schedule-actions,
  .wea365-ui .wea365-assignment-schedule-actions {
    gap: 10px;
    width: 100%;
  }

  .wea365-app .wea365-assignment-service-action,
  .wea365-ui .wea365-assignment-service-action {
    grid-template-columns: 1fr;
    gap: 7px;
    width: 100%;
    padding: 10px;
  }

  .wea365-app .wea365-assignment-service-action-name,
  .wea365-ui .wea365-assignment-service-action-name {
    font-size: .8125rem;
  }

  .wea365-app .wea365-assignment-service-action form,
  .wea365-ui .wea365-assignment-service-action form,
  .wea365-app .wea365-assignment-service-action .uk-button,
  .wea365-ui .wea365-assignment-service-action .uk-button {
    width: 100%;
  }
}


/* WEA365 0.9.288: standalone rejection notice for the work-report builder.
   This is deliberately not part of the page header. It uses a quiet warning
   surface with dark ink so the reason stays legible regardless of the header
   card colour selected in YOOtheme. */
.wea365-ui .wea365-workreport-rejection-panel,
.wea365-app .wea365-workreport-rejection-panel {
  box-sizing: border-box;
  width: 100%;
  padding: 20px 22px;
  border: 1px solid #e5d7b4;
  border-left: 4px solid var(--wea365-ds-warning, #f2b94b);
  border-radius: 3px;
  background: var(--wea365-ds-warning-soft, #fff6df);
  color: var(--wea365-ds-text, var(--wea365-color-text));
}

.wea365-ui .wea365-workreport-rejection-title,
.wea365-app .wea365-workreport-rejection-title {
  margin: 0;
  color: var(--wea365-ds-heading, var(--wea365-color-heading)) !important;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.35;
}

.wea365-ui .wea365-workreport-rejection-meta,
.wea365-app .wea365-workreport-rejection-meta {
  margin: 7px 0 0;
  color: var(--wea365-ds-neutral, #52606d) !important;
  font-size: .875rem;
  line-height: 1.45;
}

.wea365-ui .wea365-workreport-rejection-reason,
.wea365-app .wea365-workreport-rejection-reason {
  margin-top: 16px;
  padding: 14px 16px;
  border: 1px solid #eadfc5;
  border-radius: 2px;
  background: var(--wea365-color-white);
  color: var(--wea365-ds-text, var(--wea365-color-text)) !important;
}

.wea365-ui .wea365-workreport-rejection-label,
.wea365-app .wea365-workreport-rejection-label {
  margin-bottom: 5px;
  color: var(--wea365-ds-heading, var(--wea365-color-heading)) !important;
  font-size: .75rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .025em;
  text-transform: uppercase;
}

.wea365-ui .wea365-workreport-rejection-text,
.wea365-app .wea365-workreport-rejection-text {
  color: var(--wea365-ds-heading, var(--wea365-color-heading)) !important;
  font-size: .9375rem;
  font-weight: 500;
  line-height: 1.55;
}

@media (max-width: 639px) {
  .wea365-ui .wea365-workreport-rejection-panel,
  .wea365-app .wea365-workreport-rejection-panel {
    padding: 16px;
  }

  .wea365-ui .wea365-workreport-rejection-reason,
  .wea365-app .wea365-workreport-rejection-reason {
    padding: 12px 13px;
  }
}

/* WEA365 0.8.95 / pkg 0.9.292: calm, unambiguous reviewer decision area. */
.wea365-ui .wea365-review-decision-grid,
.wea365-app .wea365-review-decision-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 20px;
}

.wea365-ui .wea365-review-decision-card,
.wea365-app .wea365-review-decision-card {
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--wea365-ds-border, var(--wea365-color-border));
  border-radius: 3px;
  background: var(--wea365-color-white);
  box-sizing: border-box;
}

.wea365-ui .wea365-review-decision-card-approve,
.wea365-app .wea365-review-decision-card-approve {
  border-top: 3px solid var(--wea365-ds-primary, var(--wea365-color-primary));
}

.wea365-ui .wea365-review-decision-card-reject,
.wea365-app .wea365-review-decision-card-reject {
  border-top: 3px solid var(--wea365-ds-danger, var(--wea365-color-danger));
}

.wea365-ui .wea365-review-decision-card .wea365-signature-form,
.wea365-app .wea365-review-decision-card .wea365-signature-form {
  margin-top: 0;
}

.wea365-ui .wea365-review-decision-card .wea365-signature-canvas-wrap,
.wea365-app .wea365-review-decision-card .wea365-signature-canvas-wrap {
  max-width: none;
}

.wea365-ui .wea365-review-decision-actions,
.wea365-app .wea365-review-decision-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
}

.wea365-ui .wea365-review-release,
.wea365-app .wea365-review-release {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 22px;
  padding: 14px 16px;
  border: 1px solid var(--wea365-ds-border, var(--wea365-color-border));
  border-radius: 3px;
  background: var(--wea365-ds-neutral-soft, #f5f7f9);
}

.wea365-ui .wea365-review-release > div,
.wea365-app .wea365-review-release > div {
  min-width: 0;
}

.wea365-ui .wea365-review-release form,
.wea365-app .wea365-review-release form {
  flex: 0 0 auto;
  margin: 0;
}

@media (max-width: 959px) {
  .wea365-ui .wea365-review-decision-grid,
  .wea365-app .wea365-review-decision-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 639px) {
  .wea365-ui .wea365-review-decision-card,
  .wea365-app .wea365-review-decision-card {
    padding: 16px;
  }

  .wea365-ui .wea365-review-decision-actions,
  .wea365-app .wea365-review-decision-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .wea365-ui .wea365-review-decision-actions .uk-button,
  .wea365-app .wea365-review-decision-actions .uk-button,
  .wea365-ui .wea365-review-decision-card-reject .uk-button,
  .wea365-app .wea365-review-decision-card-reject .uk-button,
  .wea365-ui .wea365-review-release .uk-button,
  .wea365-app .wea365-review-release .uk-button {
    width: 100%;
  }

  .wea365-ui .wea365-review-release,
  .wea365-app .wea365-review-release {
    align-items: stretch;
    flex-direction: column;
  }

  .wea365-ui .wea365-review-release form,
  .wea365-app .wea365-review-release form {
    width: 100%;
  }
}

/* WEA365 0.8.96 / pkg 0.9.293: report-review return action must stay legible on the primary button. */
.wea365-app a.uk-button-primary.wea365-review-back-button,
.wea365-ui a.uk-button-primary.wea365-review-back-button,
.wea365-app a.uk-button-primary.wea365-review-back-button:hover,
.wea365-ui a.uk-button-primary.wea365-review-back-button:hover,
.wea365-app a.uk-button-primary.wea365-review-back-button:focus,
.wea365-ui a.uk-button-primary.wea365-review-back-button:focus,
.wea365-app a.uk-button-primary.wea365-review-back-button *,
.wea365-ui a.uk-button-primary.wea365-review-back-button * {
  color: var(--wea365-color-white) !important;
}


/* WEA365 0.9.318: explicit editing-session controls. */
.wea365-edit-session-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px 18px;
  align-items: center;
  padding: 15px 16px;
  border: 1px solid rgba(37, 112, 79, .20);
  border-left: 4px solid #62a483;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(232, 246, 238, .88), rgba(255, 255, 255, .98));
  box-shadow: 0 5px 16px rgba(26, 63, 48, .06);
}
.wea365-edit-session-copy { min-width: 0; }
.wea365-edit-session-eyebrow {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 4px;
  color: #256d4f;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.wea365-edit-session-eyebrow [uk-icon] { flex: 0 0 auto; }
.wea365-edit-session-owned { color: #18354d; font-weight: 650; line-height: 1.42; }
.wea365-edit-session-card .uk-text-meta { color: #63788a; }
.wea365-edit-session-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 8px 12px;
}
.wea365-edit-session-actions .uk-button { min-height: 44px; }
.wea365-edit-session-actions .wea365-edit-session-handoff {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 0;
}
.wea365-edit-session-card-bottom {
  margin-bottom: 0;
  border-left-width: 1px;
  background: linear-gradient(135deg, rgba(241, 248, 245, .92), rgba(255, 255, 255, .99));
  box-shadow: none;
}
.wea365-edit-session-warning {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px 16px;
  align-items: center;
  padding: 13px 14px;
  border: 1px solid rgba(183, 128, 35, .28);
  border-radius: 8px;
  background: #fff8e8;
}
.wea365-edit-session-warning[hidden] { display: none !important; }
.wea365-edit-session-warning-copy { display: flex; align-items: flex-start; gap: 10px; min-width: 0; color: #62450d; }
.wea365-edit-session-warning-copy > [uk-icon] { flex: 0 0 auto; margin-top: 1px; }
.wea365-edit-session-warning-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.wea365-edit-session-warning-actions .uk-button { min-height: 44px; }
@media (max-width: 767px) {
  .wea365-edit-session-card,
  .wea365-edit-session-warning { grid-template-columns: 1fr; }
  .wea365-edit-session-actions,
  .wea365-edit-session-warning-actions { justify-content: stretch; width: 100%; }
  .wea365-edit-session-actions .uk-button,
  .wea365-edit-session-warning-actions .uk-button { width: 100%; justify-content: center; }
  .wea365-edit-session-actions .wea365-edit-session-handoff { min-height: 44px; }
}


/* WEA365 0.9.319: resilient offline "Bearbeitung beenden" state. */
.wea365-edit-session-ending-offline {
  border-color: #ead9aa;
  background: linear-gradient(135deg, #fffdf7 0%, #fff9e9 100%);
}
.wea365-edit-session-ending-offline .wea365-edit-session-eyebrow {
  color: #775615;
}
.wea365-edit-session-ending-dot {
  display: inline-block;
  flex: 0 0 auto;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #d8a333;
  box-shadow: 0 0 0 4px rgba(216, 163, 51, .13);
}
.wea365-edit-session-ending-wait {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  min-height: 44px;
  color: #6b5a35;
  font-size: 13px;
  font-weight: 650;
}
.wea365-edit-session-ending-spinner {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  border: 2px solid rgba(119, 86, 21, .28);
  border-right-color: #9a7425;
  border-radius: 50%;
  animation: wea365-ending-spin 1s linear infinite;
}
[data-wea365-workreport-form][data-wea365-editing-ended-offline="1"] {
  opacity: .72;
}
@keyframes wea365-ending-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .wea365-edit-session-ending-spinner { animation: none; }
}
@media (max-width: 720px) {
  .wea365-edit-session-ending-wait {
    justify-content: flex-start;
    width: 100%;
  }
}

/* WEA365 0.9.322 / bridge 0.8.130: lock actions must always read as real buttons. */
[data-wea365-workreport-lock-banner] .uk-button,
[data-wea365-workreport-takeover-lock] {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* WEA365 0.9.322 / bridge 0.8.130: recovery UI for superseded offline edit sessions. */
.wea365-recovery-offcanvas { width: min(520px, 92vw); max-width: 92vw; padding: 28px; }
.wea365-recovery-conflict-card { margin: 18px 0; padding: 18px; border: 1px solid rgba(255,255,255,.18); border-radius: 12px; background: rgba(255,255,255,.06); }
.wea365-recovery-conflict-title { margin-bottom: 12px; font-weight: 700; line-height: 1.35; }
.wea365-recovery-values { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 10px; }
.wea365-recovery-value { min-width: 0; padding: 12px; border: 1px solid rgba(255,255,255,.14); border-radius: 9px; overflow-wrap: anywhere; }
.wea365-recovery-value strong { display: block; margin-bottom: 5px; font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; }
.wea365-recovery-choice-actions, .wea365-recovery-footer { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.wea365-recovery-choice-actions .uk-button, .wea365-recovery-footer .uk-button { min-height: 44px; white-space: normal; }
.wea365-recovery-footer { position: sticky; bottom: -28px; margin: 24px -28px -28px; padding: 16px 28px 22px; background: inherit; border-top: 1px solid rgba(255,255,255,.16); }
@media (max-width: 639px) {
  .wea365-recovery-offcanvas { padding: 22px 18px; }
  .wea365-recovery-values { grid-template-columns: 1fr; }
  .wea365-recovery-choice-actions, .wea365-recovery-footer { flex-direction: column; }
  .wea365-recovery-choice-actions .uk-button, .wea365-recovery-footer .uk-button { width: 100%; }
  .wea365-recovery-footer { bottom: -22px; margin: 22px -18px -22px; padding: 14px 18px 18px; }
}

/* WEA365 package version label for placement below the logo in the YOOtheme header. */
.wea365-version-label {
    font-size: 10px;
    line-height: 1.2;
    letter-spacing: .02em;
    opacity: .68;
}


/* 0.8.138: the version module is a sibling of the YOOtheme logo. Its module
   wrapper must not become the containing block for the absolutely positioned
   label; otherwise "left: 0" means "left edge of the module beside the logo".
   Flatten that wrapper so the navbar group itself is the containing block. */
@supports selector(:has(*)) {
    .tm-header .uk-navbar-left:has(.wea365-version-label),
    .tm-header-mobile .uk-navbar-left:has(.wea365-version-label),
    .tm-header .uk-navbar-center:has(.wea365-version-label),
    .tm-header-mobile .uk-navbar-center:has(.wea365-version-label),
    .tm-header .uk-navbar-right:has(.wea365-version-label),
    .tm-header-mobile .uk-navbar-right:has(.wea365-version-label) {
        position: relative !important;
    }

    .tm-header .uk-navbar-left > *:has(.wea365-version-label),
    .tm-header-mobile .uk-navbar-left > *:has(.wea365-version-label),
    .tm-header .uk-navbar-center > *:has(.wea365-version-label),
    .tm-header-mobile .uk-navbar-center > *:has(.wea365-version-label),
    .tm-header .uk-navbar-right > *:has(.wea365-version-label),
    .tm-header-mobile .uk-navbar-right > *:has(.wea365-version-label) {
        display: contents !important;
        position: static !important;
    }

    .tm-header .uk-navbar-left:has(.wea365-version-label) .wea365-version-label,
    .tm-header-mobile .uk-navbar-left:has(.wea365-version-label) .wea365-version-label {
        position: absolute !important;
        left: 0 !important;
        bottom: 4px !important;
        margin: 0 !important;
        z-index: 2;
    }

    .tm-header .uk-navbar-center:has(.wea365-version-label) .wea365-version-label,
    .tm-header-mobile .uk-navbar-center:has(.wea365-version-label) .wea365-version-label {
        position: absolute !important;
        left: 50% !important;
        bottom: 4px !important;
        margin: 0 !important;
        transform: translateX(-50%) !important;
        z-index: 2;
    }

    .tm-header .uk-navbar-right:has(.wea365-version-label) .wea365-version-label,
    .tm-header-mobile .uk-navbar-right:has(.wea365-version-label) .wea365-version-label {
        position: absolute !important;
        right: 0 !important;
        bottom: 4px !important;
        margin: 0 !important;
        z-index: 2;
    }
}

/* 0.8.139: mobile header. The YOOtheme logo and the version module share one
   navbar group. Treat only a group that contains BOTH a real logo and the
   WEA365 version label as a two-row stack. This avoids touching unrelated
   mobile toggle/navigation groups. The module wrapper is already flattened by
   the 0.8.138 rule above. */
@media (max-width: 959px) {
  @supports selector(:has(*)) {
    .tm-header-mobile .uk-navbar-left:has(.uk-logo):has(.wea365-version-label),
    .tm-header-mobile .uk-navbar-center:has(.uk-logo):has(.wea365-version-label),
    .tm-header-mobile .uk-navbar-right:has(.uk-logo):has(.wea365-version-label) {
      display: grid !important;
      grid-template-columns: max-content !important;
      grid-template-rows: auto auto !important;
      justify-items: center !important;
      align-content: center !important;
      column-gap: 0 !important;
      row-gap: 2px !important;
    }

    .tm-header-mobile .uk-navbar-left:has(.uk-logo):has(.wea365-version-label) .wea365-version-label,
    .tm-header-mobile .uk-navbar-center:has(.uk-logo):has(.wea365-version-label) .wea365-version-label,
    .tm-header-mobile .uk-navbar-right:has(.uk-logo):has(.wea365-version-label) .wea365-version-label {
      position: static !important;
      grid-column: 1 !important;
      grid-row: 2 !important;
      justify-self: center !important;
      transform: none !important;
      margin: 0 !important;
      white-space: nowrap;
    }
  }
}
