/*
 * WEA365 core portal stylesheet.
 * Shared cross-area design tokens live in foundation.css. Keep page-specific
 * rules here or in their dedicated area stylesheet; YOOtheme-only late
 * overrides belong in the bridge contrast.css.
 */
/*
 * 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;
}

.wea365-app {
  min-height: 45vh;
}

.wea365-app .uk-card {
  box-sizing: border-box;
}

.wea365-stat-card,
.wea365-tenant-card {
  height: 100%;
}

.wea365-stat-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid currentColor;
  border-radius: 50%;
  opacity: .55;
  flex: 0 0 auto;
}

.wea365-role-list {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .75rem;
  font-size: .875rem;
}

.wea365-role-list span + span::before {
  content: "·";
  margin-right: .75rem;
  opacity: .5;
}

.wea365-mobile-card {
  height: 100%;
}

.wea365-more-button {
  min-width: 2.25rem;
  min-height: 2.25rem;
  padding: 0;
}

.wea365-dropdown-action {
  width: 100%;
  justify-content: flex-start;
  text-align: left;
  color: inherit;
  text-transform: none;
  line-height: 1.5;
}

.wea365-inline-actions,
.wea365-sidepanel-actions {
  gap: .75rem;
}

.wea365-inline-actions form,
.wea365-dropdown-action form {
  margin: 0;
}

.wea365-empty-state {
  min-height: 9rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.wea365-security-line {
  gap: .5rem;
}

@media (max-width: 639px) {
  .wea365-app .uk-h1 {
    font-size: 2rem;
    line-height: 1.15;
  }

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

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

}

/* Joomla core password field inside the WEA365 invitation form. */
#wea365-account-registration .password-group,
#wea365-account-registration .input-group {
  width: 100%;
}

#wea365-account-registration .input-group {
  display: flex;
  align-items: stretch;
}

#wea365-account-registration .input-group > .form-control {
  flex: 1 1 auto;
  min-width: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

#wea365-account-registration .input-password-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 3rem;
  min-width: 3rem;
  padding: 0;
  border: 1px solid var(--wea365-color-border);
  border-left: 0;
  border-radius: 0 500px 500px 0;
  background: #f5f8fb;
  color: inherit;
  cursor: pointer;
}

#wea365-account-registration .small.text-muted {
  display: block;
  margin-bottom: .45rem;
  font-size: .875rem;
  color: #7b8794;
}

.wea365-contact-row {
  border: 1px solid rgba(0, 0, 0, .08);
  box-shadow: none;
}

.wea365-contact-row [data-wea365-contact-remove] {
  text-transform: none;
}

@media (max-width: 639px) {
  .wea365-contact-row .uk-button-text {
    font-size: .875rem;
  }
}

/* WEA photos */
.wea365-turbine-title-cell {
  gap: .85rem;
}

.wea365-turbine-thumb {
  width: 5rem;
  height: 3.75rem;
  flex: 0 0 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: .25rem;
  background: rgba(0, 0, 0, .035);
  color: rgba(0, 0, 0, .35);
}

.wea365-turbine-thumb img,
.wea365-photo-link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wea365-photo-item {
  min-width: 0;
}

.wea365-photo-link {
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: .25rem;
  background: rgba(0, 0, 0, .035);
}

@media (max-width: 639px) {
  .wea365-turbine-thumb {
    width: 4rem;
    height: 3rem;
    flex-basis: 4rem;
  }
}

/* WEA365 0.8.13: tenant company data, document colors and live preview */
.wea365-branding-logo-stage {
  padding: 1rem;
  border: 1px solid var(--wea365-color-border);
  border-radius: 4px;
  background: #f4f6f8;
}

.wea365-branding-logo-stage-title {
  margin-bottom: .65rem;
  color: var(--wea365-color-muted);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .025em;
  text-transform: uppercase;
}

.wea365-branding-logo-preview {
  position: relative;
  width: min(100%, 440px);
  aspect-ratio: 55 / 18;
  min-height: 0;
  margin: 0 auto;
  padding: 12px 20px;
  box-sizing: border-box;
  overflow: hidden;
  border: 1px solid #cbd4dc;
  border-radius: 2px;
  background-color: var(--wea365-color-white);
  background-image:
    linear-gradient(45deg, rgba(32, 54, 74, .045) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(32, 54, 74, .045) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, rgba(32, 54, 74, .045) 75%),
    linear-gradient(-45deg, transparent 75%, rgba(32, 54, 74, .045) 75%);
  background-position: 0 0, 0 8px, 8px -8px, -8px 0;
  background-size: 16px 16px;
}

.wea365-branding-logo-preview img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}

.wea365-color-field {
  display: grid;
  grid-template-columns: minmax(7rem, 8rem) minmax(0, 1fr);
  gap: .65rem;
  align-items: end;
}

.wea365-color-field > div {
  min-width: 0;
}

.wea365-color-field label {
  display: block;
  margin-bottom: .35rem;
}

.wea365-color-field input[type="color"] {
  width: 100%;
  min-height: 40px;
  padding: .2rem;
  border: 1px solid var(--wea365-color-border);
  border-radius: 3px;
  background: var(--wea365-color-white);
  cursor: pointer;
}

@media (max-width: 639px) {
  .wea365-color-field {
    grid-template-columns: 1fr;
  }
}

.wea365-document-preview-shell {
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  padding: clamp(.5rem, 2vw, 1.25rem);
  overflow: hidden;
  border-radius: 4px;
  background: #e8edf1;
}

.wea365-document-preview-page {
  position: relative;
  width: 100%;
  aspect-ratio: 210 / 297;
  min-width: 0;
  padding: 5.8% 6.5% 5.2%;
  box-sizing: border-box;
  background: var(--wea365-color-white);
  color: #222;
  box-shadow: 0 8px 30px rgba(20, 35, 45, .14);
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(6px, 1vw, 12px);
  line-height: 1.35;
}

.wea365-document-preview-header {
  display: grid;
  grid-template-columns: 31% 1fr;
  gap: 6%;
  align-items: start;
  min-height: 9.5%;
  padding-bottom: 2.6%;
  border-bottom: 2px solid var(--wea365-doc-accent, #B62026);
}

.wea365-document-preview-logo-box {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  aspect-ratio: 55 / 18;
  height: auto;
  overflow: hidden;
}

.wea365-document-preview-logo-box img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: left center;
}

.wea365-document-preview-logo-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 48px;
  border: 1px dashed #aab4bd;
  color: #7c8790;
  font-size: .9em;
}

.wea365-document-preview-title {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .25em;
  color: #4b5560;
  text-align: right;
}

.wea365-document-preview-title strong {
  color: var(--wea365-doc-primary, var(--wea365-color-heading));
  font-size: 2.2em;
  line-height: 1;
}

.wea365-document-preview-company {
  display: flex;
  flex-wrap: wrap;
  gap: .3em 1em;
  margin: 2.2% 0 3.2%;
  padding: 1.4% 1.8%;
  border-left: 4px solid var(--wea365-doc-accent, #B62026);
  background: #f5f7f9;
  color: #4b5560;
}

.wea365-document-preview-company strong {
  flex-basis: 100%;
  color: var(--wea365-doc-primary, var(--wea365-color-heading));
  font-size: 1.08em;
}

.wea365-document-preview-section-title {
  margin: 2.6% 0 1.3%;
  padding-bottom: .55%;
  border-bottom: 1px solid var(--wea365-doc-primary, var(--wea365-color-heading));
  color: var(--wea365-doc-primary, var(--wea365-color-heading));
  font-weight: 700;
  font-size: 1.1em;
}

.wea365-document-preview-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.3em 2.5em;
}

.wea365-document-preview-grid > div,
.wea365-document-preview-row {
  display: grid;
  grid-template-columns: 40% 1fr;
  gap: .4em .8em;
}

.wea365-document-preview-grid small,
.wea365-document-preview-row span {
  color: #6b7280;
}

.wea365-document-preview-table {
  border: 1px solid #d9dee3;
}

.wea365-document-preview-table > div {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
}

.wea365-document-preview-table span {
  padding: .55em .7em;
  border-right: 1px solid #d9dee3;
}

.wea365-document-preview-table span:last-child {
  border-right: 0;
}

.wea365-document-preview-table .is-head {
  background: color-mix(in srgb, var(--wea365-doc-primary, var(--wea365-color-heading)) 10%, white);
  color: var(--wea365-doc-primary, var(--wea365-color-heading));
  font-weight: 700;
}

.wea365-document-preview-text-lines {
  display: grid;
  gap: 1.1em;
  padding-top: .4em;
}

.wea365-document-preview-text-lines span {
  display: block;
  border-bottom: 1px solid #d8dde2;
}

.wea365-document-preview-footer {
  position: absolute;
  right: 6.5%;
  bottom: 2.6%;
  left: 6.5%;
  display: flex;
  justify-content: space-between;
  padding-top: 1.2%;
  border-top: 1px solid #d8dde2;
  color: #7b838a;
  font-size: .85em;
}

@media (max-width: 639px) {
  .wea365-document-preview-shell {
    margin-right: -20px;
    margin-left: -20px;
    width: calc(100% + 40px);
    border-radius: 0;
  }
}

.wea365-signature-list {
  border-top: 1px solid rgba(0, 0, 0, 0.12);
}

.wea365-signature-row {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(220px, 1.4fr) auto;
  gap: 20px;
  align-items: center;
  padding: 16px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}

.wea365-signature-proof img {
  display: block;
  width: min(260px, 100%);
  height: 78px;
  object-fit: contain;
  object-position: left center;
  background: var(--wea365-color-white);
}

.wea365-signature-form {
  margin-top: 28px;
}

.wea365-signature-canvas-wrap {
  display: block;
  position: relative;
  width: 100%;
  max-width: 860px;
  aspect-ratio: 10 / 3;
  min-height: 180px;
  border: 1px solid rgba(32, 54, 74, 0.35);
  background:
    linear-gradient(to bottom, transparent calc(100% - 38px), rgba(32, 54, 74, 0.16) calc(100% - 38px), rgba(32, 54, 74, 0.16) calc(100% - 37px), transparent calc(100% - 37px)),
    var(--wea365-color-white);
  overflow: hidden;
  touch-action: none;
}

.wea365-signature-canvas-wrap canvas {
  display: block !important;
  width: 100%;
  height: 100%;
  cursor: crosshair;
  touch-action: none;
}

@media (max-width: 639px) {
  .wea365-signature-row {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .wea365-signature-canvas-wrap {
    min-height: 150px;
  }
}

.wea365-photo-upload-form {
  --wea365-upload-ink: var(--wea365-color-heading);
  --wea365-upload-muted: #657484;
  --wea365-upload-border: #d7dfe6;
  --wea365-upload-track: #e8edf1;
  --wea365-upload-progress: #4f7fac;
  --wea365-upload-success: #2f9d69;
  --wea365-upload-error: #c93f52;
}

.wea365-photo-upload-queue {
  color: var(--wea365-upload-ink);
}

.wea365-photo-upload-list {
  display: grid;
  gap: 12px;
}

.wea365-photo-upload-item {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--wea365-upload-border);
  border-radius: 8px;
  background: var(--wea365-color-white);
  color: var(--wea365-upload-ink);
  box-sizing: border-box;
}

.wea365-photo-upload-preview {
  display: grid;
  place-items: center;
  width: 78px;
  height: 58px;
  overflow: hidden;
  border-radius: 5px;
  background: #eef2f5;
  color: var(--wea365-upload-muted);
}

.wea365-photo-upload-preview img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wea365-photo-upload-extension {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
}

.wea365-photo-upload-content {
  min-width: 0;
}

.wea365-photo-upload-name {
  display: block;
  overflow: hidden;
  color: var(--wea365-upload-ink);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wea365-photo-upload-meta,
.wea365-photo-upload-status-row,
.wea365-photo-upload-error {
  font-size: 13px;
}

.wea365-photo-upload-meta,
.wea365-photo-upload-percent {
  color: var(--wea365-upload-muted);
}

.wea365-photo-upload-progress {
  position: relative;
  height: 7px;
  margin-top: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--wea365-upload-track);
}

.wea365-photo-upload-progress > span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: var(--wea365-upload-progress);
  transition: width .16s linear, background-color .16s ease;
}

.wea365-photo-upload-item[data-state="complete"] .wea365-photo-upload-progress > span {
  background: var(--wea365-upload-success);
}

.wea365-photo-upload-item[data-state="failed"] .wea365-photo-upload-progress > span {
  background: var(--wea365-upload-error);
}

.wea365-photo-upload-status-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 5px;
}

.wea365-photo-upload-status {
  color: var(--wea365-upload-ink);
}

.wea365-photo-upload-item[data-state="complete"] .wea365-photo-upload-status {
  color: var(--wea365-upload-success);
  font-weight: 700;
}

.wea365-photo-upload-item[data-state="failed"] .wea365-photo-upload-status,
.wea365-photo-upload-error {
  color: var(--wea365-upload-error);
}

.wea365-photo-upload-error {
  margin-top: 5px;
}

.wea365-photo-upload-actions {
  min-width: 92px;
  text-align: right;
}

@media (max-width: 639px) {
  .wea365-photo-upload-item {
    grid-template-columns: 64px minmax(0, 1fr);
  }

  .wea365-photo-upload-preview {
    width: 64px;
    height: 52px;
  }

  .wea365-photo-upload-actions {
    grid-column: 2;
    min-width: 0;
    text-align: left;
  }
}


/* 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;
}


.wea365-notification-unread {
    border-inline-start: 3px solid currentColor;
    padding-inline-start: 1rem !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;
  }
}


/* WEA365 0.8.83: calmer document management and version history. */

.wea365-document-manage-header {
  margin-bottom: 28px;
  padding: 0 44px 22px 0;
  border-bottom: 1px solid rgba(127, 127, 127, .24);
}

.wea365-document-manage-header-row {
  gap: 12px;
}

.wea365-document-manage-title {
  margin: 0 0 8px;
}

.wea365-document-manage-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px 18px;
}

.wea365-document-manage-meta > span {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}

.wea365-document-manage-meta .uk-icon {
  flex: none;
  margin-right: 6px;
}

.wea365-document-visibility-fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.wea365-document-visibility-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 20px;
}

.wea365-document-visibility-option {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 28px;
}

.wea365-document-visibility-option .uk-checkbox {
  flex: none;
  margin: 0;
}

.wea365-document-form-actions {
  margin-top: 8px;
  padding-top: 20px;
  border-top: 1px solid rgba(127, 127, 127, .18);
  text-align: right;
}

.wea365-document-version-list {
  margin-top: 12px;
}

.wea365-document-version-row {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 36px;
  gap: 12px;
  align-items: center;
  padding: 15px 0;
  border-top: 1px solid rgba(127, 127, 127, .18);
}

.wea365-document-version-row:first-child {
  border-top: 0;
}

.wea365-document-version-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  opacity: .72;
}

.wea365-document-version-row.is-current .wea365-document-version-badge {
  border-width: 2px;
  opacity: 1;
}

.wea365-document-version-content {
  min-width: 0;
}

.wea365-document-version-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 10px;
  min-width: 0;
}

.wea365-document-version-current {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

.wea365-document-management-block,
.wea365-document-archive-details {
  margin-top: 24px;
  padding-top: 22px;
  border-top: 1px solid rgba(127, 127, 127, .24);
}

.wea365-document-archive-details > summary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  font-weight: 600;
}

.wea365-document-archive-details > summary::marker {
  color: inherit;
}

.wea365-document-fallback-manage > summary {
  cursor: pointer;
}

.wea365-document-manage-panel {
  margin-top: 18px;
  padding: 24px 0 8px;
  border-top: 1px solid rgba(127, 127, 127, .24);
}

@media (max-width: 639px) {

  .wea365-document-manage-header {
    margin-bottom: 22px;
    padding-right: 34px;
  }

  .wea365-document-visibility-options {
    grid-template-columns: 1fr;
  }

  .wea365-document-version-row {
    grid-template-columns: 38px minmax(0, 1fr) 34px;
    gap: 9px;
  }

  .wea365-document-version-badge {
    width: 34px;
    height: 34px;
  }
}


.wea365-document-filter-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px;
}

@media (max-width: 639px) {
  .wea365-document-filter-actions {
    width: 100%;
  }

  .wea365-document-filter-actions .uk-button {
    box-sizing: border-box;
    max-width: 100%;
  }
}


/* WEA365 0.8.88: current documents in internal operator and turbine details. */
.wea365-detail-documents-table td:first-child {
  min-width: 260px;
}

/* WEA365 0.9.105: Legacy is an origin marker, not a warning state. */
.wea365-document-title-line {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 5px 9px;
  min-width: 0;
}
.wea365-document-title-line > strong,
.wea365-document-title-line > h2,
.wea365-document-title-line > h3,
.wea365-document-title-line > h4 {
  margin: 0;
  min-width: 0;
}
.wea365-document-origin-badge {
  display: inline-flex;
  align-items: center;
  min-height: 21px;
  padding: 2px 8px;
  border: 1px solid rgba(127,127,127,.30);
  border-radius: 999px;
  background: rgba(127,127,127,.07);
  color: inherit;
  font-size: .70rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .01em;
  text-transform: none;
  white-space: nowrap;
  opacity: .72;
  vertical-align: middle;
}
.wea365-document-file-meta,
.wea365-document-origin-meta {
  display: block;
  line-height: 1.35;
}
.wea365-document-file-meta {
  margin-top: 4px;
  font-size: .875rem;
  opacity: .76;
}
.wea365-document-origin-meta {
  margin-top: 2px;
  font-size: .78rem;
  opacity: .62;
}
.wea365-document-origin-meta-inline {
  display: inline;
  margin: 0 0 0 5px;
}
.wea365-document-origin-panel {
  padding: 14px 16px;
  border: 1px solid rgba(127,127,127,.20);
  border-radius: 4px;
  background: rgba(127,127,127,.04);
}
.wea365-document-origin-panel-heading {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 9px;
}
.wea365-document-origin-panel-heading .wea365-document-origin-meta {
  margin-top: 0;
}
.wea365-detail-document-description {
  margin-top: 10px;
  font-size: .90rem;
  line-height: 1.45;
  opacity: .84;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

@media (max-width: 959px) {
  .wea365-detail-documents-table td:first-child {
    min-width: 0;
  }
}

/* WEA365 0.8.89: approved documents in the PIN-protected operator portal. */
.wea365-operator-documents-table td:first-child {
  min-width: 280px;
}

.wea365-operator-documents-table td:last-child {
  width: 1%;
}

@media (max-width: 639px) {
  .wea365-operator-documents-table td:first-child {
    min-width: 220px;
  }
}

/* WEA365 0.8.90: calmer document presentation in the PIN-protected operator portal. */
.wea365-operator-document-group {
  margin-top: 28px;
}

.wea365-operator-document-group:first-child {
  margin-top: 22px;
}

.wea365-operator-document-category {
  padding-bottom: 10px;
}

.wea365-operator-document-list {
  border-top: 1px solid rgba(127, 127, 127, .24);
}

.wea365-operator-document-item {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 18px 0;
  border-bottom: 1px solid rgba(127, 127, 127, .24);
}

.wea365-operator-document-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(127, 127, 127, .34);
  border-radius: 50%;
  opacity: .78;
}

.wea365-operator-document-content {
  min-width: 0;
}

.wea365-operator-document-title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 12px;
}

.wea365-operator-document-scope {
  font-size: .76rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .04em;
  text-transform: uppercase;
  opacity: .62;
}

.wea365-operator-document-description {
  margin-top: 4px;
  line-height: 1.55;
}

.wea365-operator-document-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 3px 9px;
  margin-top: 7px;
}

.wea365-operator-document-meta > span:not(:last-child)::after {
  content: "·";
  margin-left: 9px;
  opacity: .62;
}

.wea365-operator-document-action .uk-button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}

@media (max-width: 639px) {
  .wea365-operator-document-item {
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 12px;
    padding: 16px 0;
  }

  .wea365-operator-document-icon {
    width: 34px;
    height: 34px;
  }

  .wea365-operator-document-action {
    grid-column: 2;
    justify-self: start;
    margin-top: 2px;
  }

  .wea365-operator-document-meta {
    display: block;
  }

  .wea365-operator-document-meta > span {
    display: inline;
  }
}

/* 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-order-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

/* Technician teams are maintained in the employee administration. */
.wea365-employee-team-management {
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(31, 53, 73, .12);
}

.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-tabs {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 0;
    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%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 0;
    white-space: normal;
    text-align: left;
  }

  .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.
   Keep dispatch forms stable instead of letting feature-specific 470/520/720px rules drift apart. */
.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.25: photos belong to the editable report flow and appear before technical completion. */
.wea365-workreport-photos {
  min-width: 0;
}

.wea365-workreport-photo-header {
  gap: 16px;
  min-width: 0;
}

.wea365-workreport-photo-header > div {
  min-width: 0;
}

.wea365-workreport-photos input[type="file"] {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.wea365-workreport-photos [data-wea365-photo-gallery] > * {
  min-width: 0;
}

@media (max-width: 639px) {
  .wea365-workreport-photo-header {
    align-items: flex-start;
    flex-wrap: wrap;
  }
}

/* 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;
  }
}

/* 0.9.26: work-report actions belong to the section they affect. */
.wea365-workreport-section-heading {
  min-width: 0;
}

.wea365-workreport-section-action {
  display: flex;
  justify-content: flex-start;
  max-width: 100%;
}

.wea365-workreport-time-start,
.wea365-running-time-action {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 8px;
  max-width: 100%;
}

.wea365-workreport-time-start > .uk-text-meta,
.wea365-running-time-action > .uk-text-meta {
  width: 100%;
  max-width: 36rem;
  margin-top: 0 !important;
}

.wea365-running-time-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  padding: 16px 18px;
  border: 1px solid rgba(127, 127, 127, .24);
  border-left: 4px solid #b62026;
  background: rgba(127, 127, 127, .06);
}

.wea365-running-time-copy {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 12px;
  min-width: 0;
}

.wea365-running-time-copy strong,
.wea365-running-time-copy .uk-text-meta {
  overflow-wrap: anywhere;
}

.wea365-running-time-action {
  flex: 0 0 auto;
  margin: 0;
}

@media (max-width: 639px) {
  .wea365-workreport-section-action,
  .wea365-workreport-section-action .uk-button,
  .wea365-workreport-time-start,
  .wea365-workreport-time-start .uk-button,
  .wea365-running-time-action,
  .wea365-running-time-action .uk-button {
    width: 100%;
  }

  .wea365-running-time-card {
    align-items: stretch;
    flex-direction: column;
  }

  .wea365-running-time-copy {
    align-items: flex-start;
    flex-direction: column;
  }
}

.wea365-workreport-participant-row {
  gap: 12px;
  min-width: 0;
}

.wea365-workreport-participant-row > * {
  min-width: 0;
}

