html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem var(--app-surface), 0 0 0 0.25rem var(--app-primary);
}

.app-language-label-table {
    table-layout: fixed;
    width: 100%;
}

.app-language-label-table th:nth-child(1) { width: 16%; }
.app-language-label-table th:nth-child(2) { width: 18%; }
.app-language-label-table th:nth-child(3) { width: 22%; }
.app-language-label-table th:nth-child(4) { width: 16%; }
.app-language-label-table th:nth-child(5) { width: 18%; }
.app-language-label-table th:nth-child(6) { width: 10%; }

.app-table-cell-single-line {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-language-embedded-page {
    display: block;
    width: 100%;
    min-height: 60vh;
    border: 0;
    background: var(--app-surface, #fff);
}

.app-trial-status {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  min-height: 2.25rem;
  padding: .35rem .7rem;
  border: 1px solid var(--app-primary-border, #0e7490);
  border-radius: 999px;
  background: var(--app-primary-soft, #ecfeff);
  color: var(--app-primary, #155e75);
  text-decoration: none;
  white-space: nowrap;
}

.app-trial-status:hover { background: var(--app-surface-hover, #e0f2fe); }
.app-trial-status strong { font-size: 1.05rem; }

.app-token-list {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  max-width: 56rem;
}

.app-related-record-actions {
  justify-content: flex-start;
  margin-bottom: 0;
}

.app-language-pack-catalogue {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem;
  padding: var(--app-space-3, 1rem);
  border-top: 1px solid var(--app-border, #cbd5e1);
}

.app-language-pack-catalogue > div {
  display: inline-flex;
  gap: .4rem;
  align-items: center;
  padding: .45rem .65rem;
  border: 1px solid var(--app-border, #cbd5e1);
  border-radius: .5rem;
  background: var(--app-surface, #fff);
}

.app-language-pack-catalogue span { color: var(--app-text-muted, #475569); }
.app-language-pack-catalogue .app-btn { margin-inline-start: auto; }
.app-source-language-value { display: block; padding: .55rem 0; color: var(--app-text-muted, #475569); }
.app-language-record-translations { padding: 0; overflow: hidden; border-radius: var(--app-radius-md, .5rem); }
.app-language-record-translations .app-language-embedded-page { min-height: 68vh; }

#labels-panel .app-table-personalization--standalone {
  float: right;
  width: max-content;
  margin-bottom: .5rem;
  padding: 0;
  border: 0;
  background: transparent;
}

#labels-panel .app-table-personalization--standalone + .app-table-wrapper { clear: both; border-radius: var(--app-radius-md, .5rem); }

.app-hazard-selector { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: .5rem; width: 100%; }
.app-hazard-option { display: flex; align-items: center; gap: .5rem; min-height: 2.75rem; padding: .6rem .75rem; border: 1px solid var(--app-border-color, #cbd5e1); border-radius: .5rem; background: var(--app-surface, #fff); cursor: pointer; }
.app-hazard-option:has(input:checked) { border-color: var(--app-color-teal-600, #0f766e); background: var(--app-color-teal-50, #f0fdfa); }
.app-hazard-option input { margin: 0; }
.app-hazard-option .app-icon { width: 1.35rem; height: 1.35rem; flex: 0 0 1.35rem; }
.app-form-record-header { position: sticky; top: 0; z-index: 20; border-top: .25rem solid var(--app-primary); padding: var(--app-space-3); box-shadow: var(--app-shadow-sm); }
.app-controlled-form { display: grid; gap: var(--app-space-3); }
.app-controlled-form .app-form-section { border-inline-start: .2rem solid var(--app-color-teal-500, #14b8a6); }
.app-controlled-form .app-form-section > legend { font-size: 1.15rem; font-weight: 700; padding-inline: .35rem; }
.app-validation-message { display: block; color: var(--app-danger, #b91c1c); font-size: .875rem; margin-top: .25rem; }
.app-controlled-form [aria-invalid="true"] { border-color: var(--app-danger, #b91c1c); box-shadow: 0 0 0 .1rem color-mix(in srgb, var(--app-danger, #b91c1c) 25%, transparent); }
.app-form-lookup-field { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--app-space-2); align-items: stretch; }
.app-form-lookup-button { white-space: nowrap; }
.app-form-lookup-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: var(--app-space-2); }
.app-form-lookup-option { min-height: 2.75rem; padding: var(--app-space-2) var(--app-space-3); border: 1px solid var(--app-border); border-radius: var(--app-radius-md); background: var(--app-surface); color: var(--app-text); text-align: left; cursor: pointer; }
.app-form-lookup-option:hover, .app-form-lookup-option:focus-visible { border-color: var(--app-primary-border); background: var(--app-primary-soft); }

@media (min-width: 1100px) {
  .app-hazard-selector { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

.app-input:focus, .app-select:focus, .app-btn:focus {
  outline: 0;
  box-shadow: 0 0 0 0.1rem var(--app-surface), 0 0 0 0.25rem var(--app-primary);
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.app-inline-form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
}

.app-input-sm {
  max-width: 9rem;
}

.app-inventory-label {
  max-width: 720px;
  margin-inline: auto;
}

.app-inventory-label-barcode svg {
  display: block;
  width: 100%;
  height: 8rem;
}

.app-inventory-label-barcode rect {
  fill: #000;
}

.app-inventory-label-identifier {
  margin-top: 0.5rem;
  overflow-wrap: anywhere;
  text-align: center;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 1.1rem;
  letter-spacing: 0.08em;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}
/* P13 browser-native report printing. */
.app-report-print-header { display: none; }
.app-report-export-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
body:has(.app-report-workspace){overflow:hidden}
.app-shell:has(.app-report-workspace),.app-main:has(.app-report-workspace){height:100dvh;min-height:0;overflow:hidden}
.app-content:has(.app-report-workspace){overflow:hidden}
.app-report-workspace{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:.75rem}
.app-report-workspace-fixed{display:grid;gap:.75rem}
.app-report-workspace-fixed>.app-page-header{margin-bottom:0}
.app-report-workspace-fixed>.app-tabs{margin-bottom:0}
.app-report-pane{min-height:0;overflow:auto;overscroll-behavior:contain;padding-right:.25rem;scrollbar-gutter:stable}
.app-page-shell { grid-template-columns: minmax(0, 1fr); }
.app-page-shell > * { min-width: 0; max-width: 100%; }

/* Bounded desktop list workspaces keep page chrome and pagination fixed while
   the table body is the only vertical scroll region. Narrow layouts retain
   normal document scrolling. */
@media (min-width: 769px) {
  body:has(.app-list-workspace) { overflow: hidden; }
  .app-shell:has(.app-list-workspace),
  .app-main:has(.app-list-workspace) { height: 100dvh; min-height: 0; overflow: hidden; }
  .app-content:has(.app-list-workspace) { min-height: 0; overflow: hidden; }
  .app-list-workspace {
    display: flex;
    height: 100%;
    min-height: 0;
    flex-direction: column;
    gap: var(--app-space-4);
  }
  .app-list-workspace > .app-list-card--bounded {
    flex: 1 1 0;
    min-height: 0;
  }
  .app-list-workspace > .app-workspace-tabs,
  .app-list-workspace > .app-page-header,
  .app-list-workspace > .app-alert,
  .app-list-workspace > .app-validation-summary,
  .app-list-workspace > .app-notification-site-toolbar,
  .app-list-workspace > .app-record-header-actions {
    flex: 0 0 auto;
  }
  .app-notification-defaults-form {
    display: flex;
    flex: 1 1 0;
    min-height: 0;
  }
  .app-notification-defaults-form > .app-list-card--bounded {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
  }
  .app-detail-table-panel:not([hidden]) {
    display: flex;
    min-height: 24rem;
    height: calc(100dvh - 18rem);
    flex-direction: column;
  }
  .app-detail-table-panel > .app-list-card--bounded {
    flex: 1 1 auto;
    min-height: 0;
  }
  .app-detail-workspace .app-detail-table-panel .app-table-scroll--bounded {
    flex: 1 1 auto;
    max-height: none;
  }
}

.app-inventory-label-template-compact { max-width: 520px; font-size: .88rem; }
.app-inventory-label-template-compact .app-inventory-label-barcode svg,
.app-inventory-label-template-barcode-compact .app-inventory-label-barcode svg { height: 5rem; }
.app-inventory-label-template-large-code .app-inventory-label-identifier { font-size: 1.6rem; font-weight: 800; }
.app-inventory-label-template-warehouse,
.app-inventory-label-template-high-visibility { border: .3rem solid #111827; }
.app-inventory-label-template-high-visibility .app-job-card-header { background: #fef08a; }
.app-inventory-label-template-bin-shelf { max-width: 560px; }
.app-inventory-label-template-qr-compact { max-width: 440px; }
.app-inventory-label-template-receiving .app-job-card-header { background: #e0f2fe; }
.app-inventory-label-template-maintenance-kit .app-job-card-header { background: #dcfce7; }

@media (max-width: 768px) {
  .app-tabs { flex-wrap: wrap; }
  .app-report-export-actions { align-items: stretch; flex-direction: column; }
  .app-report-export-actions .app-btn { width: 100%; }
  .app-form, .app-form fieldset, .app-form .app-card { min-width: 0; max-width: 100%; }
  .app-form input:not([type="checkbox"]):not([type="radio"]),
  .app-form textarea, .app-form select { width: 100%; max-width: 100%; }
  .app-form .app-actions { align-items: stretch; flex-direction: column; }
  .app-form .app-actions .app-btn { width: 100%; }
}

@media print {
  @page { size: landscape; margin: 12mm; }
  body:has(.app-list-workspace),
  .app-shell:has(.app-list-workspace),
  .app-main:has(.app-list-workspace),
  .app-content:has(.app-list-workspace),
  .app-list-workspace { height: auto !important; overflow: visible !important; }
  .app-sidebar, .app-topbar, .app-page-header, .app-tabs, .app-report-controls,
  .app-page-actions, .app-btn, nav, footer { display: none !important; }
  .app-report-print-header { display: block; margin-bottom: 1rem; }
  .app-page-shell, .app-main, .app-content { width: 100% !important; max-width: none !important; overflow: visible !important; }
  .app-card { box-shadow: none !important; break-inside: avoid; border: 1px solid #999; }
  .app-table-wrap { overflow: visible !important; }
  table { width: 100% !important; font-size: 8pt; }
  thead { display: table-header-group; }
  tr { break-inside: avoid; }
  a { color: inherit !important; text-decoration: none !important; }
  .app-form-record-header { display: flex !important; }
  body:has([data-app-print-table="true"]) .app-list-workspace > *:not(.app-list-card),
  body:has([data-app-print-table="true"]) .app-list-workspace > .app-list-card:not(:has([data-app-print-table="true"])) { display: none !important; }
  body:has([data-app-print-table="true"]) .app-list-card:has([data-app-print-table="true"]),
  body:has([data-app-print-table="true"]) .app-table-scroll {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  .app-form-record-header .app-btn, .app-form .app-actions,
  .app-form button { display: none !important; }
  .app-form input, .app-form textarea, .app-form select {
    border: 0 !important;
    background: transparent !important;
    color: #000 !important;
    appearance: none;
  }
}
/* P16 scheduling workspace */
body:has(.app-planner){overflow:hidden}
.app-shell:has(.app-planner),.app-main:has(.app-planner){height:100dvh;min-height:0;overflow:hidden}
.app-content:has(.app-planner){overflow:hidden}
.app-planner{height:100%;min-height:0;display:grid;grid-template-columns:minmax(16rem,20rem) minmax(0,1fr);grid-template-rows:auto auto auto minmax(0,1fr);gap:.75rem}
.app-planner>.app-page-header,.app-planner>.app-planner-live,.app-planner>.app-planner-toolbar,.app-planner>.app-alert{grid-column:1/-1;margin-bottom:0}
.app-planner-toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:0;position:sticky;top:0;z-index:4}
.app-planner-scale{display:inline-flex;gap:.25rem;align-items:center}
.app-planner-scale .active{border-color:var(--app-primary-border);background:var(--app-primary-soft);color:var(--app-primary)}
.app-planner-live{min-height:1.5rem}
.app-planner-month,.app-planner-timegrid-wrap,.app-planner-timeline-shell,.app-planner-agenda,.app-planner-mobile-agenda{grid-column:2;grid-row:4;min-width:0;min-height:0}
.app-planner-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:auto repeat(6,minmax(6.5rem,1fr));overflow:auto;border:1px solid var(--app-border,#d7dde5);background:#fff}
.app-planner-weekday{font-weight:700;padding:.65rem;text-align:center;background:#f4f6f8;border-bottom:1px solid #d7dde5}
.app-planner-month-day{min-height:6.5rem;padding:.35rem;border-right:1px solid #d7dde5;border-bottom:1px solid #d7dde5;min-width:0;overflow:hidden}
.app-planner-month-day.is-expanded{overflow:visible}
.app-planner-month-day.is-other-month{background:#f7f8fa;color:#68717d}
.app-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.app-planner-date{font-weight:700;margin-bottom:.2rem}
.app-planner-event{display:flex;gap:.3rem;align-items:center;flex-wrap:wrap;background:#e8f1ff;border-left:4px solid #3978c5;border-radius:.25rem;padding:.35rem;margin:.2rem 0;font-size:.82rem;cursor:grab;overflow-wrap:anywhere}
.app-planner-month .app-planner-event{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:.2rem;padding:.12rem .2rem;margin:.1rem 0;min-height:1.3rem;font-size:.7rem;line-height:1.1}
.app-planner-month-items{min-width:0}
.app-planner-month-day:not(.is-expanded) .app-planner-month-overflow-item{display:none}
.app-planner-month .app-planner-event-time{font-variant-numeric:tabular-nums}
.app-planner-month .app-planner-event-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;text-decoration:none}
.app-planner-month .app-planner-conflict{font-size:.65rem}
.app-planner-move-button{flex:0 0 auto}
.app-planner-month .app-planner-move-button{min-height:1.25rem;padding:.08rem .25rem;font-size:.64rem;border-radius:.2rem}
.app-planner-event.priority-urgent,.app-planner-event.priority-high{border-left-color:#bd2c2c}
.app-planner-event.priority-low{border-left-color:#4d8264}
.app-planner-event.is-planning-event{background:#f1eafb;border-left-color:#7653a6}
.app-planner-event.is-dragging{opacity:.45}
.app-planner-event.is-pending{outline:3px dashed #b56b00;background:#fff3d8;cursor:wait}
.app-planner-conflict{color:#a35b00}
.app-planner-more{display:block;margin:.3rem;font-weight:700}
.app-planner-month .app-planner-more{display:flex;width:100%;align-items:center;justify-content:center;min-height:1.35rem;margin:.1rem 0;padding:.1rem .3rem;border:1px solid var(--app-primary-border,#8ba8d8);border-radius:.2rem;background:var(--app-primary-soft,#eef4ff);color:var(--app-primary,#24498f);font-size:.68rem;line-height:1.1;text-decoration:none;white-space:nowrap;cursor:pointer}
.app-planner-month .app-planner-more:hover,.app-planner-month .app-planner-more:focus-visible{background:#dfeaff;text-decoration:underline}
.app-planner-timegrid-wrap,.app-planner-timeline-shell{overflow:auto;border:1px solid #d7dde5;background:#fff}
.app-planner-timegrid{display:grid;grid-template-columns:4.5rem repeat(var(--planner-days),minmax(10rem,1fr));min-width:48rem}
.app-planner-time-heading,.app-planner-hour,.app-planner-time-corner{position:sticky;top:0;background:#f4f6f8;z-index:2;padding:.45rem;border:1px solid #d7dde5;font-weight:700}
.app-planner-hour{position:sticky;left:0;z-index:1}
.app-planner-slot{position:relative;min-height:4rem;border:1px solid #e4e8ed;padding:.2rem;overflow:visible}
.app-planner-time-event{position:absolute;top:calc(.2rem + var(--planner-start-offset,0rem));left:calc(.2rem + var(--planner-overlap-left,0%));width:calc(var(--planner-overlap-width,100%) - .4rem);height:max(1.5rem,calc(var(--planner-duration,4rem) - .4rem));z-index:3;align-content:flex-start;overflow:hidden;margin:0}
.app-planner-time-event:focus-within,.app-planner-time-event:hover{z-index:4;overflow:auto}
.is-drop-target{background:#fff3cd!important;outline:3px dashed #8a6500;outline-offset:-3px}
.is-invalid-drop{outline:3px solid #bd2c2c;outline-offset:-3px;background:#fff1f1!important}
.app-planner-timeline{min-width:70rem}
.app-planner-lane{display:grid;grid-template-columns:12rem repeat(7,minmax(8rem,1fr));border-bottom:1px solid #d7dde5}
.app-planner-lane>*{padding:.45rem;border-right:1px solid #e4e8ed}
.app-planner-lane-name{position:sticky;left:0;background:#fff;z-index:1;display:flex;flex-direction:column}
.app-planner-lane-cell{min-height:5rem}
.app-planner-agenda{overflow:auto}
.app-planner-agenda h2{font-size:1.1rem;margin:.65rem 0 .25rem;padding-bottom:.3rem;border-bottom:1px solid #d7dde5}
.app-planner-agenda-item{display:grid;grid-template-columns:8rem 1fr auto auto;gap:.75rem;align-items:center;padding:.7rem;border-top:1px solid #d7dde5}
.app-planner-agenda h2+.app-planner-agenda-item{border-top:0}
.app-planner-backlog{grid-column:1;grid-row:4;margin:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;transition:padding .15s ease}
.app-planner-backlog-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex:0 0 auto}
.app-planner-backlog-header h2{display:flex;align-items:center;gap:.35rem;min-width:0;margin:0}
.app-planner-backlog-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.8rem;color:var(--app-primary);font-size:.82rem;font-variant-numeric:tabular-nums}
.app-planner-backlog-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:2rem;min-height:2rem;padding:.2rem;font-size:1.25rem;line-height:1}
.app-planner-backlog-content{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}
.app-planner-backlog-content>p{flex:0 0 auto}
.app-planner-backlog .app-list-filter-toolbar{flex:0 0 auto}
.app-planner-backlog-items{display:grid;grid-template-columns:1fr;align-content:start;gap:.5rem;flex:1 1 auto;overflow-y:auto;min-height:0;padding-right:.25rem}
.app-planner-backlog-card{display:grid;gap:.4rem;border:1px solid var(--app-border,#d7dde5);border-left:4px solid #3978c5;border-radius:.35rem;padding:.55rem;background:#fff;overflow-wrap:anywhere}
.app-planner-backlog-card.priority-urgent,.app-planner-backlog-card.priority-high{border-left-color:#bd2c2c}
.app-planner-backlog-card.priority-low{border-left-color:#4d8264}
.app-planner-drag-handle{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;color:var(--app-text-muted);cursor:grab}
.app-planner-drag-handle .app-icon{width:1rem;height:1rem}
.app-planner-backlog-facts{display:grid;grid-template-columns:1fr 1fr;gap:.25rem .5rem;margin:0;font-size:.78rem}
.app-planner-backlog-facts div{min-width:0}
.app-planner-backlog-facts dt{color:var(--app-text-muted);font-weight:600}
.app-planner-backlog-facts dd{margin:0}
.app-planner-mobile-agenda{display:none}
.app-planner-dialog{max-width:36rem;width:calc(100% - 2rem);border:0;border-radius:.5rem;box-shadow:0 1rem 3rem #0005}
.app-planner-dialog form[data-move-form]{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0}
.app-planner-dialog .app-modal-body{display:grid;gap:.8rem}
.app-planner-dialog label{display:grid;gap:.25rem}
.app-planner-dialog-error{padding:.65rem;border:1px solid var(--app-danger-border,#bd2c2c);border-radius:.35rem;background:var(--app-danger-soft,#fff1f1);color:var(--app-danger,#8f1d1d)}
.app-planning-dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
@media(max-width:700px){
 .app-content:has(.app-planner){padding:.75rem}
 .app-planner{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto minmax(12rem,17rem) minmax(0,1fr)}
 .app-planner:has(.app-planner-backlog.is-collapsed){grid-template-rows:auto auto auto auto minmax(0,1fr)}
 .app-planner>.app-page-header,.app-planner>.app-planner-live,.app-planner>.app-planner-toolbar,.app-planner>.app-alert{grid-column:1}
 .app-planner-backlog{grid-column:1;grid-row:4}
 .app-planner-backlog .app-list-filter-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
 .app-planner-backlog .app-filter-summary{grid-column:1/-1}
 .app-planner-month,.app-planner-timegrid-wrap,.app-planner-timeline-shell{display:none}
 .app-planner-agenda{display:block;grid-column:1;grid-row:5}
 .app-planner-mobile-agenda{display:block;grid-column:1;grid-row:5;overflow:auto}
 .app-planner-toolbar{align-items:stretch}
 .app-planner-agenda-item{grid-template-columns:1fr}
 .app-planner-backlog-facts{grid-template-columns:1fr}
 .app-planner-dialog{width:100%;max-width:none;height:100%;max-height:none;margin:0;border-radius:0}
 .app-planning-dashboard-grid{grid-template-columns:1fr}
}
@media(min-width:701px) and (max-width:1050px){
 .app-planner{grid-template-columns:minmax(14rem,17rem) minmax(0,1fr)}
 .app-planning-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:701px){
 .app-planner:has(.app-planner-backlog.is-collapsed){grid-template-columns:3.5rem minmax(0,1fr)}
 .app-planner-backlog.is-collapsed{padding:.4rem;align-items:center}
 .app-planner-backlog.is-collapsed .app-planner-backlog-header{height:100%;flex-direction:column-reverse;justify-content:flex-end}
 .app-planner-backlog.is-collapsed .app-planner-backlog-header h2{flex-direction:column;gap:.5rem;font-size:.75rem}
 .app-planner-backlog.is-collapsed .app-planner-backlog-label{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap}
}
/* Controlled Forms and Permit to Work print treatment. */
.app-controlled-form .app-form-section {
    break-inside: avoid;
}

.app-repeatable-row {
    margin-block: var(--app-space-3);
}

@media print {
    .app-sidebar,
    .app-topbar,
    .app-form-print-hidden,
    .app-page-actions,
    [data-remove-row],
    [data-add-row] {
        display: none !important;
    }

    .app-main,
    .app-content,
    .app-controlled-form {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        overflow: visible !important;
    }

    .app-controlled-form .app-card {
        border-color: #333 !important;
        box-shadow: none !important;
        break-inside: avoid;
    }

    .app-controlled-form input,
    .app-controlled-form select,
    .app-controlled-form textarea {
        border-color: #555 !important;
        background: #fff !important;
        color: #000 !important;
    }
}
.app-stock-transaction-type {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-weight: 600;
  gap: 0.35rem;
  padding: 0.2rem 0.5rem;
  white-space: nowrap;
}

.app-stock-transaction-type .app-stock-action-icon {
  height: 1rem;
  width: 1rem;
}
/* Owner-review dashboard and card-action alignment refinements. */
.app-card-header > .app-button-row,
.app-card-header > .app-card-header-actions,
.app-card-header > .app-table-personalization {
  margin-left: auto;
  justify-content: flex-end;
}

.app-card-header-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--app-space-2);
}

.app-bi-card > .app-card-header > .app-dashboard-pin-action {
  display: inline-flex;
  flex: 0 0 auto;
  margin-left: auto;
}

.app-bi-card > .app-card-header > .app-dashboard-pin-action + .app-table-personalization {
  margin-left: 0;
}

.app-dashboard-pin-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-dashboard-pin-button .app-icon {
  width: 1rem;
  height: 1rem;
}

.app-bi-filter-toolbar {
  margin: 0;
}

.app-language-settings-tabs {
  overflow: hidden;
}

.app-language-settings-tabs > .app-workspace-tabs {
  margin: 0;
}

.app-language-settings-tabs > .app-language-section {
  overflow: visible;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.app-filter-modal .app-bi-filter-modal-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--app-space-4);
}

.app-bi-filter-modal-body .app-bi-filter-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.app-bi-visual-settings-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: var(--app-space-3);
}

.app-bi-filter-modal-body .app-bi-chart-help {
  margin: 0;
}

@media (max-width: 640px) {
  .app-bi-filter-modal-body .app-bi-filter-form,
  .app-bi-visual-settings-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.app-card-heading-actions {
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  flex-wrap: wrap;
  gap: var(--app-space-2);
}

.app-cycle-count-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  gap: var(--app-space-3);
  margin: var(--app-space-4) 0 0;
}

.app-cycle-count-fact {
  display: grid;
  gap: var(--app-space-1);
  min-width: 0;
  padding: var(--app-space-3);
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius-md);
  background: var(--app-surface-subtle);
}

.app-cycle-count-fact span {
  color: var(--app-text-muted);
  font-weight: 600;
}

.app-cycle-count-fact strong {
  overflow-wrap: anywhere;
}

.app-notification-scope-tabs {
  flex: 0 0 auto;
  min-height: 2.75rem;
  width: fit-content;
  max-width: 100%;
  padding: var(--app-space-1);
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius-md);
  background: var(--app-surface-subtle);
}

.app-notification-site-toolbar {
  display: grid;
  grid-template-columns: auto minmax(15rem, 22rem);
  align-items: center;
  gap: var(--app-space-2);
  min-height: 3.25rem;
}

.app-notification-site-selector {
  width: 100%;
}

@media (max-width: 700px) {
  .app-cycle-count-facts {
    grid-template-columns: 1fr;
  }
}

.app-iot-overview-grid { margin-top: var(--app-space-3); }
.app-iot-status-bars { display: grid; gap: var(--app-space-3); }
.app-iot-status-bars > div { display: grid; grid-template-columns: minmax(7rem, auto) 1fr 3rem; align-items: center; gap: var(--app-space-2); }
.app-iot-status-bars meter { width: 100%; height: 1rem; accent-color: var(--app-accent); }
.app-iot-status-bars strong { text-align: right; }
.app-iot-pinned-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: var(--app-space-2); }
.app-iot-pinned-device { display: grid; gap: var(--app-space-1); padding: var(--app-space-3); border: 1px solid var(--app-border); border-radius: var(--app-radius-md); background: var(--app-surface); color: inherit; text-decoration: none; }
.app-iot-pinned-device:hover { border-color: var(--app-accent); }

.app-spare-select-control {
  box-sizing: border-box;
  justify-content: center;
  min-width: 7rem;
  width: 100%;
  white-space: nowrap;
}

.app-table td:has(.app-spare-select-control) {
  min-width: 8rem;
}

.app-section-primary-actions {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--app-space-2);
  width: 100%;
}

.app-job-plan-record-dialogs,
.app-job-plan-record-dialogs > article {
  display: contents;
}

.app-job-plan-record-dialogs > article > :not(dialog) {
  display: none;
}

dialog.app-modal-wide {
  width: min(82rem, calc(100vw - 3rem));
}

.app-spare-picker-table-wrap {
  overflow-x: hidden;
}

.app-spare-picker-table {
  width: 100%;
  table-layout: fixed;
}

.app-spare-picker-table th,
.app-spare-picker-table td {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}

.app-spare-picker-table th:nth-child(1) { width: 13%; }
.app-spare-picker-table th:nth-child(2) { width: 11%; }
.app-spare-picker-table th:nth-child(3) { width: 22%; }
.app-spare-picker-table th:nth-child(4) { width: 29%; }
.app-spare-picker-table th:nth-child(5) { width: 11%; }
.app-spare-picker-table th:nth-child(6) { width: 14%; }

.app-spare-picker-table td:has(.app-spare-select-control) {
  min-width: 0;
}

.app-spare-picker-table .app-spare-select-control {
  min-width: 0;
  padding-inline: var(--app-space-2);
}
