/* Ekonomi, ram och årsbudget: lokala arbetsytor med appens befintliga tokens. */
@media screen {
  :is(.eco-workspace,.budget-workspace,.ab-workspace) { min-width:0; }
  :is(.eco-workspace,.budget-workspace,.ab-workspace) .page-head { align-items:flex-start; gap:16px 24px; margin-bottom:20px; }
  :is(.eco-workspace,.budget-workspace,.ab-workspace) :is(h1,h2,h3) { overflow-wrap:anywhere; }
  :is(.eco-workspace,.budget-workspace,.ab-workspace) .page-head .sub { line-height:1.65; }
  :is(.eco-workspace,.budget-workspace,.ab-workspace) .eco-context { display:flex; flex-wrap:wrap; gap:4px 12px; align-items:baseline; color:var(--ink-2); font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
  :is(.eco-workspace,.budget-workspace,.ab-workspace) .eco-context strong { color:var(--ink); font-weight:600; }
  :is(.eco-workspace,.budget-workspace,.ab-workspace) .eco-context > span { color:var(--muted); font-size:13px; }
  :is(.eco-workspace,.budget-workspace,.ab-workspace) :is(.btn,.icon-btn,summary,input:not([type=checkbox],[type=radio],[type=hidden]),select) { min-height:44px; box-sizing:border-box; }
  :is(.eco-workspace,.budget-workspace,.ab-workspace) .icon-btn { min-width:44px; }
  :is(.eco-workspace,.budget-workspace,.ab-workspace) :is(button,input,select,textarea,summary,[tabindex]):focus-visible { outline:2px solid var(--brand); outline-offset:3px; border-radius:8px; }
  :is(.eco-workspace,.budget-workspace,.ab-workspace) :is(.help,.banner,.meta) { line-height:1.65; }
  :is(.eco-workspace,.budget-workspace,.ab-workspace) :is(.field,.frow,.card) { min-width:0; }
  :is(.eco-workspace,.budget-workspace,.ab-workspace) .field label { line-height:1.6; }
  :is(.eco-workspace,.budget-workspace,.ab-workspace) :is(input,select,textarea) { max-width:100%; }
  :is(.eco-workspace,.budget-workspace,.ab-workspace) :is(input,select,textarea):disabled { opacity:1; color:var(--ink-2); -webkit-text-fill-color:var(--ink-2); background:var(--soft); }
  :is(.eco-workspace,.budget-workspace,.ab-workspace) .eco-summary { gap:16px; margin-bottom:20px; }
  :is(.eco-workspace,.budget-workspace,.ab-workspace) .eco-summary > .card { padding:20px; }
  :is(.eco-workspace,.budget-workspace,.ab-workspace) .eco-summary .val { font-size:clamp(24px,2.5vw,32px); overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
  :is(.eco-workspace,.budget-workspace,.ab-workspace) .eco-period { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
  :is(.eco-workspace,.budget-workspace,.ab-workspace) .eco-period .btn { padding:10px 14px; white-space:normal; }
  :is(.eco-workspace,.budget-workspace,.ab-workspace) .eco-assumptions { margin-block:20px; scroll-margin-top:84px; }
  :is(.eco-workspace,.budget-workspace,.ab-workspace) .eco-assumptions > summary { display:flex; align-items:center; padding:12px 16px; cursor:pointer; color:var(--ink); font-size:14px; font-weight:600; }
  :is(.eco-workspace,.budget-workspace,.ab-workspace) .eco-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; }
  :is(.eco-workspace,.budget-workspace,.ab-workspace) .eco-result-status { color:var(--muted); font-size:13px; line-height:1.6; margin-block:10px 14px; }
  :is(.eco-workspace,.budget-workspace,.ab-workspace) .card-scroll { max-width:100%; }
  :is(.eco-workspace,.budget-workspace,.ab-workspace) :is(.eb-year-table,.ab-table) { width:100%; }
  :is(.eco-workspace,.budget-workspace,.ab-workspace) :is(.eb-year-table,.ab-table) th { white-space:normal; line-height:1.5; }
  :is(.eco-workspace,.budget-workspace,.ab-workspace) :is(.eb-year-table,.ab-table) :is(th,td) { padding:14px 12px; }
  .ab-workspace .ab-table select { min-width:150px; width:100%; padding:10px 12px; color:var(--ink); background:var(--field); border:1px solid var(--line); border-radius:var(--radius-sm); font:inherit; font-size:13px; }
  .ab-workspace > .grid.k4 > .card > div,.ab-workspace .card > .grid.k4 b { overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
  .ab-workspace .ab-pick { display:inline-flex; min-width:44px; min-height:44px; align-items:center; justify-content:center; cursor:pointer; }
  .ab-workspace .ab-pick input { margin:0; accent-color:var(--brand); }
  .eco-workspace .fcurve-cap { flex-wrap:wrap; gap:8px 20px; line-height:1.6; }
  .eco-workspace .fc-readout-value { overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
  .eco-workspace .fc-hint { line-height:1.5; }
  .eco-workspace .pg-check { min-height:44px; box-sizing:border-box; }
  .budget-workspace .kat-rad { min-width:0; }
  .budget-workspace .kat-namn { white-space:normal; overflow:visible; text-overflow:clip; line-height:1.5; }
  .budget-workspace .kat-kr { font-variant-numeric:tabular-nums; }
  :is(.eco-workspace,.budget-workspace,.ab-workspace) [hidden] { display:none!important; }

  /* Befintliga element i de tre vyerna: inga globala komponentlager. */
  :is(.budget-workspace,.ab-workspace) > .grid.k4 { gap:16px; margin-bottom:20px; }
  :is(.budget-workspace,.ab-workspace) > .grid.k4 > .card { min-width:0; padding:20px; }
  :is(.eco-workspace,.budget-workspace,.ab-workspace) .page-head .toolbar { display:flex; flex-wrap:wrap; gap:8px; }
  :is(.eco-workspace,.budget-workspace) .card:has(:is(#ecHorizon,#budTak)) { scroll-margin-top:84px; }
  .budget-workspace .eb-chart-scroll { max-width:100%; overflow-x:auto; padding-block:8px 12px; scrollbar-width:thin; }
  .budget-workspace .eb-chart-scroll :is(.budg-diag,.budg-fot) { min-width:calc(var(--eb-years,10) * 49px - 5px); }
  .budget-workspace .eb-chart-scroll .budg-fot span { min-width:44px; font-size:12px; }
  .budget-workspace .eb-year-table { margin-top:14px; }
  .budget-workspace .eb-year-table > summary { min-height:44px; padding-block:12px; box-sizing:border-box; cursor:pointer; font-size:13px; color:var(--brand); }
  .budget-workspace .eb-year-table caption { padding:12px; color:var(--ink-2); text-align:left; font-size:13px; line-height:1.6; }

  /* Dialogerna identifieras av faktiska ekonomifält, inte globala id-prefix. */
  .modal:has(:is(#abNamn,#abBest,#lanMRader,[data-ab-ford])) :is(.btn,.icon-btn,input:not([type=checkbox],[type=radio],[type=hidden]),select,summary) { min-height:44px; box-sizing:border-box; }
  .modal:has(:is(#abNamn,#abBest,#lanMRader,[data-ab-ford])) .icon-btn { min-width:44px; }
  .modal:has(:is(#abNamn,#abBest,#lanMRader,[data-ab-ford])) :is(button,input,select,textarea,summary):focus-visible { outline:2px solid var(--brand); outline-offset:3px; }
  .modal:has(:is(#abNamn,#abBest,#lanMRader,[data-ab-ford])) :is(.field,.frow) { min-width:0; }
  .modal:has(:is(#abNamn,#abBest,#lanMRader,[data-ab-ford])) :is(input,select,textarea) { max-width:100%; }
  .modal:has(:is(#abNamn,#abBest,#lanMRader,[data-ab-ford])) :is(label,.help,.t-cat) { line-height:1.65; }

  @media (max-width:860px) {
    :is(.eco-workspace,.budget-workspace,.ab-workspace) .page-head { gap:12px; }
    :is(.eco-workspace,.budget-workspace,.ab-workspace) .page-head .toolbar { flex-wrap:wrap; gap:8px; }
    :is(.eco-workspace,.budget-workspace,.ab-workspace) :is(input,select,textarea) { font-size:16px; }
    :is(.eco-workspace,.budget-workspace,.ab-workspace) .eco-summary { gap:12px; }
    :is(.eco-workspace,.budget-workspace,.ab-workspace) .eco-summary > .card { padding:16px; }
    :is(.eco-workspace,.budget-workspace,.ab-workspace) :is(.eb-year-table,.ab-table)[data-stack] tr { padding:14px; }
    :is(.eco-workspace,.budget-workspace,.ab-workspace) :is(.eb-year-table,.ab-table)[data-stack] td { gap:10px; padding:10px 0; }
    .ab-workspace .ab-table[data-stack] td:has(select) { display:block; text-align:left; }
    .ab-workspace .ab-table[data-stack] td:has(select)::before { display:block; max-width:100%; margin-bottom:6px; }
    .ab-workspace .ab-table[data-stack] td select { min-width:0; width:100%!important; max-width:100%; font-size:16px; flex:none; }
    .ab-workspace .ab-table[data-stack] td:has(.ab-pick) { justify-content:flex-end; }
    .budget-workspace .kat-rad { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 12px; padding-block:12px; }
    .budget-workspace .kat-namn { grid-column:1/-1; }
    .budget-workspace .kat-bar { grid-column:1; min-width:0; width:100%; }
    .budget-workspace .kat-kr { grid-column:2; grid-row:2; }
    .budget-workspace .kat-pct { grid-column:2; font-size:12px; }
    .eco-workspace .fc-readout { flex-wrap:wrap; gap:8px; }
    .modal:has(:is(#abNamn,#abBest,#lanMRader,[data-ab-ford])) :is(input,select,textarea) { font-size:16px; }
  }
  @media (max-width:380px) {
    :is(.eco-workspace,.budget-workspace,.ab-workspace) .eco-period { width:100%; }
    :is(.eco-workspace,.budget-workspace,.ab-workspace) .eco-period .btn { flex:1 1 auto; }
    :is(.eco-workspace,.budget-workspace,.ab-workspace) :is(.eb-year-table,.ab-table)[data-stack] tr { padding-inline:12px; }
    .modal:has(:is(#abNamn,#abBest,#lanMRader,[data-ab-ford])) .modal-body { padding-inline:18px; }
  }
}