@media (max-width: 639px) {
  .wea365-workreport-participant-row {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* 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;
}


/* WEA365 0.9.28: one flat, responsive WEA overview. No table squeeze and no card inside a card. */
.wea365-turbine-overview {
  --wea365-turbine-grid: minmax(270px, 1.45fr) minmax(170px, .95fr) minmax(180px, 1fr) minmax(150px, .8fr) minmax(88px, .45fr) 48px;
  min-width: 0;
  width: 100%;
  border-top: 1px solid rgba(127, 127, 127, .18);
}

.wea365-turbine-overview-head,
.wea365-turbine-row {
  display: grid;
  grid-template-columns: var(--wea365-turbine-grid);
  gap: 18px;
  align-items: center;
  min-width: 0;
}

.wea365-turbine-overview-head {
  padding: 12px 14px;
  border-bottom: 1px solid rgba(127, 127, 127, .22);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .025em;
  text-transform: uppercase;
  opacity: .72;
}

.wea365-turbine-row {
  position: relative;
  padding: 18px 14px;
  border-bottom: 1px solid rgba(127, 127, 127, .16);
  background: transparent;
}

.wea365-turbine-row > * {
  min-width: 0;
}

.wea365-turbine-row-identity {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
}

.wea365-turbine-list-thumb,
.wea365-turbine-list-lightbox,
.wea365-turbine-list-lightbox > a {
  width: 112px;
  height: 76px;
}

.wea365-turbine-list-thumb {
  overflow: hidden;
  border-radius: 5px;
  background: rgba(127, 127, 127, .08);
}

.wea365-turbine-list-lightbox,
.wea365-turbine-list-lightbox > a {
  display: block;
}

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

.wea365-turbine-row-title,
.wea365-turbine-row-field,
.wea365-turbine-row-status {
  display: grid;
  gap: 3px;
  align-content: center;
  min-width: 0;
}

.wea365-turbine-row-status {
  justify-items: start;
}

.wea365-turbine-row-title h3,
.wea365-turbine-row-title a,
.wea365-turbine-row-field strong,
.wea365-turbine-row-field span {
  min-width: 0;
  overflow-wrap: break-word;
  word-break: normal;
}

.wea365-turbine-row-title h3 {
  font-size: 1.05rem;
  line-height: 1.28;
}

.wea365-turbine-row-label {
  display: none;
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .035em;
  text-transform: uppercase;
  opacity: .62;
}

.wea365-turbine-row-actions {
  justify-self: end;
}

.wea365-turbine-row-open {
  display: none;
}

@media (max-width: 1199px) and (min-width: 960px) {
  .wea365-turbine-overview {
    --wea365-turbine-grid: minmax(250px, 1.35fr) minmax(150px, .9fr) minmax(160px, .95fr) minmax(135px, .72fr) minmax(82px, .42fr) 48px;
  }

  .wea365-turbine-overview-head,
  .wea365-turbine-row {
    gap: 14px;
  }

  .wea365-turbine-row-identity {
    grid-template-columns: 94px minmax(0, 1fr);
    gap: 13px;
  }

  .wea365-turbine-list-thumb,
  .wea365-turbine-list-lightbox,
  .wea365-turbine-list-lightbox > a {
    width: 94px;
    height: 68px;
  }
}

@media (max-width: 959px) {
  .wea365-turbine-overview {
    border-top: 0;
  }

  .wea365-turbine-overview-head {
    display: none;
  }

  .wea365-turbine-row {
    grid-template-columns: minmax(0, 1fr) 44px;
    gap: 16px 12px;
    padding: 18px 0;
  }

  .wea365-turbine-row:first-child {
    border-top: 1px solid rgba(127, 127, 127, .16);
  }

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

  .wea365-turbine-row-actions {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
  }

  .wea365-turbine-row-field,
  .wea365-turbine-row-status,
  .wea365-turbine-row-open {
    grid-column: 1 / -1;
  }

  .wea365-turbine-row-label {
    display: block;
  }

  .wea365-turbine-row-open {
    display: flex;
    box-sizing: border-box;
    width: 100%;
    min-height: 44px;
    align-items: center;
    justify-content: center;
  }

  .wea365-turbine-list-thumb,
  .wea365-turbine-list-lightbox,
  .wea365-turbine-list-lightbox > a {
    width: 92px;
    height: 68px;
  }
}

@media (max-width: 479px) {
  .wea365-turbine-row {
    gap: 14px 10px;
  }

  .wea365-turbine-row-identity {
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 12px;
  }

  .wea365-turbine-list-thumb,
  .wea365-turbine-list-lightbox,
  .wea365-turbine-list-lightbox > a {
    width: 76px;
    height: 60px;
  }

}


/* 0.9.32 shared muted dispatch color picker */
.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.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;
  }
}


/* 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.9.35 / 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;
  }
}

/* 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: one global, touch-friendly action pattern. */
.wea365-app .wea365-actions-trigger,
.wea365-ui .wea365-actions-trigger,
.wea365-app .wea365-direct-action,
.wea365-ui .wea365-direct-action {
  box-sizing: border-box;
  min-height: 46px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 9px 14px !important;
  border-radius: 3px;
  font-weight: 700;
  line-height: 1.2 !important;
  text-align: center;
  white-space: normal;
}
.wea365-app .wea365-actions-trigger,
.wea365-ui .wea365-actions-trigger {
  min-width: 132px;
}
.wea365-app .wea365-actions-trigger .wea365-actions-chevron,
.wea365-ui .wea365-actions-trigger .wea365-actions-chevron {
  flex: 0 0 auto;
  transition: transform .18s ease;
}
.wea365-app .uk-open > .wea365-actions-trigger .wea365-actions-chevron,
.wea365-ui .uk-open > .wea365-actions-trigger .wea365-actions-chevron {
  transform: rotate(180deg);
}
.wea365-app .wea365-direct-action > [uk-icon],
.wea365-ui .wea365-direct-action > [uk-icon] {
  flex: 0 0 auto;
}
.wea365-app .wea365-action-menu,
.wea365-ui .wea365-action-menu,
.wea365-app .wea365-maintenance-order-menu,
.wea365-ui .wea365-maintenance-order-menu,
.wea365-app .wea365-document-card-actions,
.wea365-ui .wea365-document-card-actions {
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  flex: 0 0 auto !important;
  overflow: visible;
}
.wea365-app .wea365-action-dropdown,
.wea365-ui .wea365-action-dropdown {
  min-width: 250px;
  max-width: min(330px, calc(100vw - 24px));
  padding: 8px;
}
.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: 48px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  width: 100%;
  padding: 11px 12px !important;
  border-radius: 2px;
  font-size: 16px;
  line-height: 1.3 !important;
  text-align: left;
  white-space: normal;
}
.wea365-app .wea365-actions-cell,
.wea365-ui .wea365-actions-cell,
.wea365-app .wea365-table-actions,
.wea365-ui .wea365-table-actions {
  min-width: 150px;
  text-align: right;
}
.wea365-app .wea365-button-icon-leading,
.wea365-ui .wea365-button-icon-leading {
  margin-right: 9px !important;
}

/* Flat entity rows avoid cards nested inside YOOtheme cards. */
.wea365-person-row,
.wea365-operator-row {
  min-width: 0;
  padding: 18px 0;
  border-bottom: 1px solid rgba(127,127,127,.22);
  background: transparent;
  box-shadow: none;
}
.wea365-person-row:first-child,
.wea365-operator-row:first-child { padding-top: 4px; }
.wea365-person-row:last-child,
.wea365-operator-row:last-child { padding-bottom: 4px; border-bottom: 0; }
.wea365-person-identity,
.wea365-operator-identity {
  display: grid;
  grid-template-columns: 44px minmax(0,1fr);
  gap: 12px;
  align-items: start;
  min-width: 0;
}
.wea365-person-avatar,
.wea365-operator-avatar {
  box-sizing: border-box;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(49,95,154,.10);
  color: #315f9a;
}
.wea365-person-primary,
.wea365-operator-primary { min-width: 0; }
.wea365-person-primary h3,
.wea365-operator-primary h3 { margin: 0; overflow-wrap: anywhere; }
.wea365-person-primary .uk-text-meta,
.wea365-operator-primary .uk-text-meta { margin-top: 3px; overflow-wrap: anywhere; }
.wea365-person-details,
.wea365-operator-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px 16px;
  margin-top: 14px;
}
.wea365-person-detail,
.wea365-operator-detail { min-width: 0; }
.wea365-person-detail > span,
.wea365-operator-detail > span {
  display: block;
  margin-bottom: 2px;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .035em;
  text-transform: uppercase;
  opacity: .58;
}
.wea365-person-row-actions,
.wea365-operator-row-actions { margin-top: 14px; }

@media (max-width: 959px) {
  .wea365-app .wea365-actions-cell,
  .wea365-ui .wea365-actions-cell,
  .wea365-app .wea365-table-actions,
  .wea365-ui .wea365-table-actions {
    min-width: 0;
    width: 100%;
  }
  .wea365-app .wea365-actions-trigger,
  .wea365-ui .wea365-actions-trigger,
  .wea365-app .wea365-direct-action,
  .wea365-ui .wea365-direct-action {
    width: 100%;
    justify-content: space-between;
  }
  .wea365-person-card-header,
  .wea365-document-card-header,
  .wea365-maintenance-order-card-header {
    grid-template-columns: minmax(0,1fr) !important;
  }
  .wea365-person-card-header .wea365-action-menu,
  .wea365-document-card-header .wea365-document-card-actions,
  .wea365-maintenance-order-card-header .wea365-maintenance-order-menu {
    grid-column: 1 !important;
    grid-row: auto !important;
    width: 100% !important;
    margin-top: 12px;
  }
}
@media (max-width: 639px) {
  .wea365-person-details,
  .wea365-operator-details { grid-template-columns: 1fr; }
}

.wea365-visible-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
@media(max-width:959px){.wea365-visible-actions{display:grid;grid-template-columns:1fr;width:100%}}

.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.9.38: actions are part of the layout, never overlaid on content. */
@media (min-width: 960px) {
  .wea365-reports-table {
    table-layout: fixed;
  }
  .wea365-reports-table th:last-child,
  .wea365-reports-table td.wea365-actions-cell {
    width: 190px !important;
    min-width: 190px !important;
    max-width: 190px !important;
    box-sizing: border-box;
  }
  .wea365-reports-table .wea365-visible-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    width: 100%;
  }
  .wea365-reports-table .wea365-visible-actions .wea365-direct-action {
    width: 100%;
    min-width: 0;
  }
  .wea365-assignment-reports-table:has(.wea365-assignment-report-actions) {
    table-layout: fixed;
  }
  .wea365-assignment-reports-table th:last-child,
  .wea365-assignment-reports-table td.wea365-assignment-report-actions {
    width: 190px !important;
    min-width: 190px !important;
    max-width: 190px !important;
    box-sizing: border-box;
  }
  .wea365-assignment-report-actions .wea365-direct-action {
    width: 100%;
    min-width: 0;
  }
  .wea365-turbine-overview {
    --wea365-turbine-grid: minmax(250px, 1.35fr) minmax(155px, .85fr) minmax(165px, .9fr) minmax(135px, .72fr) minmax(78px, .4fr) 176px;
  }
}

.wea365-turbine-row-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  width: 100%;
  min-width: 0;
  justify-self: stretch;
}
.wea365-turbine-row-actions > .wea365-direct-action,
.wea365-turbine-row-actions > .wea365-action-menu,
.wea365-turbine-row-actions .wea365-actions-trigger {
  width: 100% !important;
  min-width: 0 !important;
}
.wea365-turbine-row-actions .wea365-action-menu {
  display: block;
  height: auto;
  flex: none;
}
.wea365-turbine-row-open {
  display: inline-flex !important;
}

.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-document-card-preview img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.wea365-document-card-title:has(.wea365-document-card-preview) {
  grid-template-columns: 56px minmax(0,1fr);
}

@media (max-width: 959px) {
  table.wea365-responsive-table tr {
    padding: 15px !important;
  }
  table.wea365-responsive-table td.wea365-table-actions,
  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;
  }
  table.wea365-responsive-table td.wea365-table-actions .wea365-visible-actions,
  table.wea365-responsive-table td.wea365-actions-cell .wea365-visible-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    width: 100%;
  }
  table.wea365-responsive-table td.wea365-table-actions .wea365-direct-action,
  table.wea365-responsive-table td.wea365-actions-cell .wea365-direct-action {
    width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: normal;
    word-break: normal;
    writing-mode: horizontal-tb !important;
  }
  .wea365-turbine-row {
    grid-template-columns: minmax(0,1fr) !important;
    gap: 15px !important;
  }
  .wea365-turbine-row-identity,
  .wea365-turbine-row-field,
  .wea365-turbine-row-status,
  .wea365-turbine-row-actions {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
  .wea365-turbine-row-actions {
    margin-top: 2px;
    padding-top: 14px;
    border-top: 1px solid rgba(127,127,127,.18);
  }
  .wea365-turbine-row-actions .wea365-direct-action,
  .wea365-turbine-row-actions .wea365-actions-trigger {
    min-height: 48px !important;
  }
}

@media (max-width: 639px) {
  .wea365-document-card-preview {
    width: 48px;
    height: 48px;
  }
  .wea365-document-card-title:has(.wea365-document-card-preview) {
    grid-template-columns: 48px minmax(0,1fr);
  }
}

/* 0.9.39: calm action spacing and flat WEA-detail lists. */
.wea365-app .wea365-direct-action,
.wea365-ui .wea365-direct-action,
.wea365-app .wea365-actions-trigger,
.wea365-ui .wea365-actions-trigger {
  gap: 13px !important;
  padding-inline: 18px !important;
}
.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 {
  min-width: 0;
  flex: 1 1 auto;
  text-align: center;
}
.wea365-app .wea365-direct-action > [uk-icon],
.wea365-ui .wea365-direct-action > [uk-icon],
.wea365-app .wea365-actions-trigger > [uk-icon],
.wea365-ui .wea365-actions-trigger > [uk-icon],
.wea365-app .wea365-actions-trigger .wea365-actions-chevron,
.wea365-ui .wea365-actions-trigger .wea365-actions-chevron {
  flex: 0 0 auto;
  margin-left: 2px;
}
@media (min-width: 960px) {
  .wea365-reports-table th:last-child,
  .wea365-reports-table td.wea365-actions-cell,
  .wea365-assignment-reports-table th:last-child,
  .wea365-assignment-reports-table td.wea365-assignment-report-actions {
    width: 216px !important;
    min-width: 216px !important;
    max-width: 216px !important;
  }
  .wea365-reports-table td.wea365-actions-cell,
  .wea365-assignment-reports-table td.wea365-assignment-report-actions {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}
.wea365-detail-grid {
  width: 100%;
  min-width: 0;
}
.wea365-detail-grid-head,
.wea365-detail-grid-row {
  display: grid;
  align-items: center;
  min-width: 0;
}
.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-detail-grid-row {
  padding: 16px 12px;
  border-bottom: 1px solid rgba(127,127,127,.22);
}
.wea365-detail-grid-row:last-child { border-bottom: 0; }
.wea365-detail-grid-field,
.wea365-detail-grid-actions { min-width: 0; }
.wea365-detail-grid-field { overflow-wrap: anywhere; }
.wea365-detail-grid-label {
  display: none;
  margin-bottom: 4px;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .035em;
  text-transform: uppercase;
  opacity: .58;
}
.wea365-detail-grid-actions {
  display: flex;
  justify-content: flex-end;
  padding-left: 12px;
}
.wea365-detail-grid-actions .wea365-direct-action {
  width: 100%;
  min-width: 0;
}
.wea365-turbine-report-grid {
  grid-template-columns: minmax(150px,1.05fr) minmax(145px,.9fr) minmax(155px,1fr) minmax(120px,.72fr) 190px;
  gap: 14px;
}
.wea365-turbine-report-grid-compact {
  grid-template-columns: minmax(160px,1.05fr) minmax(155px,.9fr) minmax(180px,1fr) 190px;
}
.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-photo-item {
  display: grid;
  grid-template-rows: auto auto;
  align-content: start;
  min-width: 0;
}
.wea365-photo-footer {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 9px;
  margin-top: 9px;
  min-width: 0;
}
.wea365-photo-footer > div:first-child { min-width: 0; }
.wea365-photo-actions,
.wea365-photo-actions .wea365-actions-trigger,
.wea365-photo-actions .wea365-action-menu {
  width: 100% !important;
  min-width: 0 !important;
}
.wea365-photo-actions .wea365-actions-trigger {
  justify-content: space-between;
}
@media (max-width: 1199px) {
  .wea365-detail-grid-head { display: none; }
  .wea365-detail-grid-row,
  .wea365-turbine-report-grid,
  .wea365-turbine-report-grid-compact,
  .wea365-detail-document-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 14px 18px;
    padding: 18px 0;
  }
  .wea365-detail-grid-label { display: block; }
  .wea365-detail-grid-primary { grid-column: 1 / -1; }
  .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-detail-grid-row,
  .wea365-turbine-report-grid,
  .wea365-turbine-report-grid-compact,
  .wea365-detail-document-grid {
    grid-template-columns: minmax(0,1fr);
  }
  .wea365-detail-grid-primary,
  .wea365-detail-grid-actions { grid-column: 1; }
  .wea365-detail-grid-actions .wea365-direct-action { min-height: 48px !important; }
}

/* WEA365 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;
}

/* 0.9.45: grouped maintenance and inspection services. */
.wea365-maintenance-service-names,
.wea365-maintenance-service-actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  min-width: 0;
}
.wea365-maintenance-service-names > span {
  display: block;
}
.wea365-maintenance-service-actions > form {
  margin: 0;
}
.wea365-maintenance-service-actions .wea365-direct-action {
  width: 100%;
  min-width: 0;
  justify-content: space-between;
}
@media (min-width: 1200px) {
  .wea365-assignment-reports-table .wea365-actions-cell {
    width: 300px;
    min-width: 300px;
  }
  .wea365-assignment-reports-table .wea365-maintenance-service-actions .wea365-direct-action {
    white-space: nowrap;
  }
}

/* 0.9.47: shared specific inspection report layout, aligned with work reports. */
.wea365-inspection-report {
  margin-top: 32px;
  container-type: inline-size;
}

.wea365-inspection-heading,
.wea365-inspection-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.wea365-inspection-heading {
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(127, 127, 127, .22);
}

.wea365-inspection-section {
  margin-top: 24px;
  padding: 24px;
  border: 1px solid rgba(127, 127, 127, .22);
  border-radius: 3px;
  background: rgba(127, 127, 127, .035);
}

.wea365-inspection-fields,
.wea365-inspection-result-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 22px;
  min-width: 0;
}

.wea365-inspection-field,
.wea365-inspection-item-title,
.wea365-inspection-item-body {
  min-width: 0;
}

.wea365-inspection-field--wide,
.wea365-inspection-field--full {
  grid-column: 1 / -1;
}

.wea365-inspection-value {
  min-height: 44px;
  display: flex;
  align-items: center;
  padding: 9px 12px;
  border: 1px solid rgba(127, 127, 127, .22);
  background: var(--wea365-color-white);
  box-sizing: border-box;
}

.wea365-inspection-status-legend,
.wea365-inspection-choice-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.wea365-inspection-status-chip {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 4px 10px;
  border: 1px solid rgba(127, 127, 127, .3);
  border-radius: 999px;
  font-size: .82rem;
  font-weight: 600;
  line-height: 1.2;
  box-sizing: border-box;
}

.wea365-inspection-status-chip--ok,
.wea365-inspection-choice--ok:has(input:checked) {
  border-color: rgba(50, 150, 90, .55);
  background: rgba(50, 150, 90, .11);
}

.wea365-inspection-status-chip--not_ok,
.wea365-inspection-choice--not_ok:has(input:checked) {
  border-color: rgba(190, 72, 72, .58);
  background: rgba(190, 72, 72, .1);
}

.wea365-inspection-status-chip--not_applicable,
.wea365-inspection-status-chip--unset,
.wea365-inspection-choice--not_applicable:has(input:checked) {
  border-color: rgba(127, 127, 127, .42);
  background: rgba(127, 127, 127, .09);
}

.wea365-inspection-items {
  margin-top: 18px;
  border-top: 1px solid rgba(127, 127, 127, .22);
}

.wea365-inspection-item {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 14px;
  padding: 18px 0;
  border-bottom: 1px solid rgba(127, 127, 127, .22);
}

.wea365-inspection-item-number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(127, 127, 127, .11);
  font-weight: 700;
}

.wea365-inspection-item-title {
  align-self: center;
  line-height: 1.35;
}

.wea365-inspection-item-body {
  grid-column: 2;
}

.wea365-inspection-choice-group {
  margin-top: 12px;
}

.wea365-inspection-choice {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 8px 14px;
  border: 1px solid rgba(127, 127, 127, .3);
  background: var(--wea365-color-white);
  cursor: pointer;
  box-sizing: border-box;
}

.wea365-inspection-choice input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.wea365-inspection-choice:focus-within {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.wea365-inspection-readonly-answer {
  margin-top: 10px;
}

.wea365-inspection-result-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.wea365-inspection-result-summary > div {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  padding: 14px 16px;
  border: 1px solid rgba(127, 127, 127, .22);
  background: var(--wea365-color-white);
}

.wea365-inspection-conformity {
  padding: 16px 18px;
  border-left: 4px solid currentColor;
  background: rgba(127, 127, 127, .07);
}

@container (max-width: 680px) {
  .wea365-inspection-heading,
  .wea365-inspection-section-head {
    flex-direction: column;
    align-items: stretch;
  }

  .wea365-inspection-section {
    padding: 18px 16px;
  }

  .wea365-inspection-fields,
  .wea365-inspection-result-grid,
  .wea365-inspection-result-summary {
    grid-template-columns: 1fr;
  }

  .wea365-inspection-item {
    gap: 10px 12px;
  }

  .wea365-inspection-item-body {
    grid-column: 1 / -1;
  }

  .wea365-inspection-choice-group {
    display: grid;
    grid-template-columns: 1fr;
  }

  .wea365-inspection-choice {
    width: 100%;
  }
}

@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);
  }
}

/* Data import & migration 0.9.56 */
.wea365-migration-card {
  height: 100%;
  padding: clamp(1.25rem, 2vw, 2rem);
  border: 1px solid rgba(112, 126, 140, .24);
  border-radius: 6px;
  background: rgba(255, 255, 255, .72);
}
.wea365-migration-stat {
  display: flex;
  min-height: 72px;
  padding: .85rem 1rem;
  flex-direction: column;
  justify-content: space-between;
  gap: .35rem;
  border: 1px solid rgba(112, 126, 140, .24);
  border-radius: 5px;
  background: rgba(245, 247, 249, .78);
}
.wea365-migration-stat span {
  font-size: .78rem;
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: .035em;
}
.wea365-migration-stat strong {
  font-size: 1.55rem;
  line-height: 1;
}
.wea365-migration-table code {
  white-space: normal;
  overflow-wrap: anywhere;
  color: inherit;
  background: transparent;
}
.wea365-migration-card input[type="file"].uk-input {
  min-height: 44px;
  padding-top: 7px;
  padding-bottom: 7px;
}
.wea365-migration-card .uk-button {
  min-height: 44px;
}
@media (max-width: 639px) {
  .wea365-migration-card {
    padding: 1rem;
  }
  .wea365-migration-card .uk-button,
  .wea365-migration-card form > .uk-button {
    width: 100%;
    white-space: normal;
  }
  .wea365-migration-stat {
    min-height: 64px;
  }
}

.wea365-migration-overview .uk-button,
#wea365-migration-preview .uk-button,
#wea365-migration-result .uk-button,
.wea365-migration-workspace .uk-button {
  min-height: 44px;
}
.wea365-migration-overview .uk-input,
#wea365-migration-preview .uk-input,
#wea365-migration-preview .uk-select,
#wea365-migration-preview .uk-textarea,
.wea365-migration-workspace .uk-input,
.wea365-migration-workspace .uk-select,
.wea365-migration-workspace .uk-textarea {
  min-height: 44px;
}
@media (max-width: 1199px) {
  .wea365-migration-table,
  .wea365-migration-table tbody {
    display: block;
    width: 100%;
    min-width: 0 !important;
  }
  .wea365-migration-table thead {
    display: none;
  }
  .wea365-migration-table tbody {
    display: grid;
    gap: 12px;
  }
  .wea365-migration-table tr {
    display: block;
    width: 100%;
    min-width: 0;
    padding: 15px;
    border: 1px solid var(--wea365-card-border, rgba(112,126,140,.3)) !important;
    border-radius: var(--wea365-card-radius, 5px);
  }
  .wea365-migration-table td {
    display: block;
    width: 100% !important;
    min-width: 0 !important;
    padding: 6px 0 !important;
    border: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }
  .wea365-migration-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;
  }
}

