/* Tæt arbejdsvisning med vandret rulning inden i tabellen, aldrig på hele siden. */
.ui-ikon { display: inline-block; vertical-align: -.15em; flex: 0 0 auto; }
.arbejdsnav a { display: flex; align-items: center; gap: 9px; font-size: 13px; padding: 8px 10px; }
.arbejdsnav { gap: 2px; padding: 18px 10px; }
.workspace-menu { border-top: 1px solid var(--linje); margin: 14px 0; padding-top: 8px; }
.workspace-menu h2 { font-size: 11px; color: var(--tekst-svag); margin: 12px 10px 6px; text-transform: uppercase; letter-spacing: .06em; }
.workspace-menu summary { display: flex; align-items: center; gap: 6px; font-size: 12px; }
.workspace-menu details a { margin-left: 13px; font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-menu details summary { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.opgaveflade { min-width: 0; }
.opgave-hoved { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; }
.opgave-hoved h1 { display: flex; align-items: center; gap: 8px; font-size: 19px; margin: 0; }
.opgave-dashboard, .opgave-vaerktoej button, .opgave-vaerktoej select, .opgave-filtre select, .opgave-kolonnevalg summary { color: var(--tekst); background: var(--flade-2); border: 1px solid var(--linje); border-radius: 5px; padding: 5px 8px; font-size: 12px; text-decoration: none; cursor: pointer; }
.opgave-dashboard { display: inline-flex; align-items: center; gap: 6px; }
.opgave-faner { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; border-bottom: 1px solid var(--linje); margin-bottom: 12px; }
.opgave-faner a, .opgave-faner button { color: var(--tekst-svag); background: none; border: 0; padding: 8px 0 12px; font-size: 12px; text-decoration: none; cursor: pointer; }
.opgave-faner .aktiv { color: var(--tekst); font-weight: 650; border-bottom: 2px solid var(--accent); }
.opgave-faner a { display: inline-flex; align-items: center; gap: 5px; }
.opgave-vaerktoej, .opgave-filtre { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin: 9px 0; font-size: 12px; }
.opgave-filtre { margin-bottom: 14px; gap: 14px; }
.opgave-filtre label { display: inline-flex; align-items: center; gap: 5px; }
.gruppe-maerke { background: var(--accent-bg); color: var(--accent); display: flex; gap: 6px; align-items: center; padding: 6px 8px; border-radius: 5px; font-size: 11px; font-weight: 600; }
.opgave-visninger { display: flex; gap: 2px; }
.opgave-visninger button { display: flex; align-items: center; gap: 5px; background: transparent; border-color: transparent; }
.opgave-visninger button.aktiv { background: var(--flade-2); border-color: var(--linje); }
.opgave-soeg { width: 180px; margin-left: auto; border: 1px solid var(--linje); border-radius: 5px; padding: 5px 8px; background: var(--flade); color: var(--tekst); font-size: 12px; }
.opgave-kolonnevalg { position: relative; }
.opgave-kolonnevalg > div { position: absolute; top: 34px; left: 0; z-index: 12; background: var(--flade); border: 1px solid var(--linje); border-radius: 6px; padding: 10px; min-width: 200px; box-shadow: var(--skygge-kort); }
.opgave-kolonnevalg label { display: flex; gap: 8px; padding: 5px; }
.opgave-tabelrul { overflow: auto; max-height: calc(100vh - 270px); min-height: 300px; border: 1px solid var(--linje); border-radius: 6px; background: var(--flade); }
.opgave-tabel { border-collapse: separate; border-spacing: 0; width: max-content; min-width: 100%; font-size: 12px; text-align: left; }
.opgave-tabel th { position: sticky; top: 0; z-index: 4; background: var(--flade); padding: 9px 8px; font-size: 9px; text-transform: uppercase; letter-spacing: .04em; color: var(--tekst-svag); font-weight: 600; }
.opgave-tabel td { min-width: 120px; width: 130px; max-width: 210px; height: 34px; padding: 0 8px; border-bottom: 1px solid var(--linje); }
.opgave-tabel td:first-child, .opgave-tabel th:first-child { position: sticky; left: 0; min-width: 350px; max-width: 450px; width: 410px; z-index: 2; background: var(--flade); border-right: 1px solid var(--linje); }
.opgave-tabel th:first-child { z-index: 5; }
.opgave-tabel td.opgave-navn { white-space: nowrap; }
.opgave-navn > .opgave-celle { display: inline-flex; max-width: 335px; }
.opgave-celle { border: 1px solid transparent; border-radius: 4px; padding: 5px 3px; min-height: 29px; text-align: left; max-width: 100%; width: 100%; background: none; color: inherit; font: inherit; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.opgave-celle:hover:not(:disabled) { background: var(--accent-bg); border-color: var(--linje); }
.opgave-celle { display: flex; align-items: center; gap: 5px; }
.celle-vaerdi { overflow: hidden; text-overflow: ellipsis; flex: 1; min-width: 0; }
.opgave-celle > .ui-ikon { color: var(--tekst-svag); }
.celle-blyant { display: inline-flex; flex-shrink: 0; color: var(--accent); opacity: 0; }
.opgave-celle:hover:not(:disabled) .celle-blyant, .opgave-celle:focus-visible .celle-blyant { opacity: 1; }
.opgave-faner button { display: inline-flex; align-items: center; gap: 5px; }
.app-opdatering { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; margin-bottom: 16px; border: 1px solid var(--accent); border-radius: 6px; background: var(--accent-bg); font-size: 13px; }
.app-opdatering button { display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; background: var(--accent); color: var(--accent-tekst); border: 0; border-radius: 5px; padding: 8px 10px; cursor: pointer; }
.opgave-aabn, .gruppe-fold, .gruppe-navn { background: none; border: 0; color: inherit; font: inherit; cursor: pointer; padding: 4px; }
.opgave-aabn { color: var(--tekst-svag); }
.opgave-titelhandlinger { display: flex; align-items: center; min-width: 0; flex: 1; }
.opgave-titelhandlinger .opgave-titellink { flex: 1; min-width: 0; text-align: left; }
.opgave-titellink:hover .celle-vaerdi { text-decoration: underline; }
.opgave-rediger-navn { flex: 0 0 auto; display: grid; place-items: center; min-width: 32px; min-height: 32px; background: none; border: 0; color: var(--tekst-svag); cursor: pointer; }
.opgave-rediger-navn:hover, .opgave-rediger-navn:focus-visible { color: var(--accent); background: var(--accent-bg); }
.celle-rediger .hjaelp { width: 100%; margin: 2px 0; }
.opgave-tabel .opgave-gruppe td { background: var(--flade-2); height: 36px; font-weight: 600; }
.opgave-gruppe .opgave-navn { padding-left: calc(8px + var(--niveau) * 16px); }
.opgave-gruppe small { color: var(--tekst-svag); margin-left: 8px; font-size: 10px; font-weight: 400; }
.gruppe-navn { max-width: 220px; overflow: hidden; text-overflow: ellipsis; vertical-align: middle; }
.opgave-tabel .opgave-undergruppe td { font-size: 11px; color: var(--tekst-svag); padding-left: 52px; background: var(--flade-2); height: 28px; }
.opgave-tabel .opgave-sum td { font-size: 10px; height: 26px; color: var(--tekst-svag); }
.opgave-tilfoej button { border: 0; padding: 5px 8px; font-size: 11px; color: var(--tekst-svag); background: none; cursor: pointer; }
.opgave-tilfoej button:hover { color: var(--accent); }
.opgave-faerdig .opgave-navn { text-decoration: line-through; color: var(--tekst-svag); }
.opgave-blokeret { color: var(--advar); font-size: 11px; }
.celle-rediger { display: flex; gap: 3px; flex-wrap: wrap; padding: 3px 0; }
.celle-rediger input, .celle-rediger select { min-width: 70px; width: 80px; flex: 1; border: 1px solid var(--accent); border-radius: 4px; background: var(--flade); color: var(--tekst); padding: 4px; font: inherit; }
.celle-rediger button { padding: 3px 5px; background: var(--flade-2); color: var(--tekst); border: 1px solid var(--linje); border-radius: 4px; cursor: pointer; }
.celle-fejl { color: var(--fejl); white-space: normal; width: 100%; font-size: 12px; }
.opgave-kanban { display: grid; grid-template-columns: repeat(4, minmax(240px, 1fr)); gap: 14px; overflow: auto; align-items: start; }
.opgave-kanban > section { min-height: 320px; background: var(--flade-2); border: 1px solid var(--linje); border-radius: 8px; padding: 12px; }
.opgave-kanban h2 { font-size: 13px; display: flex; justify-content: space-between; margin-bottom: 14px; }
.opgave-kanban section > div { margin-bottom: 12px; }
.opgave-kanban select, .opgave-kanban section > button { font-size: 11px; margin-top: 5px; background: var(--flade); color: var(--tekst); border: 1px solid var(--linje); border-radius: 4px; padding: 5px; }
.opgave-kanban section > button { width: 100%; }
.opgave-metadata { width: 100%; }
.opgave-metadata h3 { margin: 8px 0; font-size: 13px; }
.opgave-metadata > .opgave-celle { color: var(--accent); white-space: normal; }
.opgave-metadata select { max-width: 100%; }
.metadata-gitter { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 12px 0; }
.metadata-gitter label { display: block; font-size: 12px; color: var(--tekst-svag); margin-bottom: 4px; }
.metadata-gitter .felt { min-width: 0; }
.metadata-gitter input, .metadata-gitter select { width: 100%; }
.afhaengighed-linje { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: 12px; margin-bottom: 6px; }
.afhaengighed-linje button { background: none; border: 0; color: var(--tekst-svag); cursor: pointer; }
.gruppe-dialog { width: min(590px, calc(100vw - 24px)); max-height: 90vh; overflow: auto; padding: 24px; border-radius: 12px; border: 1px solid var(--linje); background: var(--flade); color: var(--tekst); }
.gruppe-dialog::backdrop { background: rgba(0,0,0,.4); }
.gruppe-dialog h2 { font-size: 18px; margin-bottom: 20px; }
.gruppe-dialog fieldset, .kort-felter > fieldset { border: 0; padding: 0; margin: 0; min-width: 0; grid-column: 1 / -1; }
.gruppe-handlinger { display: flex; justify-content: flex-end; gap: 8px; margin-top: 18px; }
.gruppe-handlinger button { border: 1px solid var(--linje); border-radius: 6px; padding: 8px 16px; background: var(--flade-2); color: var(--tekst); cursor: pointer; }
.gruppe-handlinger button[type=submit] { background: var(--accent); color: var(--accent-tekst); }
.gantt-rul { overflow: auto; max-height: 65vh; border: 1px solid var(--linje); border-radius: 6px; background: var(--flade); }
.gantt-datoer { display: flex; position: sticky; top: 0; z-index: 6; background: var(--flade); height: 36px; border-bottom: 1px solid var(--linje); }
.gantt-datoer span { flex: 0 0 36px; text-align: center; padding: 9px 0; font-size: 11px; color: var(--tekst-svag); }
.gantt-datoer span:first-child { flex-basis: 300px; text-align: left; padding-left: 12px; position: sticky; left: 0; background: var(--flade); }
.gantt-krop { position: relative; background: repeating-linear-gradient(to right, transparent 0, transparent 35px, var(--linje) 35px, var(--linje) 36px); background-position: 300px 0; }
.gantt-raekke { position: absolute; left: 0; right: 0; height: 44px; border-bottom: 1px solid var(--linje); display: flex; }
.gantt-navn { position: sticky; left: 0; z-index: 4; width: 300px; flex-shrink: 0; text-align: left; border: 0; border-right: 1px solid var(--linje); background: var(--flade); color: var(--tekst); padding: 5px 12px; cursor: pointer; }
.gantt-navn strong, .gantt-navn small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.gantt-navn small { font-size: 9px; color: var(--tekst-svag); padding-top: 3px; }
.gantt-bjaelke { position: absolute; top: 9px; height: 26px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; background: var(--accent-bg); color: var(--accent); border: 1px solid var(--accent); border-radius: 4px; text-align: left; padding: 3px 6px; font-size: 10px; cursor: pointer; z-index: 2; }
.gantt-bjaelke.er-blokeret { border-color: var(--advar); background: var(--advar-bg); color: var(--advar); }
.gantt-forbindelser { position: absolute; top: 0; left: 300px; pointer-events: none; color: var(--accent); z-index: 3; }
.gantt-konflikt { color: var(--advar); stroke-dasharray: 3 2; }
.gantt-uden-dato { margin: 14px; color: var(--tekst-svag); font-size: 11px; }
.dashboard-start { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 12px 0 20px; }
.dashboard-start button { display: grid; gap: 8px; text-align: center; justify-items: center; padding: 18px 12px; border-radius: 7px; border: 1px solid var(--linje); background: var(--flade-2); color: var(--tekst); cursor: pointer; }
.dashboard-start button.aktiv { border-color: var(--accent); background: var(--accent-bg); }
.dashboard-start small { color: var(--tekst-svag); font-size: 11px; }
@media (max-width: 720px) {
  .workspace-menu { display: none; }
  .arbejdsnav > a { flex-direction: column; gap: 3px; font-size: 10px; padding: 6px; }
  .opgave-hoved { align-items: flex-start; }
  .opgave-hoved h1 { font-size: 17px; }
  .opgave-dashboard { font-size: 10px; }
  .opgave-faner { gap: 12px; }
  .opgave-soeg { margin-left: 0; width: 100%; }
  .opgave-tabelrul { max-height: 65vh; }
  .opgave-tabel td:first-child, .opgave-tabel th:first-child { min-width: 210px; width: 210px; max-width: 230px; }
  .opgave-navn > .opgave-celle { max-width: 170px; }
  .opgave-gruppe small { display: none; }
  .gruppe-navn { max-width: 135px; }
  .metadata-gitter { grid-template-columns: 1fr; }
}
