/* Underhållsverktyg: åtta lokala läs-/arbetsytor, utan ändringar i delade komponentlager. */
@media screen {
  .maintenance-workspace { min-width:0; }
  .maintenance-workspace .page-head { align-items:flex-start; gap:16px 24px; margin-bottom:20px; }
  .maintenance-workspace :is(h1,h2,h3) { overflow-wrap:anywhere; }
  .maintenance-workspace .page-head .sub { max-width:90ch; line-height:1.65; }
  .maintenance-workspace .maintenance-context { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px; margin-bottom:12px; font-size:14px; line-height:1.6; color:var(--ink-2); overflow-wrap:anywhere; }
  .maintenance-workspace .maintenance-context strong { color:var(--ink); font-weight:600; }
  .maintenance-workspace .maintenance-context > span { color:var(--muted); font-size:13px; }
  .maintenance-workspace .maintenance-readonly { padding:16px; margin-bottom:16px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--soft); color:var(--ink-2); line-height:1.65; }
  .maintenance-workspace .toolbar { flex-wrap:wrap; gap:8px; }
  .maintenance-workspace .toolbar .btn { white-space:normal; }
  .maintenance-workspace :is(.btn,.icon-btn,.avt-grupp-knapp,.seg button,summary,input:not([type=checkbox],[type=radio],[type=hidden],[type=file]),select) { min-height:44px; box-sizing:border-box; }
  .maintenance-workspace .icon-btn { min-width:44px; }
  .maintenance-workspace :is(button,input,select,textarea,summary,[tabindex]):focus-visible { outline:2px solid var(--brand); outline-offset:3px; border-radius:8px; }
  .maintenance-workspace :is(.field,.frow,.card) { min-width:0; }
  .maintenance-workspace :is(.help,.meta,.banner,.field label) { line-height:1.65; }
  .maintenance-workspace :is(input,select,textarea) { max-width:100%; }
  .maintenance-workspace :is(input,select,textarea):disabled { opacity:1; color:var(--ink-2); -webkit-text-fill-color:var(--ink-2); background:var(--soft); }
  .maintenance-workspace .maintenance-summary { gap:16px; margin-bottom:20px; }
  .maintenance-workspace .maintenance-summary > .card { min-width:0; padding:20px; }
  .maintenance-workspace .grid > .card.stat .val,
  .maintenance-workspace .maintenance-summary .val { font-size:clamp(24px,2.5vw,32px); overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
  .maintenance-workspace :is(.maintenance-table,.history-table,.inspection-table,.checks-table,.permits-table,.contracts-table) { width:100%; }
  .maintenance-workspace :is(.maintenance-table,.history-table,.inspection-table,.checks-table,.permits-table,.contracts-table) :is(th,td) { padding:14px 12px; }
  .maintenance-workspace :is(.maintenance-table,.history-table,.inspection-table,.checks-table,.permits-table,.contracts-table) th { white-space:normal; line-height:1.5; }
  .maintenance-workspace :is(.maintenance-table,.history-table,.inspection-table,.checks-table,.permits-table,.contracts-table) :is(.t-name,.t-cat) { overflow-wrap:anywhere; }
  .maintenance-workspace .row-actions { flex-wrap:wrap; gap:8px; }
  .maintenance-workspace :is(.maintenance-table,.history-table,.inspection-table,.checks-table,.permits-table,.contracts-table) select { min-width:140px; padding:10px 12px; font:inherit; font-size:13px; color:var(--ink); background:var(--field); border:1px solid var(--line); border-radius:var(--radius-sm); }
  .checks-workspace input.cell { width:110px!important; min-width:100px; padding:10px 8px; font-variant-numeric:tabular-nums; }
  .changes-workspace #andrLista { min-width:0; }
  .changes-workspace #andrLista :is(td,p) { overflow-wrap:anywhere; }
  .contracts-workspace .avt-flikar { flex-wrap:wrap; gap:6px; margin-bottom:16px; }
  .contracts-workspace .avt-flikar button { min-height:44px; padding:10px 14px; white-space:normal; }
  .contracts-workspace .avt-grupp-knapp { padding-block:8px; text-align:left; }
  .contracts-workspace .avt-leg { flex-wrap:wrap; gap:8px 16px; line-height:1.6; }
  .contracts-workspace .avt-tl-rum { max-width:100%; }

  .timeline-workspace .timeline-scroll { overflow-x:auto; max-width:100%; scrollbar-width:thin; }
  .timeline-workspace .gantt { min-width:calc(140px + var(--timeline-years,1) * 44px); table-layout:fixed; }
  .timeline-workspace .gantt .gantt-cat { width:140px; min-width:140px; max-width:140px; white-space:normal; overflow-wrap:anywhere; line-height:1.5; padding:8px; }
  .timeline-workspace .gantt .gantt-y { min-width:44px; width:44px; padding:8px 2px; font-size:12px; line-height:1.5; }
  .timeline-workspace .gantt .gantt-cell { height:36px; text-align:center; vertical-align:middle; }
  .timeline-workspace .timeline-values { margin-top:16px; }
  .timeline-workspace .timeline-values > summary { padding:14px 16px; cursor:pointer; line-height:1.5; color:var(--ink); font-size:14px; font-weight:600; }
  .timeline-workspace .timeline-values caption { padding:12px 16px; text-align:left; color:var(--muted); font-size:13px; line-height:1.6; }
  .timeline-workspace .timeline-item-list { display:grid; gap:10px; margin:0; padding:0; list-style:none; text-align:left; }
  .timeline-workspace .timeline-item-list li { display:flex; flex-wrap:wrap; gap:4px 12px; min-width:0; }
  .timeline-workspace .timeline-item-list li > span { flex:1 1 160px; overflow-wrap:anywhere; }
  .timeline-workspace .timeline-item-list strong { flex-shrink:0; font-weight:500; font-variant-numeric:tabular-nums; }
  .maintenance-workspace [hidden] { display:none!important; }

  /* Exakta ankare för de modalflöden som tillhör denna batch. */
  .modal:has(:is(#pjN,#avN,#anText,#nb-likt,#andrRaderaOrd)) :is(.btn,.icon-btn,input:not([type=checkbox],[type=radio],[type=hidden],[type=file]),select,summary) { min-height:44px; box-sizing:border-box; }
  .modal:has(:is(#pjN,#avN,#anText,#nb-likt,#andrRaderaOrd)) .icon-btn { min-width:44px; }
  .modal:has(:is(#pjN,#avN,#anText,#nb-likt,#andrRaderaOrd)) :is(.field,.frow) { min-width:0; }
  .modal:has(:is(#pjN,#avN,#anText,#nb-likt,#andrRaderaOrd)) :is(input,select,textarea) { max-width:100%; }
  .modal:has(:is(#pjN,#avN,#anText,#nb-likt,#andrRaderaOrd)) :is(label,.help,.t-cat) { line-height:1.65; }
  .modal:has(:is(#pjN,#avN,#anText,#nb-likt,#andrRaderaOrd)) :is(button,input,select,textarea,summary):focus-visible { outline:2px solid var(--brand); outline-offset:3px; }
  .modal:has(#pjN) .pj-row { min-height:44px; box-sizing:border-box; padding:10px; align-items:flex-start; }
  .modal:has(#pjN) .pj-row input { flex:none; margin-top:4px; accent-color:var(--brand); }
  .modal:has(#avN) label:has(input[type=checkbox]) { min-height:44px; box-sizing:border-box; padding-block:10px; }

  @media (max-width:860px) {
    .maintenance-workspace .page-head { gap:12px; }
    .maintenance-workspace :is(input,select,textarea) { font-size:16px; }
    .maintenance-workspace .maintenance-summary { gap:12px; }
    .maintenance-workspace .maintenance-summary > .card { padding:16px; }
    .maintenance-workspace table[data-stack] td:has(select) { display:block; text-align:left; }
    .maintenance-workspace table[data-stack] td:has(select)::before { display:block; max-width:100%; margin-bottom:8px; }
    .maintenance-workspace table[data-stack] td select { min-width:0; width:100%!important; max-width:100%; font-size:16px; flex:none; }
    .checks-workspace table[data-stack] td input.cell { min-width:100px; width:110px!important; max-width:100%; flex:0 0 110px; font-size:16px; }
    .maintenance-workspace :is(.maintenance-table,.history-table,.inspection-table,.checks-table,.permits-table,.contracts-table)[data-stack] tr { padding:14px; }
    .maintenance-workspace :is(.maintenance-table,.history-table,.inspection-table,.checks-table,.permits-table,.contracts-table)[data-stack] td { gap:10px; padding:10px 0; }
    .maintenance-workspace :is(.maintenance-table,.history-table,.inspection-table,.checks-table,.permits-table,.contracts-table)[data-stack] td.t-name { display:block; text-align:left; }
    .maintenance-workspace :is(.maintenance-table,.history-table,.inspection-table,.checks-table,.permits-table,.contracts-table)[data-stack] td.t-name::before { display:none; }
    .maintenance-workspace :is(.maintenance-table,.history-table,.inspection-table,.checks-table,.permits-table,.contracts-table)[data-stack] td.t-fast { flex-wrap:wrap; }
    .timeline-workspace .gantt { min-width:calc(120px + var(--timeline-years,1) * 44px); }
    .timeline-workspace .gantt .gantt-cat { width:120px; min-width:120px; max-width:120px; }
    .timeline-workspace .timeline-values caption { display:block; width:100%; box-sizing:border-box; }
    .timeline-workspace .timeline-values td:has(.timeline-item-list) { display:block; text-align:left; }
    .timeline-workspace .timeline-values td:has(.timeline-item-list)::before { display:block; max-width:100%; margin-bottom:8px; }
    .timeline-workspace .timeline-item-list strong { flex-shrink:1; overflow-wrap:anywhere; }
    .contracts-workspace .avt-tab-verktyg { flex-wrap:wrap; gap:8px; }
    .contracts-workspace .seg { flex-wrap:wrap; }
    .contracts-workspace .seg button { white-space:normal; }
    .modal:has(:is(#pjN,#avN,#anText,#nb-likt,#andrRaderaOrd)) :is(input,select,textarea) { font-size:16px; }
    .modal:has(#pjN) .pj-row { flex-wrap:wrap; }
    .modal:has(#pjN) .pj-row > .num { flex-basis:100%; padding-left:24px; text-align:left; white-space:normal; }
  }
  @media (max-width:380px) {
    .maintenance-workspace :is(.maintenance-table,.history-table,.inspection-table,.checks-table,.permits-table,.contracts-table)[data-stack] tr { padding-inline:12px; }
    .maintenance-workspace .toolbar > .btn { flex:1 1 auto; }
    .modal:has(:is(#pjN,#avN,#anText,#nb-likt,#andrRaderaOrd)) .modal-body { padding-inline:18px; }
  }
}