/* Guided migration projects 0.9.57 */
.wea365-settings-migration-entry {
  overflow: hidden;
}
.wea365-settings-migration-entry-content {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 1rem 1.25rem;
}
.wea365-settings-migration-icon {
  display: inline-flex;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(112, 126, 140, .1);
}
.wea365-migration-project-list {
  display: grid;
  gap: 16px;
}
.wea365-migration-project-card,
.wea365-migration-project-summary,
.wea365-migration-empty {
  padding: clamp(1.25rem, 2.4vw, 2rem);
  border: 1px solid rgba(112, 126, 140, .24);
  border-radius: 6px;
  background: rgba(255, 255, 255, .72);
}
.wea365-migration-project-card-main,
.wea365-migration-project-summary-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
}
.wea365-migration-empty {
  text-align: center;
}
.wea365-migration-empty-icon {
  display: inline-flex;
  opacity: .62;
}
.wea365-migration-progress-track {
  position: relative;
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(112, 126, 140, .16);
}
.wea365-migration-progress-track > span {
  display: block;
  min-width: 0;
  height: 100%;
  border-radius: inherit;
  background: currentColor;
  opacity: .72;
}
.wea365-migration-project-percent {
  display: flex;
  min-width: 96px;
  flex-direction: column;
  align-items: flex-end;
  gap: .15rem;
}
.wea365-migration-project-percent strong {
  font-size: clamp(1.8rem, 3vw, 2.7rem);
  line-height: 1;
}
.wea365-migration-project-percent span {
  font-size: .78rem;
  line-height: 1.2;
  opacity: .64;
}
.wea365-migration-project-readonly {
  max-width: 330px;
  text-align: right;
}
.wea365-migration-module-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.wea365-migration-module-card {
  display: flex;
  min-width: 0;
  min-height: 250px;
  padding: clamp(1.15rem, 2vw, 1.65rem);
  flex-direction: column;
  border: 1px solid rgba(112, 126, 140, .24);
  border-radius: 6px;
  background: rgba(255, 255, 255, .64);
}
.wea365-migration-module-card.is-active {
  border-color: currentColor;
  box-shadow: inset 3px 0 0 currentColor;
}
.wea365-migration-module-card.is-unavailable {
  background: rgba(112, 126, 140, .045);
}
.wea365-migration-module-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}
.wea365-migration-module-number {
  font-size: .78rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .08em;
  opacity: .55;
}
.wea365-migration-module-status {
  display: inline-flex;
  min-height: 28px;
  max-width: 100%;
  padding: .3rem .65rem;
  align-items: center;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: .75rem;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
}
.wea365-migration-status-neutral,
.wea365-migration-status-muted,
.wea365-migration-status-unavailable {
  color: inherit;
  border-color: rgba(112, 126, 140, .24);
  background: rgba(112, 126, 140, .08);
}
.wea365-migration-status-unavailable {
  opacity: .72;
}
.wea365-migration-status-progress {
  border-color: rgba(24, 115, 204, .3);
  background: rgba(24, 115, 204, .1);
}
.wea365-migration-status-warning {
  border-color: rgba(210, 145, 20, .38);
  background: rgba(210, 145, 20, .12);
}
.wea365-migration-status-ready,
.wea365-migration-status-completed {
  border-color: rgba(52, 139, 81, .34);
  background: rgba(52, 139, 81, .11);
}
.wea365-migration-status-error {
  border-color: rgba(190, 55, 55, .34);
  background: rgba(190, 55, 55, .1);
}
.wea365-migration-module-actions {
  display: flex;
  margin-top: auto;
  padding-top: 1.1rem;
  align-items: center;
  flex-wrap: wrap;
  gap: .75rem 1rem;
}
.wea365-migration-module-actions form {
  margin: 0;
}
.wea365-migration-module-actions .uk-button {
  min-height: 44px;
  white-space: nowrap;
}
.wea365-migration-module-availability {
  color: inherit;
  font-size: .875rem;
  line-height: 1.45;
  opacity: .62;
}
.wea365-migration-step-kicker {
  display: block;
  font-size: .76rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .055em;
  text-transform: uppercase;
  opacity: .62;
}
.wea365-migration-advanced > summary {
  min-height: 44px;
  padding: .65rem 0;
  cursor: pointer;
  font-weight: 600;
}

@media (max-width: 959px) {
  .wea365-settings-migration-entry-content {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .wea365-settings-migration-entry-content .uk-button {
    width: 100%;
    white-space: normal;
  }
  .wea365-migration-module-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 639px) {
  .wea365-settings-migration-entry-content {
    grid-template-columns: 1fr;
    text-align: left;
  }
  .wea365-settings-migration-icon {
    width: 44px;
    height: 44px;
  }
  .wea365-migration-project-card-main,
  .wea365-migration-project-summary-main {
    align-items: stretch;
    flex-direction: column;
  }
  .wea365-migration-project-card-main > .uk-button,
  .wea365-migration-project-summary-main > .uk-button,
  .wea365-migration-project-overview > .uk-flex > .uk-button,
  .wea365-migration-module-workspace > .uk-flex > .uk-button {
    width: 100%;
    white-space: normal;
  }
  .wea365-migration-project-percent {
    min-width: 0;
    align-items: flex-start;
  }
  .wea365-migration-project-readonly {
    max-width: none;
    text-align: left;
  }
  .wea365-migration-module-card {
    min-height: 0;
  }
  .wea365-migration-module-head {
    align-items: flex-start;
  }
  .wea365-migration-module-actions,
  .wea365-migration-module-actions form,
  .wea365-migration-module-actions .uk-button {
    width: 100%;
  }
  .wea365-migration-module-actions .uk-button {
    white-space: normal;
  }
}

/* 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.64: migration navigation and compact workspace spacing. */
.wea365-migration-workspace > .wea365-migration-project:first-child,
.wea365-migration-workspace > .wea365-migration-project-overview:first-child {
  margin-top: 0 !important;
}
.wea365-migration-project > .wea365-icon-text-button:first-child {
  margin-bottom: .75rem;
}

/* WEA365 0.9.65: clear, localized and responsive migration preview. */
.wea365-migration-table {
  width: 100%;
  table-layout: fixed;
}
.wea365-migration-table col.wea365-migration-col-row {
  width: 8%;
}
.wea365-migration-table col.wea365-migration-col-action {
  width: 16%;
}
.wea365-migration-table col.wea365-migration-col-name {
  width: 20%;
}
.wea365-migration-table col.wea365-migration-col-category {
  width: 18%;
}
.wea365-migration-table col.wea365-migration-col-interval {
  width: 16%;
}
.wea365-migration-table col.wea365-migration-col-message {
  width: 22%;
}
.wea365-migration-table th {
  font-size: .74rem;
  line-height: 1.3;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: auto;
}
.wea365-migration-table td {
  overflow-wrap: anywhere;
}
.wea365-migration-table .uk-label {
  max-width: 100%;
  white-space: normal;
  text-align: center;
}

@media (max-width: 1199px) {
  .wea365-migration-table colgroup {
    display: none;
  }
  .wea365-migration-table td {
    display: grid;
    grid-template-columns: minmax(130px, .42fr) minmax(0, 1fr);
    align-items: start;
    gap: .5rem 1rem;
  }
  .wea365-migration-table td[data-label]::before {
    margin-bottom: 0;
  }
  .wea365-migration-table td.wea365-card-primary {
    display: grid;
  }
}

@media (max-width: 639px) {
  .wea365-migration-table td {
    grid-template-columns: 1fr;
    gap: .2rem;
  }
}


/* WEA365 0.9.66: deliberate mobile layout for migration projects and import preview. */
.wea365-migration-workspace,
.wea365-migration-project,
.wea365-migration-project-summary,
.wea365-migration-project-identity,
#wea365-migration-preview,
.wea365-migration-preview-heading {
  min-width: 0;
}

.wea365-migration-project-name {
  max-width: 100%;
  overflow-wrap: break-word;
  word-break: normal;
}

.wea365-migration-preview-header {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.wea365-migration-preview-heading {
  flex: 1 1 auto;
}

.wea365-migration-preview-meta {
  display: flex;
  min-width: 0;
  align-items: baseline;
  flex-wrap: wrap;
  gap: .2rem .45rem;
}

.wea365-migration-preview-filename {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}

.wea365-migration-preview-rowcount::before {
  content: "·";
  margin-right: .45rem;
}

.wea365-migration-preview-discard {
  flex: 0 0 auto;
  margin: 0;
}

.wea365-migration-stat-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.wea365-migration-stat-grid > .wea365-migration-stat {
  min-width: 0;
}

.wea365-migration-stat-grid .wea365-migration-stat span {
  max-width: 100%;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: auto;
}

@media (max-width: 959px) {
  .wea365-migration-stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 639px) {
  .wea365-migration-project-summary {
    padding: 1.1rem;
  }

  .wea365-migration-project-summary-main {
    gap: 1.15rem;
  }

  .wea365-migration-project-name {
    font-size: clamp(1.65rem, 7.5vw, 1.9rem);
    line-height: 1.08;
  }

  .wea365-migration-project-percent strong {
    font-size: 2rem;
  }

  #wea365-migration-preview.uk-margin-large-top {
    margin-top: 2rem !important;
  }

  .wea365-migration-preview-header {
    align-items: stretch;
    flex-direction: column;
  }

  .wea365-migration-preview-meta {
    display: grid;
    gap: .25rem;
  }

  .wea365-migration-preview-rowcount::before {
    content: none;
  }

  .wea365-migration-preview-discard,
  .wea365-migration-preview-discard .uk-button {
    width: 100%;
  }

  .wea365-migration-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .wea365-migration-stat-grid > .wea365-migration-stat:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  .wea365-migration-stat-grid .wea365-migration-stat {
    min-height: 78px;
    padding: .8rem .85rem;
  }

  .wea365-migration-stat-grid .wea365-migration-stat span {
    font-size: .78rem;
    line-height: 1.25;
    text-transform: none;
    letter-spacing: 0;
  }

  .wea365-migration-stat-grid .wea365-migration-stat strong {
    font-size: 1.65rem;
  }

  #wea365-migration-preview .wea365-migration-card {
    min-width: 0;
  }

  #wea365-migration-preview .uk-form-label,
  #wea365-migration-preview .uk-text-meta,
  #wea365-migration-preview label.uk-display-block {
    overflow-wrap: break-word;
    word-break: normal;
  }
}

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

/* WEA365 0.9.67: project names must never overflow their card on narrow screens. */
.wea365-migration-project-identity,
.wea365-migration-project-name {
  min-width: 0;
  max-width: 100%;
}

.wea365-migration-project-name {
  display: block;
  width: 100%;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
}

@media (max-width: 639px) {
  .wea365-migration-project-summary-main,
  .wea365-migration-project-identity {
    width: 100%;
    max-width: 100%;
  }
}

/* In-viewport migration feedback 0.9.68 */
.wea365-toast-content {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  line-height: 1.4;
}
.wea365-toast-content > [uk-icon] {
  flex: 0 0 auto;
  margin-top: .1rem;
}
.uk-notification-message {
  border-radius: 6px;
  box-shadow: 0 12px 34px rgba(27, 48, 72, .18);
}
.uk-notification-message-success {
  border: 1px solid rgba(39, 137, 73, .28);
}
.uk-notification-message-warning {
  border: 1px solid rgba(191, 127, 0, .28);
}
.uk-notification-message-danger {
  border: 1px solid rgba(190, 45, 45, .28);
}
.wea365-migration-result-box {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  padding: 1.1rem 1.25rem;
  border: 1px solid rgba(39, 137, 73, .42);
  border-radius: 6px;
  background: rgba(235, 248, 239, .88);
}
.wea365-migration-result-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: var(--wea365-color-white);
  background: #2f9b57;
}
.wea365-migration-result-content {
  min-width: 0;
}
.wea365-migration-result-action {
  justify-self: end;
}
@media (max-width: 639px) {
  .uk-notification-top-center {
    top: 62px;
    width: calc(100% - 24px);
    margin-left: 12px;
  }
  .uk-notification-top-center .uk-notification-message {
    width: 100%;
    box-sizing: border-box;
  }
  .wea365-migration-result-box {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    padding: 1rem;
  }
  .wea365-migration-result-action {
    grid-column: 1 / -1;
    width: 100%;
    justify-self: stretch;
  }
}


/* WEA365 0.9.73: completed imports keep the result prominent and collapse the old preview. */
.wea365-migration-import-details {
  margin-top: 1.25rem;
}
.wea365-migration-import-details-summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  cursor: pointer;
  list-style: none;
}
.wea365-migration-import-details-summary::-webkit-details-marker {
  display: none;
}
.wea365-migration-import-details-summary::after {
  content: "▾";
  margin-left: .65rem;
  font-size: .9rem;
  line-height: 1;
  transition: transform .18s ease;
}
.wea365-migration-import-details[open] > .wea365-migration-import-details-summary::after {
  transform: rotate(180deg);
}
.wea365-migration-import-details-content {
  margin-top: 1rem;
  padding: 0 1rem 1rem;
  border: 1px solid rgba(42, 72, 108, .18);
  border-radius: 6px;
  background: var(--wea365-color-white);
}
.wea365-migration-import-details-content > #wea365-migration-preview.uk-margin-large-top {
  margin-top: 1rem !important;
}
@media (max-width: 639px) {
  .wea365-migration-import-details-summary {
    width: 100%;
  }
  .wea365-migration-import-details-content {
    padding: 0 .8rem .8rem;
  }
}

/* WEA365 0.9.75: warning result for invitation delivery failures. */
.wea365-migration-result-box.is-warning {
  border-color: rgba(196, 129, 0, .45);
  background: rgba(255, 248, 225, .94);
}
.wea365-migration-result-box.is-warning .wea365-migration-result-icon {
  background: #c48100;
}


/* 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.9.88 / 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 { display:grid; grid-template-columns:104px minmax(0,1fr); gap:20px; align-items:center; min-width:0; }
.wea365-assignment-turbine-thumb { display:flex; width:104px; height:104px; min-width:0; overflow:hidden; border-radius:8px; background:rgba(49,95,154,.07); }
.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 { margin-top:0; font-size:clamp(1.32rem,1.8vw,1.62rem); line-height:1.15; }
.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-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 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 28px; margin:28px 0 0; }
.wea365-assignment-turbine-data > div { min-width:0; }
.wea365-assignment-turbine-data .wea365-assignment-turbine-operator { grid-column:1/-1; }
.wea365-assignment-turbine-data dt { margin:0 0 5px; 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:15px; font-weight:600; 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; }
}

/* WEA365 0.9.89 / package 0.9.94: strictly guided migration sequence. */
.wea365-migration-sequence-intro {
  display: flex;
  padding: 1rem 1.1rem;
  align-items: flex-start;
  gap: .85rem;
  border: 1px solid rgba(24, 115, 204, .22);
  border-radius: 6px;
  background: rgba(24, 115, 204, .065);
}
.wea365-migration-sequence-icon {
  display: inline-flex;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(24, 115, 204, .1);
}
.wea365-migration-module-card.is-locked {
  background: rgba(112, 126, 140, .045);
}
.wea365-migration-status-locked {
  color: inherit;
  border-color: rgba(112, 126, 140, .28);
  background: rgba(112, 126, 140, .1);
}
.wea365-migration-prerequisites {
  display: flex;
  width: 100%;
  min-width: 0;
  padding: .85rem .95rem;
  flex-direction: column;
  gap: .2rem;
  border-left: 3px solid rgba(112, 126, 140, .42);
  background: rgba(112, 126, 140, .065);
  font-size: .875rem;
  line-height: 1.45;
}
.wea365-migration-prerequisites-title {
  display: flex;
  align-items: center;
  gap: .55rem;
}
.wea365-migration-prerequisites .uk-list > li {
  position: relative;
  padding-left: 1rem;
}
.wea365-migration-prerequisites .uk-list > li::before {
  position: absolute;
  top: .68em;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  content: "";
  opacity: .48;
}

@media (max-width: 639px) {
  .wea365-migration-sequence-intro {
    padding: .9rem;
  }
}

/* WEA365 0.9.92 / package 0.9.97: concise, readable migration preview headers. */
.wea365-migration-table th {
  vertical-align: bottom;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: balance;
}

/* Module-specific desktop proportions keep short labels and values in a calm rhythm. */
.wea365-migration-table--operators th:nth-child(1) { width: 8%; }
.wea365-migration-table--operators th:nth-child(2) { width: 14%; }
.wea365-migration-table--operators th:nth-child(3) { width: 22%; }
.wea365-migration-table--operators th:nth-child(4) { width: 14%; }
.wea365-migration-table--operators th:nth-child(5) { width: 20%; }
.wea365-migration-table--operators th:nth-child(6) { width: 22%; }

.wea365-migration-table--turbines th:nth-child(1) { width: 7%; }
.wea365-migration-table--turbines th:nth-child(2) { width: 12%; }
.wea365-migration-table--turbines th:nth-child(3) { width: 18%; }
.wea365-migration-table--turbines th:nth-child(4) { width: 14%; }
.wea365-migration-table--turbines th:nth-child(5) { width: 16%; }
.wea365-migration-table--turbines th:nth-child(6) { width: 15%; }
.wea365-migration-table--turbines th:nth-child(7) { width: 18%; }

.wea365-migration-table--employees th:nth-child(1) { width: 7%; }
.wea365-migration-table--employees th:nth-child(2) { width: 12%; }
.wea365-migration-table--employees th:nth-child(3) { width: 17%; }
.wea365-migration-table--employees th:nth-child(4) { width: 20%; }
.wea365-migration-table--employees th:nth-child(5) { width: 13%; }
.wea365-migration-table--employees th:nth-child(6) { width: 13%; }
.wea365-migration-table--employees th:nth-child(7) { width: 18%; }

.wea365-migration-table--plans th:nth-child(1) { width: 7%; }
.wea365-migration-table--plans th:nth-child(2) { width: 12%; }
.wea365-migration-table--plans th:nth-child(3) { width: 18%; }
.wea365-migration-table--plans th:nth-child(4) { width: 18%; }
.wea365-migration-table--plans th:nth-child(5) { width: 15%; }
.wea365-migration-table--plans th:nth-child(6) { width: 12%; }
.wea365-migration-table--plans th:nth-child(7) { width: 18%; }

.wea365-migration-table--orders th:nth-child(1) { width: 6%; }
.wea365-migration-table--orders th:nth-child(2) { width: 11%; }
.wea365-migration-table--orders th:nth-child(3) { width: 14%; }
.wea365-migration-table--orders th:nth-child(4) { width: 13%; }
.wea365-migration-table--orders th:nth-child(5) { width: 18%; }
.wea365-migration-table--orders th:nth-child(6) { width: 12%; }
.wea365-migration-table--orders th:nth-child(7) { width: 15%; }
.wea365-migration-table--orders th:nth-child(8) { width: 11%; }
.wea365-migration-table--orders td:nth-child(3),
.wea365-migration-table--orders td:nth-child(6) {
  white-space: nowrap;
}

@media (max-width: 1199px) {
  .wea365-migration-table--orders td:nth-child(3),
  .wea365-migration-table--orders td:nth-child(6) {
    white-space: normal;
  }
}

/* WEA365 0.9.95 / package 0.9.100: guided and hardened document migration packages. */
.wea365-migration-document-guide .wea365-migration-guide-list {
  margin-bottom: 0;
}
.wea365-migration-document-guide .wea365-migration-guide-list > li {
  padding-left: .2rem;
  line-height: 1.55;
}
.wea365-migration-package-structure {
  margin: .75rem 0 0;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(31, 41, 51, .12);
  border-radius: 6px;
  background: rgba(31, 41, 51, .035);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: normal;
  font-size: .875rem;
  line-height: 1.55;
}
.wea365-migration-security-report {
  border-left: 4px solid #32a05f;
}
.wea365-migration-security-report strong {
  overflow-wrap: anywhere;
}
@media (max-width: 639px) {
  .wea365-migration-document-guide.uk-card-body,
  .wea365-migration-security-report.uk-card-body {
    padding: 20px;
  }
  .wea365-migration-package-structure {
    padding: .85rem;
    font-size: .82rem;
  }
}

/* Shared WEA365 file selector / drag-and-drop area. */
.wea365-file-dropzone {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 118px;
  box-sizing: border-box;
  border: 1px dashed rgba(32, 54, 74, .28);
  background: rgba(127, 127, 127, .035);
  transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
  overflow: hidden;
}
.wea365-file-dropzone:hover,
.wea365-file-dropzone:focus-within {
  border-color: currentColor;
  background: rgba(127, 127, 127, .06);
}
.wea365-file-dropzone.is-dragover {
  border-style: solid;
  border-color: currentColor;
  background: rgba(72, 139, 184, .09);
  box-shadow: inset 0 0 0 2px rgba(72, 139, 184, .24);
}
.wea365-file-dropzone-input {
  position: absolute !important;
  inset: 0;
  z-index: 2;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0;
  cursor: pointer;
}
.wea365-file-dropzone-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .38rem;
  width: 100%;
  padding: 1.35rem 1rem;
  box-sizing: border-box;
  text-align: center;
  pointer-events: none;
}
.wea365-file-dropzone-icon {
  display: inline-flex;
  opacity: .72;
}
.wea365-file-dropzone-title {
  display: block;
  max-width: 100%;
  line-height: 1.35;
}
.wea365-file-dropzone-status {
  display: block;
  max-width: 100%;
  overflow-wrap: anywhere;
}
@media (max-width: 639px) {
  .wea365-file-dropzone { min-height: 104px; }
  .wea365-file-dropzone-content { padding: 1.1rem .85rem; }
}

/* Compact legacy document rhythm on narrow cards. */
@media (max-width: 639px) {
  .wea365-document-origin-badge { font-size: .67rem; padding-inline: 7px; }
  .wea365-document-file-meta { font-size: .84rem; }
  .wea365-document-origin-meta { font-size: .75rem; }
  .wea365-detail-document-description { margin-top: 9px !important; }
}

/* WEA365 0.9.104: stable desktop proportions for the final migration modules. */
.wea365-migration-table--documents th:nth-child(1) { width: 7%; }
.wea365-migration-table--documents th:nth-child(2) { width: 12%; }
.wea365-migration-table--documents th:nth-child(3) { width: 18%; }
.wea365-migration-table--documents th:nth-child(4) { width: 15%; }
.wea365-migration-table--documents th:nth-child(5) { width: 18%; }
.wea365-migration-table--documents th:nth-child(6) { width: 15%; }
.wea365-migration-table--documents th:nth-child(7) { width: 15%; }

.wea365-migration-table--legacy-reports th:nth-child(1) { width: 7%; }
.wea365-migration-table--legacy-reports th:nth-child(2) { width: 12%; }
.wea365-migration-table--legacy-reports th:nth-child(3) { width: 20%; }
.wea365-migration-table--legacy-reports th:nth-child(4) { width: 20%; }
.wea365-migration-table--legacy-reports th:nth-child(5) { width: 13%; }
.wea365-migration-table--legacy-reports th:nth-child(6) { width: 14%; }
.wea365-migration-table--legacy-reports th:nth-child(7) { width: 14%; }

