/* Org-kartets hierarki og lokasjonenes arbeidsflate, med husets primitiver.
   Geometri for knapper/felt/kort kommer fra stil-tema.css. */
.kof-flate { display:flex; flex-direction:column; min-width:0; color:var(--text); background:var(--bg); }
body > .kof-flate { position:fixed; inset:0; z-index:10030; overflow:auto; }
#org-tab-content > .kirke-orgflate-innebygd { position:relative; inset:auto; z-index:auto; width:100%; min-height: min(640px, calc(100vh - 150px)); background:transparent; color:var(--text); }
body:has(#org-tab-content > .kirke-orgflate-innebygd) #org-tab-hjelp { display:none; }
.kof-hode { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:16px 0; border-bottom:1px solid var(--border); }
.kof-hode > div:first-child { flex:1; min-width:180px; }
body > .kof-flate > .kof-hode { padding:16px; }
.kof-faner { display:flex; gap:6px; padding:12px 0; overflow-x:auto; border-bottom:1px solid var(--border); }
.kof-fane { flex-shrink:0; border:1px solid transparent; border-radius:999px; background:transparent; color:var(--text-muted); padding:8px 14px; font:inherit; font-size:13px; cursor:pointer; }
.kof-fane[aria-selected=true] { background:var(--primary-pill); color:var(--primary-dark-adaptiv); border-color:var(--border); font-weight:700; }
.kof-fane:focus-visible, .kof-flate summary:focus-visible, .kof-choix:focus-visible { outline:2px solid var(--primary); outline-offset:2px; }
.kof-innhold { flex:1; min-width:0; padding:20px 0; }
body > .kof-flate > .kof-innhold, body > .kof-flate > .kof-faner { padding-left:16px; padding-right:16px; }
.kof-status { padding:12px 0; border-top:1px solid var(--border); color:var(--text-muted); font-size:12px; }
.kof-status:empty { display:none; }
.kof-testdata { margin:0; padding:6px 0; font-size:11px; color:var(--text-muted); }
.kof-testdata[hidden] { display:none; }
.kof-felt { width:100%; box-sizing:border-box; border-style:solid; border-color:var(--border); background:var(--surface); color:var(--text); font-family:inherit; min-width:0; }
.kof-kort { padding:16px; border:1px solid var(--border); background:var(--surface); margin-bottom:12px; }
.kof-verktoy { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-bottom:16px; }
.kof-verktoy > input { flex:1; min-width:140px; }
.kof-tom { display:flex; flex-direction:column; align-items:center; text-align:center; gap:10px; padding:40px 16px; }
.kof-tom h3 { font:700 16px Inter,sans-serif; margin:0; color:var(--text); }
.kof-tom p { font-size:13px; line-height:1.6; max-width:280px; margin:0; }
.kof-tom-ikon { width:56px; height:56px; border:1px solid var(--border); border-radius:14px; display:grid; place-items:center; }
.kof-tom-ikon svg { width:26px; height:26px; }
.kof-avatar { width:34px; height:34px; flex:0 0 auto; display:grid; place-items:center; position:relative; overflow:hidden; border-radius:50%; border:1px solid color-mix(in srgb, var(--personfarge) 40%, var(--border)); background:color-mix(in srgb, var(--personfarge) 12%, var(--surface)); color:var(--personfarge); font-size:12px; font-weight:700; }
.kof-avatar img { width:100%; height:100%; object-fit:cover; }
.kof-register { display:grid; grid-template-columns:minmax(260px, 380px) minmax(0,1fr); align-items:start; gap:20px; }
.kof-register-liste { display:flex; flex-direction:column; gap:6px; min-width:0; }
.kof-person { border:1px solid var(--border); background:var(--surface); overflow:hidden; }
.kof-person > button { width:100%; display:flex; align-items:center; gap:10px; padding:12px; border:0; background:transparent; text-align:left; color:var(--text); cursor:pointer; font:inherit; }
.kof-person:has([aria-expanded=true]) { border-color:var(--primary); background:var(--primary-pill); }
.kof-detalj { min-width:0; position:sticky; top:16px; }
.kof-detalj > * { min-width:0; }
.kof-detalj-hode { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.kof-flate .btn { flex-shrink:0; }
.kof-flate [hidden] { display:none; }
@media(max-width:760px) {
  .kof-register { grid-template-columns:1fr; }
  .kof-detalj { position:static; }
  .kof-register:has(.kof-detalj[data-apent=true]) > .kof-register-liste { display:none; }
  .kof-innhold { padding-top:16px; }
  .kof-felt { font-size:16px; }
}
@media print {
  .kof-faner, .kof-hode button, .kof-testdata, .kof-status { display:none; }
  .kof-detalj { position:static; }
}
/* Utfyller primitivenes geometri med samme overflate som .oa-btn. */
.kof-flate .btn { border-style:solid; border-width:1px; font-family:inherit; cursor:pointer; }
.kof-flate .btn:not(.btn--primar) { background:var(--surface); color:var(--text); border-color:var(--border); }
.kof-flate .btn:disabled { opacity:.55; cursor:default; }
.kof-flate .btn:focus-visible { outline:2px solid var(--primary); outline-offset:2px; }

.kof-flate .btn[aria-pressed=true] { background:var(--primary-pill); border-color:var(--primary); color:var(--primary-dark-adaptiv); }
.kof-flate h3, .kof-flate strong, .kof-person span { overflow-wrap:anywhere; }

/* Hvit knappetekst på --primary målte 3,98:1. Den mørke merketonen gir
   6,21:1 og beholder paletten uten å endre Eventlabs tema. */
.kof-flate .btn--primar, .kof-flate .btn--primar:hover { background:var(--primary-dark); }
