/* Lykta · dokumentens arbetsyta. Ärver appens färg- och tillståndstokens.
   Arbetsljuset styrs fortsatt av verkligt tillstånd i den befintliga generatorn. */
@media screen {
  .lk-workspace { min-width:0; }
  .lk-workspace .page-head { margin-bottom:24px; }
  .lk-workspace .page-head h1 { margin-bottom:8px; }
  .lk-workspace .page-head .sub { max-width:82ch; line-height:1.65; }
  .lk-workspace .lk-context { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 12px; margin-bottom:8px; color:var(--ink); font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
  .lk-workspace .lk-context > * { min-width:0; }
  .lk-workspace .lk-context-label { color:var(--muted); font-size:12px; font-weight:400; }
  .lk-workspace .lk-context > span:not(.lk-context-label) { color:var(--muted); font-size:13px; }
  .lk-workspace .lk-ai-upplysning { color:var(--muted); }
  .lk-workspace .lk-in {
    display:grid; grid-template-columns:80px minmax(0,1fr); gap:24px; align-items:center;
    padding:24px; border:1px dashed var(--brand-kant,var(--line)); border-radius:var(--radius);
    background:var(--card); box-shadow:var(--shadow);
  }
  .lk-workspace .lk-in > div { min-width:0; }
  .lk-workspace .lk-in .lykta-lamp { width:80px; height:80px; }
  .lk-workspace .lk-in h2 { margin:0 0 8px; font-size:23px; line-height:1.3; font-weight:550; letter-spacing:-.025em; }
  .lk-workspace .lk-in p { max-width:76ch; margin:0 0 16px; color:var(--ink-2); font-size:14px; line-height:1.65; }
  .lk-workspace .lk-in.dropping { border-color:var(--brand); background:var(--brand-soft); }
  .lk-workspace .lk-upload { display:inline-flex; align-items:center; gap:8px; min-height:44px; }
  .lk-workspace .lk-types { margin-top:16px; padding-top:8px; border-top:1px solid var(--line); }
  .lk-workspace .lk-types > summary { width:fit-content; max-width:100%; min-height:44px; box-sizing:border-box; padding:12px 0; color:var(--ink-2); font-size:13px; line-height:1.5; cursor:pointer; }
  .lk-workspace .lk-types .lk-typer { margin:4px 0 8px; gap:8px; }
  .lk-workspace .lk-types .lk-typer span { padding:5px 10px; background:var(--soft); color:var(--ink-2); font-size:12px; line-height:1.5; }
  .lk-workspace .lk-exrad { margin-top:12px; gap:8px; font-size:13px; line-height:1.6; }
  .lk-workspace .lk-exrad .btn { white-space:normal; text-align:left; }
  .lk-workspace .lk-process { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:20px 0; padding:0; color:var(--muted); font-size:13px; line-height:1.6; counter-reset:lk-step; }
  .lk-workspace .lk-process > :is(li,div) { display:flex; align-items:center; gap:8px; min-width:0; margin:0; padding:0; list-style:none; counter-increment:lk-step; }
  .lk-workspace .lk-process > li::before { content:counter(lk-step); display:inline-grid; place-items:center; flex:0 0 24px; height:24px; border:1px solid var(--line); border-radius:50%; color:var(--muted); background:var(--card); font-size:12px; font-variant-numeric:tabular-nums; }
  .lk-workspace .lk-process :is(b,strong) { display:block; color:var(--ink-2); font-weight:550; }
  .lk-workspace .lk-work-head { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:8px 16px; margin-top:24px; }
  .lk-workspace .lk-work-head h2 { margin:0; font-size:21px; font-weight:550; line-height:1.35; }
  .lk-workspace .lk-work-count { color:var(--muted); font-size:13px; line-height:1.5; font-variant-numeric:tabular-nums; }
  .lk-workspace #lkLista { display:flex; flex-direction:column; gap:16px; margin-top:20px; }
  .lk-workspace #lkLista:empty { margin-top:0; }
  .lk-workspace .lk-work-area[hidden] { display:none!important; }
  .lk-workspace .lk-register-panel { margin-top:24px; border:1px solid var(--line); border-radius:var(--radius); background:var(--card); }
  .lk-workspace .lk-register-panel > summary { min-height:56px; box-sizing:border-box; padding:16px 20px; color:var(--ink-2); font-size:14px; font-weight:550; line-height:1.6; cursor:pointer; }
  .lk-workspace .lk-register-panel > #lkRegister { min-width:0; padding:0 20px 20px; }
  .lk-workspace .lk-register-panel .lk-reg { margin-top:0; box-shadow:none; }
  .lk-workspace .lk-help { max-width:92ch; margin-top:20px; font-size:12px; line-height:1.7; color:var(--muted); }
  .lk-workspace .lk-readonly { padding:24px; line-height:1.65; }
  .lk-workspace .lk-readonly h2 { margin:0 0 8px; font-size:21px; }
  .lk-workspace .lk-readonly p { max-width:72ch; margin:0 0 16px; }

  /* Samma dokumentkort i vyn och dokumentdialogen. */
  :is(.lk-workspace,.modal:has(.lk-in-modal)) :is(.btn,.lk-lank,select,input:not([type=checkbox]):not([type=radio])) { min-height:44px; }
  :is(.lk-workspace,.modal:has(.lk-in-modal)) :is(button,select,input,summary):focus-visible { outline:2px solid var(--brand); outline-offset:3px; border-radius:8px; }
  :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-kort { padding:20px; border-radius:var(--radius); background:var(--card); }
  :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-kort-klar { border-color:var(--brand-kant,var(--line)); background:var(--card); }
  :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-fil { gap:12px; padding-bottom:12px; margin-bottom:16px; }
  :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-filnamn b { overflow:visible; text-overflow:clip; white-space:normal; overflow-wrap:anywhere; line-height:1.5; }
  :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-bubbla { padding:12px 16px; border-radius:var(--radius-sm); background:var(--soft); font-size:14px; line-height:1.7; }
  :is(.lk-workspace,.modal:has(.lk-in-modal)) :is(.lk-sam,.lk-fraga) { font-size:14px; line-height:1.65; }
  :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-fraga { gap:12px; }
  :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-knappar { gap:8px; align-items:center; }
  :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-knappar .btn { white-space:normal; text-align:left; max-width:100%; }
  :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-annat { padding:16px; gap:12px; }
  :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-annat-txt { min-width:0; flex:1 1 200px; line-height:1.6; }
  :is(.lk-workspace,.modal:has(.lk-in-modal)) :is(.lk-noter,.lk-undrar,.lk-sparfel,.lk-exempel,.t-cat) { line-height:1.65; }
  :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-forslag { padding:12px; gap:12px; cursor:default; }
  :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-forslag-in { min-height:44px; width:100%; gap:10px; }
  :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-forslag-in > span { min-width:0; overflow-wrap:anywhere; }
  :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-forslag input[type=checkbox] { width:18px; height:18px; min-height:18px; margin-top:3px; flex-shrink:0; accent-color:var(--fyll); }
  :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-ctl { min-width:0; width:100%; box-sizing:border-box; padding-left:28px; }
  :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-amount-error { flex-basis:100%; color:var(--warn-ink); font-size:13px; line-height:1.6; }
  :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-amount-error[hidden] { display:none!important; }
  :is(.lk-workspace,.modal:has(.lk-in-modal)) :is(.lk-mapp,.lk-valj,.lk-belopp,.lk-moms select) { max-width:100%; box-sizing:border-box; background:var(--field); color:var(--ink); border:1px solid var(--line); border-radius:8px; padding:10px 12px; font-size:14px; }
  :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-ctl .lk-belopp { flex:0 0 110px; min-width:110px; width:110px; padding:10px 12px; }
  :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-lank { display:inline-flex; align-items:center; padding:8px 0; line-height:1.5; text-align:left; }
  :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-mer summary { min-height:44px; box-sizing:border-box; padding:12px 0; line-height:1.5; }
  :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-finns { opacity:1; color:var(--muted); }
  .lk-in-modal { min-width:0; }

  @media (max-width:760px) {
    .lk-workspace .lk-in { grid-template-columns:56px minmax(0,1fr); gap:16px; padding:20px; }
    .lk-workspace .lk-in .lykta-lamp { width:56px; height:56px; }
    .lk-workspace .lk-in h2 { font-size:21px; }
    .lk-workspace .lk-process { gap:12px; font-size:12px; }
    .lk-workspace .lk-register-panel > summary { padding-inline:16px; }
    .lk-workspace .lk-register-panel > #lkRegister { padding:0 16px 16px; }
    :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-kort { padding:16px; }
    :is(.lk-workspace,.modal:has(.lk-in-modal)) :is(.lk-rad,.lk-reg-top) { display:block; }
    :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-av { width:28px; height:28px; margin-bottom:8px; }
    :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-av svg { width:28px!important; height:28px!important; }
    :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-knappar .btn { flex:1 1 180px; }
    :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-samtal { min-width:0; }
    :is(.lk-workspace,.modal:has(.lk-in-modal)) :is(.lk-mapp,.lk-valj,.lk-belopp,.lk-moms select) { font-size:16px; }
    :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-annan { width:100%; }
    :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-mapp { flex:1 1 160px; min-width:0; }
    :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-ctl { padding-left:0; }
    :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-moms { display:grid; grid-template-columns:minmax(0,1fr); }
    :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-moms select { width:100%; }
  }
  @media (max-width:480px) {
    .lk-workspace .lk-in { grid-template-columns:minmax(0,1fr); gap:12px; padding:20px 16px; }
    .lk-workspace .lk-in .lykta-lamp { width:48px; height:48px; }
    .lk-workspace .lk-upload { width:100%; justify-content:center; }
    .lk-workspace .lk-process { grid-template-columns:minmax(0,1fr); gap:8px; }
    .lk-workspace .lk-process :is(b,strong) { display:inline; margin-right:4px; }
    .lk-workspace .lk-exrad .btn { width:100%; justify-content:flex-start; }
    .lk-workspace .lk-register-panel .lk-reg { padding:12px; }
    :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-bubbla { padding:12px; }
    :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-fil { align-items:flex-start; }
    :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-filikon { width:28px; height:28px; }
    :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-forslag { padding:10px; }
    :is(.lk-workspace,.modal:has(.lk-in-modal)) .lk-grupp-rad { align-items:center; }
    .lk-in-modal { grid-template-columns:minmax(0,1fr); padding:16px; }
  }
  @media (prefers-reduced-motion:reduce) {
    .lk-workspace .lk-in { transition:none; }
    :is(.lk-workspace,.modal:has(.lk-in-modal)) :is(.lk-kort,.lk-samtal,.lk-fraga) { animation:none; }
  }
}