.wea365-migration-table--history th:nth-child(1) { width: 7%; }
.wea365-migration-table--history th:nth-child(2) { width: 12%; }
.wea365-migration-table--history th:nth-child(3) { width: 20%; }
.wea365-migration-table--history th:nth-child(4) { width: 18%; }
.wea365-migration-table--history th:nth-child(5) { width: 15%; }
.wea365-migration-table--history th:nth-child(6) { width: 13%; }
.wea365-migration-table--history th:nth-child(7) { width: 15%; }

/* General document library folders */
.wea365-document-folder-card {
    min-height: 72px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border: 1px solid rgba(0,0,0,.10);
    border-radius: 8px;
    background: var(--wea365-color-white);
    color: inherit;
    text-decoration: none;
}
.wea365-document-folder-card:hover { text-decoration: none; }
.wea365-document-folder-card strong { flex: 1 1 auto; min-width: 0; }
.wea365-document-folder-icon { flex: 0 0 auto; }
.wea365-document-breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.wea365-document-breadcrumbs a { display: inline-flex; align-items: center; gap: 6px; }
.wea365-document-library-list { display: grid; gap: 10px; }
.wea365-document-library-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 16px;
    border: 1px solid rgba(0,0,0,.10);
    border-radius: 8px;
    background: var(--wea365-color-white);
}
.wea365-document-library-main { display: flex; align-items: flex-start; gap: 12px; min-width: 0; }
.wea365-document-folder-admin-list { display: grid; gap: 8px; }
.wea365-document-folder-admin-row { border-top: 1px solid rgba(255,255,255,.18); padding-top: 8px; }
.wea365-document-folder-admin-row > summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: 8px; min-height: 44px; }
@media (max-width: 639px) {
    .wea365-document-library-row { align-items: stretch; flex-direction: column; }
    .wea365-document-library-row .wea365-direct-action { width: 100%; min-height: 44px; }
}

/* General document library explorer */
.wea365-document-explorer{margin-bottom:28px;min-width:0}
.wea365-document-explorer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.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;background:rgba(127,127,127,.025)}
.wea365-document-tree{padding:14px;border-right:1px solid rgba(127,127,127,.24);background:rgba(127,127,127,.035);min-width:0;overflow-x:hidden}
.wea365-document-tree-root,.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-document-tree-root>.wea365-document-tree-label,.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-document-tree-root:hover,.wea365-document-tree-link:hover,.wea365-document-tree-root:focus,.wea365-document-tree-link:focus{background:rgba(127,127,127,.10);text-decoration:none}
.wea365-document-tree-root.is-active,.wea365-document-tree-link.is-active,.wea365-document-tree-item.is-active>.wea365-document-tree-link{background:rgba(65,120,180,.12);font-weight:700}
.wea365-document-tree-list{list-style:none;margin:2px 0 0;padding:0;min-width:0}
.wea365-document-tree-list.is-nested{margin-left:6px;padding-left:5px;border-left:1px solid rgba(127,127,127,.34)}
.wea365-document-tree-list.is-nested>.wea365-document-tree-item{position:relative;min-width:0}
.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-document-tree-link [uk-icon],.wea365-document-tree-root [uk-icon]{flex:0 0 auto}
.wea365-document-explorer-content{padding:16px;min-width:0;position:relative}
.wea365-document-explorer-breadcrumbs{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-bottom:12px;font-size:.9rem}
.wea365-document-explorer-breadcrumbs a{display:inline-flex;align-items:center;gap:5px;color:inherit;text-decoration:none}
.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;font-size:.86rem;opacity:.72}
.wea365-document-explorer-items{display:grid;gap:8px;container-type:inline-size}
.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;background:rgba(255,255,255,.025);color:inherit;text-decoration:none;min-width:0}
.wea365-document-explorer-item:hover,.wea365-document-explorer-item:focus{border-color:rgba(127,127,127,.45);text-decoration:none}
.wea365-document-explorer-item-icon{display:flex;align-items:center;justify-content:center}
.wea365-document-explorer-item-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.wea365-document-explorer-item-main strong,.wea365-document-explorer-item-main .uk-text-meta{min-width:0;overflow-wrap:anywhere}
.wea365-document-explorer-item-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.wea365-document-explorer-item-actions .uk-button{white-space:nowrap}
.wea365-document-explorer-empty{display:flex;align-items:center;gap:10px;padding:24px;border:1px dashed rgba(127,127,127,.30);border-radius:6px;opacity:.70}
.wea365-document-tree [data-wea365-folder-drop].is-drop-target,.wea365-document-explorer-content.is-drop-target,.wea365-document-explorer-item.is-drop-target{outline:2px solid currentColor;outline-offset:-2px;background:rgba(65,120,180,.12)}
.wea365-document-explorer [draggable="true"]{cursor:grab}
.wea365-document-explorer [draggable="true"]:active{cursor:grabbing}
@media(max-width:959px){
  .wea365-document-explorer-layout{grid-template-columns:1fr;min-height:0}
  .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-document-explorer-header{display:grid;grid-template-columns:1fr}
  .wea365-document-explorer-header .uk-button{width:100%}
  .wea365-document-tree-list.is-nested{margin-left:3px;padding-left:3px}
}
/* 0.9.141: document actions respond to the available card width, not only the viewport.
   This prevents labeled actions from escaping narrow explorer cards inside otherwise wide layouts. */
@container (max-width:520px){
  .wea365-document-explorer-item{grid-template-columns:34px minmax(0,1fr)}
  .wea365-document-explorer-item>.uk-button{grid-column:1/-1;width:100%}
  .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-document-explorer-item-actions .uk-button{width:100%;min-width:0;padding-left:12px;padding-right:12px}
}
@container (max-width:340px){
  .wea365-document-explorer-item-actions{grid-template-columns:1fr}
}
.wea365-document-explorer-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
@media(max-width:639px){.wea365-document-explorer-actions{display:grid;grid-template-columns:1fr}.wea365-document-explorer-actions .uk-button{width:100%}}
/* 0.9.136: library folder navigation loads only the explorer content. */
.wea365-document-explorer.is-loading .wea365-document-explorer-content{opacity:.58;pointer-events:none;transition:opacity .14s ease}
.wea365-document-explorer .wea365-document-explorer-content[aria-busy="true"]{cursor:progress}

.wea365-document-tree-item.is-active-branch>.wea365-document-tree-link{font-weight:700}
.wea365-document-tree-root>.uk-badge,.wea365-document-tree-link>.uk-badge{flex:0 0 auto;margin-left:auto}
/* 0.9.137: unified library root keeps scope branches and deep general-folder hierarchy readable. */


/* 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;
  }
}

/* 0.9.142: live report-template preview and efficient duplication workflow. */
.wea365-report-template-preview .wea365-report-template-preview-bar {
  width: min(760px, 96vw);
  max-width: 100vw;
  overflow-x: hidden;
}

.wea365-report-preview-section {
  padding: 20px 0;
  border-top: 1px solid rgba(255,255,255,.18);
}

.wea365-report-preview-section:first-child {
  border-top: 0;
  padding-top: 0;
}

.wea365-report-preview-field {
  margin-top: 14px;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 4px;
  background: rgba(255,255,255,.055);
  min-width: 0;
}

.wea365-report-preview-label {
  margin-bottom: 9px;
  font-weight: 700;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.wea365-report-preview-required {
  font-weight: 800;
}

.wea365-report-preview-choices {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
}

.wea365-report-preview-choices-stack {
  flex-direction: column;
  align-items: flex-start;
  gap: 9px;
}

.wea365-report-preview-choice {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  cursor: pointer;
}

.wea365-report-preview-measurement {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
}

.wea365-report-preview-measurement .uk-input {
  min-width: 0;
}

.wea365-report-preview-unit {
  display: inline-flex;
  align-items: center;
  padding: 0 14px;
  border: 1px solid rgba(255,255,255,.3);
  border-left: 0;
  white-space: nowrap;
}

.wea365-report-preview-defect {
  margin-top: 12px;
  padding: 10px 12px;
  border-left: 3px solid currentColor;
  background: rgba(255,255,255,.08);
  font-size: .92em;
}

.wea365-report-preview-info {
  margin-top: 14px;
}

.wea365-report-preview-info-text {
  white-space: pre-line;
  line-height: 1.5;
}

@media (max-width: 639px) {
  .wea365-report-template-preview .wea365-report-template-preview-bar {
    width: 100vw;
    padding-left: 22px;
    padding-right: 22px;
  }

  .wea365-report-preview-field {
    padding: 14px;
  }

  .wea365-report-preview-choices:not(.wea365-report-preview-choices-stack) {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
}


/* 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: canonical internal page headers and tenant selector. */
.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;
  }
}

/* Report templates 0.9.149: horizontal library and complete one-page import review. */
.wea365-report-template-workspace-stack {
  display: block;
  min-width: 0;
}
.wea365-report-template-workspace-stack .wea365-report-template-library-pane {
  padding: 26px 0 28px;
  border-right: 0;
  border-bottom: 1px solid rgba(0,0,0,.10);
}
.wea365-report-template-workspace-stack .wea365-report-template-detail-pane {
  padding: 30px 0 8px;
}
.wea365-report-template-create-form {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto;
  gap: 12px;
  align-items: end;
  margin: 0;
}
.wea365-report-template-create-field {
  min-width: 0;
}
.wea365-report-template-library-pane .wea365-report-template-import-action {
  margin-top: 12px;
}
.wea365-report-template-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 22px;
  margin-top: 20px;
  border-top: 1px solid rgba(0,0,0,.10);
}
.wea365-report-template-list > li {
  min-width: 0;
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.wea365-report-template-list > li > a {
  min-height: 54px;
  padding: 10px 8px;
}
.wea365-report-template-list > li.uk-active > a {
  background: rgba(0,0,0,.045);
}
.wea365-report-template-import-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.wea365-report-template-import-ready {
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(0,0,0,.10);
}
.wea365-report-template-import-review,
.wea365-report-template-import-draft {
  padding-top: 26px;
  border-top: 1px solid rgba(0,0,0,.10);
}
.wea365-report-template-import-columns {
  position: sticky;
  top: 0;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(220px, .85fr) minmax(300px, 1.2fr) minmax(300px, 1fr);
  gap: 28px;
  padding: 10px 0 12px;
  background: var(--wea365-color-white);
  border-top: 1px solid rgba(0,0,0,.12);
  border-bottom: 1px solid rgba(0,0,0,.12);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.wea365-report-template-import-elements {
  border-top: 0;
}
.wea365-report-template-import-section-row {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 18px 0 10px;
  border-bottom: 1px solid rgba(0,0,0,.12);
}
.wea365-report-template-import-section-row strong {
  font-size: 1.05rem;
  line-height: 1.4;
}
.wea365-report-template-import-element {
  display: grid;
  grid-template-columns: minmax(220px, .85fr) minmax(300px, 1.2fr) minmax(300px, 1fr);
  gap: 28px;
  align-items: start;
  padding: 20px 0;
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.wea365-report-template-import-element-text {
  min-width: 0;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.wea365-report-template-import-element-text > div:last-child {
  margin-top: 4px;
  font-weight: 600;
}
.wea365-report-template-import-element-original {
  min-width: 0;
}
.wea365-report-template-original-table {
  display: grid;
  grid-template-columns: repeat(var(--wea365-original-cols, 1), minmax(0, 1fr));
  border: 1px solid rgba(0,0,0,.18);
  background: #fafafa;
}
.wea365-report-template-original-cell {
  min-width: 0;
  padding: 8px 9px;
  border-right: 1px solid rgba(0,0,0,.13);
  overflow-wrap: anywhere;
  line-height: 1.35;
}
.wea365-report-template-original-cell:last-child {
  border-right: 0;
}
.wea365-report-template-original-cell.is-active {
  background: rgba(42,86,164,.10);
  box-shadow: inset 0 -2px 0 rgba(42,86,164,.55);
}
.wea365-report-template-original-paragraph {
  border-left: 3px solid rgba(42,86,164,.30);
  padding: 8px 12px;
  background: #fafafa;
  line-height: 1.4;
}
.wea365-report-template-original-paragraph .is-context {
  color: rgba(0,0,0,.50);
  font-size: .88rem;
}
.wea365-report-template-original-paragraph .is-current {
  margin: 5px 0;
  font-weight: 600;
}
.wea365-report-template-original-list {
  border: 1px solid rgba(0,0,0,.16);
  background: #fafafa;
}
.wea365-report-template-original-list-row {
  display: grid;
  grid-template-columns: minmax(34px,.35fr) minmax(180px,3fr) minmax(90px,1fr);
  gap: 10px;
  align-items: start;
  padding: 6px 9px;
  border-bottom: 1px solid rgba(0,0,0,.10);
  line-height: 1.35;
}
.wea365-report-template-original-list-row:last-child {
  border-bottom: 0;
}
.wea365-report-template-original-list-number,
.wea365-report-template-original-list-reference {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.wea365-report-template-original-list-reference {
  text-align: right;
}
.wea365-report-template-original-list-label {
  min-width: 0;
  overflow-wrap: anywhere;
}
.wea365-report-template-import-element-use {
  min-width: 0;
}

.wea365-report-template-original-neighbour {
  margin: 0 0 8px;
  color: rgba(0,0,0,.52);
  font-size: .84rem;
  line-height: 1.4;
}
.wea365-report-template-original-table + .wea365-report-template-original-neighbour {
  margin-top: 8px;
  margin-bottom: 0;
}
.wea365-report-template-original-open {
  margin-top: 8px;
  min-height: 36px;
}
.wea365-report-template-original-preview .wea365-report-template-original-preview-bar {
  width: min(820px, 96vw);
  max-width: 100vw;
  overflow-x: hidden;
}
.wea365-report-template-original-preview [data-wea365-import-original-preview-body] .wea365-report-template-original-neighbour,
.wea365-report-template-original-preview [data-wea365-import-original-preview-body] .wea365-report-template-original-paragraph .is-context {
  color: rgba(255,255,255,.66);
}
.wea365-report-template-original-preview [data-wea365-import-original-preview-body] .wea365-report-template-original-table {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.24);
}
.wea365-report-template-original-preview [data-wea365-import-original-preview-body] .wea365-report-template-original-list {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.24);
}
.wea365-report-template-original-preview [data-wea365-import-original-preview-body] .wea365-report-template-original-list-row {
  border-color: rgba(255,255,255,.16);
}
.wea365-report-template-original-preview [data-wea365-import-original-preview-body] .wea365-report-template-original-cell {
  padding: 12px 14px;
  border-color: rgba(255,255,255,.18);
}
.wea365-report-template-original-preview [data-wea365-import-original-preview-body] .wea365-report-template-original-cell.is-active {
  background: rgba(255,255,255,.12);
  box-shadow: inset 0 -2px 0 rgba(255,255,255,.72);
}
.wea365-report-template-original-preview [data-wea365-import-original-preview-body] .wea365-report-template-original-paragraph {
  background: rgba(255,255,255,.06);
  border-left-color: rgba(255,255,255,.38);
}
@media (max-width: 639px) {
  .wea365-report-template-original-preview .wea365-report-template-original-preview-bar {
    width: 100vw;
    padding-left: 22px;
    padding-right: 22px;
  }
}
.wea365-report-template-import-element-use .uk-select {
  min-height: 44px;
}

.wea365-report-template-import-choice-options {
  margin-top: 12px;
}
.wea365-report-template-import-option-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  margin-top: 8px;
  align-items: stretch;
}
.wea365-report-template-import-option-row .uk-input,
.wea365-report-template-import-option-row .uk-button,
.wea365-report-template-import-choice-options > .uk-button {
  min-height: 44px;
}
@media (max-width: 639px) {
  .wea365-report-template-import-option-row {
    grid-template-columns: minmax(0, 1fr);
  }
  .wea365-report-template-import-option-row .uk-button,
  .wea365-report-template-import-choice-options > .uk-button {
    width: 100%;
  }
}
@media (max-width: 959px) {
  .wea365-report-template-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wea365-report-template-import-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .wea365-report-template-import-columns,
  .wea365-report-template-import-element {
    grid-template-columns: minmax(190px, .8fr) minmax(250px, 1.1fr) minmax(260px, 1fr);
    gap: 18px;
  }
}
@media (max-width: 639px) {
  .wea365-report-template-create-form {
    grid-template-columns: minmax(0, 1fr);
  }
  .wea365-report-template-create-form .uk-button,
  .wea365-report-template-library-pane .wea365-report-template-import-action {
    width: 100%;
  }
  .wea365-report-template-list,
  .wea365-report-template-import-summary {
    grid-template-columns: minmax(0, 1fr);
  }
  .wea365-report-template-import-columns {
    display: none;
  }
  .wea365-report-template-import-element {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    align-items: stretch;
    padding: 20px 0 24px;
  }
  .wea365-report-template-import-element-text::before,
  .wea365-report-template-import-element-original::before,
  .wea365-report-template-import-element-use::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 6px;
    color: rgba(0,0,0,.55);
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: uppercase;
  }
  .wea365-report-template-original-table {
    overflow-x: auto;
  }
  .wea365-report-template-original-list-row {
    grid-template-columns: 34px minmax(0,1fr);
  }
  .wea365-report-template-original-list-reference {
    grid-column: 2;
    text-align: left;
    color: rgba(0,0,0,.58);
    font-size: .88em;
  }
}
.wea365-report-template-import-summary .wea365-report-template-stat {
  min-height: 0;
  padding: 6px 18px 6px 0;
  background: transparent;
  border-left: 0;
  border-right: 1px solid rgba(0,0,0,.10);
}
.wea365-report-template-import-summary .wea365-report-template-stat:last-child {
  border-right: 0;
}
@media (max-width: 639px) {
  .wea365-report-template-import-summary .wea365-report-template-stat {
    padding: 10px 0;
    border-right: 0;
    border-bottom: 1px solid rgba(0,0,0,.08);
  }
  .wea365-report-template-import-summary .wea365-report-template-stat:last-child {
    border-bottom: 0;
  }
}
.wea365-report-template-workspace-stack .wea365-report-template-pane-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px 14px;
  align-items: end;
}
.wea365-report-template-workspace-stack .wea365-report-template-pane-inner > h2,
.wea365-report-template-workspace-stack .wea365-report-template-pane-inner > .wea365-report-template-list,
.wea365-report-template-workspace-stack .wea365-report-template-pane-inner > p {
  grid-column: 1 / -1;
}
.wea365-report-template-library-pane .wea365-report-template-import-action {
  margin-top: 0;
  align-self: end;
}
@media (max-width: 639px) {
  .wea365-report-template-workspace-stack .wea365-report-template-pane-inner {
    grid-template-columns: minmax(0, 1fr);
  }
  .wea365-report-template-workspace-stack .wea365-report-template-pane-inner > * {
    grid-column: 1;
  }
}

/* Report-template import correction tools: parser proposals stay fully editable. */
.wea365-report-template-import-element {
  align-items: start;
}
.wea365-report-template-import-section-title {
  max-width: 720px;
  min-height: 44px;
  font-weight: 600;
}
.wea365-report-template-import-part + .wea365-report-template-import-part {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(0,0,0,.10);
}
.wea365-report-template-import-part > .uk-input,
.wea365-report-template-import-part > .uk-select {
  min-height: 44px;
}
.wea365-report-template-import-field-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}
.wea365-report-template-import-field-actions .uk-button {
  min-height: 44px;
}
@media (max-width: 639px) {
  .wea365-report-template-import-field-actions {
    display: grid;
    grid-template-columns: minmax(0,1fr);
  }
  .wea365-report-template-import-field-actions .uk-button {
    width: 100%;
  }
}
.wea365-report-template-import-corrections {
  margin-top: 12px;
}
.wea365-report-template-import-corrections > summary {
  cursor: pointer;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  font-weight: 600;
  color: inherit;
}
.wea365-report-template-import-corrections[open] > summary {
  margin-bottom: 8px;
}

