/* Gudstjenester bruker Eventlabs Program-klosser (.lv- og .lvp-).
   Kun to kolonner: liste + nøkkelinfo og kjøreplan/bemanning samlet.
   Skrollgrensen eies av denne flaten, aldri orgskallet eller søskenfaner.
   Tittel og «Ny» står øverst i listekolonnen, ikke i en rad over begge:
   handlingene hører til listen, og pulten får hele høyden. */
.kgo-program { height:calc(100dvh - 78px); min-height:460px; color:var(--text); }
.kgo-program .lv-split-toolbar { padding:18px 14px 4px; gap:10px; border-bottom:0; box-shadow:none; background:var(--paper, var(--bg)); }
.kgo-program .lv-toppbar-tittel { margin:0; }
.kgo-handlinger { display:flex; flex-basis:100%; gap:8px; }
.kgo-program .kgo-venstre { flex-basis:28.8%; min-width:256px; max-width:396px; }
.kgo-program .lv-liste { padding:12px 16px; display:flex; flex-direction:column; gap:10px; overflow-y:auto; flex:1; min-height:0; scrollbar-gutter:stable; }
.kgo-program .lv-rad-boks { padding:0; width:100%; text-align:left; font:inherit; }
.kgo-program .lv-boks-strip { background:var(--primary); }
.kgo-program .lv-boks-tittel { white-space:normal; overflow-wrap:anywhere; line-height:1.4; }
.kgo-program .lv-boks-meta-item { white-space:normal; }
.kgo-program .lv-dag-divider { margin:10px 0 0; padding:4px 0; position:static; font:500 10px 'JetBrains Mono',monospace; letter-spacing:.08em; color:var(--text-muted); text-transform:uppercase; }
.kgo-fellesskap { font-size:10px; color:var(--text-muted); }
.kgo-sok { width:100%; min-width:0; }
.kgo-filteretikett { display:flex; flex-direction:column; gap:4px; font-size:11px; color:var(--text-muted); }
.kgo-filteretikett select { width:100%; }
.kgo-tid { display:flex; gap:5px; padding-top:3px; }
.kgo-chip { padding:7px 12px; font-family:inherit; font-size:12px; font-weight:600; line-height:1.3; border:1px solid var(--border); border-radius:999px; background:var(--surface); color:var(--text-muted); cursor:pointer; }
.kgo-chip:hover { background:var(--primary-pill); color:var(--text); }
.kgo-chip[aria-pressed=true] { background:var(--primary); color:var(--primary-on,white); border-color:var(--primary); }
.kgo-listefot { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 16px; border-top:1px solid var(--border); font-size:11px; color:var(--text-muted); }
.kgo-eldre { margin:0; padding:10px 16px; border-top:1px solid var(--border); font-size:11px; color:var(--text-muted); max-height:120px; overflow:auto; }
.kgo-eldre summary { cursor:pointer; }
.kgo-hoyre { flex:1; min-width:0; overflow:auto; padding:20px 24px; scrollbar-gutter:stable; container-type:inline-size; }
.kgo-program .kgo-detalj { max-width:none; width:100%; gap:16px; }
.kgo-program .lvp-tittel { font-size:30px; overflow-wrap:anywhere; }
.kgo-merke { --kat:var(--primary); }
.kgo-nokkelinfo { display:flex; flex-wrap:wrap; gap:12px 24px; padding:12px 16px; border:1px solid var(--border); border-radius:9px; background:var(--surface); }
.kgo-nokkelinfo > span { display:flex; flex-direction:column; gap:5px; font-size:13px; }
.kgo-nokkelinfo strong { font-size:10px; text-transform:uppercase; color:var(--text-muted); letter-spacing:.06em; }
.kgo-program .lvp-tabs { margin:0; flex-shrink:0; }
.kgo-program #kgo-panel { min-height:220px; }
.kgo-panelhode { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin:0 0 18px; }
.kgo-panelhode h2 { font-size:13px; margin:0; }
.kgo-panelhode > span { color:var(--text-muted); font-size:12px; }
/* Leseark med fullskjermeditorens kolonner. Ingen editor-klasser eller
   data-uh-id: globale redigeringslyttere skal aldri finne disse radene. */
