/* Byggdelar: avgränsad arbetsyta med befintliga tema- och komponenttokens. */
@media screen {
  .bc-workspace { min-width:0; }
  .bc-workspace .page-head { align-items:flex-start; gap:16px 24px; margin-bottom:20px; }
  .bc-workspace h1 { overflow-wrap:anywhere; }
  .bc-workspace .bc-context { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px; font-size:14px; line-height:1.6; color:var(--ink-2); overflow-wrap:anywhere; }
  .bc-workspace .bc-context strong { color:var(--ink); font-weight:600; }
  .bc-workspace .bc-context > span { color:var(--muted); font-size:13px; }
  .bc-workspace .page-head .sub { line-height:1.65; }
  .bc-workspace .bc-toolbar { flex-wrap:wrap; gap:8px; }
  .bc-workspace .bc-toolbar .btn { white-space:normal; }
  .bc-workspace .bc-summary { gap:16px; margin-bottom:20px; }
  .bc-workspace .bc-summary .card.stat { padding:20px; min-width:0; min-height:0; }
  .bc-workspace .bc-summary .val { font-size:clamp(25px,2.5vw,32px); overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
  .bc-workspace .bc-summary :is(.label,.meta) { line-height:1.6; }
  .bc-workspace .bc-readonly { margin-bottom:16px; padding:16px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--soft); color:var(--ink-2); line-height:1.65; }
  .bc-workspace .bc-tools { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:20px 0 10px; }
  .bc-workspace .bc-tools .lib-search { flex:1 1 240px; min-width:0; margin:0; padding:11px 12px; }
  .bc-workspace .bc-tools label { font-size:13px; color:var(--ink-2); }
  .bc-workspace #bcSort { max-width:100%; min-width:0; padding:10px 12px; background:var(--field); color:var(--ink); border:1px solid var(--line); border-radius:var(--radius-sm); font:inherit; font-size:13px; }
  .bc-workspace #bcResultStatus { margin:8px 0 14px; color:var(--muted); font-size:13px; line-height:1.6; font-variant-numeric:tabular-nums; }
  .bc-workspace #bcMissingToggle[aria-pressed=true] { border-color:var(--brand); background:var(--brand-soft); color:var(--brand); }
  .bc-workspace :is(.btn,.icon-btn,.grp-tog,.tz-tog,.las-btn,.t-namn-knapp,.table-sort,input,select) { min-height:44px; box-sizing:border-box; }
  .bc-workspace :is(.icon-btn,.las-btn) { min-width:44px; }
  .bc-workspace .comp-tab .btn.comp-log { min-height:44px; height:auto; padding:10px; white-space:normal; }
  .bc-workspace .comp-tab :is(.grp-tog,.tz-tog) { padding-block:8px; text-align:left; }
  .bc-workspace .comp-tab .t-namn-knapp { line-height:1.5; padding-block:6px; }
  .bc-workspace .comp-tab .cell { min-height:44px; padding:10px 8px; }
  .bc-workspace .comp-tab .cell:disabled { opacity:1; color:var(--ink-2); -webkit-text-fill-color:var(--ink-2); background:var(--soft); border-color:var(--line); cursor:default; }
  .bc-workspace :is(button,input,select,summary,[tabindex]):focus-visible { outline:2px solid var(--brand); outline-offset:3px; border-radius:8px; }
  .bc-workspace .comp-tab + .help { padding:12px 16px 16px; margin:0!important; line-height:1.65; }
  .bc-workspace [hidden] { display:none!important; }

  /* Endast de tre Byggdelar-dialogerna, även när de ligger utanför arbetsytan. */
  .modal:has(:is(#cName,#libList,#photoDrop)) :is(.btn,.icon-btn,.lib-chip,input:not([type=checkbox],[type=radio],[type=file]),select,summary) { min-height:44px; box-sizing:border-box; }
  .modal:has(:is(#cName,#libList,#photoDrop)) .icon-btn { min-width:44px; }
  .modal:has(:is(#cName,#libList,#photoDrop)) :is(button,input,select,textarea,summary):focus-visible { outline:2px solid var(--brand); outline-offset:3px; }
  .modal:has(#cName) .field { min-width:0; }
  .modal:has(#cName) .field label { line-height:1.6; }
  .modal:has(#cName) :is(input,select,textarea) { max-width:100%; }
  .modal:has(#cName) :is(.help,.banner) { line-height:1.65; }
  .modal:has(#libList) .lib-chips { scrollbar-width:thin; padding-block:4px 12px; scroll-padding-inline:4px; }
  .modal:has(#libList) .lib-chips::-webkit-scrollbar { display:block; height:5px; }
  .modal:has(#libList) .lib-chips::-webkit-scrollbar-thumb { background:var(--line); border-radius:8px; }
  .modal:has(#libList) .lib-item { align-items:flex-start; gap:12px; padding:14px; transform:none; }
  .modal:has(#libList) .lib-item > div { min-width:0; }
  .modal:has(#libList) .li-name { line-height:1.5; overflow-wrap:anywhere; }
  .modal:has(#libList) .li-meta { line-height:1.65; margin-top:4px; overflow-wrap:anywhere; }
  .modal:has(#libList) :is(.li-add,.li-entill) { flex-shrink:0; white-space:normal; }
  .modal:has(#libList) .lib-qty { min-width:90px; background:var(--field); color:var(--ink); border-color:var(--line); }
  .modal:has(#photoDrop) [hidden] { display:none!important; }
  .modal:has(#photoDrop) .bc-photo-add { white-space:normal; }

  @media (max-width:860px) {
    .bc-workspace .page-head { gap:12px; }
    .bc-workspace .bc-toolbar { width:100%; }
    .bc-workspace .bc-tools .lib-search { flex-basis:100%; font-size:16px; }
    .bc-workspace #bcSort { font-size:16px; }
    .bc-workspace .comp-tab[data-stack] tr { padding:14px; }
    .bc-workspace .comp-tab[data-stack] td { gap:10px; }
    .bc-workspace .comp-tab[data-stack] .qtyc { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; min-width:0; }
    .bc-workspace .comp-tab[data-stack] .qtyc > .qu { white-space:normal; }
    .bc-workspace .comp-tab[data-stack] td .cell { min-width:100px; width:110px!important; max-width:100%; flex:0 0 110px; font-size:16px; }
    .bc-workspace .comp-tab[data-stack] .qtyc > a.qu { flex-basis:100%; }
    .bc-workspace .comp-tab[data-stack] td.t-name { text-align:left; }
    .bc-workspace .comp-tab .comp-actions { flex-wrap:wrap; gap:8px; }
    .bc-workspace .comp-tab .comp-meta { gap:8px; }
    .modal:has(:is(#cName,#libList)) :is(input,select,textarea) { font-size:16px; }
  }
  @media (max-width:380px) {
    .bc-workspace .bc-toolbar > .btn { flex:1 1 100%; }
    .bc-workspace .bc-tools > .btn { flex:1 1 auto; }
    .bc-workspace .comp-tab[data-stack] tr { padding-inline:12px; }
  }
  @media (max-width:560px) {
    .modal:has(#libList) .lib-item { flex-wrap:wrap; padding:12px; }
    .modal:has(#libList) .lib-item > div { flex-basis:100%!important; }
    .modal:has(#libList) .li-hoger { flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:flex-end; width:100%; }
    .modal:has(#libList) .li-add { margin-left:auto; }
    .modal:has(#libList) .li-qty-wrap { flex-wrap:wrap; justify-content:flex-end; }
  }
  @media (prefers-reduced-motion:reduce) {
    .bc-workspace :is(button,input,select),.modal:has(#libList) .lib-item { transition:none; }
  }
}