/* Report-template import: source structure is the reference, parser results remain proposals. */
.wea365-report-template-import-element {
  grid-template-columns: minmax(210px, .72fr) minmax(400px, 1.55fr) minmax(320px, 1fr);
}
.wea365-report-template-original-cell.role-unit,
.wea365-report-template-original-cell.role-marker,
.wea365-report-template-original-cell.role-empty {
  text-align: center;
  white-space: nowrap;
}
.wea365-report-template-original-cell.role-marker {
  font-size: 1.08rem;
}
.wea365-report-template-original-preview .wea365-report-template-original-preview-bar,
.wea365-report-template-original-preview .wea365-report-template-original-preview-bar h1,
.wea365-report-template-original-preview .wea365-report-template-original-preview-bar h2,
.wea365-report-template-original-preview .wea365-report-template-original-preview-bar h3,
.wea365-report-template-original-preview .wea365-report-template-original-preview-bar .uk-h1,
.wea365-report-template-original-preview .wea365-report-template-original-preview-bar .uk-h2,
.wea365-report-template-original-preview .wea365-report-template-original-preview-bar .uk-h3 {
  color: var(--wea365-color-white) !important;
}
.wea365-report-template-import-applicability {
  margin: 28px 0 34px;
  padding: 22px 0 26px;
  border-top: 1px solid rgba(0,0,0,.10);
  border-bottom: 1px solid rgba(0,0,0,.10);
}
.wea365-report-template-import-applicability-list {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}
.wea365-report-template-import-applicability-row {
  display: grid;
  grid-template-columns: minmax(220px, .75fr) minmax(300px, 1fr);
  gap: 24px;
  align-items: end;
}
.wea365-report-template-import-applies {
  line-height: 1.4;
}
.wea365-report-preview-subheading,
.wea365-report-preview-heading-wrap {
  margin-top: 24px;
  margin-bottom: 10px;
}
@media (max-width: 959px) {
  .wea365-report-template-import-element {
    grid-template-columns: minmax(180px, .72fr) minmax(320px, 1.45fr) minmax(260px, 1fr);
  }
}
@media (max-width: 639px) {
  .wea365-report-template-import-element,
  .wea365-report-template-import-applicability-row {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Report-template import: maintenance variants are mapped in plain language and created inline with explicit buttons. */
.wea365-report-template-import-applicability-source .uk-text-meta {
  margin-bottom: 4px;
}
.wea365-report-template-import-applicability-target > .uk-form-label {
  margin-bottom: 6px;
}
.wea365-report-template-import-applicability-actions,
.wea365-report-template-import-new-type-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}
.wea365-report-template-import-applicability-actions .uk-button,
.wea365-report-template-import-new-type-actions .uk-button {
  min-height: 44px;
}
.wea365-report-template-import-new-type {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(0,0,0,.10);
}
.wea365-report-template-import-interval {
  display: grid;
  grid-template-columns: minmax(90px, .35fr) minmax(160px, 1fr);
  gap: 10px;
}
@media (max-width: 639px) {
  .wea365-report-template-import-interval {
    grid-template-columns: minmax(0, 1fr);
  }
  .wea365-report-template-import-applicability-actions .uk-button,
  .wea365-report-template-import-new-type-actions .uk-button {
    width: 100%;
  }
}


/* 0.9.156: import actions are explicit buttons; maintenance mapping reads as one relation per row. */
.wea365-report-template-original-open,
.wea365-report-template-import-corrections > [data-wea365-import-correction-toggle] {
  min-height: 44px;
  margin-top: 10px;
}
.wea365-report-template-import-corrections > [data-wea365-import-correction-toggle] {
  width: auto;
}
.wea365-report-template-import-corrections .wea365-report-template-import-field-actions[hidden] {
  display: none !important;
}
.wea365-report-template-import-corrections .wea365-report-template-import-field-actions {
  margin-top: 10px;
}
.wea365-report-template-import-applicability-head,
.wea365-report-template-import-applicability-row {
  display: grid;
  grid-template-columns: minmax(220px, .72fr) 44px minmax(360px, 1fr);
  gap: 18px;
}
.wea365-report-template-import-applicability-head {
  margin-top: 18px;
  padding: 0 0 8px;
  color: rgba(0,0,0,.62);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.wea365-report-template-import-applicability-list {
  gap: 0;
  margin-top: 0;
  border-top: 1px solid rgba(0,0,0,.10);
}
.wea365-report-template-import-applicability-row {
  align-items: center;
  min-height: 92px;
  padding: 16px 0;
  border-bottom: 1px solid rgba(0,0,0,.10);
}
.wea365-report-template-import-applicability-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(0,0,0,.48);
}
.wea365-report-template-import-applicability-source strong {
  display: block;
  font-size: 1rem;
}
.wea365-report-template-import-applicability-mobile-label {
  display: none;
}
.wea365-report-template-import-applicability-target .uk-select {
  min-height: 44px;
}
.wea365-report-template-import-applicability-actions .uk-button[hidden] {
  display: none !important;
}
@media (max-width: 639px) {
  .wea365-report-template-import-applicability-head {
    display: none;
  }
  .wea365-report-template-import-applicability-row {
    grid-template-columns: minmax(0,1fr);
    gap: 10px;
    align-items: stretch;
    padding: 18px 0;
  }
  .wea365-report-template-import-applicability-arrow {
    justify-content: flex-start;
    transform: rotate(90deg);
    transform-origin: 11px 11px;
    min-height: 24px;
  }
  .wea365-report-template-import-applicability-mobile-label {
    display: block;
    margin-bottom: 4px;
    color: rgba(0,0,0,.56);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: uppercase;
  }
  .wea365-report-template-original-open,
  .wea365-report-template-import-corrections > [data-wea365-import-correction-toggle] {
    width: 100%;
  }
}


/* WEA365 0.9.166: robust compact report-template editor for large imported forms. */
.wea365-report-editor-toolbar-actions .uk-button,
.wea365-report-editor-action,
.wea365-report-editor-section-toggle,
.wea365-report-editor-add-field .uk-button,
.wea365-report-template-detail-footer .uk-button {
  min-height: 44px;
}
.wea365-report-template-canvas {
  border-bottom: 0;
}
.wea365-report-editor-section {
  border-top: 1px solid rgba(0,0,0,.13);
  padding: 14px 0;
}
.wea365-report-editor-section:last-child {
  border-bottom: 1px solid rgba(0,0,0,.13);
}
.wea365-report-editor-section-head {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto;
  gap: 14px;
  align-items: center;
}
.wea365-report-editor-section-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  text-align: left;
  white-space: normal;
  padding: 10px 14px;
}
.wea365-report-editor-section-title-wrap {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
}
.wea365-report-editor-section-title {
  font-weight: 700;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.wea365-report-editor-section-count {
  font-size: .84rem;
  opacity: .68;
  white-space: nowrap;
}
.wea365-report-editor-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.wea365-report-editor-action {
  padding: 0 11px;
  font-size: .77rem;
  line-height: 1.1;
  white-space: nowrap;
}
.wea365-report-editor-action-danger {
  border-color: rgba(196, 52, 52, .38);
}
.wea365-report-editor-action-danger:hover,
.wea365-report-editor-action-danger:focus {
  border-color: rgba(196, 52, 52, .75);
}
.wea365-report-editor-section-body {
  padding: 14px 0 4px 18px;
}
.wea365-report-editor-section-description {
  margin: 0 0 12px;
  color: rgba(0,0,0,.64);
}
.wea365-report-editor-field-list {
  border-top: 1px solid rgba(0,0,0,.08);
}
.wea365-report-editor-field-row {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.wea365-report-editor-field-info {
  min-width: 0;
}
.wea365-report-editor-field-type {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 2px 9px;
  margin-bottom: 5px;
  border: 1px solid rgba(0,0,0,.15);
  border-radius: 2px;
  font-size: .76rem;
  font-weight: 700;
  line-height: 1.2;
}
.wea365-report-editor-field-label {
  font-weight: 700;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.wea365-report-editor-field-meta {
  margin-top: 4px;
  color: rgba(0,0,0,.60);
  font-size: .85rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.wea365-report-editor-add-field {
  display: grid;
  grid-template-columns: minmax(220px, 360px) auto;
  gap: 10px;
  align-items: end;
  padding-top: 14px;
}
.wea365-report-editor-add-field .uk-margin-small {
  margin: 0 !important;
}
.wea365-report-template-detail .wea365-report-template-detail-bar {
  width: min(720px, 96vw);
  max-width: 100vw;
  overflow-x: hidden;
}
.wea365-report-template-detail-bar,
.wea365-report-template-detail-bar h1,
.wea365-report-template-detail-bar h2,
.wea365-report-template-detail-bar h3,
.wea365-report-template-detail-bar .uk-form-label,
.wea365-report-template-detail-bar legend,
.wea365-report-template-detail-bar label,
.wea365-report-template-detail-bar .uk-text-meta {
  color: var(--wea365-color-white) !important;
}
.wea365-report-template-detail-bar .uk-input,
.wea365-report-template-detail-bar .uk-select,
.wea365-report-template-detail-bar .uk-textarea {
  background: var(--wea365-color-white);
  color: #172b4d;
}
.wea365-report-template-detail-body {
  margin-top: 22px;
}
.wea365-report-template-detail-body > .uk-margin-small,
.wea365-report-editor-detail-group,
.wea365-report-editor-detail-check {
  margin-top: 16px;
}
.wea365-report-editor-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 10px;
}
.wea365-report-editor-detail-check-list,
.wea365-report-editor-detail-group {
  display: grid;
  gap: 10px;
}
.wea365-report-editor-detail-check {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
}
.wea365-report-template-detail-footer {
  position: sticky;
  bottom: -20px;
  padding: 18px 0 4px;
  margin-top: 26px;
  background: #082f57;
}
/* Preview must remain readable on the dark WEA365 sidepanel. */
.wea365-report-template-preview-bar,
.wea365-report-template-preview-bar h1,
.wea365-report-template-preview-bar h2,
.wea365-report-template-preview-bar h3,
.wea365-report-template-preview-bar h4,
.wea365-report-template-preview-bar p,
.wea365-report-template-preview-bar label,
.wea365-report-template-preview-bar .wea365-report-preview-label,
.wea365-report-template-preview-bar .wea365-report-preview-subheading,
.wea365-report-template-preview-bar .uk-text-meta,
.wea365-report-template-preview-bar .wea365-report-preview-choice,
.wea365-report-template-preview-bar .wea365-report-preview-unit {
  color: var(--wea365-color-white) !important;
}
.wea365-report-template-preview-bar .uk-text-meta {
  opacity: .82;
}
.wea365-report-template-preview-bar .uk-input,
.wea365-report-template-preview-bar .uk-select,
.wea365-report-template-preview-bar .uk-textarea {
  background: var(--wea365-color-white);
  color: #172b4d !important;
}
.wea365-report-template-preview-bar .uk-radio,
.wea365-report-template-preview-bar .uk-checkbox {
  border-color: rgba(255,255,255,.75);
  background-color: rgba(255,255,255,.10);
}
.wea365-report-preview-field {
  background: rgba(255,255,255,.09);
  border-color: rgba(255,255,255,.30);
}
@media (max-width: 1199px) {
  .wea365-report-editor-section-head,
  .wea365-report-editor-field-row {
    grid-template-columns: minmax(0,1fr);
  }
}
@media (max-width: 639px) {
  .wea365-report-editor-section-body {
    padding-left: 0;
  }
  .wea365-report-editor-actions,
  .wea365-report-editor-field-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    width: 100%;
  }
  .wea365-report-editor-action,
  .wea365-report-editor-actions .uk-button {
    width: 100%;
  }
  .wea365-report-editor-add-field,
  .wea365-report-editor-detail-grid {
    grid-template-columns: minmax(0,1fr);
  }
  .wea365-report-template-detail .wea365-report-template-detail-bar {
    width: 100vw;
    padding-left: 22px;
    padding-right: 22px;
  }
}

/* WEA365 0.9.168: calm, flat section navigator for very large report templates. */
.wea365-report-editor-section {
  padding: 0;
  border-top: 1px solid rgba(0,0,0,.13);
}
.wea365-report-editor-section:last-child {
  border-bottom: 1px solid rgba(0,0,0,.13);
}
.wea365-report-editor-section-head {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 18px;
  align-items: center;
  min-height: 72px;
  padding: 12px 0;
}
.wea365-report-editor-section-summary {
  min-width: 0;
  padding-right: 8px;
}
.wea365-report-editor-section-title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0;
  text-transform: none;
  overflow-wrap: anywhere;
}
.wea365-report-editor-section-count {
  margin-top: 4px;
  color: rgba(0,0,0,.58);
  font-size: .82rem;
  font-weight: 600;
  line-height: 1.3;
  text-transform: none;
}
.wea365-report-editor-section-head-actions {
  justify-content: flex-end;
}
.wea365-report-editor-section-head-actions .wea365-report-editor-action {
  min-width: 112px;
}
.wea365-report-editor-section-body {
  padding: 4px 0 18px;
  border-top: 1px solid rgba(0,0,0,.06);
}
.wea365-report-editor-section-description {
  margin: 14px 0 12px;
}
.wea365-report-editor-section-manage {
  padding: 12px 0;
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.wea365-report-editor-section-empty {
  padding: 16px 0;
  color: rgba(0,0,0,.58);
  font-size: .9rem;
}
.wea365-report-editor-field-list {
  border-top: 0;
}
.wea365-report-editor-section-toggle,
.wea365-report-editor-section-title-wrap {
  /* legacy 0.9.166 structures are intentionally no longer used */
  width: auto;
}
@media (max-width: 959px) {
  .wea365-report-editor-section-head {
    grid-template-columns: minmax(0,1fr);
    gap: 10px;
  }
  .wea365-report-editor-section-head-actions {
    justify-content: flex-start;
  }
}
@media (max-width: 639px) {
  .wea365-report-editor-section-head-actions,
  .wea365-report-editor-section-manage {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    width: 100%;
  }
  .wea365-report-editor-section-head-actions .wea365-report-editor-action,
  .wea365-report-editor-section-manage .wea365-report-editor-action {
    width: 100%;
  }
}


/* Report-template photo documentation preview */
.wea365-report-preview-photo-area {
  min-height: 88px;
  margin-top: 12px;
  border: 1px dashed currentColor;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px;
  font-weight: 600;
}

/* WEA365 0.9.170: report-template detail panel contrast and stable form geometry. */
body .uk-offcanvas .wea365-report-template-detail-bar,
body .uk-offcanvas .wea365-report-template-detail-bar [data-wea365-template-detail-kicker],
body .uk-offcanvas .wea365-report-template-detail-bar [data-wea365-template-detail-title],
body .uk-offcanvas .wea365-report-template-detail-bar .uk-form-label,
body .uk-offcanvas .wea365-report-template-detail-bar legend,
body .uk-offcanvas .wea365-report-template-detail-bar label,
body .uk-offcanvas .wea365-report-template-detail-bar label span,
body .uk-offcanvas .wea365-report-template-detail-bar .uk-text-meta,
body .uk-offcanvas .wea365-report-template-detail-bar .wea365-report-editor-detail-check span {
  color: var(--wea365-color-white) !important;
  opacity: 1 !important;
}
body .uk-offcanvas .wea365-report-template-detail-bar [data-wea365-template-detail-title] {
  line-height: 1.22;
  overflow-wrap: anywhere;
}
.wea365-report-template-detail-body > .uk-margin-small {
  margin-top: 14px !important;
  margin-bottom: 0 !important;
}
.wea365-report-template-detail-body .uk-form-label {
  display: block;
  margin-bottom: 6px;
  line-height: 1.3;
}
.wea365-report-template-detail-body .uk-input,
.wea365-report-template-detail-body .uk-select,
.wea365-report-template-detail-body .uk-textarea {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.wea365-report-editor-detail-measurement-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 12px;
  align-items: end;
}
.wea365-report-editor-detail-measurement-grid > .uk-margin-small {
  margin: 0 !important;
}
.wea365-report-editor-detail-grid-spacer {
  min-width: 0;
}
.wea365-report-editor-detail-check-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 14px;
}
.wea365-report-editor-detail-check {
  min-height: 44px;
  margin: 0 !important;
  padding: 4px 0;
}
.wea365-report-editor-detail-check .uk-checkbox {
  flex: 0 0 auto;
}
.wea365-report-preview-measurement-series {
  display: grid;
  gap: 8px;
  max-width: 520px;
}
.wea365-report-preview-measurement-series .wea365-report-preview-measurement {
  display: grid;
  grid-template-columns: 30px minmax(120px, 1fr) auto;
  gap: 10px;
  align-items: center;
}
.wea365-report-preview-measurement-index {
  font-weight: 700;
  text-align: right;
}
@media (max-width: 639px) {
  .wea365-report-editor-detail-measurement-grid,
  .wea365-report-editor-detail-check-list {
    grid-template-columns: minmax(0, 1fr);
  }
  .wea365-report-editor-detail-grid-spacer {
    display: none;
  }
  .wea365-report-preview-measurement-series .wea365-report-preview-measurement {
    grid-template-columns: 28px minmax(0, 1fr) auto;
  }
}

/* WEA365 0.9.171: calm, scannable field summaries instead of metadata sentences. */
.wea365-report-editor-field-row {
  grid-template-columns: minmax(420px, 1fr) minmax(420px, 520px);
  gap: 22px;
  align-items: start;
  padding: 15px 0;
}
.wea365-report-editor-field-type {
  min-height: 24px;
  margin-bottom: 7px;
  padding: 2px 8px;
  background: rgba(32, 83, 143, .04);
  border-color: rgba(32, 83, 143, .18);
  color: #173b68;
}
.wea365-report-editor-field-label {
  max-width: 760px;
  color: #18324f;
  font-size: 1rem;
  line-height: 1.38;
}
.wea365-report-editor-field-meta {
  display: grid;
  gap: 7px;
  margin-top: 8px;
  color: #536577;
  font-size: .82rem;
  line-height: 1.25;
}
.wea365-report-editor-meta-facts,
.wea365-report-editor-meta-applicability {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
}
.wea365-report-editor-meta-key {
  margin-right: 2px;
  color: #607284;
  font-weight: 600;
}
.wea365-report-editor-meta-pill {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 2px 8px;
  border: 1px solid rgba(24, 50, 79, .14);
  border-radius: 999px;
  background: rgba(24, 50, 79, .035);
  color: #40566d;
  font-weight: 600;
  white-space: nowrap;
}
.wea365-report-editor-meta-pill.is-limit {
  background: rgba(78, 117, 60, .055);
  border-color: rgba(78, 117, 60, .18);
}
.wea365-report-editor-meta-pill.is-required {
  background: rgba(161, 93, 25, .06);
  border-color: rgba(161, 93, 25, .20);
}
.wea365-report-editor-meta-pill.is-applicability {
  background: rgba(32, 83, 143, .045);
  border-color: rgba(32, 83, 143, .16);
}
.wea365-report-editor-meta-pill.is-more {
  background: transparent;
  border-style: dashed;
}
.wea365-report-editor-field-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(130px, 1fr));
  gap: 6px;
  width: 100%;
  max-width: 520px;
  justify-self: end;
}
.wea365-report-editor-field-actions .wea365-report-editor-action {
  width: 100%;
}
@media (max-width: 1199px) {
  .wea365-report-editor-field-row {
    grid-template-columns: minmax(0, 1fr);
  }
  .wea365-report-editor-field-actions {
    justify-self: stretch;
    max-width: none;
  }
}
@media (max-width: 639px) {
  .wea365-report-editor-field-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wea365-report-editor-meta-pill {
    white-space: normal;
  }
}