.kgo-punkter { width:100%; border-spacing:0; table-layout:fixed; border:1px solid var(--border); border-radius:9px; overflow:hidden; background:var(--surface); }
.kgo-punkter th { padding:10px 12px; text-align:left; background:var(--bg); font-size:10px; font-weight:600; color:var(--text-muted); }
.kgo-punkter th:nth-child(1) { width:36px; }
.kgo-punkter th:nth-child(2) { width:66px; }
.kgo-punkter th:nth-child(3) { width:68px; }
.kgo-punkter th:nth-child(5) { width:23%; }
.kgo-punkt td { padding:16px 12px; vertical-align:top; border-top:1px solid var(--border); }
.kgo-punkt-nr { font:500 11px 'JetBrains Mono',monospace; color:var(--text-muted); }
.kgo-punkt .kgo-punkt-klokke { background:color-mix(in srgb,var(--primary) 6%,var(--surface)); }
.kgo-punkt time { font:600 13px 'JetBrains Mono',monospace; font-variant-numeric:tabular-nums; }
.kgo-punkt strong { font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
.kgo-punkt p { font-size:12px; line-height:1.5; color:var(--text-muted); white-space:pre-wrap; overflow-wrap:anywhere; margin:6px 0 0; }
.kgo-punkt-ansvarlig { font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.kgo-varighet { font:500 11px/1.7 'JetBrains Mono',monospace; color:var(--text-muted); white-space:nowrap; }
.kgo-program .lvp-topp { align-items:center; gap:12px; flex-wrap:wrap; }
.kgo-program .lvp-topp > a { flex-shrink:0; text-decoration:none; }
.kgo-program .lvp-meta { margin-bottom:0; }
@container (max-width:600px) {
 .kgo-program .lvp-topp-tekst { flex-basis:100%; }
 .kgo-punkter, .kgo-punkter tbody { display:block; }
 .kgo-punkter thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 .kgo-punkt { display:grid; grid-template-columns:32px 64px minmax(0,1fr) auto; padding:14px 12px; gap:6px 10px; border-top:1px solid var(--border); }
 .kgo-punkt:first-child { border-top:0; }
 .kgo-punkt td { padding:0; border:0; }
 .kgo-punkt .kgo-punkt-klokke { background:none; }
 .kgo-punkt-nr { grid-column:1; grid-row:1; align-self:center; }
 .kgo-punkt-klokke { grid-column:2; grid-row:1; }
 .kgo-varighet { grid-column:4; grid-row:1; }
 .kgo-punkt-innhold { grid-column:2 / -1; grid-row:2; }
 .kgo-punkt-ansvarlig { grid-column:2 / -1; grid-row:3; color:var(--text-muted); }
}
.kgo-tjenester { display:grid; gap:12px; }
.kgo-tjeneste { border:1px solid var(--border); border-radius:12px; padding:16px; background:var(--surface); }
.kgo-tjeneste header { display:flex; justify-content:space-between; gap:12px; align-items:start; }
.kgo-tjeneste h3 { font-size:14px; margin:0; }
.kgo-tjeneste header > span { font-size:11px; white-space:nowrap; color:var(--text-muted); }
.kgo-tjeneste p { margin:5px 0 10px; color:var(--text-muted); font-size:12px; }
.kgo-tildeling { display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-top:1px solid var(--border); font-size:13px; }
.kgo-tildeling > span:last-child { font-size:11px; color:var(--text-muted); }
.kgo-laster { padding:32px 20px; color:var(--text-muted); font-size:13px; min-height:160px; }
.kgo-varsel { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:12px 18px; background:var(--surface); border-bottom:1px solid var(--border); font-size:12px; }
.kgo-detaljfeil { padding:24px 0; color:var(--text-muted); }
.kgo-logginn { color:var(--primary-dark-adaptiv); }
.kgo-program .kgo-tilbake { display:none; }
.kgo-program button:focus-visible, .kgo-program a:focus-visible { outline:2px solid var(--primary); outline-offset:3px; }
@media(max-width:1000px) {
 .kgo-hoyre { padding:20px; }
 .kgo-program .lvp-tittel { font-size:27px; }
 .kgo-program .lvp-topp .btn { font-size:11px; }
}
@media(max-width:760px) {
 .kgo-program { height:calc(100dvh - 118px); min-height:420px; }
 .kgo-program .lv-split-toolbar { padding:12px 12px 4px; gap:8px; }
 .kgo-program .lv-tab-count { display:none; }
 .kgo-handlinger { flex-basis:auto; margin-left:auto; }
 .kgo-handlinger .btn { padding:8px 10px; font-size:11px; }
 .kgo-program .kgo-venstre { flex-basis:100%; max-width:none; min-width:0; border-right:0; }
 .kgo-hoyre { display:none; padding:16px; }
 .kgo-vis-detalj .kgo-venstre { display:none; }
 .kgo-vis-detalj .kgo-hoyre { display:block; }
 .kgo-program .kgo-tilbake { display:inline-flex; align-self:start; }
 .kgo-nokkelinfo { gap:16px; }
}
@media(prefers-reduced-motion:reduce) {
 .kgo-program *, .kgo-program *::before { animation:none!important; transition:none!important; }
 .kgo-program .lv-rad-boks:hover, .kgo-program .lv-rad-boks.aktiv { transform:none; }
}

body:has(.kgo-program) #org-tab-hjelp { display:none; }
#org-tab-content:has(> .kgo-program) { padding:0; max-width:none; }
.kgo-program a.lvp-btn { text-decoration:none; }

/* Én gudstjeneste: samme team, personkort og ledige plasser som Turnus. */
.kgo-bemanning { display:grid; gap:18px; }
.kgo-bemanningsteam { border:1px solid var(--border); border-radius:var(--radius,12px); overflow:hidden; background:var(--surface); }
.kgo-teamhode { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; padding:12px 16px; background:var(--primary-pill); color:var(--primary-dark-adaptiv); }
.kgo-teamhode h3 { margin:0; font-size:14px; font-weight:700; }
.kgo-teamhode > span { font-size:11px; }
.kgo-bemanningsrad { display:grid; grid-template-columns:minmax(110px,1fr) minmax(180px,2fr); gap:16px; align-items:center; padding:14px 16px; border-top:1px solid var(--border); }
.kgo-rollenavn h4 { margin:0 0 5px; font-size:13px; }
.kgo-rollenavn small { color:var(--text-muted); font-size:11px; line-height:1.5; }
.kgo-plasser { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:8px; min-width:0; }
.kgo-personkort { display:flex; align-items:center; gap:10px; padding:10px 12px; border:1px solid var(--border); border-radius:var(--radius-sm,6px); background:var(--surface); color:var(--text); text-align:left; font:inherit; min-width:0; }
button.kgo-personkort { cursor:pointer; }
button.kgo-personkort:hover { border-color:var(--primary); background:var(--primary-pill); }
.kgo-avatar { display:grid; place-items:center; flex:0 0 32px; height:32px; border-radius:50%; background:var(--primary-pill); color:var(--primary-dark-adaptiv); font-size:11px; font-weight:700; }
.kgo-persontekst { display:grid; gap:4px; min-width:0; }
.kgo-persontekst strong { font-size:12px; overflow-wrap:anywhere; }
.kgo-persontekst .kirke-status { font-size:10px; }
.kgo-plasser .kgo-ledigplass { display:flex; align-items:center; gap:10px; margin:0; min-height:56px; }
.kgo-ledigplass > span:first-child { font-size:20px; }
.kgo-personkort:focus-visible,.kgo-ledigplass:focus-visible { outline:2px solid var(--primary); outline-offset:3px; }
[data-kgo="rediger-bemanning"][aria-busy="true"] { cursor:progress; opacity:.7; }
@media(max-width:600px) {
 .kgo-bemanningsrad { grid-template-columns:1fr; gap:10px; padding:12px; }
 .kgo-teamhode { padding:12px; }
 .kgo-plasser { grid-template-columns:1fr; }
}

.kgo-handlingslinje { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.kgo-statuslinje { gap:8px; padding:8px; }
.kgo-statuslinje > button,.kgo-statuslinje > div { display:flex; flex:1 1 115px; flex-direction:column; gap:6px; padding:10px; border:0; border-radius:var(--radius-sm,6px); background:transparent; color:var(--text); font:inherit; font-size:12px; text-align:left; }
.kgo-statuslinje > button { cursor:pointer; }
.kgo-statuslinje > button:hover { background:var(--primary-pill); }
.kgo-statuslinje > button:focus-visible { outline:2px solid var(--primary); outline-offset:2px; }

/* Egen inngang til den delte editoren. Eventskallet ligger aldri synlig bak. */
body.kirke-planarbeid #event-dashboard-screen,
body.kirke-planarbeid .header-panel,
body.kirke-planarbeid .timeline-wrapper,
body.kirke-planarbeid #mobil-screen { display:none !important; }
body.kirke-planarbeid .fkpx-overlay { background:var(--bg); }
body.kirke-planarbeid .fkpx-card { margin:12px; box-shadow:none; border:1px solid var(--border); }
.kirke-editorretur { display:flex; flex-shrink:0; align-items:center; justify-content:space-between; gap:12px; padding:10px 22px; background:var(--surface); border-bottom:1px solid var(--border); }
.kirke-editorretur > span { color:var(--text-muted); font-size:13px; overflow-wrap:anywhere; }
.kirke-editorretur .btn { min-height:40px; }
#kirke-editorstatus { position:fixed; inset:0; z-index:4400; display:flex; flex-wrap:wrap; align-content:center; justify-content:center; gap:12px; padding:24px; background:var(--bg); color:var(--text); }
#kirke-editorstatus p { flex-basis:100%; text-align:center; }
@media(max-width:800px) {
 body.kirke-planarbeid .fkpx-card { margin:0; border:0; border-radius:0; }
 body.kirke-planarbeid .fkpx-topp-actions { flex-wrap:wrap; flex-shrink:1; }
 body.kirke-planarbeid .fkpx-topp { padding:12px; }
 .kirke-editorretur { padding:8px 12px; flex-wrap:wrap; gap:4px 12px; }
}

/* Kommandopulten (25.09.2026): Eventlabs .evo-hero / .evo-stat fra
   css/stil-dashboard.css, gjenbrukt — ikke kopiert. Her står bare det som er
   annerledes i en smal detaljkolonne. Stolpefargene er pultens egen palett
   (samme lyse toner som .evo-chip på mørk flate), fordi statustokenene er
   tekstfarger for LYS grunn og forsvinner på pulten. */
.kgo-pult .evo-hero-navn { font-size:clamp(36px, 4.2vw, 56px); }
.kgo-pult .evo-nedtelling { min-width:170px; }
.kgo-pult .evo-tall { font-size:clamp(48px, 5.4vw, 80px); }
.kgo-pult .evo-frem i { background:#5EEAA0; }
.kgo-pult .kgo-frem--obs i { background:#FFC46B; }
.kgo-pult .kgo-frem--feil i { background:#FF9A85; }
.kgo-pult a.evo-btn { text-decoration:none; }
.kgo-pult .evo-btn:disabled { opacity:.45; cursor:not-allowed; transform:none; }
.kgo-statuslinje { gap:12px; padding:0; border:0; background:none; }
.kgo-statuslinje > .evo-stat { grid-column:span 3; padding:14px 16px; }
.kgo-stat .evo-stat-tall { font-size:clamp(30px, 3vw, 40px); }
.kgo-stat--obs .evo-stat-tall { color:var(--st-obs-tekst-adaptiv, var(--st-obs-tekst)); }
.kgo-stat--ok .evo-stat-tall { color:var(--st-ok-tekst-adaptiv, var(--st-ok-tekst)); }
.kgo-stat--tekst .evo-stat-tall { font-size:clamp(22px, 2.2vw, 28px); line-height:1.1; padding-top:6px; padding-right:18px; overflow-wrap:anywhere; }
@container (max-width:600px) { .kgo-statuslinje > .evo-stat { grid-column:span 6; } }
.kgo-panelhandlinger { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
/* Dekning på listekortet: samme terskler som pulten (dekningsgrad()). */
.kgo-dekningsbar { display:block; height:3px; margin-top:9px; border-radius:2px; background:var(--bg2); overflow:hidden; }
.kgo-dekningsbar i { display:block; height:100%; width:var(--w, 0%); border-radius:2px; background:rgb(var(--st-ok-tint)); animation:evoFyll .8s cubic-bezier(.2,.7,.3,1) both .15s; }
.kgo-dekningsbar--obs i { background:rgb(var(--st-obs-tint)); }
.kgo-dekningsbar--feil i { background:rgb(var(--st-feil-tint)); }
@media (prefers-reduced-motion: reduce) { .kgo-dekningsbar i, .kgo-pult .evo-frem i { animation:none; } }
/* Pulten bærer allerede navn og dato — gjennomføringens eget hode ble den
   fjerde tittelen på samme skjerm. Fanen er uendret når den åpnes alene. */
.kgo-detalj .kgj-topp { display:none; }

/* Samlinger: gudstjenester og aktiviteter i samme velger (spec 2026-09-25-samlinger). */
.kgo-type { padding-top:0; }
.kgo-typemerke { font-size:10px; font-weight:600; line-height:1.6; letter-spacing:.04em; text-transform:uppercase; padding:0 6px; border-radius:5px; background:var(--primary-pill); color:var(--primary-dark-adaptiv, var(--primary-dark)); }
.kgo-meny { position:relative; }
.kgo-meny-panel { position:absolute; z-index:30; top:calc(100% + 6px); left:0; min-width:210px; display:flex; flex-direction:column; padding:6px; background:var(--surface); border:1px solid var(--border); border-radius:10px; box-shadow:0 1px 2px rgba(74,48,26,.05), 0 12px 28px -14px rgba(74,48,26,.22); }
.kgo-meny-panel button { min-height:40px; padding:8px 10px; border:0; border-radius:7px; background:none; color:var(--text); font:inherit; font-size:13px; text-align:left; cursor:pointer; }
.kgo-meny-panel button:hover, .kgo-meny-panel button:focus-visible { background:var(--primary-pill); }
.kgo-meny-panel[hidden] { display:none; }
.kgo-meny button:focus-visible { outline:2px solid var(--primary); outline-offset:2px; }
.kgo-aktivitetslenke { display:flex; align-items:center; gap:10px; margin:0; font-size:12px; color:var(--text-muted); }
/* Velgeren har sin egen «+ Ny» og «⋯»; flatas verktøylinje ville vært dobbel. */
.kgo-hoyre .kakt-verktoy { display:none; }
.kgo-aktivitetsdetalj .kakt { margin-bottom:0; }
