/* ax.css - komponenter til foreningernes admin i samme look som mg-control (css/v2.css der),
   farvet med foreningens egen primaerfarve (--primary fra config). Tilfoejet 29. sep 2026.
   Brug: <div class="ax"> ... .ax-hoved, .ax-kort, .ax-sektion-top, .ax-knap(.groen/.lille/.fare),
   .ax-pille(.ok/.fejl/.neutral/.test), .ax-besked(.ok/.fejl), .ax-tabel, .ax-felt, .ax-gruppe, .ax-raekke,
   .ax-tal, .ax-menu (+ .ax-menu-boble), .ax-filtre, .ax-dl, .ax-detalje, .ax-dash, .ax-rul, .ax-hint, .ax-note. */
:root{--ax-ink:#0f1a18;--ax-ink-mid:#4a5a56;--ax-ink-lite:#6b7c78;
  --ax-p:var(--primary);--ax-p-dyb:color-mix(in srgb,var(--primary) 55%,#000);--ax-p-lys:color-mix(in srgb,var(--primary) 82%,#fff);
  --ax-p-mild:color-mix(in srgb,var(--primary) 55%,#fff);--ax-p-svag:color-mix(in srgb,var(--primary) 9%,#fff);
  --ax-sand:#f5f0e8;--ax-papir:#fdfaf5;--ax-linje:#e6ddcf;
  --ax-ok:#2a6b5c;--ax-ok-bg:#e8f2ee;--ax-fejl:#b4411a;--ax-fejl-bg:#fbeae3}
.ax{color:var(--ax-ink)}
.ax h1,.ax h2,.ax h3{font-family:Manrope,Inter,sans-serif;color:var(--ax-p-dyb);margin:0}
.ax-kort{background:#fff;border:1px solid var(--ax-linje);border-radius:14px;box-shadow:0 1px 2px rgba(13,31,28,.04)}
.ax-hoved{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:0.25rem 0 1.1rem}
.ax-hoved h1{font-size:1.55rem;font-weight:800;letter-spacing:-.01em}
.ax-hoved p{margin:0.3rem 0 0;color:var(--ax-ink-lite);font-size:0.88rem;max-width:62ch}
.ax-etiket{font-size:0.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ax-ink-lite)}
/* Knapper */
.ax-knap{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;border:1px solid var(--ax-linje);background:#fff;color:var(--ax-p);
          font:600 0.8rem Inter,sans-serif;padding:.5rem .85rem;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s}
.ax-knap:hover{background:var(--ax-sand);border-color:#d3c8b6}
.ax-knap[disabled]{opacity:.45;cursor:not-allowed;background:#fff}
.ax-knap.primaer{background:var(--ax-p-dyb);border-color:var(--ax-p-dyb);color:#fff}
.ax-knap.primaer:hover{background:var(--ax-p);border-color:var(--ax-p)}
.ax-knap.lille{padding:.32rem .75rem;font-size:0.75rem;border-radius:999px}
.ax-knap.groen{background:var(--ax-p);border-color:var(--ax-p);color:#fff}
.ax-knap.groen:hover{background:var(--ax-p-lys)}
/* Piller */
.ax-pille{display:inline-flex;align-items:center;gap:.3rem;border-radius:999px;padding:.12rem .55rem;font-size:0.72rem;font-weight:600;white-space:nowrap}
.ax-pille.ok{background:var(--ax-ok-bg);color:var(--ax-ok)} .ax-pille.fejl{background:var(--ax-fejl-bg);color:var(--ax-fejl)}
.ax-pille.neutral{background:var(--ax-sand);color:var(--ax-ink-mid)} .ax-pille.test{background:#fff4e6;color:#9a4a12} .ax-pille.drift{background:var(--ax-p);color:#fff}
.ax-pille::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}
.ax-pille.drift::before,.ax-pille.test::before{display:none}
/* Besked */
.ax-besked{border-radius:12px;padding:.85rem 1rem;margin-bottom:1rem;font-size:0.88rem;border:1px solid}
.ax-besked.ok{background:var(--ax-ok-bg);border-color:#cfe3da;color:var(--ax-p-dyb)}
.ax-besked.fejl{background:var(--ax-fejl-bg);border-color:#f2cdbd;color:#6b2a10}
.ax-besked ul{list-style:none;margin:.45rem 0 0;padding:0;font-size:0.82rem}
.ax-besked li{padding:.12rem 0} .ax-besked li.ok{color:var(--ax-ok)} .ax-besked li.fejl{color:var(--ax-fejl)}
.ax-besked small{color:var(--ax-ink-lite)}
/* Noegletal */
.ax-tal{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.9rem;margin-bottom:1.25rem}
.ax-tal .ax-kort{padding:1rem 1.1rem}
.ax-tal .fremhaevet{background:linear-gradient(145deg,var(--ax-p) 0%,var(--ax-p-lys) 100%);border-color:var(--ax-p);color:#fff}
.ax-tal .fremhaevet .ax-etiket,.ax-tal .fremhaevet .under{color:rgba(255,255,255,.75)}
.ax-tal .tal{font-family:Manrope,sans-serif;font-size:1.65rem;font-weight:800;line-height:1.1;margin:.35rem 0 .15rem}
.ax-tal .under{font-size:0.78rem;color:var(--ax-ink-lite)}
/* Tabel */
.ax-sektion-top{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.15rem;border-bottom:1px solid var(--ax-linje)}
.ax-sektion-top h2{font-size:1.05rem;font-weight:800}
.ax-tabel{width:100%;border-collapse:collapse;font-size:0.85rem}
.ax-tabel th{text-align:left;padding:.6rem 1.15rem;background:var(--ax-papir);border-bottom:1px solid var(--ax-linje)}
.ax-tabel td{padding:.8rem 1.15rem;border-bottom:1px solid #efe8dc;vertical-align:top}
.ax-tabel tr:last-child td{border-bottom:0}
.ax-tabel .navn{font-weight:700;color:var(--ax-p-dyb)}
.ax-felt{border:1px solid var(--ax-linje);border-radius:9px;padding:.42rem .65rem;font:0.82rem Inter,sans-serif;background:#fff;color:var(--ax-ink);min-width:0}
.ax-felt:focus{outline:2px solid var(--ax-p-mild);outline-offset:0;border-color:var(--ax-p-mild)}
.ax-terminal{position:relative;margin-top:.4rem}
.ax-terminal pre{background:var(--ax-p-dyb);color:#dfeee7;padding:.7rem 5.8rem .7rem .85rem;border-radius:10px;font:0.74rem/1.55 ui-monospace,monospace;white-space:pre-wrap;margin:0}
.ax-terminal button{position:absolute;top:.45rem;right:.45rem}
.ax-fodnote{font-size:0.78rem;color:var(--ax-ink-lite);padding:.7rem 1.15rem;border-top:1px solid var(--ax-linje);background:var(--ax-papir);border-radius:0 0 14px 14px}
/* (i)-hjaelp */
.ax-info{display:inline-block;position:relative;vertical-align:middle;text-transform:none;letter-spacing:0;font-weight:400}
.ax-info summary{list-style:none;cursor:pointer;width:18px;height:18px;border-radius:50%;border:1px solid var(--ax-ink-lite);color:var(--ax-ink-mid);font:600 11px/16px Georgia,serif;text-align:center;margin-left:4px}
.ax-info summary::-webkit-details-marker{display:none}
.ax-info[open] summary{background:var(--ax-p);color:#fff;border-color:var(--ax-p)}
.ax-info-boble{position:absolute;right:0;top:26px;z-index:20;width:min(460px,86vw);background:#fff;border:1px solid var(--ax-linje);border-radius:12px;box-shadow:0 12px 32px rgba(13,31,28,.16);padding:.95rem 1.1rem;font-size:0.82rem;line-height:1.55;color:var(--ax-ink)}
.ax-info-boble ol{margin:.35rem 0 .5rem;padding-left:1.1rem}
.ax-info-boble p{margin:.4rem 0}
.ax-raekke{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.ax-gruppe{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.8rem}
.ax-gruppe label{font-size:0.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ax-ink-lite)}
.ax-gruppe .ax-felt{width:100%;padding:.55rem .7rem}
.ax-hint{font-size:0.74rem;color:var(--ax-ink-lite)}
@media (max-width:760px){.ax-ny{grid-template-columns:1fr}.ax-ny-trin{border-right:0;border-bottom:1px solid var(--ax-linje);border-radius:14px 14px 0 0}.ax-raekke{grid-template-columns:1fr}.ax-status{grid-template-columns:1fr 1fr}}

/* Liste, filtre, menu og detaljeside (29. sep 2026) */
.ax-tilbage{color:var(--ax-p-lys);text-decoration:none}
.ax-tilbage:hover{text-decoration:underline}
.ax-link{background:none;border:0;padding:0;color:var(--ax-p-lys);font:600 0.76rem Inter,sans-serif;cursor:pointer}
.ax-link:hover{text-decoration:underline}
.ax-link[disabled]{opacity:.45;cursor:not-allowed}
.ax-filtre{display:flex;gap:.5rem;flex-wrap:wrap;padding:.85rem 1.15rem;border-bottom:1px solid var(--ax-linje);background:var(--ax-papir)}
.ax-sorter{cursor:pointer;user-select:none}
.ax-sorter:hover{color:var(--ax-p)}
.ax-sorter[data-retning="op"]::after{content:" ▲";font-size:.6rem}
.ax-sorter[data-retning="ned"]::after{content:" ▼";font-size:.6rem}
.ax-tabel tbody tr:hover td{background:var(--ax-papir)}
.ax-menu{display:inline-block;position:relative}
.ax-menu summary{list-style:none;cursor:pointer;width:30px;height:28px;line-height:26px;text-align:center;border-radius:8px;border:1px solid transparent;color:var(--ax-ink-mid);font-size:1.1rem}
.ax-menu summary::-webkit-details-marker{display:none}
.ax-menu summary:hover,.ax-menu[open] summary{background:var(--ax-sand);border-color:var(--ax-linje)}
.ax-menu-boble{position:absolute;right:0;top:32px;z-index:30;min-width:170px;background:#fff;border:1px solid var(--ax-linje);border-radius:10px;box-shadow:0 12px 28px rgba(13,31,28,.14);padding:.3rem;text-align:left}
.ax-menu-boble a{display:block;padding:.45rem .7rem;border-radius:7px;color:var(--ax-ink);text-decoration:none;font-size:0.84rem}
.ax-menu-boble a:hover{background:var(--ax-p-svag);color:var(--ax-p)}
.ax-detalje{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:1rem;align-items:start}
.ax-dl{display:grid;grid-template-columns:auto 1fr;gap:.45rem 1rem;margin:0;padding:1rem 1.15rem;font-size:0.85rem}
.ax-dl dt{color:var(--ax-ink-lite);font-size:0.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding-top:.1rem}
.ax-dl dd{margin:0;word-break:break-word}
@media (max-width:900px){.ax-detalje{grid-template-columns:1fr}}

/* Bredde, knapgrupper og farlige handlinger (29. sep 2026) */
.ax{max-width:1400px}
.ax-smal{max-width:1200px}
.ax-knapgruppe{display:inline-flex;gap:.3rem}
.ax-knap.fare{background:#fff;border-color:#f2cdbd;color:var(--ax-fejl)}
.ax-knap.fare:hover{background:var(--ax-fejl-bg);border-color:#e9b39c}
.ax-knap.fare-tekst{color:var(--ax-fejl)}
.ax-knap.fare-tekst:hover{background:var(--ax-fejl-bg);border-color:#f2cdbd}
.ax-handlingslinje{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.8rem}
.ax-farve{display:flex;gap:.45rem;align-items:center}
.ax-farve input[type=color]{width:42px;height:38px;padding:2px;border:1px solid var(--ax-linje);border-radius:9px;background:#fff;cursor:pointer;flex-shrink:0}
.ax-farve .ax-felt{flex:1}

/* Dashboard (index.php) */
.ax-dash{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:1rem;align-items:start}
.ax-dash-venstre,.ax-dash-hoejre{display:flex;flex-direction:column;gap:1rem}
a.ax-tal-link{text-decoration:none;color:inherit;transition:border-color .15s,transform .15s}
a.ax-tal-link:hover{border-color:var(--ax-p-mild);transform:translateY(-1px)}
.ax-prik{display:inline-block;width:9px;height:9px;border-radius:50%}
.ax-prik.ok{background:var(--ax-p-mild)} .ax-prik.fejl{background:var(--ax-fejl)}
.ax-genveje{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;padding:1rem 1.15rem}
.ax-genveje a{display:block;padding:.55rem .75rem;border:1px solid var(--ax-linje);border-radius:999px;text-align:center;font-size:.8rem;font-weight:600;color:var(--ax-p);text-decoration:none;background:#fff}
.ax-genveje a:hover{background:var(--ax-sand)}
@media (max-width:1100px){.ax-dash{grid-template-columns:1fr}}
.ax-prik.advar{background:#e0932a} .ax-prik.neutral{background:#b9ad99}
.ax-handling{list-style:none;margin:0;padding:.35rem .5rem}
.ax-handling li a{display:flex;align-items:center;gap:.7rem;padding:.6rem .65rem;border-radius:10px;color:var(--ax-ink);text-decoration:none;font-size:.86rem}
.ax-handling li a:hover{background:var(--ax-papir)}
.ax-handling .pil{margin-left:auto;color:var(--ax-ink-lite)}
.ax-alt-ok{padding:1.3rem 1.15rem;color:var(--ax-ok);font-weight:600;font-size:.9rem}
.ax-drift{list-style:none;margin:0;padding:.4rem 0}
.ax-drift li{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.55rem 1.15rem;border-bottom:1px solid #efe8dc;font-size:.85rem}
.ax-drift li:last-child{border-bottom:0}
/* Tabel scroller kun vandret paa smalle skaerme, saa en ⋯-menu ikke klippes paa computeren */
.ax-rul{overflow-x:auto}
@media (min-width:901px){.ax-rul{overflow:visible}}

.ax-besked.advar{background:#fff4e6;border-color:#f5d9b8;color:#7a3b0e}
.ax-menu-boble form{margin:0}
.ax-menu-boble button{display:block;width:100%;text-align:left;padding:.45rem .7rem;border-radius:7px;border:0;background:none;color:var(--ax-ink);font:0.84rem Inter,sans-serif;cursor:pointer}
.ax-menu-boble button:hover{background:var(--ax-p-svag);color:var(--ax-p)}
.ax-menu-boble .fare,.ax-menu-boble button.fare{color:var(--ax-fejl)}
.ax-menu-boble .fare:hover{background:var(--ax-fejl-bg)}
.ax-menu-boble .skille{height:1px;background:var(--ax-linje);margin:.3rem .2rem}
/* Fra mg-control: krop, noter og chips */
.ax-inst-krop{padding:1rem 1.15rem}
.ax-note{font-size:0.8rem;color:var(--ax-ink-lite);margin:0 0 .9rem}
.ax-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem}
.ax-chip{display:inline-flex;align-items:center;gap:.35rem;background:var(--ax-p-svag);color:var(--ax-p-dyb);border-radius:8px;padding:.25rem .55rem;font-size:0.78rem;font-weight:600;text-decoration:none}
.ax-chip:hover{background:color-mix(in srgb,var(--primary) 16%,#fff)}
.ax-handlinger{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;padding:.85rem 1.15rem;border-top:1px solid var(--ax-linje);background:var(--ax-papir);border-radius:0 0 14px 14px}
.ax-stak{display:flex;flex-direction:column;gap:1rem}
.ax-tabel th{font-size:0.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ax-ink-lite);white-space:nowrap}
.ax-tom{padding:1.4rem 1.15rem;text-align:center;color:var(--ax-ink-lite);font-size:.86rem}
.ax-tom b{display:block;color:var(--ax-ink);font-size:.92rem;margin-bottom:.2rem}
.ax-tjek{display:flex;align-items:center;gap:.55rem;font-size:0.86rem;cursor:pointer}
.ax-tjek input{width:17px;height:17px;accent-color:var(--primary);flex-shrink:0}
.ax-krop{padding:1rem 1.15rem}