/* WEA365 0.9.167: import review uses the same calm structure-first model as the saved template editor. */
.wea365-report-template-import-compact-review .wea365-report-template-import-columns {
  display: none;
}
.wea365-report-template-import-review-toolbar {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin: 0 0 14px;
}
.wea365-report-template-import-review-toolbar .uk-button,
.wea365-report-template-import-section-summary-actions .uk-button,
.wea365-report-template-import-review-toggle {
  min-height: 44px;
}
.wea365-report-template-import-compact-review .wea365-report-template-import-elements {
  border-top: 1px solid rgba(0,0,0,.13);
}
.wea365-report-template-import-compact-review .wea365-report-template-import-section-row {
  display: block;
  padding: 0;
  border-bottom: 1px solid rgba(0,0,0,.13);
}
.wea365-report-template-import-section-summary {
  display: grid;
  grid-template-columns: minmax(260px,1fr) auto;
  gap: 16px;
  align-items: center;
  min-height: 68px;
  padding: 10px 0;
}
.wea365-report-template-import-section-summary-info {
  min-width: 0;
}
.wea365-report-template-import-section-summary-title {
  font-weight: 700;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.wea365-report-template-import-section-summary-count {
  margin-top: 3px;
  color: rgba(0,0,0,.55);
  font-size: .84rem;
}
.wea365-report-template-import-section-summary-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.wea365-report-template-import-section-editor {
  padding: 0 0 14px;
}
.wea365-report-template-import-section-editor[hidden] {
  display: none !important;
}
.wea365-report-template-import-section-editor .wea365-report-template-import-section-title {
  width: min(760px,100%);
}
.wea365-report-template-import-compact-review .wea365-report-template-import-element {
  grid-template-columns: minmax(220px,.72fr) minmax(400px,1.55fr) minmax(320px,1fr);
  gap: 28px;
  padding: 0;
}
.wea365-report-template-import-element.is-section-collapsed {
  display: none !important;
}
.wea365-report-template-import-field-summary {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(240px,1fr) auto;
  gap: 16px;
  align-items: center;
  min-height: 72px;
  padding: 11px 0;
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.wea365-report-template-import-summary-info {
  min-width: 0;
}
.wea365-report-template-import-summary-type {
  display: inline-flex;
  min-height: 25px;
  align-items: center;
  padding: 2px 8px;
  border: 1px solid rgba(0,0,0,.14);
  font-size: .75rem;
  font-weight: 700;
  line-height: 1.2;
}
.wea365-report-template-import-summary-label {
  margin-top: 5px;
  font-weight: 700;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.wea365-report-template-import-summary-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}
.wea365-report-template-import-summary-meta[hidden] {
  display: none !important;
}
.wea365-report-template-import-summary-chip {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 2px 8px;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 999px;
  color: rgba(0,0,0,.68);
  font-size: .78rem;
  line-height: 1.2;
}
.wea365-report-template-import-compact-review .wea365-report-template-import-detail-part {
  display: none;
}
.wea365-report-template-import-compact-review .wea365-report-template-import-element.is-detail-open > .wea365-report-template-import-detail-part {
  display: block;
  padding-top: 18px;
  padding-bottom: 20px;
}
.wea365-report-template-import-compact-review .wea365-report-template-import-element.is-detail-open > .wea365-report-template-import-element-text::before,
.wea365-report-template-import-compact-review .wea365-report-template-import-element.is-detail-open > .wea365-report-template-import-element-original::before,
.wea365-report-template-import-compact-review .wea365-report-template-import-element.is-detail-open > .wea365-report-template-import-element-use::before {
  content: attr(data-label);
  display: block;
  margin-bottom: 7px;
  color: rgba(0,0,0,.55);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
}
@media (max-width: 959px) {
  .wea365-report-template-import-compact-review .wea365-report-template-import-element {
    grid-template-columns: minmax(180px,.72fr) minmax(320px,1.45fr) minmax(260px,1fr);
    gap: 18px;
  }
}
@media (max-width: 639px) {
  .wea365-report-template-import-review-toolbar,
  .wea365-report-template-import-section-summary-actions {
    display: grid;
    grid-template-columns: minmax(0,1fr);
  }
  .wea365-report-template-import-review-toolbar .uk-button,
  .wea365-report-template-import-section-summary-actions .uk-button,
  .wea365-report-template-import-review-toggle {
    width: 100%;
  }
  .wea365-report-template-import-section-summary,
  .wea365-report-template-import-field-summary {
    grid-template-columns: minmax(0,1fr);
    gap: 10px;
    align-items: stretch;
  }
  .wea365-report-template-import-compact-review .wea365-report-template-import-element {
    grid-template-columns: minmax(0,1fr);
    gap: 0;
  }
}


/* WEA365 0.9.168: group pre-section import content into calm, collapsible blocks. */
.wea365-report-template-import-applicability-list {
  gap: 8px;
  border-top: 0;
}
.wea365-report-template-import-applicability-row {
  border-bottom: 0;
  padding-top: 12px;
  padding-bottom: 12px;
}
.wea365-report-template-import-compact-review .wea365-report-template-import-elements {
  border-top: 0;
}
.wea365-report-template-import-synthetic-section .wea365-report-template-import-section-summary-title {
  font-weight: 700;
}
.wea365-report-template-import-synthetic-section .wea365-report-template-import-section-editor {
  padding-top: 2px;
}
.wea365-report-template-import-review-toolbar {
  padding-bottom: 8px;
  margin-bottom: 0;
}

/* WEA365 0.9.178: structured multi-measurement rows. */
.wea365-report-editor-measurement-rows {
  display: grid;
  gap: 10px;
}
.wea365-report-editor-measurement-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(90px, 150px);
  gap: 10px;
  align-items: center;
}
.wea365-report-preview-measurement-series .wea365-report-preview-measurement {
  grid-template-columns: minmax(90px, auto) minmax(120px, 1fr) auto;
}
.wea365-report-preview-measurement-index {
  text-align: left;
}
@media (max-width: 639px) {
  .wea365-report-editor-measurement-row {
    grid-template-columns: minmax(0, 1fr);
  }
  .wea365-report-preview-measurement-series .wea365-report-preview-measurement {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .wea365-report-preview-measurement-series .wea365-report-preview-measurement-index {
    grid-column: 1 / -1;
  }
}

/* Report-template reference images */
.wea365-report-template-import-image-thumb {
  display: block;
  width: min(220px, 100%);
  max-height: 160px;
  object-fit: contain;
  margin-top: 10px;
  border: 1px solid rgba(25, 67, 108, .18);
  background: var(--wea365-color-white);
}
.wea365-report-template-original-image img,
.wea365-report-editor-image-preview img,
.wea365-report-preview-reference-image img {
  display: block;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}
.wea365-report-template-original-image img {
  width: 100%;
  max-height: 520px;
  margin: 12px auto;
  background: var(--wea365-color-white);
}
.wea365-report-editor-image-preview {
  padding: 12px;
  border: 1px solid rgba(255,255,255,.22);
  margin-bottom: 16px;
}
.wea365-report-editor-image-preview img {
  width: min(640px, 100%);
  max-height: 440px;
  margin: 0 auto;
  background: var(--wea365-color-white);
}
.wea365-report-preview-reference-image {
  margin: 20px 0;
}
.wea365-report-preview-reference-image.align-left { margin-right: auto; text-align: left; }
.wea365-report-preview-reference-image.align-center { margin-left: auto; margin-right: auto; text-align: center; }
.wea365-report-preview-reference-image.align-right { margin-left: auto; text-align: right; }
.wea365-report-preview-reference-image.is-small { max-width: 320px; }
.wea365-report-preview-reference-image.is-medium { max-width: 520px; }
.wea365-report-preview-reference-image.is-large { max-width: 760px; }
.wea365-report-preview-reference-image.is-full { max-width: none; width: 100%; }
.wea365-report-preview-reference-image img { margin: 0 auto; }
.wea365-report-preview-reference-image-title {
  margin-top: 8px;
  font-weight: 700;
}
.wea365-report-preview-reference-image-caption { margin-top: 4px; }
@media (max-width: 640px) {
  .wea365-report-preview-reference-image.is-small,
  .wea365-report-preview-reference-image.is-medium,
  .wea365-report-preview-reference-image.is-large,
  .wea365-report-preview-reference-image.is-full { max-width: 100%; width: 100%; }
}
.wea365-report-editor-field-image-thumb,
.wea365-report-template-import-summary-image {
  display: block;
  width: 120px;
  max-height: 90px;
  object-fit: contain;
  margin: 8px 0;
  background: var(--wea365-color-white);
  border: 1px solid rgba(25, 67, 108, .18);
}


/* WEA365 0.9.180: inspection blocks keep complex technical source structures readable. */
.wea365-report-preview-inspection-block {
  padding: 18px 0;
  border-top: 1px solid rgba(25, 67, 108, .16);
}
.wea365-report-preview-block-title {
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.35;
}
.wea365-report-preview-block-help {
  margin-top: 8px;
  white-space: pre-line;
  line-height: 1.55;
}
.wea365-report-preview-block-items {
  display: grid;
  gap: 14px;
  margin-top: 16px;
}
.wea365-report-preview-block-items > .wea365-report-preview-field {
  margin: 0;
  padding: 14px 0 0;
  border-top: 1px solid rgba(25, 67, 108, .10);
}
.wea365-report-editor-block-items {
  margin-top: 18px;
}
.wea365-report-editor-block-item-list {
  display: grid;
  gap: 14px;
  margin-top: 12px;
}
.wea365-report-editor-block-item {
  padding: 14px;
  border: 1px solid rgba(255,255,255,.20);
  background: rgba(255,255,255,.04);
}
.wea365-report-editor-block-item-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.wea365-report-editor-block-item-head .wea365-report-editor-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.wea365-report-editor-block-item-head .uk-button {
  min-height: 44px;
}
.wea365-report-editor-block-item-add {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  gap: 12px;
  align-items: end;
}
.wea365-report-editor-meta-pill.is-block {
  font-weight: 700;
}
.wea365-report-template-import-applicability-actions [hidden] {
  display: none !important;
}
@media (max-width: 639px) {
  .wea365-report-editor-block-item-head {
    align-items: stretch;
    flex-direction: column;
  }
  .wea365-report-editor-block-item-add {
    grid-template-columns: minmax(0, 1fr);
  }
  .wea365-report-template-import-applicability-target::before {
    content: attr(data-mobile-label);
    display: block;
    margin-bottom: 6px;
    font-size: .82rem;
    font-weight: 700;
  }
}

.wea365-report-template-original-cell-line + .wea365-report-template-original-cell-line {
  margin-top: 5px;
}
.wea365-report-template-import-block-summary {
  display: grid;
  gap: 7px;
  padding: 10px 0 2px;
}
.wea365-report-template-import-block-summary-row {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.wea365-report-template-import-block-summary-row > span:last-child {
  min-width: 0;
  overflow-wrap: anywhere;
}


/* WEA365 0.9.181: compact, task-oriented component editor for inspection blocks. */
.wea365-report-editor-block-item-list.is-compact {
  gap: 8px;
}
.wea365-report-editor-block-item-compact {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255,255,255,.16);
}
.wea365-report-editor-block-item-compact:first-child {
  border-top: 1px solid rgba(255,255,255,.16);
}
.wea365-report-editor-block-item-compact-info {
  min-width: 0;
}
.wea365-report-editor-block-item-compact-title {
  margin-top: 7px;
  font-weight: 700;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.wea365-report-editor-block-item-compact-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.wea365-report-editor-block-item-compact-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(120px, auto));
  gap: 6px;
}
.wea365-report-editor-block-item-compact-actions .uk-button {
  min-height: 44px;
  white-space: nowrap;
}
.wea365-report-editor-block-back {
  margin-bottom: 18px;
}
.wea365-report-editor-block-empty {
  padding: 14px 0;
}
.wea365-report-template-import-block-editor .wea365-report-template-detail-bar {
  width: min(760px, 96vw);
  max-width: 100vw;
}
.wea365-report-template-import-content-actions .uk-button {
  min-height: 44px;
}
@media (max-width: 767px) {
  .wea365-report-editor-block-item-compact {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }
  .wea365-report-editor-block-item-compact-actions {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* WEA365 0.9.182: task-oriented inspection-content editor. */
.wea365-report-editor-block-help {
  max-width: 680px;
  color: rgba(255,255,255,.82);
  line-height: 1.5;
}
.wea365-report-editor-block-task {
  margin-bottom: 8px;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: rgba(255,255,255,.86);
}
.wea365-report-editor-block-live-preview {
  margin: 0;
}
.wea365-report-editor-block-live-preview.wea365-report-preview-field,
.wea365-report-editor-block-live-preview .wea365-report-preview-field {
  margin-top: 0;
  padding: 12px;
  background: rgba(255,255,255,.07);
  border-color: rgba(255,255,255,.24);
}
.wea365-report-template-detail-bar .wea365-report-editor-block-live-preview,
.wea365-report-template-detail-bar .wea365-report-editor-block-live-preview h1,
.wea365-report-template-detail-bar .wea365-report-editor-block-live-preview h2,
.wea365-report-template-detail-bar .wea365-report-editor-block-live-preview h3,
.wea365-report-template-detail-bar .wea365-report-editor-block-live-preview h4,
.wea365-report-template-detail-bar .wea365-report-editor-block-live-preview p,
.wea365-report-template-detail-bar .wea365-report-editor-block-live-preview label,
.wea365-report-template-detail-bar .wea365-report-editor-block-live-preview .wea365-report-preview-label,
.wea365-report-template-detail-bar .wea365-report-editor-block-live-preview .uk-text-meta,
.wea365-report-template-detail-bar .wea365-report-editor-block-live-preview .wea365-report-preview-choice,
.wea365-report-template-detail-bar .wea365-report-editor-block-live-preview .wea365-report-preview-unit {
  color: var(--wea365-color-white) !important;
}
.wea365-report-template-detail-bar .wea365-report-editor-block-live-preview .uk-input,
.wea365-report-template-detail-bar .wea365-report-editor-block-live-preview .uk-select,
.wea365-report-template-detail-bar .wea365-report-editor-block-live-preview .uk-textarea {
  background: var(--wea365-color-white);
  color: #172b4d !important;
  opacity: 1;
}
.wea365-report-template-detail-bar .wea365-report-editor-block-live-preview .uk-radio,
.wea365-report-template-detail-bar .wea365-report-editor-block-live-preview .uk-checkbox {
  border-color: rgba(255,255,255,.75);
  background-color: rgba(255,255,255,.10);
}
.wea365-report-editor-block-add-section {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.18);
}
.wea365-report-editor-block-add-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.wea365-report-editor-block-add-actions .uk-button {
  min-height: 48px;
  justify-content: flex-start;
  text-align: left;
  white-space: normal;
  line-height: 1.25;
}
.wea365-report-template-import-block-task {
  min-width: 150px;
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
  color: #335d88;
}
@media (max-width: 639px) {
  .wea365-report-editor-block-add-actions {
    grid-template-columns: minmax(0, 1fr);
  }
  .wea365-report-template-import-block-summary-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }
}

/* WEA365 0.9.186: readable technical specifications with line-bound input fields. */
.wea365-report-preview-info.is-technical-specification {
  padding: 12px 14px;
  border: 1px solid #d6dde7;
  border-radius: 4px;
  background: var(--wea365-color-white);
  color: #172b4d;
}
.wea365-report-preview-spec-title {
  color: #172b4d;
}
.wea365-report-preview-spec-lines {
  margin-top: 8px;
  border-top: 1px solid #e5e9ef;
}
.wea365-report-preview-spec-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(170px, 235px);
  gap: 12px;
  align-items: center;
  min-width: 0;
  padding: 8px 0;
  border-bottom: 1px solid #edf0f4;
}
.wea365-report-preview-spec-line:last-child {
  border-bottom: 0;
}
.wea365-report-preview-spec-line-text {
  min-width: 0;
  color: #172b4d;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.wea365-report-preview-spec-inline-field {
  display: grid;
  grid-template-columns: minmax(90px, 1fr) auto;
  align-items: stretch;
  min-width: 0;
}
.wea365-report-preview-spec-inline-field .uk-input {
  min-width: 0;
  height: 40px;
  border-color: #b8c3d1;
  background: var(--wea365-color-white);
  color: #172b4d !important;
  opacity: 1;
}
.wea365-report-preview-spec-inline-field .wea365-report-preview-unit {
  min-height: 40px;
  padding: 0 10px;
  border-color: #b8c3d1;
  background: #f5f7fa;
  color: #172b4d !important;
}
.wea365-report-template-detail-bar .wea365-report-editor-block-live-preview.is-technical-specification,
.wea365-report-template-detail-bar .wea365-report-editor-block-live-preview.is-technical-specification .wea365-report-preview-spec-title,
.wea365-report-template-detail-bar .wea365-report-editor-block-live-preview.is-technical-specification .wea365-report-preview-spec-line-text,
.wea365-report-template-detail-bar .wea365-report-editor-block-live-preview.is-technical-specification .wea365-report-preview-unit {
  color: #172b4d !important;
}
@media (max-width: 639px) {
  .wea365-report-preview-spec-line {
    grid-template-columns: minmax(0, 1fr);
    gap: 7px;
  }
  .wea365-report-preview-spec-inline-field {
    width: 100%;
  }
}


/* WEA365 0.9.187: technical-specification cards need the full editor width. */
.wea365-report-editor-block-item-compact.is-technical-specification {
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
}
.wea365-report-editor-block-item-compact.is-technical-specification .wea365-report-editor-block-item-compact-info {
  width: 100%;
  min-width: 0;
}
.wea365-report-editor-block-item-compact.is-technical-specification .wea365-report-editor-block-item-compact-actions {
  justify-self: end;
  grid-template-columns: repeat(2, minmax(160px, 220px));
}
@media (max-width: 639px) {
  .wea365-report-editor-block-item-compact.is-technical-specification .wea365-report-editor-block-item-compact-actions {
    width: 100%;
    justify-self: stretch;
    grid-template-columns: minmax(0, 1fr);
  }
}

/* WEA365 0.9.188: direct positioning controls for fields embedded in technical specifications. */
.wea365-report-preview-spec-inline-wrap {
  display: grid;
  gap: 7px;
  min-width: 0;
}
.wea365-report-preview-spec-inline-controls {
  display: flex;
  justify-content: flex-end;
}
.wea365-report-preview-spec-position-button.uk-button {
  min-height: 36px;
  padding: 0 10px;
  font-size: .76rem;
  line-height: 1.2;
  white-space: nowrap;
}
.wea365-report-preview-spec-position-selector {
  padding: 9px 10px;
  border: 1px solid #d6dde7;
  border-radius: 3px;
  background: #f5f7fa;
}
.wea365-report-preview-spec-position-selector[hidden] {
  display: none !important;
}
.wea365-report-preview-spec-position-selector label,
.wea365-report-preview-spec-position-selector .uk-text-meta {
  color: #172b4d !important;
}
.wea365-report-preview-spec-position-selector .uk-select {
  background: var(--wea365-color-white);
  color: #172b4d !important;
}
@media (max-width: 639px) {
  .wea365-report-preview-spec-inline-controls {
    justify-content: stretch;
  }
  .wea365-report-preview-spec-position-button.uk-button {
    width: 100%;
  }
}

/* WEA365 0.9.190: compact, readable inline positioning inside technical specifications. */
.wea365-report-preview-spec-line {
  grid-template-columns: minmax(0, 1fr) minmax(285px, 350px);
  gap: 12px;
  align-items: center;
}
.wea365-report-preview-spec-inline-wrap {
  display: grid;
  grid-template-columns: minmax(135px, 1fr) auto;
  gap: 8px;
  align-items: center;
  align-self: center;
  min-width: 0;
}
.wea365-report-preview-spec-inline-field {
  min-width: 0;
}
.wea365-report-preview-spec-inline-field .uk-input {
  border-color: #8fa0b4 !important;
  background: var(--wea365-color-white) !important;
  box-shadow: inset 0 0 0 1px rgba(23,43,77,.04);
}
.wea365-report-preview-spec-inline-controls {
  display: flex;
  justify-content: flex-end;
  min-width: 0;
}
.wea365-report-preview-spec-position-button.uk-button {
  min-height: 40px;
  padding: 0 11px;
  border: 1px solid #8091a6 !important;
  background: var(--wea365-color-white) !important;
  color: #172b4d !important;
  font-size: .74rem;
  line-height: 1.15;
  white-space: nowrap;
}
.wea365-report-preview-spec-position-button.uk-button:hover,
.wea365-report-preview-spec-position-button.uk-button:focus {
  border-color: #496b91 !important;
  background: #f2f6fa !important;
  color: #10243e !important;
}
.wea365-report-preview-spec-position-selector {
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  margin-top: 0;
  padding: 8px 0 0;
  border: 0;
  border-top: 1px solid #e5e9ef;
  border-radius: 0;
  background: transparent;
}
.wea365-report-preview-spec-position-selector[hidden] {
  display: none !important;
}
body .uk-offcanvas .wea365-report-template-detail-bar .wea365-report-preview-spec-position-selector,
body .uk-offcanvas .wea365-report-template-detail-bar .wea365-report-preview-spec-position-selector * {
  color: #172b4d !important;
  opacity: 1 !important;
}
body .uk-offcanvas .wea365-report-template-detail-bar .wea365-report-preview-spec-position-selector .uk-select {
  display: block;
  width: 100%;
  min-width: 0;
  height: 40px;
  margin: 0;
  border: 1px solid #9aa9bb !important;
  background: var(--wea365-color-white) !important;
  color: #172b4d !important;
}
@media (max-width: 760px) {
  .wea365-report-preview-spec-line {
    grid-template-columns: minmax(0, 1fr);
    gap: 7px;
  }
  .wea365-report-preview-spec-inline-wrap {
    grid-template-columns: minmax(120px, 1fr) auto;
  }
}
@media (max-width: 480px) {
  .wea365-report-preview-spec-inline-wrap {
    grid-template-columns: minmax(0, 1fr);
  }
  .wea365-report-preview-spec-inline-controls,
  .wea365-report-preview-spec-position-button.uk-button {
    width: 100%;
  }
}

/* WEA365 0.9.191: direct drag-and-drop positioning for measurement fields in technical specifications. */
.wea365-report-preview-spec-line-fields {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.wea365-report-preview-spec-inline-wrap {
  grid-template-columns: auto minmax(135px, 1fr) auto;
}
.wea365-report-preview-spec-drag-handle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  min-width: 44px;
  min-height: 44px;
  border: 1px solid #9aa9bb;
  border-radius: 2px;
  background: #f5f7fa;
  color: #172b4d !important;
  font-size: 1.15rem;
  line-height: 1;
  cursor: grab;
  user-select: none;
  touch-action: manipulation;
}
.wea365-report-preview-spec-drag-handle:active {
  cursor: grabbing;
}
.wea365-report-preview-spec-inline-wrap.is-dragging {
  opacity: .55;
}
.wea365-report-preview-spec-position-selector {
  grid-column: 1 / -1;
}
.wea365-report-block-dragging .wea365-report-preview-spec-line.is-drop-zone {
  position: relative;
  background: #f6f9fc;
  box-shadow: inset 0 0 0 1px #9fb3c8;
}
.wea365-report-preview-spec-line.is-drag-over {
  background: #eaf2fa !important;
  box-shadow: inset 0 0 0 2px #496b91 !important;
}
.wea365-report-block-unpositioned {
  margin-top: 14px;
  padding: 12px;
  border: 1px dashed #9aa9bb;
  border-radius: 4px;
  background: rgba(255,255,255,.06);
}
.wea365-report-block-unpositioned-title {
  color: var(--wea365-color-white);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .02em;
}
.wea365-report-block-unpositioned-help {
  margin-top: 3px;
  color: rgba(255,255,255,.78) !important;
}
.wea365-report-block-unpositioned-list {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}
.wea365-report-block-unpositioned-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 10px;
  align-items: end;
  padding: 10px;
  border-radius: 3px;
  background: var(--wea365-color-white);
  color: #172b4d;
}
.wea365-report-block-unpositioned-label {
  grid-column: 1 / -1;
  color: #172b4d;
  font-weight: 600;
}
.wea365-report-block-unpositioned-item .wea365-report-preview-spec-inline-wrap {
  min-width: 0;
}
.wea365-report-block-unpositioned-edit.uk-button {
  min-height: 40px;
  align-self: center;
}
.wea365-report-block-standalone-dropzone {
  display: none;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  margin-top: 12px;
  padding: 10px 14px;
  border: 2px dashed #9fb3c8;
  border-radius: 4px;
  background: rgba(255,255,255,.07);
  color: var(--wea365-color-white);
  font-weight: 600;
  text-align: center;
}
.wea365-report-block-dragging .wea365-report-block-standalone-dropzone {
  display: flex;
}
.wea365-report-block-standalone-dropzone.is-drag-over {
  border-color: var(--wea365-color-white);
  background: rgba(255,255,255,.18);
}
@media (max-width: 760px) {
  .wea365-report-preview-spec-inline-wrap {
    grid-template-columns: auto minmax(120px, 1fr) auto;
  }
  .wea365-report-block-unpositioned-item {
    grid-template-columns: minmax(0, 1fr);
  }
  .wea365-report-block-unpositioned-edit.uk-button {
    width: 100%;
  }
}
@media (max-width: 480px) {
  .wea365-report-preview-spec-inline-wrap {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .wea365-report-preview-spec-inline-controls {
    grid-column: 1 / -1;
  }
}

/* WEA365 0.9.193: in-context measurement creation and established icon/text spacing inside offcanvas editors. */
body .uk-offcanvas .wea365-report-template-detail-bar {
  --wea365-action-label-gap: 16px;
}
body .uk-offcanvas .wea365-report-template-detail-bar .wea365-icon-text-button {
  box-sizing: border-box;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  column-gap: var(--wea365-action-label-gap) !important;
}
body .uk-offcanvas .wea365-report-template-detail-bar .wea365-icon-text-button > [uk-icon],
body .uk-offcanvas .wea365-report-template-detail-bar .wea365-icon-text-button > .uk-icon {
  flex: 0 0 auto !important;
  margin: 0 !important;
}
body .uk-offcanvas .wea365-report-template-detail-bar .wea365-report-editor-block-add-actions .wea365-icon-text-button,
body .uk-offcanvas .wea365-report-template-detail-bar .wea365-report-preview-spec-add-measurement {
  justify-content: flex-start !important;
}
.wea365-report-preview-spec-inline-field {
  overflow: hidden;
  border: 2px solid #58718a;
  border-radius: 2px;
  background: var(--wea365-color-white);
}
.wea365-report-preview-spec-inline-field .uk-input {
  height: 38px;
  border: 0 !important;
  box-shadow: none !important;
}
.wea365-report-preview-spec-inline-field .wea365-report-preview-unit {
  min-height: 38px;
  border: 0 !important;
  border-left: 1px solid #a7b5c4 !important;
}
.wea365-report-preview-spec-add {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #e5e9ef;
}
.wea365-report-preview-spec-add-measurement.uk-button {
  min-height: 44px;
  width: 100%;
  padding: 0 14px;
  border: 1px solid #71869b !important;
  background: var(--wea365-color-white) !important;
  color: #172b4d !important;
  font-size: .78rem;
  line-height: 1.2;
  text-align: left;
}
.wea365-report-preview-spec-add-measurement.uk-button:hover,
.wea365-report-preview-spec-add-measurement.uk-button:focus {
  border-color: #496b91 !important;
  background: #f2f6fa !important;
  color: #10243e !important;
}

/* WEA365 0.9.194: numbered field identity and compact field management for inspection blocks. */
.wea365-report-preview-spec-inline-identity {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  align-self: stretch;
}
.wea365-report-block-field-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  min-width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #173a61;
  color: var(--wea365-color-white) !important;
  font-size: .78rem;
  font-weight: 800;
  line-height: 1;
}
.wea365-report-preview-spec-inline-wrap {
  grid-template-columns: auto minmax(135px, 1fr) auto;
}
.wea365-report-block-field-management {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.18);
}
.wea365-report-block-field-management-title {
  margin: 0 0 10px;
  color: var(--wea365-color-white);
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.wea365-report-block-field-management-list {
  display: grid;
  gap: 8px;
}
.wea365-report-block-field-management-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px 12px;
  align-items: start;
  padding: 11px 12px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 3px;
  background: rgba(255,255,255,.055);
}
.wea365-report-block-field-management-row.is-dragging {
  opacity: .55;
}
.wea365-report-block-field-management-identity {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.wea365-report-block-field-management-drag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  min-width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 2px;
  color: var(--wea365-color-white);
  cursor: grab;
  user-select: none;
}
.wea365-report-block-field-management-drag:active {
  cursor: grabbing;
}
.wea365-report-block-field-management-content {
  min-width: 0;
}
.wea365-report-block-field-management-headline {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 8px;
}
.wea365-report-block-field-management-label {
  color: var(--wea365-color-white);
  font-weight: 700;
  word-break: normal;
  overflow-wrap: break-word;
}
.wea365-report-block-field-management-type {
  color: rgba(255,255,255,.68);
  font-size: .82rem;
}
.wea365-report-block-field-management-type::before {
  content: '· ';
}
.wea365-report-block-field-management-unit {
  color: rgba(255,255,255,.82);
  font-size: .82rem;
  white-space: nowrap;
}
.wea365-report-block-field-management-unit::before {
  content: '· ';
}
.wea365-report-block-field-management-details {
  margin-top: 3px;
  color: rgba(255,255,255,.72);
  font-size: .82rem;
}
.wea365-report-block-field-management-position {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  min-width: 0;
  margin-top: 4px;
  color: rgba(255,255,255,.78);
  font-size: .82rem;
  line-height: 1.35;
  word-break: normal;
  overflow-wrap: break-word;
}
.wea365-report-block-field-management-position-label {
  flex: 0 0 auto;
  color: var(--wea365-color-white);
  font-weight: 700;
}
.wea365-report-block-field-management-actions {
  grid-column: 2 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  width: 100%;
}
.wea365-report-block-field-management-actions .uk-button {
  min-height: 44px;
  white-space: nowrap;
}
.wea365-report-block-field-management-selector {
  grid-column: 2 / -1;
  width: 100%;
  padding-top: 2px;
}
.wea365-report-block-field-management-selector[hidden] {
  display: none !important;
}
body .uk-offcanvas .wea365-report-template-detail-bar .wea365-report-block-field-management-selector .uk-select {
  display: block;
  width: 100%;
  min-width: 0;
  height: 42px;
  border: 1px solid #9aa9bb !important;
  background: var(--wea365-color-white) !important;
  color: #172b4d !important;
}
/* WEA365 0.9.195: field identity owns the first row; actions can no longer squeeze the text column. */
@media (max-width: 700px) {
  .wea365-report-block-field-management-row {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .wea365-report-block-field-management-actions,
  .wea365-report-block-field-management-selector {
    grid-column: 1 / -1;
  }
  .wea365-report-block-field-management-actions {
    grid-auto-flow: row;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-columns: auto;
  }
}
@media (max-width: 480px) {
  .wea365-report-preview-spec-inline-wrap {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .wea365-report-preview-spec-inline-controls {
    grid-column: 1 / -1;
  }
  .wea365-report-block-field-management-actions {
    grid-template-columns: minmax(0, 1fr);
  }
}


/* Keep the editor-only field number visible without making the inline control wider. */
.wea365-report-preview-spec-inline-identity {
  position: relative;
  width: 38px;
  min-width: 38px;
  min-height: 40px;
  justify-content: center;
}
.wea365-report-preview-spec-inline-identity .wea365-report-block-field-number {
  position: absolute;
  top: -7px;
  left: -7px;
  width: 22px;
  min-width: 22px;
  height: 22px;
  z-index: 2;
  font-size: .7rem;
  box-shadow: 0 0 0 2px var(--wea365-color-white);
}

/* WEA365 0.9.196: keep the field unit in the compact identity line instead of forcing a separate metadata row. */

/* Report templates 0.9.197: clear multi-type template assignment. */
.wea365-template-assignment-types {
  min-width: 0;
}
.wea365-template-assignment-type-options {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin-top: 10px;
}
.wea365-template-assignment-type-option {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid rgba(0,0,0,.16);
  box-sizing: border-box;
  cursor: pointer;
}
.wea365-template-assignment-type-option > span {
  min-width: 0;
}
@media (max-width: 639px) {
  .wea365-template-assignment-type-options {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }
  .wea365-template-assignment-type-option {
    width: 100%;
  }
}
/* WEA365 0.9.202: final template actions follow the page workflow at the bottom. */
.wea365-report-template-final-actions {
    padding-top: 24px;
    border-top: 1px solid rgba(20, 61, 97, .16);
}



/* WEA365 0.9.207: mobile-first technician guidance for frozen custom reports. */
.wea365-workreport-progress {
  width: min(100%, 320px);
  margin-left: auto;
}
.wea365-workreport-progress-track {
  --wea365-progress: 0%;
  position: relative;
  height: 28px;
  overflow: hidden;
  border: 1px solid rgba(45,91,158,.34);
  border-radius: 7px;
  background: rgba(255,255,255,.94);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.38);
}
.wea365-workreport-progress-fill {
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--wea365-progress);
  background: #2d5b9e;
  transition: width .22s ease;
}
.wea365-workreport-progress-value {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .02em;
  pointer-events: none;
}
.wea365-workreport-progress-value-base { color: var(--wea365-color-heading) !important; }
.wea365-workreport-progress-value-fill {
  color: var(--wea365-color-white) !important;
  clip-path: inset(0 calc(100% - var(--wea365-progress)) 0 0);
}
.wea365-workreport-progress-meta {
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.3;
  text-align: right;
  opacity: .76;
}

[data-wea365-template-report] {
  display: grid;
  gap: 16px;
  min-width: 0;
}
.wea365-template-part-heading {
  margin-top: 26px;
  padding: 0 2px;
}
.wea365-template-part-heading:first-child { margin-top: 0; }
.wea365-template-section {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(32,54,74,.17);
  border-radius: 9px;
  background: var(--wea365-color-white);
  box-shadow: 0 5px 18px rgba(32,54,74,.055);
}
.wea365-template-section-summary {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 58px;
  padding: 13px 48px 13px 16px;
  cursor: pointer;
  list-style: none;
  background: rgba(45,91,158,.065);
  color: var(--wea365-color-heading) !important;
  -webkit-tap-highlight-color: transparent;
}
.wea365-template-section-summary::-webkit-details-marker { display: none; }
.wea365-template-section-summary::after {
  content: '';
  position: absolute;
  right: 18px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-68%) rotate(45deg);
  transition: transform .18s ease;
  opacity: .72;
}
.wea365-template-section[open] > .wea365-template-section-summary::after {
  transform: translateY(-30%) rotate(225deg);
}
.wea365-template-section[open] > .wea365-template-section-summary {
  border-bottom: 1px solid rgba(32,54,74,.12);
}
.wea365-template-section-title {
  min-width: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  overflow-wrap: break-word;
}
.wea365-template-section-progress {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 56px;
  min-height: 28px;
  padding: 3px 8px;
  border: 1px solid rgba(45,91,158,.22);
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  color: #2d5b9e !important;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
.wea365-template-section.is-complete .wea365-template-section-progress::before {
  content: '✓';
  margin-right: 5px;
}
.wea365-template-section-body {
  padding: 4px 18px 18px;
  color: var(--wea365-color-heading) !important;
}
.wea365-template-section-description {
  padding: 14px 0 4px;
  color: #53687a !important;
}

.wea365-template-subsection {
  min-width: 0;
  margin: 14px 0 2px 18px;
  overflow: hidden;
  border: 1px solid rgba(45,91,158,.16);
  border-left: 3px solid rgba(45,91,158,.30);
  border-radius: 8px;
  background: rgba(45,91,158,.018);
}
.wea365-template-subsection-summary {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 50px;
  padding: 11px 44px 11px 14px;
  cursor: pointer;
  list-style: none;
  background: rgba(45,91,158,.045);
  color: var(--wea365-color-heading) !important;
  -webkit-tap-highlight-color: transparent;
}
.wea365-template-subsection-summary::-webkit-details-marker { display: none; }
.wea365-template-subsection-summary::after {
  content: '';
  position: absolute;
  right: 16px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-68%) rotate(45deg);
  transition: transform .18s ease;
  opacity: .68;
}
.wea365-template-subsection[open] > .wea365-template-subsection-summary::after {
  transform: translateY(-30%) rotate(225deg);
}
.wea365-template-subsection[open] > .wea365-template-subsection-summary {
  border-bottom: 1px solid rgba(32,54,74,.10);
}
.wea365-template-subsection-title {
  min-width: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  overflow-wrap: break-word;
}
.wea365-template-subsection-progress {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 52px;
  min-height: 26px;
  padding: 3px 8px;
  border: 1px solid rgba(45,91,158,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  color: #2d5b9e !important;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
.wea365-template-subsection.is-complete .wea365-template-subsection-progress::before {
  content: '✓';
  margin-right: 5px;
}
.wea365-template-subsection-body {
  padding: 2px 14px 14px;
}
.wea365-template-subsection-body > .wea365-template-field:first-child {
  border-top: 0;
}
.wea365-template-field {
  min-width: 0;
  margin: 0 !important;
  padding: 16px 0;
  border-top: 1px solid rgba(32,54,74,.10);
  color: var(--wea365-color-heading) !important;
}
.wea365-template-section-body > .wea365-template-field:first-child,
.wea365-template-inspection-block > .wea365-template-field:first-child {
  border-top: 0;
}
.wea365-template-field-label {
  display: block;
  margin-bottom: 9px;
  color: var(--wea365-color-heading) !important;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.45;
}
.wea365-template-field .uk-text-meta {
  color: #617284 !important;
  opacity: 1 !important;
}
.wea365-template-choices {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
  width: 100%;
}
.wea365-template-choice {
  display: flex !important;
  align-items: center;
  gap: 10px;
  box-sizing: border-box;
  min-height: 46px;
  margin: 0 !important;
  padding: 9px 12px;
  border: 1px solid rgba(45,91,158,.28);
  border-radius: 7px;
  background: var(--wea365-color-white);
  color: var(--wea365-color-heading) !important;
  cursor: pointer;
  transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.wea365-template-choice:hover {
  border-color: rgba(45,91,158,.55);
  background: rgba(45,91,158,.035);
}
.wea365-template-choice:has(input:checked) {
  border-color: #2d5b9e;
  background: rgba(45,91,158,.105);
  box-shadow: inset 3px 0 0 #2d5b9e;
}
.wea365-template-choice input {
  flex: 0 0 auto;
  margin: 0 !important;
}
.wea365-template-choice span {
  min-width: 0;
  color: inherit !important;
  line-height: 1.3;
}
.wea365-template-unit {
  flex: 0 0 auto;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  padding: 0 11px;
  border: 1px solid rgba(45,91,158,.24);
  border-left: 0;
  background: rgba(45,91,158,.045);
  color: var(--wea365-color-heading) !important;
}
.wea365-template-inspection-block {
  min-width: 0;
  margin: 0;
}
.wea365-template-inspection-block > h4 {
  padding-top: 14px;
  color: var(--wea365-color-heading) !important;
}
.wea365-template-info,
.wea365-template-technical-spec {
  margin: 12px 0;
  padding: 13px 15px;
  border-left: 4px solid rgba(45,91,158,.55);
  background: rgba(45,91,158,.055);
  color: var(--wea365-color-heading) !important;
}
.wea365-template-spec-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(190px, auto);
  gap: 12px;
  align-items: center;
  min-width: 0;
  padding: 10px 0;
  border-top: 1px solid rgba(32,54,74,.09);
}
.wea365-template-spec-line:first-child { border-top: 0; }
.wea365-template-spec-copy { min-width: 0; overflow-wrap: break-word; }
.wea365-template-spec-inputs { min-width: 190px; }
.wea365-template-spec-inputs .wea365-template-field {
  padding: 0;
  border-top: 0;
}

@media (max-width: 959px) {
  .wea365-workreport-progress {
    position: fixed;
    z-index: 1035;
    top: calc(13px + env(safe-area-inset-top, 0px));
    left: 50%;
    width: min(32vw, 138px);
    margin: 0;
    padding: 3px;
    transform: translateX(-50%);
    border-radius: 8px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 3px 12px rgba(19,42,64,.12);
  }
  .wea365-workreport-progress-track { height: 25px; }
  .wea365-workreport-progress-meta { display: none; }
}

@media (max-width: 639px) {
  .wea365-template-section-summary {
    min-height: 62px;
    padding: 12px 44px 12px 14px;
    align-items: flex-start;
  }
  .wea365-template-section-title {
    font-size: 17px;
    line-height: 1.35;
  }
  .wea365-template-section-progress {
    min-width: 50px;
    min-height: 26px;
    padding: 3px 7px;
    font-size: 11px;
  }
  .wea365-template-section-body { padding: 2px 14px 14px; }
  .wea365-template-subsection { margin-left: 8px; }
  .wea365-template-subsection-summary {
    min-height: 46px;
    padding: 10px 40px 10px 12px;
  }
  .wea365-template-subsection-title { font-size: 15px; }
  .wea365-template-subsection-progress { min-width: 48px; }
  .wea365-template-subsection-body { padding: 2px 12px 12px; }
  .wea365-template-field { padding: 15px 0; }
  .wea365-template-choices { grid-template-columns: 1fr; }
  .wea365-template-choice {
    min-height: 48px;
    padding: 10px 13px;
  }
  .wea365-template-spec-line {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }
  .wea365-template-spec-inputs { min-width: 0; width: 100%; }
}

/* 0.9.217 contextual feedback instead of page-top Joomla message bars */
.wea365-context-result {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 18px 20px;
  border: 1px solid var(--wea365-color-border);
  border-left-width: 5px;
  background: var(--wea365-color-white);
  box-shadow: 0 8px 24px rgba(15, 23, 42, .07);
}
.wea365-context-result-danger {
  border-left-color: #c53030;
  background: #fffafa;
}
.wea365-context-result-icon {
  flex: 0 0 auto;
  margin-top: 2px;
}
.wea365-context-result-body {
  min-width: 0;
  flex: 1 1 auto;
}
.wea365-context-result-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
.wea365-context-result-actions .uk-button,
.wea365-context-result-actions label.uk-button {
  min-height: 44px;
}
@media (max-width: 639px) {
  .wea365-context-result {
    padding: 16px;
  }
  .wea365-context-result-actions {
    align-items: stretch;
  }
  .wea365-context-result-actions form,
  .wea365-context-result-actions .uk-button,
  .wea365-context-result-actions label.uk-button {
    width: 100%;
  }
}

/* Shared upload progress for every standard WEA365 multipart upload. */
.wea365-file-upload-progress {
  width: min(100%, 520px);
  margin-top: .6rem;
}
.wea365-file-upload-progress[hidden] { display: none !important; }
.wea365-file-upload-progress-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: .35rem;
  font-size: .82rem;
  line-height: 1.35;
}
.wea365-file-upload-progress-row strong {
  flex: 0 0 auto;
  font-variant-numeric: tabular-nums;
}
.wea365-file-upload-progress-track {
  width: 100%;
  height: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(32, 54, 74, .13);
}
.wea365-file-upload-progress-track > span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: currentColor;
  transition: width .14s linear;
}
.wea365-file-dropzone.is-uploading {
  border-style: solid;
  border-color: currentColor;
  background: rgba(72, 139, 184, .07);
}
.wea365-file-dropzone.is-uploading .wea365-file-dropzone-input {
  pointer-events: none;
  cursor: wait;
}
.wea365-file-dropzone.is-upload-failed {
  border-style: solid;
  border-color: #c93f52;
}
.wea365-file-dropzone.is-upload-failed .wea365-file-upload-progress-track > span {
  background: #c93f52;
}
.wea365-upload-form-busy button[type="submit"],
.wea365-upload-form-busy input[type="submit"] {
  cursor: wait !important;
  opacity: .62;
}
@media (max-width: 639px) {
  .wea365-file-upload-progress { width: 100%; }
  .wea365-file-upload-progress-row { font-size: .78rem; }
}


/* WEA365 pkg 0.9.219: source-faithful PDF review. The real PDF is loaded
   only on demand in the existing offcanvas, never once per review row. */
.wea365-report-template-pdf-source-meta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 10px;
    padding: 5px 9px;
    border: 1px solid rgba(16, 56, 91, .18);
    border-radius: 999px;
    background: rgba(16, 56, 91, .055);
    font-size: .82rem;
    font-weight: 600;
    line-height: 1.2;
}
.wea365-report-template-pdf-source-preview {
    display: grid;
    gap: 12px;
    margin-bottom: 18px;
}
.wea365-report-template-pdf-source-preview-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}
.wea365-report-template-pdf-source-frame {
    width: 100%;
    min-height: 58vh;
    border: 1px solid rgba(255,255,255,.24);
    background: var(--wea365-color-white);
}
.wea365-report-template-pdf-source-excerpt {
    border-top: 1px solid rgba(255,255,255,.16);
    padding-top: 16px;
}
@media (max-width: 640px) {
    .wea365-report-template-pdf-source-frame { min-height: 48vh; }
    .wea365-report-template-pdf-source-preview-head .uk-button { width: 100%; justify-content: center; }
}

/* WEA365 0.9.224: import content is reviewed inline and edited consistently in Offcanvas. */
.wea365-report-template-import-info-preview {
  border: 1px solid rgba(28, 73, 120, .22);
  background: rgba(245, 248, 252, .76);
  min-height: 72px;
  max-height: 210px;
  overflow: hidden;
  padding: 12px 14px;
  line-height: 1.45;
}
.wea365-report-template-import-info-preview-line + .wea365-report-template-import-info-preview-line {
  margin-top: 4px;
}
.wea365-report-template-import-info-editor-textarea {
  min-height: 420px;
  resize: vertical;
}
@media (max-width: 639px) {
  .wea365-report-template-import-info-preview { max-height: 180px; }
  .wea365-report-template-import-info-editor-textarea { min-height: 52vh; }
}

/* WEA365 0.9.225: structured imported lists are edited as rows, not as raw text. */
.wea365-report-template-import-list-editor {
  display: grid;
  gap: 8px;
}
.wea365-report-template-import-list-editor-head,
.wea365-report-template-import-list-editor-row {
  display: grid;
  grid-template-columns: minmax(64px,.55fr) minmax(220px,3fr) minmax(110px,1fr) auto;
  gap: 8px;
  align-items: center;
}
.wea365-report-template-import-list-editor-head {
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .02em;
}
.wea365-report-template-import-list-editor-row {
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255,255,255,.15);
}
.wea365-report-template-import-list-editor-actions {
  display: flex;
  gap: 6px;
  align-items: center;
}
body .uk-offcanvas .wea365-report-template-detail-bar .wea365-report-template-import-list-icon-button {
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
body .uk-offcanvas .wea365-report-template-detail-bar .wea365-report-template-import-list-icon-button > span:last-child:empty {
  display: none;
}
.wea365-report-template-import-list-add { min-height: 44px; }
.wea365-report-template-import-list-editor-empty { padding: 14px 0; }
.wea365-report-template-import-info-list-preview-row {
  display: grid;
  grid-template-columns: minmax(44px,.45fr) minmax(150px,2.7fr) minmax(85px,1fr);
  gap: 10px;
  padding: 3px 0;
}
.wea365-report-template-import-info-list-preview-reference {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
@media (max-width: 639px) {
  .wea365-report-template-import-list-editor-head { display: none; }
  .wea365-report-template-import-list-editor-row { grid-template-columns: minmax(70px,.7fr) minmax(0,2fr); }
  .wea365-report-template-import-list-editor-row > .uk-input:nth-child(2) { grid-column: 2; }
  .wea365-report-template-import-list-editor-row > .uk-input:nth-child(3) { grid-column: 1 / -1; }
  .wea365-report-template-import-list-editor-actions { grid-column: 1 / -1; justify-content: flex-end; }
  .wea365-report-template-import-info-list-preview-row { grid-template-columns: 50px minmax(0,1fr); }
  .wea365-report-template-import-info-list-preview-reference { grid-column: 2; text-align: left; opacity: .78; }
}


/* WEA365 0.9.242: technician runtime keeps usable text width on narrow screens
   and turns the progress indicator into navigation for unresolved fields. */
.wea365-workreport-progress.is-navigable {
  cursor: pointer;
  touch-action: manipulation;
  user-select: none;
}
.wea365-workreport-progress.is-navigable:focus-visible {
  outline: 3px solid rgba(45,91,158,.42);
  outline-offset: 3px;
}
.wea365-template-field,
.wea365-template-field-label,
.wea365-template-info,
.wea365-template-info strong,
.wea365-template-section-title,
.wea365-template-subsection-title,
.wea365-template-section-description,
.wea365-template-choice span,
.wea365-template-technical-spec,
.wea365-template-spec-copy,
.wea365-template-inspection-block {
  min-width: 0;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: auto;
}
.wea365-template-field.is-progress-target {
  scroll-margin-top: 120px;
  outline: 3px solid rgba(45,91,158,.36);
  outline-offset: 4px;
  border-radius: 6px;
  background: rgba(45,91,158,.045);
}

/* WEA365 0.9.244: the technician progress navigator stays visible on desktop too.
   Long forms need the same persistent orientation and next-open-item navigation
   regardless of the viewport width. */
@media (min-width: 1200px) {
  .wea365-workreport-progress {
    position: fixed;
    z-index: 1035;
    top: calc(13px + env(safe-area-inset-top, 0px));
    left: 50%;
    width: min(22vw, 240px);
    margin: 0;
    padding: 3px;
    transform: translateX(-50%);
    border-radius: 8px;
    background: rgba(255,255,255,.97);
    box-shadow: 0 3px 12px rgba(19,42,64,.14);
  }
  .wea365-workreport-progress-track { height: 27px; }
  .wea365-workreport-progress-value { font-size: 12px; letter-spacing: 0; }
  .wea365-workreport-progress-meta { display: none; }
}

@media (max-width: 1199px) {
  .wea365-workreport-progress {
    position: fixed;
    z-index: 1035;
    top: calc(13px + env(safe-area-inset-top, 0px));
    left: 50%;
    width: min(42vw, 190px);
    margin: 0;
    padding: 3px;
    transform: translateX(-50%);
    border-radius: 8px;
    background: rgba(255,255,255,.97);
    box-shadow: 0 3px 12px rgba(19,42,64,.14);
  }
  .wea365-workreport-progress-track { height: 27px; }
  .wea365-workreport-progress-value { font-size: 12px; letter-spacing: 0; }
  .wea365-workreport-progress-meta { display: none; }
}

@media (max-width: 959px) {
  [data-wea365-template-report] { gap: 12px; }
  .wea365-template-section-body { padding: 2px 8px 12px; }
  .wea365-template-subsection {
    margin: 12px 0 2px;
    border-left-width: 3px;
    border-radius: 6px;
  }
  .wea365-template-subsection-body { padding: 2px 6px 10px; }
  .wea365-template-info,
  .wea365-template-technical-spec { padding: 11px 10px; }
}

@media (max-width: 639px) {
  .wea365-workreport-progress { width: min(40vw, 148px); }
  .wea365-workreport-progress-track { height: 27px; }
  .wea365-template-section-body { padding: 2px 6px 10px; }
  .wea365-template-subsection { margin-left: 0; margin-right: 0; }
  .wea365-template-subsection-summary { padding-left: 10px; }
  .wea365-template-subsection-body { padding: 2px 4px 8px; }
  .wea365-template-info,
  .wea365-template-technical-spec { padding: 10px 9px; }
}

/* WEA365 0.9.249: live read-only reports keep the technician form layout.
   Checkpoint states remain text-labelled and gain an additional color cue. */
.wea365-template-choice.is-readonly {
  cursor: default;
  pointer-events: none;
}
.wea365-template-choice.is-readonly:hover {
  border-color: rgba(45,91,158,.28);
  background: var(--wea365-color-white);
}
.wea365-template-choice input:disabled {
  opacity: 1;
}
.wea365-template-choice--ok input {
  accent-color: #2f8f4e;
}
.wea365-template-choice--not-ok input {
  accent-color: #c43b3b;
}
.wea365-template-choice--na input {
  accent-color: #6f7782;
}
.wea365-template-choice--ok:has(input:checked) {
  border-color: #2f8f4e;
  background: rgba(47,143,78,.12);
  box-shadow: inset 3px 0 0 #2f8f4e;
}
.wea365-template-choice--not-ok:has(input:checked) {
  border-color: #c43b3b;
  background: rgba(196,59,59,.10);
  box-shadow: inset 3px 0 0 #c43b3b;
}
.wea365-template-choice--na:has(input:checked) {
  border-color: #6f7782;
  background: rgba(111,119,130,.12);
  box-shadow: inset 3px 0 0 #6f7782;
}
[data-wea365-template-editable="0"] .uk-input[readonly],
[data-wea365-template-editable="0"] .uk-textarea[readonly],
[data-wea365-workreport-readonly-fields] .uk-input[readonly] {
  opacity: 1;
  color: var(--wea365-color-heading) !important;
  -webkit-text-fill-color: var(--wea365-color-heading);
  background: var(--wea365-color-white);
  border-color: rgba(45,91,158,.24);
}
[data-wea365-template-editable="0"] .uk-select:disabled {
  opacity: 1;
  color: var(--wea365-color-heading) !important;
  -webkit-text-fill-color: var(--wea365-color-heading);
  background-color: var(--wea365-color-white);
  border-color: rgba(45,91,158,.24);
}


/* WEA365 0.9.260: icons in direct action buttons must never absorb spare button width.
   The former first-child flex rule was meant for labels and caused oversized icon-to-label gaps. */
.wea365-app .wea365-direct-action > span:first-child,
.wea365-ui .wea365-direct-action > span:first-child {
  flex: 0 0 auto;
}

/* WEA365 0.9.261: keep toast notifications out of the portal header/menu hit area. */
.uk-notification-top-right,
.uk-notification-top-center,
.uk-notification-top-left {
  top: calc(80px + max(12px, env(safe-area-inset-top))) !important;
}

/* The UIkit notification wrapper itself must never steal clicks from the header.
   Only the visible notification card is interactive. */
.uk-notification {
  pointer-events: none;
}
.uk-notification-message {
  pointer-events: auto;
}

@media (max-width: 639px) {
  .uk-notification-top-right,
  .uk-notification-top-center,
  .uk-notification-top-left {
    top: calc(64px + max(10px, env(safe-area-inset-top))) !important;
  }
}


/* 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.274: persistent tenant initial-setup assistant. */
.wea365-settings-setup-entry {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 18px 20px;
  border: 1px solid var(--wea365-ds-primary-soft-border, #c7d8e7);
  background: var(--wea365-ds-primary-soft, #e9f2fa);
}
.wea365-settings-setup-entry-copy {
  display: flex;
  align-items: flex-start;
  gap: .9rem;
  min-width: 0;
}
.wea365-settings-setup-entry-copy > div {
  min-width: 0;
}

.wea365-setup-wizard {
  padding-top: 1.5rem;
  padding-bottom: 3rem;
}
.wea365-setup-wizard > .wea365-page-header {
  padding: 26px 30px;
  background: #2d5b9e;
  color: var(--wea365-color-white);
}
.wea365-setup-wizard > .wea365-page-header h1,
.wea365-setup-wizard > .wea365-page-header .uk-text-meta {
  color: var(--wea365-color-white) !important;
}
.wea365-setup-wizard > .wea365-page-header .uk-text-meta {
  opacity: .92;
  font-size: 1rem !important;
  line-height: 1.5 !important;
  font-weight: 600;
}
.wea365-setup-summary-main {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
}
.wea365-setup-kicker {
  color: var(--wea365-ds-primary-strong, var(--wea365-color-primary-strong));
  font-size: var(--wea365-ds-font-label, .75rem);
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.wea365-setup-score {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  flex: 0 0 auto;
}
.wea365-setup-score strong {
  color: var(--wea365-ds-primary-strong, var(--wea365-color-primary-strong));
  font-size: 2rem;
  line-height: 1;
}
.wea365-setup-score span {
  margin-top: .35rem;
  color: var(--wea365-ds-muted, var(--wea365-color-muted));
  font-size: .8125rem;
  font-weight: 600;
}
.wea365-setup-progress-track {
  height: 10px;
  margin-top: 1.25rem;
  overflow: hidden;
  border-radius: 999px;
  background: var(--wea365-ds-neutral-soft, #eef2f5);
}
.wea365-setup-progress-track > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--wea365-ds-primary, var(--wea365-color-primary));
}
.wea365-setup-group-head {
  margin-bottom: .85rem;
}
.wea365-setup-step-list {
  border: 1px solid var(--wea365-ds-border, var(--wea365-color-border));
  background: var(--wea365-color-white);
}
.wea365-setup-step {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) minmax(190px, auto);
  gap: 1rem;
  align-items: center;
  padding: 18px 20px;
  border-bottom: 1px solid var(--wea365-ds-border, var(--wea365-color-border));
}
.wea365-setup-step:last-child {
  border-bottom: 0;
}
.wea365-setup-step.is-current {
  box-shadow: inset 4px 0 0 var(--wea365-ds-primary, var(--wea365-color-primary));
  background: #f8fbfe;
}
.wea365-setup-step.is-complete {
  background: #fbfdfc;
}
.wea365-setup-step-marker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--wea365-ds-primary-soft-border, #c7d8e7);
  border-radius: 50%;
  background: var(--wea365-ds-primary-soft, #e9f2fa);
  color: var(--wea365-ds-primary-strong, var(--wea365-color-primary-strong));
  font-weight: 700;
}
.wea365-setup-step.is-complete .wea365-setup-step-marker {
  border-color: #b9dfca;
  background: var(--wea365-ds-success-soft, #e8f4ed);
  color: var(--wea365-ds-success-ink, #2f714d);
}
.wea365-setup-step-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}
.wea365-setup-step-copy p {
  max-width: 920px;
}
.wea365-setup-step-meta {
  font-weight: 600;
}
.wea365-setup-step-action {
  justify-self: end;
}
.wea365-setup-step-action .uk-button {
  min-width: 190px;
}
.wea365-setup-footer {
  border-top: 3px solid var(--wea365-ds-primary, var(--wea365-color-primary));
}

@media (max-width: 959px) {
  .wea365-settings-setup-entry {
    align-items: stretch;
    flex-direction: column;
  }
  .wea365-settings-setup-entry .uk-button {
    width: 100%;
  }
  .wea365-setup-step {
    grid-template-columns: 40px minmax(0, 1fr);
  }
  .wea365-setup-step-action {
    grid-column: 2;
    justify-self: stretch;
  }
  .wea365-setup-step-action .uk-button {
    width: 100%;
  }
}

@media (max-width: 639px) {
  .wea365-setup-wizard {
    padding-top: .75rem;
  }
  .wea365-setup-wizard > .wea365-page-header {
    padding: 20px;
  }
  .wea365-setup-summary-main {
    align-items: flex-start;
    flex-direction: column;
  }
  .wea365-setup-score {
    align-items: flex-start;
  }
  .wea365-setup-step {
    grid-template-columns: 36px minmax(0, 1fr);
    padding: 16px 14px;
    gap: .8rem;
  }
  .wea365-setup-step-marker {
    width: 32px;
    height: 32px;
  }
  .wea365-setup-step-title-row {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* WEA365 0.9.267 / pkg 0.9.287: reviewer view uses the available mobile width.
   Report labels wrap at natural word boundaries instead of splitting words. */
.wea365-workreport-review-mode {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.wea365-workreport-review-mode h2,
.wea365-workreport-review-mode h3,
.wea365-workreport-review-mode h4,
.wea365-workreport-review-mode .uk-h2,
.wea365-workreport-review-mode .uk-h3,
.wea365-workreport-review-mode .uk-h4 {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: auto;
}

.wea365-workreport-review-mode .uk-panel,
.wea365-workreport-review-mode form,
.wea365-workreport-review-mode textarea,
.wea365-workreport-review-mode input,
.wea365-workreport-review-mode select {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
}

@media (max-width: 639px) {
  .wea365-workreport-review-mode.uk-card-body {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .wea365-workreport-review-mode .uk-grid > * {
    min-width: 0;
  }

  .wea365-workreport-review-mode textarea,
  .wea365-workreport-review-mode .uk-button,
  .wea365-workreport-review-mode form > .uk-button {
    width: 100%;
  }

  .wea365-workreport-review-mode .wea365-signature-form.uk-card-body {
    padding: 16px !important;
  }
}



/* WEA365 0.9.268 / pkg 0.9.290: canonical toast position.
   Feedback belongs to the working area, not to the navigation edge. Normalize
   all UIkit notification positions on WEA365 pages to a compact top-center
   surface and keep the notification layer below an opened offcanvas menu. */
.uk-notification-top-left,
.uk-notification-top-center,
.uk-notification-top-right,
.uk-notification-bottom-left,
.uk-notification-bottom-center,
.uk-notification-bottom-right {
  top: calc(80px + max(12px, env(safe-area-inset-top))) !important;
  bottom: auto !important;
  left: 50% !important;
  right: auto !important;
  width: max-content !important;
  min-width: min(280px, calc(100vw - 32px));
  max-width: min(480px, calc(100vw - 32px)) !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: translateX(-50%);
  pointer-events: none;
  z-index: 970 !important;
}

.uk-notification-top-left .uk-notification-message,
.uk-notification-top-center .uk-notification-message,
.uk-notification-top-right .uk-notification-message,
.uk-notification-bottom-left .uk-notification-message,
.uk-notification-bottom-center .uk-notification-message,
.uk-notification-bottom-right .uk-notification-message {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  pointer-events: auto;
}

@media (max-width: 639px) {
  .uk-notification-top-left,
  .uk-notification-top-center,
  .uk-notification-top-right,
  .uk-notification-bottom-left,
  .uk-notification-bottom-center,
  .uk-notification-bottom-right {
    top: calc(64px + max(10px, env(safe-area-inset-top))) !important;
    min-width: min(260px, calc(100vw - 24px));
    max-width: calc(100vw - 24px) !important;
  }
}

/* WEA365 0.9.270 / pkg 0.9.292: calm, unambiguous reviewer decision area.
   Approval, rejection and releasing the review assignment are three different
   actions and must not compete visually or linguistically. */
.wea365-review-decision-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 20px;
}

.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-review-decision-card-approve {
  border-top: 3px solid var(--wea365-ds-primary, var(--wea365-color-primary));
}

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

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

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

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

.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-review-release > div {
  min-width: 0;
}

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

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

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

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

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

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

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

/* WEA365 0.9.271 / 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.283: scalable team-centred employee directory. */
.wea365-employee-directory-filters {
  align-items: end;
}

.wea365-employee-team-directory {
  border: 1px solid var(--wea365-ds-border, var(--wea365-color-border));
  border-radius: 4px;
  overflow: hidden;
}

.wea365-employee-team-directory-row {
  display: grid;
  grid-template-columns: minmax(180px, 1.1fr) minmax(260px, 1.8fr) auto;
  align-items: center;
  gap: 16px;
  min-height: 64px;
  padding: 12px 16px;
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid var(--wea365-ds-border, var(--wea365-color-border));
}

.wea365-employee-team-directory-row:last-child {
  border-bottom: 0;
}

.wea365-employee-team-directory-row:hover,
.wea365-employee-team-directory-row:focus {
  background: var(--wea365-ds-neutral-soft, #f5f7f9);
  color: inherit;
  text-decoration: none;
}

.wea365-employee-team-directory-name,
.wea365-employee-team-directory-stats {
  min-width: 0;
}

.wea365-employee-team-directory-name {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.wea365-employee-team-directory-name small {
  color: var(--wea365-ds-text-muted, #6f7b87);
}

.wea365-employee-team-directory-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  color: var(--wea365-ds-text-muted, #6f7b87);
  font-size: .875rem;
}

.wea365-employee-team-directory-action {
  white-space: nowrap;
  font-weight: 600;
}

@media (max-width: 959px) {
  .wea365-employee-team-directory-row {
    grid-template-columns: 1fr auto;
  }

  .wea365-employee-team-directory-stats {
    grid-column: 1 / -1;
    grid-row: 2;
  }
}

@media (max-width: 639px) {
  .wea365-employee-team-directory-row {
    grid-template-columns: 1fr;
  }

  .wea365-employee-team-directory-stats,
  .wea365-employee-team-directory-action {
    grid-column: 1;
  }

  .wea365-employee-team-directory-action {
    justify-self: start;
  }
}
/* Project-wide multi-selection: explicit checkboxes instead of native multi-select controls. */
.wea365-checkbox-list {
  max-height: 280px;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid rgba(33, 65, 105, .22);
  border-radius: 4px;
  background: rgba(255,255,255,.04);
}
.wea365-checkbox-list .uk-list > li { margin: 0; padding: 10px 12px; }
.wea365-checkbox-list label { cursor: pointer; }
.wea365-checkbox-list input:disabled + span,
.wea365-checkbox-list input:disabled ~ span { opacity: .6; }
.wea365-checkbox-list [hidden] { display: none !important; }

/* WEA365 0.9.313: canonical mobile-first portal login. */
.wea365-login-shell {
  display: flex;
  align-items: center;
  min-height: min(72vh, 760px);
}

.wea365-login-card {
  width: 100%;
  max-width: 480px;
  margin: 0 auto;
  border-radius: 6px;
}

.wea365-login-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--wea365-ds-neutral-soft, #f5f7f9);
  color: var(--wea365-app-link, var(--wea365-color-link));
}

.wea365-login-form .uk-input {
  min-height: 48px;
  font-size: 16px;
}

.wea365-login-form .uk-button {
  min-height: 48px;
}

.wea365-login-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 10px;
}

.wea365-login-security {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding-top: 16px;
  border-top: 1px solid var(--wea365-ds-border, var(--wea365-color-border));
  color: var(--wea365-app-muted, var(--wea365-color-muted));
}

@media (max-width: 639px) {
  .wea365-login-shell {
    align-items: flex-start;
    min-height: 0;
  }

  .wea365-login-card {
    padding: 22px 18px;
  }

  .wea365-login-links {
    flex-direction: column;
    align-items: center;
  }

  .wea365-login-links > span[aria-hidden="true"] {
    display: none;
  }
}


/* WEA365 0.9.314: connection-resilient active work-report status. */
.wea365-connectivity-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 30px;
  max-width: 100%;
  padding: 4px 10px;
  border: 1px solid var(--wea365-ds-border, var(--wea365-color-border));
  border-radius: 999px;
  background: var(--wea365-ds-neutral-soft, #f5f7f9);
  color: var(--wea365-app-muted, var(--wea365-color-muted));
  font-size: .82rem;
  font-weight: 600;
  line-height: 1.35;
}

.wea365-connectivity-dot {
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
  opacity: .65;
}

.wea365-connectivity-status[data-state="synced"] {
  color: #2f6b4f;
  background: #f1f8f4;
  border-color: #cfe4d7;
}

.wea365-connectivity-status[data-state="pending"],
.wea365-connectivity-status[data-state="unstable"],
.wea365-connectivity-status[data-state="session"] {
  color: #765c18;
  background: #fff9e8;
  border-color: #eadcae;
}

.wea365-connectivity-status[data-state="offline"],
.wea365-connectivity-status[data-state="storage-error"] {
  color: #8a3d35;
  background: #fff3f1;
  border-color: #ebc9c4;
}

@media (max-width: 639px) {
  .wea365-connectivity-status {
    width: 100%;
    box-sizing: border-box;
    border-radius: 6px;
  }
}


/* WEA365 0.9.315: persistent runtime status belongs in the portal header.
   Progress remains the primary mobile control; connectivity sits beside it on
   larger screens and directly below it on narrow screens. */
.wea365-workreport-runtime-status {
  position: fixed;
  z-index: 1036;
  top: calc(13px + env(safe-area-inset-top, 0px));
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  max-width: min(72vw, 620px);
  margin: 0;
  transform: translateX(-50%);
}

.wea365-workreport-runtime-status > .wea365-workreport-progress {
  position: static;
  top: auto;
  left: auto;
  flex: 0 0 auto;
  width: min(22vw, 240px);
  margin: 0;
  transform: none;
}

.wea365-workreport-runtime-status > .wea365-connectivity-status {
  flex: 0 1 auto;
  min-height: 27px;
  margin: 0;
  padding: 3px 9px;
  white-space: nowrap;
  background-clip: padding-box;
  box-shadow: 0 3px 12px rgba(19,42,64,.10);
}

.wea365-workreport-runtime-status.connectivity-only > .wea365-connectivity-status {
  max-width: min(34vw, 260px);
}

@media (max-width: 1199px) {
  .wea365-workreport-runtime-status > .wea365-workreport-progress {
    width: min(42vw, 190px);
  }
}

@media (max-width: 639px) {
  /* Mobile runtime information occupies its own row below the real YOOtheme
     mobile header. portal.js measures that header instead of relying on a
     guessed navbar height, so notification/language/menu actions keep their
     complete horizontal hit area on every supported phone width. */
  .wea365-workreport-runtime-status {
    top: var(--wea365-workreport-runtime-top, calc(64px + env(safe-area-inset-top, 0px)));
    flex-direction: row;
    align-items: stretch;
    gap: 6px;
    width: min(calc(100vw - 24px), 336px);
    max-width: min(calc(100vw - 24px), 336px);
  }

  .wea365-workreport-runtime-status > .wea365-workreport-progress {
    flex: 1 1 52%;
    min-width: 0;
    width: auto;
    max-width: none;
    box-sizing: border-box;
  }

  .wea365-workreport-runtime-status > .wea365-connectivity-status,
  .wea365-workreport-runtime-status.connectivity-only > .wea365-connectivity-status {
    flex: 0 1 48%;
    min-width: 0;
    width: auto;
    max-width: none;
    box-sizing: border-box;
  }

  .wea365-workreport-runtime-status.connectivity-only {
    width: min(calc(100vw - 24px), 220px);
    max-width: min(calc(100vw - 24px), 220px);
  }

  .wea365-workreport-runtime-status.connectivity-only > .wea365-connectivity-status {
    flex: 1 1 auto;
  }

  .wea365-workreport-runtime-status > .wea365-connectivity-status {
    min-height: 33px;
    padding: 3px 7px;
    border-radius: 7px;
    justify-content: center;
    gap: 5px;
    font-size: 10px;
    line-height: 1.15;
    text-align: center;
    white-space: normal;
  }

  .wea365-workreport-runtime-status .wea365-connectivity-dot {
    width: 6px;
    height: 6px;
  }
}


/* 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.321 / bridge 0.8.129: 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;
}
[data-wea365-workreport-takeover-lock].uk-button-primary {
  color: var(--wea365-color-white) !important;
}
[data-wea365-workreport-takeover-lock].uk-button-primary svg {
  color: inherit;
}

/* WEA365 0.9.322: 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 {
  margin-inline: 0;
  padding: 0;
  border: 0;
}
.wea365-recovery-choice {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 11px 13px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 8px;
  background: rgba(255,255,255,.03);
  cursor: pointer;
  line-height: 1.3;
}
.wea365-recovery-choice:hover,
.wea365-recovery-choice:focus-within {
  border-color: rgba(255,255,255,.55);
  background: rgba(255,255,255,.08);
}
.wea365-recovery-choice.is-selected {
  border-color: rgba(255,255,255,.75);
  background: rgba(255,255,255,.14);
}
.wea365-recovery-choice input[type="radio"] {
  width: 20px;
  height: 20px;
  margin: 0;
  flex: 0 0 auto;
}
.wea365-recovery-choice span {
  font-weight: 600;
}
.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,
  .wea365-recovery-footer .uk-button { width: 100%; }
  .wea365-recovery-footer { bottom: -22px; margin: 22px -18px -22px; padding: 14px 18px 18px; }
}


/* WEA365 0.9.331: shared live-sync status in the dispatch header. */
.wea365-dispatch-runtime-status {
  position: fixed;
  z-index: 1036;
  top: calc(13px + env(safe-area-inset-top, 0px));
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: min(34vw, 260px);
  margin: 0;
  transform: translateX(-50%);
  pointer-events: none;
}

.wea365-dispatch-runtime-status > .wea365-connectivity-status {
  min-height: 27px;
  margin: 0;
  padding: 3px 9px;
  white-space: nowrap;
  background-clip: padding-box;
  box-shadow: 0 3px 12px rgba(19,42,64,.10);
}

@media (max-width: 639px) {
  .wea365-dispatch-runtime-status {
    width: min(46vw, 164px);
    max-width: min(46vw, 164px);
  }

  .wea365-dispatch-runtime-status > .wea365-connectivity-status {
    width: 100%;
    max-width: 100%;
    min-height: 22px;
    box-sizing: border-box;
    padding: 2px 6px;
    border-radius: 6px;
    justify-content: center;
    gap: 5px;
    font-size: 10px;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
  }

  .wea365-dispatch-runtime-status .wea365-connectivity-dot {
    width: 6px;
    height: 6px;
  }
}


/* WEA365 0.9.339: takeover action must remain high-contrast even when theme
   button rules are loaded after the component stylesheet. */
body [data-wea365-workreport-takeover-lock].uk-button-primary {
  color: var(--wea365-color-white) !important;
}
body [data-wea365-workreport-takeover-lock].uk-button-primary svg,
body [data-wea365-workreport-takeover-lock].uk-button-primary svg * {
  color: inherit !important;
  fill: currentColor;
}

/* WEA365 0.9.340: recovery conflict decisions are selections, not action buttons. */

/* WEA365 0.9.341: persistent recovery conflict basket and takeover icon contrast. */
.wea365-recovery-basket {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 18px;
  padding: 14px 16px;
  border: 1px solid rgba(203, 145, 17, .35);
  border-left: 4px solid #cb9111;
  border-radius: 8px;
  background: rgba(255, 196, 64, .14);
}
.wea365-recovery-basket-copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.wea365-recovery-basket-copy strong {
  font-weight: 700;
}
.wea365-recovery-basket-copy span {
  font-size: .86rem;
  opacity: .78;
}
.wea365-recovery-basket .uk-button {
  flex: 0 0 auto;
  min-height: 44px;
  white-space: normal;
}
.wea365-recovery-source {
  margin: 0 0 16px;
  padding: 9px 11px;
  border-radius: 7px;
  background: rgba(255,255,255,.08);
  font-size: .82rem;
  line-height: 1.4;
}
body [data-wea365-workreport-takeover-lock].uk-button-primary [uk-icon],
body [data-wea365-workreport-takeover-lock].uk-button-primary [uk-icon] svg,
body [data-wea365-workreport-takeover-lock].uk-button-primary [uk-icon] svg * {
  color: var(--wea365-color-white) !important;
  stroke: var(--wea365-color-white) !important;
}
@media (max-width: 639px) {
  .wea365-recovery-basket {
    align-items: stretch;
    flex-direction: column;
  }
  .wea365-recovery-basket .uk-button {
    width: 100%;
  }
}

/* WEA365 0.9.342: all open recovery conflicts in one work basket with partial decisions. */
.wea365-recovery-current-value {
  margin-bottom: 12px;
}
.wea365-recovery-choice-copy {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  font-weight: 400;
}
.wea365-recovery-choice-copy strong {
  font-weight: 700;
}
.wea365-recovery-choice-copy small {
  display: block;
  font-size: .78rem;
  line-height: 1.35;
  opacity: .78;
  overflow-wrap: anywhere;
}


/* WEA365 0.9.343: recovery work basket at report top and clearer conflict decisions. */
.wea365-recovery-basket-host {
  margin-top: 12px;
}
.wea365-recovery-basket-host:empty {
  display: none;
}
.wea365-recovery-basket-host .wea365-recovery-basket {
  margin: 0;
}
.wea365-recovery-choice-actions {
  flex-direction: column;
  align-items: stretch;
}
.wea365-recovery-choice {
  width: 100%;
  align-items: flex-start;
}
.wea365-recovery-choice input[type="radio"] {
  margin-top: 4px;
}
.wea365-recovery-choice-copy {
  width: 100%;
  gap: 5px;
}
.wea365-recovery-choice-copy .wea365-recovery-choice-caption {
  font-size: .88rem;
  line-height: 1.25;
  opacity: .9;
}
.wea365-recovery-choice-copy .wea365-recovery-choice-value {
  display: block;
  font-size: 1.22rem;
  line-height: 1.3;
  font-weight: 700;
  overflow-wrap: anywhere;
}
.wea365-recovery-choice-copy .wea365-recovery-choice-meta {
  font-size: .76rem;
  line-height: 1.35;
  opacity: .7;
}
.wea365-recovery-footer {
  flex-wrap: nowrap;
}
.wea365-recovery-footer .uk-button-primary {
  flex: 1 1 auto;
  white-space: nowrap;
}
.wea365-recovery-footer .uk-button-default {
  flex: 0 0 auto;
}
.wea365-recovery-footer .uk-button-primary:disabled {
  opacity: .6;
}
@media (max-width: 639px) {
  .wea365-recovery-basket-host {
    margin-top: 10px;
  }
  .wea365-recovery-footer {
    flex-direction: column;
  }
  .wea365-recovery-footer .uk-button-primary,
  .wea365-recovery-footer .uk-button-default {
    width: 100%;
    white-space: nowrap;
    font-size: .86rem;
    padding-left: 12px;
    padding-right: 12px;
  }
}

/* 0.9.351: offline photos are visible immediately in the normal gallery. */
.wea365-photo-card-local {
  border: 1px dashed rgba(31, 111, 235, .42);
  background: rgba(31, 111, 235, .035);
}
.wea365-photo-local-badge {
  white-space: normal;
  line-height: 1.35;
}
.wea365-photo-local-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 180px;
  padding: 16px;
  border-radius: 4px;
  background: rgba(0, 0, 0, .04);
  color: rgba(0, 0, 0, .58);
  overflow-wrap: anywhere;
  text-align: center;
}
