:root{
  --paper:#f8f3ec;--panel:#fffdf8;--ink:#332c25;--ink-soft:#6b6055;--ink-faint:#9d9286;
  --line:#efe7db;--line-strong:#ddd2c2;--shade:#e9e0d3;--shade-ink:#5d5448;
  --today:#fdf0d3;--today-bar:#dc9a34;--hover:#f1e9dd;
  --accent:#3f6cae;--danger:#c0392b;--ok:#5f9068;--warn:#dc9a34;--flag:#c8102e;
  --radius:13px;--shadow:0 12px 40px rgba(66,48,28,.15);
}
*{box-sizing:border-box}
html,body{margin:0}
/* ingen browser-zoom (knib er appens egen zoom mellem måned/uge/dag) */
html{touch-action:pan-x pan-y}
body{background:var(--paper);color:var(--ink);
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:14px;line-height:1.4}

/* ---------- state cards ---------- */
.wrap{max-width:760px;margin:0 auto;padding:24px 16px 60px}
.muted{color:var(--ink-faint)}
.kort{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-top:12px}
.felter{display:flex;flex-direction:column;gap:12px;margin-top:8px}
.felter label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;color:var(--ink-soft)}
.felter input,.felter select,.felter textarea{border:1px solid var(--line-strong);border-radius:9px;padding:10px 11px;font:inherit;font-size:15px;color:var(--ink);background:var(--paper)}
.btn{display:inline-block;border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);border-radius:9px;padding:8px 14px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}

/* ---------- header ---------- */
header.top{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 88%,transparent);
  backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line);padding:14px clamp(14px,3vw,28px) 12px}
.top-row{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;justify-content:space-between}
.wordmark{display:flex;align-items:baseline;gap:10px}
.wordmark h1{font-family:"Lora",Georgia,serif;font-weight:600;font-size:clamp(22px,3.4vw,31px);letter-spacing:-.01em;margin:0}
.wordmark span{color:var(--ink-faint);font-size:13px}
.period{display:flex;align-items:center;gap:6px}
.period .nav{width:34px;height:34px;border:1px solid var(--line-strong);background:var(--panel);border-radius:9px;color:var(--ink);font-size:17px;cursor:pointer;line-height:1;display:grid;place-items:center}
.period .nav:hover{background:var(--hover)}
.period .label{min-width:150px;text-align:center;font-weight:600;font-size:15px}
.period .label small{display:block;font-weight:500;color:var(--ink-faint);font-size:11.5px}
.toolbar{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;margin-top:12px;justify-content:space-between}
.legend{display:flex;gap:6px 14px;flex-wrap:wrap;align-items:center}
.legend .who{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-soft)}
.legend .dot{width:10px;height:10px;border-radius:50%}
.tools-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.icon-btn{border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);height:34px;padding:0 12px;border-radius:9px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.icon-btn:hover{background:var(--hover)}

/* ---------- grid ---------- */
main{padding:clamp(10px,2.4vw,22px) clamp(8px,3vw,28px) 60px}
.months{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;max-width:1560px;margin:0 auto}
.mobile-months{display:none}
.month{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 1px 2px rgba(66,48,28,.04)}
.month h2{margin:0;font-family:"Lora",Georgia,serif;font-weight:600;font-size:15px;letter-spacing:-.01em;text-align:center;padding:9px 8px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--warn) 7%,var(--panel))}
.days{display:flex;flex-direction:column}
.day{display:grid;grid-template-columns:14px 20px 1fr auto;align-items:center;gap:5px;padding:0 7px;height:var(--row-h,24px);min-height:0;border-top:1px solid var(--line);cursor:pointer;transition:background .1s}
.days .day:first-child{border-top:none}
.day:hover{background:var(--hover)}
.day:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.day.weekend,.day.holiday-off{background:var(--shade)}
.day.today{background:var(--today);box-shadow:inset 3px 0 0 var(--today-bar)}
.day.today.weekend{background:color-mix(in srgb,var(--today) 60%,var(--shade))}
.day.needsme{box-shadow:inset 3px 0 0 var(--warn)}
.day.today.needsme{box-shadow:inset 3px 0 0 var(--today-bar)}
.day .wd{color:var(--ink-faint);font-size:11px;font-weight:600;text-align:center}
.day .dt{font-variant-numeric:tabular-nums;font-weight:600;font-size:12.5px;text-align:right}
.day.weekend .wd,.day.holiday-off .wd{color:var(--shade-ink)}
.day .mid{min-width:0;display:flex;align-items:center;gap:5px;overflow:hidden}
.day .holi{color:var(--ink-soft);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto}
.day .wk{font-variant-numeric:tabular-nums;color:var(--ink-faint);font-size:10.5px;font-weight:700;min-width:14px;text-align:right}
.appt{display:inline-flex;align-items:center;gap:4px;max-width:100%;min-width:0;padding:1px 4px;margin:0 -1px;border-radius:6px;transition:background .12s}
.appt:hover{background:color-mix(in srgb,var(--ink) 9%,transparent)}
.appt .adot{width:7px;height:7px;border-radius:2px;flex:none;box-sizing:border-box}
.appt.event .adot{border-radius:50%}
.appt.cont .atxt{color:var(--ink-soft);font-weight:400}
.appt .atxt{font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.appt .cnt{font-size:10px;font-weight:700;color:var(--ink-faint);white-space:nowrap}
.appt .pending{width:6px;height:6px;border-radius:50%;background:var(--warn);flex:none}
.more{font-size:10.5px;font-weight:700;color:var(--ink-faint);white-space:nowrap}

/* ---------- modal ---------- */
.overlay{position:fixed;inset:0;background:rgba(40,30,20,.42);display:none;align-items:flex-end;justify-content:center;z-index:50}
.overlay.open{display:flex}
@media(min-width:620px){.overlay{align-items:center;padding:20px}}
.modal{background:var(--panel);width:100%;max-width:460px;border-radius:18px 18px 0 0;box-shadow:var(--shadow);max-height:92vh;overflow:auto}
@media(min-width:620px){.modal{border-radius:18px}}
.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 12px}
.modal-head .dtitle{font-family:"Lora",Georgia,serif;font-weight:600;font-size:20px;line-height:1.15}
.modal-head .dsub{color:var(--ink-faint);font-size:12.5px;margin-top:2px}
.x{border:none;background:transparent;font-size:22px;line-height:1;color:var(--ink-faint);cursor:pointer;padding:2px 4px}
.modal-body{padding:0 20px 18px}
.entry-list{display:flex;flex-direction:column;gap:8px;margin-bottom:6px}
.entry-card{border:1px solid var(--line);border-radius:12px;padding:11px 12px;position:relative;background:var(--panel)}
.entry-card .bar{position:absolute;left:0;top:8px;bottom:8px;width:4px;border-radius:4px}
.ec-body{padding-left:10px}
.ec-kind{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:3px}
.ec-title{font-weight:600;font-size:14.5px}
.ec-range{font-size:12.5px;color:var(--ink-soft);margin-top:2px;font-weight:600}
.ec-who{font-size:12px;color:var(--ink-soft);margin-top:1px}
.ec-desc{font-size:13px;color:var(--ink-soft);margin-top:6px;white-space:pre-wrap}
.ec-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.ec-actions button{font-size:12.5px;font-weight:600;border:1px solid var(--line-strong);background:var(--panel);border-radius:8px;padding:5px 10px;cursor:pointer;color:var(--ink)}
.ec-actions .del{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,var(--line-strong))}
.rsvp{margin-top:10px;border-top:1px solid var(--line);padding-top:10px}
.rsvp .tally{display:flex;gap:12px;font-size:12px;font-weight:600;margin-bottom:8px}
.rsvp .t-ja{color:var(--ok)}.rsvp .t-nej{color:var(--danger)}.rsvp .t-vent{color:var(--warn)}
.resp-row{display:flex;align-items:flex-start;gap:8px;padding:5px 0;font-size:12.5px}
.resp-row .r-dot{width:8px;height:8px;border-radius:50%;margin-top:4px;flex:none}
.resp-row .r-name{font-weight:600}
.resp-row .r-status{margin-left:auto;font-weight:700;white-space:nowrap;font-size:12px}
.r-status.ja{color:var(--ok)}.r-status.nej{color:var(--danger)}.r-status.vent{color:var(--ink-faint)}
.resp-row .r-comment{color:var(--ink-soft);font-weight:400;font-size:12px;margin-top:1px}
.my-response{margin-top:12px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:11px 12px}
.my-response .mr-q{font-size:12.5px;font-weight:700;margin-bottom:9px}
.rsvp-btns{display:flex;gap:8px;margin-bottom:9px}
.rsvp-btns button{flex:1;padding:9px;border-radius:9px;font:inherit;font-weight:600;font-size:13px;cursor:pointer;border:1px solid var(--line-strong);background:var(--panel);color:var(--ink)}
.rsvp-btns button.sel-ja{background:var(--ok);border-color:var(--ok);color:#fff}
.rsvp-btns button.sel-nej{background:var(--danger);border-color:var(--danger);color:#fff}
.mr-comment{width:100%;border:1px solid var(--line-strong);border-radius:9px;padding:8px 10px;font:inherit;font-size:13px;background:var(--panel);color:var(--ink);resize:vertical;min-height:38px}
.mr-gem{display:flex;justify-content:flex-end;align-items:center;margin-top:7px;min-height:30px}
.mr-gem-btn{padding:6px 14px;border-radius:9px;font:inherit;font-weight:600;font-size:12.5px;cursor:pointer;border:1px solid var(--accent);background:var(--accent);color:#fff}
.mr-gem-btn:disabled{opacity:.6;cursor:default}
.mr-gemt{color:var(--ok);font-weight:700;font-size:12.5px}
.empty-state{text-align:center;color:var(--ink-soft);padding:14px 6px 18px}
.empty-state strong{display:block;color:var(--ink);font-weight:600;margin-bottom:3px}
.add-btn{width:100%;padding:11px;border:1px dashed var(--line-strong);background:transparent;color:var(--accent);border-radius:11px;font:inherit;font-weight:600;font-size:13.5px;cursor:pointer;margin-top:2px}
.add-btn:hover{background:var(--hover)}
.entry-form{display:flex;flex-direction:column;gap:13px;margin-top:4px}
.entry-form label{font-size:12.5px;font-weight:600;color:var(--ink-soft);display:block;margin-bottom:5px}
.entry-form input[type=text],.entry-form input[type=date],.entry-form input[type=datetime-local],.entry-form textarea{width:100%;border:1px solid var(--line-strong);border-radius:10px;padding:10px 11px;font:inherit;font-size:14px;color:var(--ink);background:var(--paper)}
.entry-form textarea{resize:vertical;min-height:60px}
.date-row{display:flex;gap:10px}.date-row>div{flex:1}
/* kompakt segment-vælger (Type / Lag) */
.felt-linje{display:flex;align-items:center;justify-content:space-between;gap:10px}
.entry-form .felt-linje>label{margin:0}
.seg{display:inline-flex;gap:2px;padding:2px;background:var(--hover);border-radius:9px;flex:none}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label{padding:5px 11px;font-size:12.5px;font-weight:600;cursor:pointer;margin:0;color:var(--ink-soft);border-radius:7px;white-space:nowrap;transition:background .15s,color .15s,box-shadow .15s}
.seg input:checked + label{background:var(--panel);color:var(--accent);box-shadow:0 1px 3px rgba(66,48,28,.18)}
.seg input:focus-visible + label{outline:2px solid var(--accent);outline-offset:1px}
.seg-hint{font-size:11.5px;color:var(--ink-faint);margin-top:5px}
/* note + påmindelse */
.entry-form label.tjek{display:flex;align-items:center;gap:8px;cursor:pointer;margin-bottom:8px;color:var(--ink)}
.entry-form label.tjek input{width:17px;height:17px;accent-color:var(--accent);margin:0}
.ec-paamind{font-size:12px;font-weight:600;color:var(--accent);margin-top:3px}
.ec-paamind.sendt{color:var(--ink-faint);font-weight:500}
/* påmindelse: hurtigvalg-pills + selvvalgt tid i 5-min-trin */
.paamind-blok{display:flex;flex-direction:column;gap:8px}
.entry-form .paamind-blok>label{margin:0}
.pills{display:flex;flex-wrap:wrap;gap:6px}
.pill{border:1px solid var(--line-strong);background:var(--panel);color:var(--ink-soft);border-radius:999px;padding:6px 11px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.pill.valgt{background:var(--accent);border-color:var(--accent);color:#fff}
.pill:disabled{opacity:.4;cursor:default}
.paamind-selv{display:flex;align-items:center;gap:6px}
.entry-form .paamind-selv input[type=date]{flex:1;min-width:0;width:auto}
.paamind-selv select{border:1px solid var(--line-strong);border-radius:10px;padding:10px 8px;font:inherit;font-size:14px;color:var(--ink);background:var(--paper)}
.paamind-selv .kolon{font-weight:700;color:var(--ink-soft)}
.paamind-til .seg label{padding:5px 9px}
.appt.note .adot,.ud-chip.note .ud-dot,.peek .pk-dot.note{border-radius:1px;transform:rotate(45deg) scale(.82)}
.form-actions{display:flex;gap:9px;margin-top:2px}
.form-actions button{flex:1;padding:11px;border-radius:10px;font:inherit;font-weight:600;font-size:14px;cursor:pointer;border:1px solid transparent}
.btn-primary{background:var(--accent);color:#fff}
.btn-ghost{background:var(--panel);border-color:var(--line-strong);color:var(--ink)}

/* ---------- admin ---------- */
.opret{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:6px 16px;margin:16px auto 0;max-width:760px}
.opret summary{cursor:pointer;font-weight:600;padding:10px 0}
.opret.admin summary{color:var(--danger)}
.opret h3{font-size:15px;margin:16px 0 8px}
.poster{list-style:none;margin:0;padding:0 0 12px;display:flex;flex-direction:column;gap:8px}
.post{display:flex;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:10px 12px}
.pbody{flex:1;min-width:0}
.ptitle{font-weight:600}
.pmeta{font-size:12.5px;color:var(--ink-faint);margin-top:2px}
.mini{border:1px solid var(--line-strong);background:var(--panel);border-radius:8px;padding:5px 10px;font:inherit;font-size:12px;font-weight:600;cursor:pointer;color:var(--ink)}
.mini.del{color:var(--danger)}

/* ---------- responsive (etape 1: stak månederne; karrusel kommer i etape 4) ---------- */
@media(max-width:820px){
  .desktop-months{display:none}
  .period{display:none}
  .idag-appbar{display:inline-flex;align-items:center}
  .mobile-months{display:flex;grid-template-columns:none;gap:12px;max-width:none;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}
  .mobile-months::-webkit-scrollbar{display:none}
  .mobile-months .month{flex:0 0 92%;scroll-snap-align:center}
  .day{min-height:0}
}

#blazor-error-ui{display:none;position:fixed;bottom:0;left:0;right:0;background:#fbe8e8;padding:10px 14px;box-shadow:0 -1px 4px rgba(0,0,0,.1)}

/* ---------- install-opfordring (PWA) ---------- */
#pwa-install{position:fixed;inset:0;z-index:1000;background:rgba(40,30,20,.55);display:flex;align-items:center;justify-content:center;padding:20px}
#pwa-install[hidden]{display:none}
#pwa-install .pwa-card{background:#fffdf8;border-radius:22px;max-width:360px;width:100%;padding:26px 24px;text-align:center;box-shadow:0 24px 70px rgba(0,0,0,.4);animation:pwaRise .22s ease-out}
@keyframes pwaRise{from{transform:translateY(16px);opacity:.5}to{transform:none;opacity:1}}
#pwa-install img{width:88px;height:88px;border-radius:22px;box-shadow:0 8px 22px rgba(66,48,28,.28)}
#pwa-install h2{font-family:"Lora",Georgia,serif;font-weight:600;font-size:22px;margin:16px 0 6px;color:#332c25}
#pwa-install p{color:#6b6055;font-size:14.5px;margin:0 0 20px;line-height:1.55}
#pwa-install .pwa-actions{display:flex;flex-direction:column;gap:8px}
#pwa-install #pwa-install-btn{background:#cf6a44;color:#fff;border:none;border-radius:12px;padding:14px;font:inherit;font-weight:700;font-size:15px;cursor:pointer}
#pwa-install #pwa-install-btn:hover{filter:brightness(.96)}
#pwa-install #pwa-dismiss{background:transparent;border:none;color:#9d9286;font:inherit;font-size:14px;cursor:pointer;padding:8px}

/* ---------- login-knapper ---------- */
.login-kort{display:flex;flex-direction:column;gap:10px;text-align:center}
.login-kort p{margin:0 0 6px}
.login-kort .btn{padding:13px;font-size:15px;display:inline-flex;align-items:center;justify-content:center;gap:10px}
.btn-google{background:#fff;color:#3c4043;border:1px solid var(--line-strong)}
.btn-google:hover{background:#f7f3ec}
.btn-google .g-logo{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fff;color:#4285f4;font-weight:800;font-family:Arial,sans-serif;border:1px solid #e0e0e0}
.btn-email{background:var(--panel);color:var(--ink-soft)}
.btn-email:hover{background:var(--hover)}

/* ---------- lag ---------- */
.lock{flex:none;color:var(--ink-faint);vertical-align:middle}
.klokke{flex:none;color:var(--ink-soft);vertical-align:middle}
.ec-kind .lock{margin-right:1px}
.entry-card .ec-shared{font-size:12px;color:var(--ink-faint);margin-top:1px}
.toggle{display:flex;align-items:center;gap:8px;padding:7px 0;font-size:14px;color:var(--ink);cursor:pointer}
.toggle input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}
.toggle .dot{width:11px;height:11px;border-radius:50%}

/* ---------- fødselsdage ---------- */
.flag{border-radius:1.5px;box-shadow:0 0 0 .5px rgba(0,0,0,.18);vertical-align:middle;flex:none}
.day .bday{display:inline-flex;align-items:center;gap:4px;flex:0 1 auto;min-width:0}
.day .bday .bname{font-size:11px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bday-banner{display:flex;align-items:center;gap:10px;background:color-mix(in srgb,var(--flag) 8%,var(--paper));border:1px solid color-mix(in srgb,var(--flag) 24%,var(--line));border-radius:12px;padding:10px 12px;margin-bottom:10px}
.bday-banner .bb-txt{font-size:13.5px;font-weight:600}
.bday-banner .bb-sub{font-size:12px;color:var(--ink-soft);font-weight:400;margin-top:1px}
/* ---------- familie-panel ---------- */
.fam-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:9px 0;border-top:1px solid var(--line)}
.fam-row:first-of-type{border-top:none}
.fam-row .fam-navn{flex:1 1 120px;border:1px solid var(--line-strong);border-radius:8px;padding:8px 10px;font:inherit;font-size:14px;background:var(--paper);color:var(--ink)}
.fam-row .fam-fd{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-faint)}
.fam-row .fam-fd input{border:1px solid var(--line-strong);border-radius:8px;padding:7px 9px;font:inherit;font-size:13px;background:var(--paper);color:var(--ink)}


/* ---------- hover-preview (desktop) ---------- */
.peek{position:fixed;z-index:80;max-width:280px;min-width:170px;background:var(--panel);border:1px solid var(--line-strong);border-radius:12px;box-shadow:var(--shadow);padding:10px 12px;pointer-events:none}
.peek .pk-date{font-weight:700;font-size:11px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}
.peek .pk-bday{display:flex;align-items:center;gap:6px;font-weight:600;font-size:12.5px;margin-bottom:6px;color:var(--ink)}
.peek .pk-row{display:flex;align-items:center;gap:7px;padding:3px 0}
.peek .pk-dot{width:8px;height:8px;border-radius:2px;flex:none}
.peek .pk-dot.ev{border-radius:50%}
.peek .pk-title{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;color:var(--ink)}
.peek .pk-meta{font-size:11.5px;font-weight:600;color:var(--ink-faint);white-space:nowrap}
.peek .pk-more{font-size:11.5px;color:var(--ink-faint);margin-top:4px}
.peek .pk-hint{font-size:11px;color:var(--ink-faint);margin-top:7px;padding-top:6px;border-top:1px solid var(--line)}
@media(max-width:820px){ .peek{display:none} }

/* ---------- mobil: hele måneden på skærmen (kompakte rækker) ---------- */
@media(max-width:820px){
  header.top{padding:10px 14px 8px}
  .wordmark h1{font-size:22px}
  .legend{display:none}                 /* farver ses stadig på prikkerne i cellerne */
  main{padding:8px 10px 36px}
  .mobile-months{gap:10px}
  .mobile-months .month h2{padding:6px 8px;font-size:14px}
  .mobile-months .day{grid-template-columns:15px 20px 1fr auto;gap:4px;padding:0 6px}
  .mobile-months .day .wd{font-size:10.5px}
  .mobile-months .day .dt{font-size:11.5px}
  .mobile-months .day .holi{font-size:10.5px}
  .mobile-months .day .appt{padding:0 3px}
  .mobile-months .day .appt .atxt{font-size:10.5px}
  .mobile-months .day .bday .bname{font-size:10.5px}
  .mobile-months .day .wk{font-size:10px}
}

/* ---------- app-chrome: appbar + drawer ---------- */
.appbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px;overflow:hidden;
  padding:10px clamp(12px,3vw,24px);padding-top:calc(10px + env(safe-area-inset-top,0px));
  background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}
.burger{border:1px solid var(--line-strong);background:var(--panel);border-radius:9px;width:40px;height:40px;font-size:18px;line-height:1;cursor:pointer;color:var(--ink);flex:none}
.burger:hover{background:var(--hover)}
.appbar-title{font-family:"Lora",Georgia,serif;font-weight:600;font-size:19px;letter-spacing:-.01em}
.drawer-overlay{position:fixed;inset:0;background:rgba(40,30,20,.4);z-index:40}
.drawer{position:fixed;top:0;left:0;bottom:0;width:260px;max-width:82vw;z-index:41;background:var(--panel);
  box-shadow:2px 0 28px rgba(0,0,0,.22);padding:18px 14px;padding-top:calc(18px + env(safe-area-inset-top,0px));
  display:flex;flex-direction:column;gap:3px;animation:drawerIn .18s ease-out}
@keyframes drawerIn{from{transform:translateX(-100%)}to{transform:none}}
.drawer-head{font-family:"Lora",Georgia,serif;font-weight:600;font-size:18px;padding:4px 10px 14px;border-bottom:1px solid var(--line);margin-bottom:8px}
.drawer-head small{display:block;font-family:"Inter",sans-serif;font-weight:400;font-size:12px;color:var(--ink-faint);margin-top:2px}
.drawer-item{display:block;width:100%;text-align:left;background:none;border:none;font:inherit;padding:12px 10px;border-radius:9px;color:var(--ink);text-decoration:none;font-weight:600;font-size:15px;cursor:pointer}
.drawer-item:hover{background:var(--hover)}
.drawer-item.active{background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent)}
.drawer-item.logout{margin-top:auto;color:var(--ink-soft)}

/* ---------- kalender-toolbar (på siden) ---------- */
.cal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px 14px;flex-wrap:wrap;padding:2px clamp(8px,3vw,28px) 8px;max-width:1560px;margin:0 auto}

/* ---------- undersider ---------- */
.app-main{padding-bottom:10px}
.page{max-width:720px;margin:0 auto;padding:16px clamp(10px,3vw,20px) 64px}
.page-title{font-family:"Lora",Georgia,serif;font-weight:600;font-size:26px;letter-spacing:-.01em;margin:4px 0 16px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;margin-bottom:14px}
.card h3{margin:0 0 10px;font-size:15px}
.card h3:not(:first-child){margin-top:18px}

/* farvevælger i familie-panel */
.fam-farve{width:34px;height:34px;padding:0;border:1px solid var(--line-strong);border-radius:8px;background:none;cursor:pointer;flex:none}
.fam-advarsel{flex:1 0 100%;font-size:12px;font-weight:600;color:var(--danger)}
.fam-row .mini:disabled{opacity:.4;cursor:default}

/* ---------- appbar søgeknap ---------- */
.appbar-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.iconbtn{border:1px solid var(--line-strong);background:var(--panel);border-radius:9px;width:40px;height:40px;font-size:17px;line-height:1;cursor:pointer;color:var(--ink);flex:none}
.iconbtn:hover{background:var(--hover)}

/* ---------- karrusel-spinner (henter flere måneder) ---------- */
.cal-spinner{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:60;background:var(--panel);border:1px solid var(--line-strong);border-radius:999px;padding:7px 10px;box-shadow:var(--shadow)}
.cal-spinner .spin{display:block;width:18px;height:18px;border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;animation:winbergspin .7s linear infinite}
@keyframes winbergspin{to{transform:rotate(360deg)}}

/* ---------- søgning ---------- */
.soeg-overlay{position:fixed;inset:0;background:rgba(40,30,20,.45);z-index:70;display:flex;align-items:flex-start;justify-content:center;padding:10vh 16px 16px}
.soeg-box{background:var(--panel);width:100%;max-width:520px;border-radius:16px;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;max-height:80vh}
.soeg-top{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line)}
.soeg-felt{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:9px 12px;border:1.5px solid var(--line-strong);border-radius:10px;background:var(--paper);color:var(--ink-faint);cursor:text;transition:border-color .15s,box-shadow .15s}
.soeg-felt:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent)}
.soeg-felt svg{flex:none}
.soeg-input{flex:1;min-width:0;border:none;background:transparent;font:inherit;font-size:16px;color:var(--ink);outline:none;padding:0;-webkit-appearance:none;appearance:none}
.soeg-input::placeholder{color:var(--ink-faint);opacity:1}
.soeg-input::-webkit-search-cancel-button{display:none}
.soeg-resultater{overflow:auto;padding:6px}
.soeg-resultater .muted{padding:14px 12px}
.soeg-rad{display:block;width:100%;text-align:left;background:none;border:none;border-radius:9px;padding:10px 12px;cursor:pointer;color:var(--ink)}
.soeg-rad:hover{background:var(--hover)}
.sr-titel{font-weight:600;font-size:14.5px}
.sr-dato{font-size:12.5px;color:var(--ink-faint);margin-top:1px}

/* validering */
.felt-fejl{color:var(--danger);font-size:12.5px;margin-top:5px;font-weight:600}
.input-fejl{border-color:var(--danger) !important}

/* ---------- bottom sheets ---------- */
.sheet-overlay{position:fixed;inset:0;background:rgba(40,30,20,.5);z-index:55;display:flex;align-items:flex-end;justify-content:center}
.sheet{background:var(--panel);width:100%;max-width:600px;max-height:92vh;border-radius:20px 20px 0 0;box-shadow:0 -12px 40px rgba(0,0,0,.3);display:flex;flex-direction:column;overflow:hidden;animation:sheetUp .34s cubic-bezier(.2,.8,.2,1) both;will-change:transform}
@keyframes sheetUp{from{transform:translateY(100%)}to{transform:none}}
@media(min-width:620px){.sheet{border-radius:20px;margin-bottom:4vh;max-height:88vh}}
.sheet-greb{width:40px;height:4px;border-radius:2px;background:var(--line-strong);margin:8px auto 0}
.sheet-head{display:flex;justify-content:flex-end;padding:2px 10px 0}
.sheet-body{overflow:auto;flex:1}
.sheet-body .page{padding-top:2px;padding-bottom:28px}
/* ☰ → Indstillinger: liste over undersider + tilbage-knap i arkets hoved */
.ark-tilbage{margin-right:auto;border:none;background:transparent;font:inherit;font-weight:600;font-size:15px;color:var(--accent);cursor:pointer;padding:4px 6px;border-radius:8px}
.ark-tilbage:hover{background:var(--hover)}
.indst-liste{padding:4px 6px}
.indst-rad{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:none;font:inherit;color:var(--ink);padding:12px 10px;border-radius:9px;cursor:pointer}
.indst-rad+.indst-rad{border-top:1px solid var(--line);border-radius:0}
.indst-rad:hover{background:var(--hover)}
.indst-ikon{font-size:20px;width:26px;text-align:center}
.indst-tekst{flex:1;display:flex;flex-direction:column;gap:2px}
.indst-tekst b{font-size:15px}
.indst-tekst small{color:var(--ink-soft);font-size:13px}
.indst-pil{color:var(--ink-faint);font-size:22px;line-height:1}

/* ---------- bottom sheet ind/ud-animation ---------- */
/* Overlayet toner kun sin baggrundsfarve ind/ud — en opacity-animation på overlayet gjorde også
   selve arket (barnet) gennemsigtigt, så glidet ikke kunne ses. */
.sheet-overlay{animation:sheetFadeIn .25s ease-out}
.sheet-overlay.lukker{animation:sheetFadeOut .24s ease-in forwards}
.sheet.lukker{animation:sheetDown .24s ease-in forwards}
@keyframes sheetFadeIn{from{background-color:rgba(40,30,20,0)}to{background-color:rgba(40,30,20,.5)}}
@keyframes sheetFadeOut{from{background-color:rgba(40,30,20,.5)}to{background-color:rgba(40,30,20,0)}}
@keyframes sheetDown{from{transform:none}to{transform:translateY(100%)}}

/* "I dag" i appbaren (kun mobil) */
.idag-appbar{display:inline-flex;align-items:center;width:auto;padding:0 12px;font-size:14px;font-weight:600}
/* ikon-knapper i appbaren: personlig kalender til/fra + i dag (vises på alle skærmstørrelser) */
.idag-knap,.lag-knap{display:inline-grid;place-items:center;padding:0}
.lag-knap.til{color:var(--ink)}
.lag-knap.fra{color:var(--ink)}

/* ---------- appbar-ikoner: "Brikker" (forslag 3, prototype/ikoner.html) ----------
   Tonale fliser uden ramme; tofarvede ikoner: f = lys flade, fi = mørk fyld, ft = terracotta, fd = svag prik.
   Slået til (.til) = terracotta flise med hvid streg. Står EFTER .burger/.iconbtn, så den vinder. */
.appbar{--terra:#cf6a44}
.brik{border:none;background:var(--shade);border-radius:12px;width:40px;height:40px;padding:0;display:inline-grid;place-items:center;
  color:var(--ink);cursor:pointer;flex:none;transition:background-color .15s;-webkit-tap-highlight-color:transparent}
.brik:hover{background:#e2d7c7}
.brik:active{background:#dacdbb}
.brik svg{display:block;fill:none;stroke:var(--ink);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.brik .f{fill:var(--panel)}
.brik .fi{fill:var(--ink);stroke:none}
.brik .ft{fill:var(--terra);stroke:none}
.brik .fd{fill:var(--ink-faint);stroke:none}
.brik .hl{fill:var(--panel);stroke:none}
.brik.til,.brik.til:hover{background:var(--terra)}
.brik.til svg{stroke:#fff}
.brik.til .f{fill:var(--terra)}
.brik.til .fi{fill:#fff}
.brik:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* ---------- sheet gribezone (swipe-ned) ---------- */
.sheet-grab{touch-action:none;cursor:grab;user-select:none;flex:none}
.sheet-grab:active{cursor:grabbing}
.sheet-grab .sheet-greb{cursor:grab}
.day-sheet .modal-head{padding:6px 18px 10px}

/* skjul kalender-toolbar på mobil (I dag ligger i appbaren) */
@media(max-width:820px){.cal-toolbar{display:none}}

/* ---------- klikbart ugenummer ---------- */
.wk-btn{font:inherit;font-variant-numeric:tabular-nums;font-weight:700;font-size:inherit;line-height:1;cursor:pointer;
  color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);
  border-radius:7px;padding:2px 6px;min-width:22px}
.wk-btn:hover,.wk-btn:active{background:color-mix(in srgb,var(--accent) 20%,transparent)}
@media(max-width:820px){.mobile-months .wk-btn{padding:3px 7px}}

/* ---------- uge-zoom ---------- */
.uge-overlay{position:fixed;inset:0;z-index:45;display:flex;align-items:center;justify-content:center;background:rgba(40,30,20,.3);backdrop-filter:blur(3px);padding:4vh 0;animation:ugeOverlayIn .2s ease-out}
.uge-overlay.lukker{animation:ugeOverlayOut .2s ease-in forwards}
@keyframes ugeOverlayIn{from{opacity:0}to{opacity:1}}
@keyframes ugeOverlayOut{from{opacity:1}to{opacity:0}}
.uge-panel{background:var(--panel);width:100%;max-width:560px;max-height:88vh;margin:0 12px;border-radius:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden;animation:ugePanelIn .24s cubic-bezier(.2,.8,.2,1)}
.uge-panel.lukker{animation:ugePanelOut .2s ease-in forwards}
@keyframes ugePanelIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
@keyframes ugePanelOut{from{opacity:1;transform:none}to{opacity:0;transform:scale(.94)}}
.uge-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:16px 18px 10px;border-bottom:1px solid var(--line)}
.uge-titel{font-family:"Lora",Georgia,serif;font-weight:600;font-size:21px;line-height:1.1}
.uge-sub{font-size:12.5px;color:var(--ink-faint);margin-top:2px}
.uge-dage{overflow:auto;padding:12px 16px 20px}
.uge-dag{display:block;width:100%;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:8px;cursor:pointer;color:var(--ink)}
.uge-dag:hover{background:var(--hover)}
.uge-dag.weekend{background:var(--shade)}
.uge-dag.idag{background:var(--today);box-shadow:inset 3px 0 0 var(--today-bar)}
.ud-head{display:flex;align-items:center;gap:8px;margin-bottom:2px}
.ud-dag{font-weight:600;font-size:14.5px}
.ud-helli{font-size:12.5px;color:var(--ink-soft);margin:2px 0}
.ud-tom{font-size:12.5px;color:var(--ink-faint);margin-top:2px}
.ud-chip{display:inline-flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:4px 8px;margin:4px 6px 0 0;font-size:12.5px;max-width:100%}
.ud-dot{width:8px;height:8px;border-radius:2px;flex:none}
.ud-chip.event .ud-dot{border-radius:50%}
.ud-ct{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ud-cnt{font-size:11px;font-weight:700;color:var(--ink-faint);white-space:nowrap}

/* ---------- invitationer (admin) ---------- */
.inv-ny{margin-top:14px;background:color-mix(in srgb,var(--ok) 8%,var(--paper));border:1px solid color-mix(in srgb,var(--ok) 28%,var(--line));border-radius:12px;padding:12px 14px}
.inv-navn{font-weight:600;margin-bottom:6px}
.inv-link{font-size:12.5px;color:var(--ink-soft);word-break:break-all;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px 10px}
.inv-knapper{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.inv-kopieret{color:var(--ok);font-size:12.5px;font-weight:600;margin-top:8px}
.felter select{border:1px solid var(--line-strong);border-radius:9px;padding:10px 11px;font:inherit;font-size:15px;color:var(--ink);background:var(--paper)}

/* ---------- notifikationer ---------- */
.knap-raekke{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.push-til{font-weight:600}
.push-besked{margin-top:12px}
.push-liste{margin:0 0 10px;padding-left:20px;line-height:1.6}

/* ---------- bløde overgange i dagsarket (liste ⇄ formular, felter der kommer/går) ---------- */
/* Arkets højde animeres af winbergHoejde (index.html); her toner indholdet blidt ind. */
@keyframes indholdInd{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes feltInd{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.day-sheet .visning{animation:indholdInd .32s cubic-bezier(.2,.8,.2,1) both}
.day-sheet .felt-ind{animation:feltInd .28s cubic-bezier(.2,.8,.2,1) both}
.sheet.hoejde-anim .sheet-body{overflow:hidden}
@media (prefers-reduced-motion: reduce){
  .sheet,.sheet-overlay,.day-sheet .visning,.day-sheet .felt-ind{animation:none !important}
}

/* type-zone: paneler stablet i samme celle → fast højde ved skift mellem Aftale/Begivenhed/Note */
.type-zone{display:grid}
.type-panel{grid-area:1/1;display:flex;flex-direction:column;gap:13px;min-width:0;
  transition:opacity .25s ease,transform .25s cubic-bezier(.2,.8,.2,1),visibility 0s linear 0s}
.type-zone .date-row,.type-zone .paamind-felt{transition:opacity .25s ease,visibility 0s linear 0s}
.type-zone .skjult{opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s}
.type-panel.skjult{transform:translateY(-4px)}


/* ---------- gentagne begivenheder ---------- */
.appt .gentag{font-size:10px;font-weight:700;color:var(--ink-faint);flex:none}
.ec-hint{font-size:12px;color:var(--ink-faint);margin-top:8px}
.ec-title .flag{vertical-align:-1px;margin-right:4px}
.entry-form label.tjek .flag{flex:none}
.entry-form label.tjek + .seg-hint{margin-top:-4px}
.paamind-selv .kl{font-size:13px;font-weight:600;color:var(--ink-soft)}
.entry-form .seg label[for^="g-"]{padding:5px 9px}

/* ---------- admin: ikke-koblede pladser ---------- */
.plads-valg{border:1px solid var(--line-strong);border-radius:8px;padding:6px 8px;font:inherit;font-size:13px;color:var(--ink);background:var(--paper);margin-top:6px;max-width:100%}
.plads-handling{display:flex;flex-wrap:wrap;align-items:center;gap:6px;flex-basis:100%}
.plads-handling .plads-valg{margin-top:0;flex:1 1 180px}
.poster .post{flex-wrap:wrap}

/* =====================================================================
   Zoom: måned → uge → dag (samme udtryk i alle lag) + ny post-formular
   ===================================================================== */
.months{touch-action:pan-x pan-y}
.crumbs{display:flex;align-items:baseline;gap:3px;white-space:nowrap;overflow:hidden}
.crumb{border:none;background:none;padding:4px 2px;font-family:"Lora",Georgia,serif;font-weight:600;font-size:19px;color:var(--ink);letter-spacing:-.01em}
.crumb.op{font-family:"Inter",sans-serif;font-size:13.5px;font-weight:600;color:var(--accent);cursor:pointer;padding:4px 3px}
.crumb.op:active{opacity:.6}
.crumbs .sep{color:var(--ink-faint);font-size:13px}

/* zoom-laget dækker månedsvisningen under appbaren */
.zoom-lag{position:fixed;left:0;right:0;bottom:0;top:var(--appbar-h,61px);z-index:25;background:var(--paper);overflow:hidden;
  animation:zlInd .22s ease-out}
.zoom-lag.lukker{animation:zlUd .2s ease-in forwards}
@keyframes zlInd{from{opacity:0}}
@keyframes zlUd{to{opacity:0;transform:scale(.6)}}
.zl-indhold{position:absolute;inset:0;padding:8px 10px calc(10px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;
  touch-action:none;user-select:none;-webkit-user-select:none;will-change:transform;transform-origin:var(--zx,50%) var(--zy,50%)}
@media(min-width:821px){.zl-indhold{max-width:760px;margin:0 auto;padding:16px 16px 20px}}
.zl-indhold.zind{animation:zInd .3s cubic-bezier(.2,.8,.2,1) both}
.zl-indhold.zud{animation:zUd .3s cubic-bezier(.2,.8,.2,1) both}
.zl-indhold.sv{animation:sV .28s cubic-bezier(.2,.8,.2,1) both}
.zl-indhold.sh{animation:sH .28s cubic-bezier(.2,.8,.2,1) both}
@keyframes zInd{from{opacity:0;transform:scale(.55)}}
@keyframes zUd{from{opacity:0;transform:scale(1.3)}}
@keyframes sV{from{transform:translateX(100%)}}
@keyframes sH{from{transform:translateX(-100%)}}

.zoom-card{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 1px 2px rgba(66,48,28,.04)}
.zoom-card h2{flex:none;margin:0;font-family:"Lora",Georgia,serif;font-weight:600;font-size:14px;letter-spacing:-.01em;padding:5px 4px;border-bottom:1px solid var(--line);
  background:color-mix(in srgb,var(--warn) 7%,var(--panel));display:flex;align-items:center;gap:6px}
.zoom-card h2 small{font-family:"Inter",sans-serif;font-weight:500;font-size:11.5px;color:var(--ink-faint)}
.zoom-card h2 .h2t{flex:1;text-align:center}
.zoom-card h2 .pil{border:none;background:none;color:var(--ink-faint);font-size:19px;line-height:1;padding:2px 12px;cursor:pointer;border-radius:8px}
.zoom-card h2 .pil:hover{background:var(--hover)}
.zoom-card .days{flex:1;min-height:0;display:flex;flex-direction:column}
.zoom-card .day{height:auto;flex:1 1 0;min-height:0}

/* uge: 7 dagrækker deler hele højden */
.day.wrow{grid-template-columns:17px 22px 1fr;align-items:start;padding-top:6px;padding-bottom:4px}
.wrow .wd{font-size:11.5px;padding-top:1px}
.wrow .dt{font-size:15px;line-height:1.1}
.wrow .mid{flex-direction:column;align-items:stretch;gap:3px;height:100%;padding-left:4px}
.wline{display:flex;align-items:center;gap:6px;min-width:0;font-size:12.5px}
.wline .tid{font-variant-numeric:tabular-nums;color:var(--ink-faint);font-size:11px;font-weight:600;min-width:34px}
.wline .adot,.chip .adot,.blk .adot{width:7px;height:7px;border-radius:2px;flex:none}
.wline .adot.event,.chip.event .adot,.blk .adot.event{border-radius:50%}
.wline .adot.note,.chip.note .adot,.blk .adot.note{border-radius:1px;transform:rotate(45deg) scale(.82)}
.wline .atxt{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.wline .cnt{font-size:10.5px;font-weight:700;color:var(--ink-faint);margin-left:auto;white-space:nowrap}
.wline .pending,.chip .pending,.blk .pending{width:6px;height:6px;border-radius:50%;background:var(--warn);flex:none}
.wline.cont .atxt{color:var(--ink-soft);font-weight:400}
.wrow .holi,.wrow .bday .bname{font-size:12px}
.wrow .tom,.allday .tom{font-size:11.5px;color:var(--ink-faint)}

/* dag: timer 08–24 */
.day.allday{flex:none;height:auto;min-height:34px;grid-template-columns:52px 1fr;align-items:center;padding:4px 6px;border-top:none;border-bottom:1px solid var(--line-strong)}
.allday .hd{font-size:10px;font-weight:700;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em;line-height:1.15}
.allday .mid{flex-wrap:wrap;gap:4px 6px}
.bday.klik{cursor:pointer}
.bday.klik .bname{text-decoration:underline dotted;text-underline-offset:2px}
.chip{display:inline-flex;align-items:center;gap:5px;background:color-mix(in srgb,var(--c) 13%,var(--panel));border:1px solid color-mix(in srgb,var(--c) 30%,var(--line));
  border-radius:7px;padding:2px 7px;font-size:12px;font-weight:600;max-width:100%;cursor:pointer}
.chip .adot,.blk .adot{background:var(--c)}
.chip .atxt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hours{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}
.zoom-card .day.hour{grid-template-columns:30px 1fr;align-items:start;cursor:crosshair;padding:0 6px}
.hours .day.hour:first-child{border-top:none}
.hour .dt{font-size:10.5px;color:var(--ink-faint);font-weight:600;text-align:left;padding-top:1px}
.hour .halv{height:50%;border-bottom:1px dashed color-mix(in srgb,var(--line) 70%,transparent)}
.day.hour.aften{background:color-mix(in srgb,var(--shade) 45%,var(--panel))}
.day.hour.today{background:transparent;box-shadow:inset 3px 0 0 var(--today-bar)}
.lane{position:absolute;top:0;bottom:0;left:38px;right:6px;pointer-events:none}
.blk{position:absolute;pointer-events:auto;border-radius:7px;padding:2px 6px 2px 8px;overflow:hidden;cursor:pointer;min-height:17px;
  background:color-mix(in srgb,var(--c) 15%,var(--panel));border:1px solid color-mix(in srgb,var(--c) 32%,var(--line));
  box-shadow:inset 3px 0 0 var(--c);display:flex;flex-direction:column;container-type:size}
.blk .bt{display:flex;align-items:center;gap:5px;font-size:12px;line-height:16px;font-weight:600;white-space:nowrap;overflow:hidden;flex:none}
.blk .bt .atxt{overflow:hidden;text-overflow:ellipsis;min-width:0}
.blk .btid{font-size:10.5px;line-height:14px;color:var(--ink-soft);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}
/* beskrivelse: så mange hele linjer som der er plads til (titel 16px + tid 14px + 1px luft = 31px) */
.blk .bbes{flex:0 1 auto;min-height:0;overflow:hidden;margin-top:1px;font-size:11px;line-height:14px;color:var(--ink-soft);
  white-space:pre-line;overflow-wrap:anywhere;max-height:round(down,calc(100cqh - 31px),14px)}
.blk.kort{flex-direction:row;align-items:center;gap:6px}
.blk.kort .btid{margin-left:auto}
.blk.note{background:color-mix(in srgb,var(--warn) 14%,var(--panel));border-style:dashed}
.blk.event{border-width:1.5px}
.blk.redigeres,.chip.redigeres{opacity:.2}
.nu{position:absolute;left:-6px;right:-6px;height:0;border-top:2px solid var(--today-bar);z-index:2;pointer-events:none}
.nu::before{content:"";position:absolute;left:-3px;top:-5px;width:8px;height:8px;border-radius:50%;background:var(--today-bar)}
.ghost{position:absolute;left:0;right:0;border-radius:8px;background:color-mix(in srgb,var(--c) 22%,transparent);border:2px solid var(--c);z-index:3;pointer-events:none;transition:top .08s,height .08s}
.ghost .gtag{position:absolute;right:6px;top:-26px;background:var(--ink);color:#fff;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;border-radius:7px;padding:3px 8px;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.ghost.nedre .gtag{top:auto;bottom:-26px}
.ghost .gvar{position:absolute;left:8px;top:3px;font-size:11px;font-weight:700;color:color-mix(in srgb,var(--c) 70%,var(--ink))}
/* greb: blokken "popper" når long-press griber */
.ghost.greb{animation:ghostGreb .22s cubic-bezier(.2,.8,.2,1)}
@keyframes ghostGreb{0%{transform:scale(.9);opacity:.4}60%{transform:scale(1.03)}100%{transform:none;opacity:1}}
/* hint ved tryk på en tom time */
.ghost.hint{border-style:dashed;display:flex;align-items:center;justify-content:center;transition:none;animation:ghostHint 1.8s ease forwards}
.ghost.hint .hint-tekst{font-size:12px;font-weight:700;color:color-mix(in srgb,var(--c) 70%,var(--ink));white-space:nowrap;padding:0 6px;
  display:flex;align-items:center;gap:6px}
.ghost.hint .hint-tekst::before{content:"☝";font-size:15px;animation:hintFinger 1.1s ease-in-out .2s 1}
@keyframes ghostHint{0%{opacity:0;transform:scale(.96)}12%{opacity:1;transform:none}75%{opacity:1}100%{opacity:0}}
@keyframes hintFinger{0%{transform:none}35%{transform:scale(.85)}100%{transform:translateY(10px) scale(.85)}}
/* "+" ny post i dagsvisningen */
.fab-ny{position:fixed;right:18px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:30;width:56px;height:56px;border-radius:50%;
  border:none;background:var(--accent);color:#fff;font-size:30px;line-height:1;font-weight:400;display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 18px rgba(0,0,0,.25);cursor:pointer;animation:fabInd .2s ease-out;-webkit-tap-highlight-color:transparent}
.fab-ny:active{transform:scale(.94)}
@keyframes fabInd{from{opacity:0;transform:scale(.6)}}
@media(min-width:821px){.fab-ny{right:max(18px,calc(50vw - 380px - 76px))}}
.gentag{font-size:10px;font-weight:700;color:var(--ink-faint);flex:none}

/* ---------- ark: ny/ret post + detaljer ---------- */
.sheet-overlay.let{background-color:rgba(40,30,20,.16);animation:letInd .2s ease-out}
.sheet-overlay.let.lukker{animation:letUd .2s ease-in forwards}
@keyframes letInd{from{background-color:rgba(40,30,20,0)}to{background-color:rgba(40,30,20,.16)}}
@keyframes letUd{from{background-color:rgba(40,30,20,.16)}to{background-color:rgba(40,30,20,0)}}
.ark-indhold{padding:4px 16px calc(14px + env(safe-area-inset-bottom,0px))}
.typer{--terra:#cf6a44;display:flex;gap:14px;justify-content:center;margin:2px 0 12px}
/* typevalg i appbarens "Brikker"-stil: flise + lille navn under */
.type-valg{border:none;background:none;padding:0;font:inherit;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;
  color:var(--ink-soft);-webkit-tap-highlight-color:transparent}
.type-valg .brik{width:52px;height:44px;transition:background-color .15s,transform .1s}
.type-valg:hover .brik:not(.til){background:#e2d7c7}
.type-valg:active .brik{transform:scale(.94)}
.type-valg .brik.til .ft{fill:#fff}
.type-valg:focus-visible{outline:none}
.type-valg:focus-visible .brik{outline:2px solid var(--accent);outline-offset:2px}
.type-navn{font-size:11px;line-height:1.1;font-weight:600;letter-spacing:.01em}
.type-valg.valgt .type-navn{color:var(--terra)}
/* feltnavne over overskrift/beskrivelse */
.felt-hoved{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:10px 2px 4px;font-size:12px}
.typer + .felt-hoved{margin-top:0}
.felt-hoved label{font-weight:700;color:var(--ink-soft)}
.felt-hint{font-weight:400;color:var(--ink-faint)}
.felt-taeller{font-size:11px;color:var(--ink-faint);font-variant-numeric:tabular-nums}
.felt-taeller.naer{color:var(--terra,#cf6a44);font-weight:600}
.form-sheet .titel{width:100%;border:1px solid var(--line-strong);border-radius:11px;padding:11px 12px;font:inherit;font-size:16px;color:var(--ink);background:var(--paper);outline:none}
.form-sheet .titel:focus,.form-sheet .tekst:focus{border-color:var(--accent)}
.form-sheet .tekst{width:100%;border:1px solid var(--line-strong);border-radius:10px;padding:8px 12px;font:inherit;font-size:14px;color:var(--ink);background:var(--paper);
  outline:none;resize:none;field-sizing:content;min-height:76px;max-height:180px;line-height:1.4}
.linje{display:flex;align-items:center;gap:7px;margin-top:10px;font-size:13.5px;min-width:0}
.linje .ik{color:var(--ink-faint);display:inline-grid;place-items:center;width:20px;flex:none;font-size:14px}
.linje .gentag-ik{font-weight:700;font-size:16px}
.tidlinje{flex-wrap:nowrap;white-space:nowrap}
.tidvalg{display:inline-flex;align-items:center;gap:2px}
.tidvalg select,.valg-in{border:1px solid var(--line-strong);border-radius:8px;padding:6px 3px;font:inherit;font-size:14px;font-variant-numeric:tabular-nums;color:var(--ink);background:var(--paper)}
.tidvalg select:disabled{opacity:.45}
.tidvalg .kol{font-weight:700;color:var(--ink-soft)}
.streg{color:var(--ink-faint);margin:0 2px}
.dato-in{border:1px solid var(--line-strong);border-radius:8px;padding:5px 7px;font:inherit;font-size:13.5px;background:var(--paper);color:var(--ink);min-width:0}
.linje .hint{font-size:12px;color:var(--ink-faint)}
.linje .seg{flex:none}
.seg button{border:none;background:none;padding:5px 10px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;color:var(--ink-soft);border-radius:7px;white-space:nowrap;
  transition:background .15s,color .15s,box-shadow .15s}
.seg button.valgt{background:var(--panel);color:var(--accent);box-shadow:0 1px 3px rgba(66,48,28,.18)}
.seg-g button{padding:5px 8px}
.linje .pills{margin-left:auto;flex-wrap:nowrap;gap:5px}
.linje .pill{padding:5px 9px;font-size:12px;white-space:nowrap}
.flagknap{margin-left:auto;width:42px;height:32px;border-radius:9px;border:1px solid var(--line-strong);background:var(--panel);display:grid;place-items:center;cursor:pointer;
  filter:grayscale(1);opacity:.55;transition:all .15s;flex:none}
.flagknap.valgt{filter:none;opacity:1;border-color:var(--flag);background:color-mix(in srgb,var(--flag) 9%,var(--panel));box-shadow:0 0 0 1px var(--flag)}
.form-sheet .seg-hint{margin:5px 0 0 27px}
.form-sheet .felt-fejl{margin-top:10px}
.knapper{display:flex;gap:9px;margin-top:14px}
.knapper button{flex:1;padding:11px;border-radius:10px;font:inherit;font-weight:600;font-size:14px;cursor:pointer;border:1px solid transparent}
.k-prim{background:var(--accent);color:#fff}
.k-prim:disabled{opacity:.6}
.k-ghost{background:var(--panel);border-color:var(--line-strong)!important;color:var(--ink)}
.k-del{background:var(--panel);border-color:color-mix(in srgb,var(--danger) 35%,var(--line-strong))!important;color:var(--danger)}
.k-del.valgt{background:var(--danger);color:#fff}
.detalje-top{display:flex;align-items:flex-start;gap:12px;margin-top:2px}
.detalje-top .dik{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 15%,var(--panel));color:var(--c);flex:none}
.detalje-top .dtekst{min-width:0}
.detalje-top .dtit{font-family:"Lora",Georgia,serif;font-weight:600;font-size:19px;line-height:1.15}
.detalje-top .dsub{font-size:12.5px;color:var(--ink-soft);margin-top:2px}
.detalje-sheet .ec-desc{margin-top:10px}
@media (prefers-reduced-motion: reduce){
  .zoom-lag,.zl-indhold,.sheet-overlay.let{animation:none !important}
}
.chip .ctid{font-variant-numeric:tabular-nums;color:var(--ink-faint);font-size:11px}

/* gestus-overgange (swipe/knib): nyt indhold venter skjult til winbergGestus animerer det ind
   (falder tilbage til synligt efter 0,6 s hvis JS af en eller anden grund ikke når det) */
.zl-indhold.gestus{visibility:hidden;animation:gestusVis 0s .6s forwards}
@keyframes gestusVis{to{visibility:visible}}
.zl-indhold.zl-klon{pointer-events:none;z-index:2}
/* kontinuerligt knib: næste niveau bygges usynligt og tones ind af winbergGestus i takt med fingrene */
.zl-indhold.zl-preview{opacity:0;pointer-events:none;z-index:1}
.zoom-lag.preview{opacity:0;animation:none;pointer-events:none}

/* ---------- karrusel i uge/dag: forrige · aktuel · næste (winbergGestus flytter .zl-bane) ---------- */
.zl-indhold{padding:0;overflow:hidden}
/* native vandret scroll med snap (som månedskarrusellen); pan-x = lodret træk tilhører JS (markering) */
.zl-bane{flex:1;min-height:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;
  scrollbar-width:none;touch-action:pan-x;overscroll-behavior-x:contain;overflow-anchor:none;-webkit-overflow-scrolling:touch}
.zl-bane::-webkit-scrollbar{display:none}
.zl-side{flex:0 0 100%;min-width:0;display:flex;flex-direction:column;scroll-snap-align:center;
  padding:8px 10px calc(10px + env(safe-area-inset-bottom,0px))}
@media(min-width:821px){.zl-side{padding:16px 16px 20px}}

/* ugevisning: lørdag lysere end søndag + tydeligere skillelinje, så weekenden ikke flyder sammen */
.day.wrow.loerdag:not(.today){background:color-mix(in srgb,var(--shade) 50%,var(--panel))}
.day.wrow.weekend + .day.wrow.weekend{border-top:1px solid var(--line-strong)}

/* flyt/stræk en post med fingeren (hold på blokken) */
.zl-indhold{-webkit-touch-callout:none}
.blk.loftet{z-index:4;transform:scale(1.02);box-shadow:inset 3px 0 0 var(--c),0 10px 26px rgba(40,30,20,.28);opacity:.96}
/* stræk-håndtag: altid synlige, men kun når blokken er høj nok til at kunne strækkes (>= 34px, jf. index.html) */
.blk .hnd{position:absolute;left:38%;right:38%;height:3px;border-radius:2px;background:color-mix(in srgb,var(--c) 55%,transparent);pointer-events:none;display:none;transition:background .15s}
.blk .hnd.top{top:1px}.blk .hnd.bund{bottom:1px}
@container (min-height:28px){.blk .hnd{display:block}}
.blk.loftet .hnd{background:var(--c)}
.blk[data-flyt]{cursor:grab}

/* ---------- Mærkedage (☰ → Mærkedage) ---------- */
.mk-ik{vertical-align:middle;flex:none}
.mk-intro{margin:-8px 0 12px;font-size:13px}
.mk-ny{width:100%;padding:11px;border-radius:10px;font:inherit;font-weight:600;font-size:14px;cursor:pointer;border:1px solid transparent;margin-bottom:12px}
.card.mk-liste{padding:2px 0}
.mk-tom{padding:12px 16px;margin:0}
.mk-rad{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:none;border-top:1px solid var(--line);padding:11px 16px;font:inherit;color:var(--ink);cursor:pointer}
.mk-rad:first-child{border-top:none}
.mk-rad:disabled{cursor:default;color:var(--ink)}
.mk-rad:not(:disabled):hover{background:var(--hover)}
.mk-ikbox{width:24px;display:grid;place-items:center;flex:none}
.mk-mid{display:flex;flex-direction:column;min-width:0;flex:1}
.mk-t{font-weight:600;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mk-s{font-size:12px;color:var(--ink-faint);margin-top:1px}
.mk-antal{font-weight:700;font-size:13px;color:var(--accent);white-space:nowrap;flex:none}
.mk-typer{margin-bottom:12px}
.mk-typer .pill{display:inline-flex;align-items:center;gap:6px}
.mk-typer .pill.valgt{background:color-mix(in srgb,var(--accent) 10%,var(--panel));color:var(--accent);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.mk-titel{width:100%;border:1px solid #e3cbbd;border-radius:11px;padding:11px 12px;font:inherit;font-size:16px;font-weight:600;color:var(--ink);background:#fff;outline:none;box-sizing:border-box}
.mk-tekst{display:block;width:100%;border:1px solid #e3cbbd;border-radius:10px;padding:8px 12px;font:inherit;font-size:14px;color:var(--ink);background:#fff;resize:vertical;outline:none;box-sizing:border-box}
.mk-titel:focus,.mk-tekst:focus{border-color:var(--accent)}
/* mærkedag-formularen genbruger post-formularens skrive-boks og sammenklappede kort (.pf-sek.fold) */
.mk-form .pf-sek .raek label{flex:1;font-size:14px}

/* ---------- diktering ---------- */
.diktat-felt{position:relative}
.diktat-felt .tekst,.diktat-felt .titel{padding-right:50px}
.diktat-felt:has(.diktat-ekstra) :is(.tekst,.titel){padding-right:88px}
.diktat-felt:has(.diktat-ekstra + .diktat-ekstra) :is(.tekst,.titel){padding-right:126px}
.diktat-knapper{position:absolute;right:4px;top:4px;display:flex;align-items:center;gap:2px}
.diktat-knap{width:36px;height:36px;border:none;border-radius:50%;background:transparent;color:var(--ink-soft);
  display:grid;place-items:center;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s,color .15s;padding:0}
.diktat-knap:hover{background:var(--hover);color:var(--ink)}
.diktat-knap.diktat-ekstra{color:var(--ink-soft)}
.diktat-knap.lytter{background:var(--danger);color:#fff;animation:diktat-puls 1.4s ease-out infinite}
@keyframes diktat-puls{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--danger) 45%,transparent)}100%{box-shadow:0 0 0 12px transparent}}
.diktat-status{display:flex;align-items:center;gap:9px;margin-top:6px;padding:7px 11px;border-radius:10px;font-size:13px;
  background:color-mix(in srgb,var(--danger) 8%,var(--panel));border:1px solid color-mix(in srgb,var(--danger) 22%,transparent);color:var(--ink-soft)}
.diktat-status.besked{padding:6px 8px 6px 11px;background:color-mix(in srgb,var(--warn) 12%,var(--panel));border-color:color-mix(in srgb,var(--warn) 30%,transparent)}
.diktat-tekst{flex:1;min-width:0}
.diktat-slet{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;margin:-4px -6px -4px 0;
  border:1px solid var(--line-strong);border-radius:20px;background:var(--panel);color:var(--ink);font:inherit;font-size:14px;font-weight:600;
  cursor:pointer;-webkit-tap-highlight-color:transparent}
.diktat-slet:active{background:var(--hover)}
.diktat-ok{border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);border-radius:8px;padding:5px 11px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;flex:none}
.diktat-boelge{display:inline-flex;align-items:center;gap:2px;height:16px;flex:none}
.diktat-boelge i{display:block;width:3px;height:100%;border-radius:2px;background:var(--danger);animation:diktat-boelge 1s ease-in-out infinite}
.diktat-boelge i:nth-child(2){animation-delay:-.75s}.diktat-boelge i:nth-child(3){animation-delay:-.5s}.diktat-boelge i:nth-child(4){animation-delay:-.25s}
@keyframes diktat-boelge{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}
@media (prefers-reduced-motion:reduce){.diktat-knap.lytter,.diktat-boelge i{animation:none}}
/* ---------- Diktering via serveren (21/10-2026): niveaumåler, "Skriver …", Annullér ----------
   js/diktering.js sætter --diktat-niveau (0–1) på <html> mens der optages. */
.diktat-niveau{display:inline-flex;align-items:center;gap:2px;height:18px;flex:none}
.diktat-niveau i{display:block;width:3px;border-radius:2px;background:var(--danger);
  height:calc(3px + var(--diktat-niveau,0) * 15px * var(--f,1));max-height:18px;transition:height .09s linear}
.diktat-niveau i:nth-child(1){--f:.45}.diktat-niveau i:nth-child(2){--f:.8}.diktat-niveau i:nth-child(3){--f:1}
.diktat-niveau i:nth-child(4){--f:.7}.diktat-niveau i:nth-child(5){--f:.4}
.diktat-status.skriver{background:color-mix(in srgb,var(--accent) 8%,var(--panel));border-color:color-mix(in srgb,var(--accent) 22%,transparent)}
.diktat-knap.skriver,.diktat-knap:disabled{cursor:default}
.diktat-knap.skriver{color:var(--accent)}
.diktat-spinner{display:block;width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;
  animation:diktat-spin .8s linear infinite;box-sizing:border-box;flex:none}
.diktat-spinner.lille{width:14px;height:14px;color:var(--accent)}
@keyframes diktat-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.diktat-spinner{animation-duration:2.4s}.diktat-niveau i{transition:none}}
/* Mikrofon → Test af transskriptionen (21/10) */
.mik-test-valg{display:flex;align-items:center;gap:8px;margin:6px 0 10px;font-size:14px}
.mik-test-lyd{width:100%;margin:6px 0}
.mik-test-knapper{flex-wrap:wrap;gap:8px}
.mik-test-model{display:flex;gap:8px;margin-top:8px}
.mik-test-model .input{flex:1;min-width:0;border:1px solid var(--line-strong);border-radius:10px;padding:8px 10px;font:inherit;background:var(--panel);color:var(--ink)}
.mik-test-res{margin-top:10px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:10px;background:var(--panel);white-space:pre-wrap}
.mik-test-hoved{font-size:12px;color:var(--ink-soft);margin-bottom:4px}

/* ---------- dagbog ---------- */
/* kalenderen: lille mærke i måneden + strimmel i dagsvisningen */
.day .dbog{flex:none;font-size:10.5px;line-height:1;opacity:.9}
.dag-dagbog{flex:none;display:flex;align-items:center;gap:8px;width:100%;border:none;border-bottom:1px solid var(--line);padding:6px 12px;
  background:color-mix(in srgb,#cf6a44 6%,var(--panel));font:inherit;font-size:12.5px;color:var(--ink);text-align:left;cursor:pointer}
.dag-dagbog:hover{background:color-mix(in srgb,#cf6a44 11%,var(--panel))}
.dag-dagbog .dd-ik{flex:none;font-size:14px;line-height:1}
.dag-dagbog .dd-tekst{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:"Lora",Georgia,serif}
.dag-dagbog.tom .dd-tekst{color:var(--ink-faint);font-style:italic}
.dag-dagbog .dd-pil{flex:none;color:var(--ink-faint);font-size:16px}

/* selve dagbogen: fuld skærm ovenpå kalenderen */
.dagbog{--papir:#fffaf0;--linje:#e8dcc8;--margen:#e9b6a8;--terra:#cf6a44;
  position:fixed;inset:0;z-index:48;display:flex;flex-direction:column;
  background:radial-gradient(ellipse at top,#efe5d5,#e2d5c1);animation:dagbogInd .28s cubic-bezier(.2,.8,.2,1)}
.dagbog.lukker{animation:dagbogUd .2s ease-in forwards}
@keyframes dagbogInd{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes dagbogUd{to{opacity:0;transform:translateY(24px)}}

.dagbog-top{flex:none;display:flex;align-items:center;gap:8px;padding:calc(8px + env(safe-area-inset-top,0px)) 10px 8px;
  background:color-mix(in srgb,var(--paper) 85%,transparent);border-bottom:1px solid var(--line-strong)}
.dagbog-tilbage{display:inline-flex;align-items:center;gap:2px;border:none;background:none;font:inherit;font-weight:600;font-size:14px;
  color:var(--terra);padding:6px 8px 6px 2px;border-radius:9px;cursor:pointer}
.dagbog-tilbage:hover{background:var(--hover)}
.dagbog-titel{flex:1;text-align:center;font-family:"Lora",Georgia,serif;font-weight:600;font-size:17px;display:flex;align-items:center;justify-content:center;gap:6px}
.dagbog-laas{color:var(--ink-faint)}
.dagbog-knap{border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);border-radius:9px;padding:5px 10px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.dagbog-ikon{width:36px;height:36px;border:none;border-radius:50%;background:none;color:var(--ink-faint);display:grid;place-items:center;cursor:pointer}
.dagbog-ikon:hover{background:var(--hover)}
.dagbog-ikon.til{color:var(--terra)}

.dagbog-paamind{flex:none;margin:8px auto 0;width:calc(100% - 24px);max-width:640px;background:var(--panel);border:1px solid var(--line-strong);
  border-radius:12px;padding:8px 14px 10px;box-shadow:0 6px 20px rgba(66,48,28,.12)}
.paamind-tid{display:inline-flex;align-items:center;gap:8px;font-size:14px;margin:2px 0 4px 26px}
.paamind-tid input{border:1px solid var(--line-strong);border-radius:8px;padding:5px 8px;font:inherit;background:var(--paper);color:var(--ink)}
.paamind-hint{margin:4px 0 0;font-size:12px;color:var(--ink-faint)}
.paamind-fejl{margin:4px 0 0;font-size:12.5px;color:var(--danger)}

.dagbog-bord{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 12px calc(16px + env(safe-area-inset-bottom,0px));
  display:flex;justify-content:center;align-items:flex-start}
.dagbog-side{position:relative;width:100%;max-width:640px;min-height:100%;display:flex;flex-direction:column;box-sizing:border-box;
  background:var(--papir);border-radius:4px 14px 14px 4px;padding:14px 16px 10px 34px;
  box-shadow:inset 14px 0 14px -12px rgba(90,60,30,.28),0 1px 2px rgba(66,48,28,.1),0 10px 30px rgba(66,48,28,.16);
  transform-origin:left center}
/* rød margenlinje som i et kladdehæfte */
.dagbog-side::before{content:"";position:absolute;top:0;bottom:0;left:24px;border-left:1.5px solid var(--margen);opacity:.75;pointer-events:none}
.dagbog-side.frem{animation:bladFrem .36s cubic-bezier(.2,.8,.2,1)}
.dagbog-side.tilbage{animation:bladTilbage .36s cubic-bezier(.2,.8,.2,1)}
@keyframes bladFrem{from{opacity:0;transform:perspective(1400px) translateX(36px) rotateY(-14deg)}to{opacity:1;transform:none}}
@keyframes bladTilbage{from{opacity:0;transform:perspective(1400px) translateX(-36px) rotateY(14deg)}to{opacity:1;transform:none}}

.side-hoved{display:flex;align-items:center;gap:6px;padding-bottom:10px;border-bottom:1px solid var(--linje)}
.side-pil{flex:none;width:38px;height:38px;border:none;border-radius:50%;background:none;color:var(--ink-soft);font-size:24px;line-height:1;cursor:pointer}
.side-pil:hover:not(:disabled){background:var(--hover)}
.side-pil:disabled{opacity:.2;cursor:default}
.side-dato{flex:1;text-align:center;min-width:0}
.side-ugedag{font-family:"Lora",Georgia,serif;font-size:13px;color:var(--terra);font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.side-datotekst{font-family:"Lora",Georgia,serif;font-weight:600;font-size:22px;line-height:1.2;color:var(--ink)}
.side-meta{font-size:11.5px;color:var(--ink-faint);margin-top:1px}
.side-henter{color:var(--ink-faint);font-style:italic;margin:24px 0}

.side-valg{display:flex;flex-direction:column;gap:6px;padding:10px 0;border-bottom:1px solid var(--linje)}
.valg-rad{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.valg-navn{width:52px;flex:none;font-size:11.5px;font-weight:700;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em}
.valg-knapper{display:flex;flex-wrap:wrap;gap:2px}
.valg{width:36px;height:36px;border:1.5px solid transparent;border-radius:50%;background:none;font-size:20px;line-height:1;padding:0;cursor:pointer;
  filter:grayscale(.55);opacity:.62;transition:transform .12s,opacity .12s,filter .12s,background .12s;-webkit-tap-highlight-color:transparent}
.valg:hover{opacity:.95;filter:none}
.valg:active{transform:scale(.9)}
.valg.valgt{opacity:1;filter:none;background:color-mix(in srgb,var(--terra) 14%,transparent);border-color:color-mix(in srgb,var(--terra) 45%,transparent);transform:scale(1.08)}

.side-kalender{padding:9px 0;border-bottom:1px solid var(--linje)}
.side-lbl{font-size:11.5px;font-weight:700;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}
.side-kalender ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}
.side-kalender li{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--ink-soft);min-width:0}
.side-kalender li span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-kalender li.helli{font-style:italic}
.side-kalender .adot{width:8px;height:8px;border-radius:50%;flex:none}
.side-kalender .kal-tid{flex:none;font-variant-numeric:tabular-nums;color:var(--ink-faint);font-size:12px}

.side-skriv{flex:1;display:flex;flex-direction:column;padding-top:8px}
.dagbog-tekst{flex:1;width:100%;box-sizing:border-box;min-height:max(240px,40vh);border:none;outline:none;resize:none;field-sizing:content;
  padding:0;margin:0;font-family:"Lora",Georgia,serif;font-size:16.5px;line-height:28px;color:var(--ink);
  background:repeating-linear-gradient(to bottom,transparent 0,transparent 27px,var(--linje) 27px,var(--linje) 28px);background-attachment:local}
.dagbog-tekst::placeholder{color:var(--ink-faint);font-style:italic}
/* knapperne (fortryd · ryd · mikrofon) står i en række over linjerne, så teksten får hele bredden */
.side-skriv .diktat-knapper{position:static;order:-1;justify-content:flex-end;margin:-4px 0 2px}
.diktat-felt .dagbog-tekst,.diktat-felt:has(.diktat-ekstra) .dagbog-tekst{padding-right:0}

.side-fod{display:flex;justify-content:space-between;align-items:center;padding-top:8px;margin-top:6px;border-top:1px solid var(--linje);font-size:11.5px;color:var(--ink-faint)}
.side-nr{font-family:"Lora",Georgia,serif;font-style:italic}
.gem-status.gemt{color:var(--ok)}
.gem-status.fejl{color:var(--danger)}
@media (prefers-reduced-motion:reduce){.dagbog,.dagbog.lukker,.dagbog-side.frem,.dagbog-side.tilbage{animation:none}}

/* ---------- baggrunde pr. niveau (11/10-2026, forslag C i prototype/baggrunde.html) ----------
   Måned = hvid (uændret). Uge = salviegrønne fliser. Dag = blå zebra-timer + tonet tidskolonne. */
:root{--uge-bund:#e6ecdf;--uge-flise:#f7f9f3;--uge-we:#dfe5d4;--uge-lo:#ebf0e3;
  --dag-bg:#f4f7fb;--dag-alt:#e8eef6;--dag-hd:#dde6f1;--dag-kol:rgba(63,108,174,.06)}
.zoom-card.uge-kort{background:var(--uge-bund)}
.uge-kort .days{gap:5px;padding:6px}
.uge-kort .days .day.wrow{background:var(--uge-flise);border:1px solid var(--line);border-radius:10px}
.uge-kort .days .day.wrow.weekend,.uge-kort .days .day.wrow.holiday-off{background:var(--uge-we)}
.uge-kort .days .day.wrow.loerdag:not(.holiday-off):not(.today){background:var(--uge-lo)}
.uge-kort .days .day.wrow.today{background:var(--today)}
.uge-kort .days .day.wrow.weekend + .day.wrow.weekend{border-top-color:var(--line)}
.uge-kort .days .day.wrow:hover{background:color-mix(in srgb,var(--uge-we) 55%,var(--uge-flise))}
.uge-kort .days .day.wrow.today:hover{background:var(--today)}
.zoom-card.dag-kort{background:var(--dag-bg)}
.dag-kort .day.allday{background:var(--dag-hd)}
.dag-kort .hours .day.hour{background:linear-gradient(90deg,var(--dag-kol) 36px,transparent 36px),var(--dag-bg)}
.dag-kort .hours .day.hour:nth-child(even){background:linear-gradient(90deg,var(--dag-kol) 36px,transparent 36px),var(--dag-alt)}

/* ---------- billeder (op til 3 pr. post / dagbogsside) ---------- */
/* karrusel: vandret scroll-snap, prikker følger med (js/billeder.js) */
.bk{position:relative}
.bk-bane{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.bk-bane::-webkit-scrollbar{display:none}
.bk-side{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always;border:none;padding:0;margin:0;background:#e9e0d3;cursor:zoom-in;display:block;position:relative;overflow:hidden}
.bk-side img{display:block;width:100%;height:100%;object-fit:cover;-webkit-user-drag:none;user-select:none}
.bk-prikker{display:flex;justify-content:center;gap:6px;padding:7px 0 0}
.bk-prik{width:6px;height:6px;border-radius:50%;background:var(--line-strong);transition:background .15s,transform .15s}
.bk-prik.on{background:#cf6a44;transform:scale(1.25)}
.bk-venter{cursor:default;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--ink-soft);font-size:12.5px;font-weight:600;
  background:linear-gradient(110deg,#eadfcd 30%,#f4ecdf 50%,#eadfcd 70%);background-size:200% 100%;animation:bkGlimt 1.2s linear infinite}
.bk-spinner{width:22px;height:22px;border:3px solid color-mix(in srgb,var(--ink) 18%,transparent);border-top-color:#cf6a44;border-radius:50%;animation:bkSpin .8s linear infinite}
@keyframes bkSpin{to{transform:rotate(360deg)}}
@keyframes bkGlimt{to{background-position:-200% 0}}

/* postdetaljer: banner i toppen af arket, kant til kant */
.bk.banner{margin:-4px -16px 12px}
.bk.banner .bk-side{aspect-ratio:16/9}
.bk.banner .bk-prikker{position:absolute;left:0;right:0;bottom:8px;padding:0}
.bk.banner .bk-prik{background:rgba(255,255,255,.55);box-shadow:0 0 2px rgba(0,0,0,.35)}
.bk.banner .bk-prik.on{background:#fff}

/* dagbog: indklæbet foto (polaroid med tape) */
.side-foto{padding:14px 0 6px;border-bottom:1px solid var(--linje,#e8dcc8)}
.bk.polaroid{width:min(82%,420px);margin:0 auto;background:#fff;padding:8px 8px 10px;transform:rotate(-1.4deg);
  box-shadow:0 2px 6px rgba(66,48,28,.18),0 8px 18px rgba(66,48,28,.12)}
.bk.polaroid::before,.bk.polaroid::after{content:"";position:absolute;top:-8px;width:58px;height:18px;background:rgba(236,224,196,.85);
  box-shadow:0 1px 2px rgba(0,0,0,.08);z-index:2;pointer-events:none}
.bk.polaroid::before{left:-14px;transform:rotate(-32deg)}
.bk.polaroid::after{right:-14px;transform:rotate(30deg)}
.bk.polaroid .bk-side{aspect-ratio:4/3}
.bk.polaroid .bk-prikker{padding-top:8px}
.side-billedfejl{margin:6px 0 0}
.side-kamera{color:var(--ink-soft)}
.dagbog-bord.billed-drop .dagbog-side{box-shadow:0 0 0 3px #cf6a44,0 10px 30px rgba(66,48,28,.16)}

/* postformularen: miniaturer + tilføj */
.billed-felt{display:flex;flex-wrap:wrap;gap:8px;align-items:center;border-radius:12px;transition:background .15s}
.billed-felt.billed-drop{background:color-mix(in srgb,var(--accent) 10%,transparent);outline:2px dashed var(--accent);outline-offset:3px}
.bf-th{position:relative;width:72px;height:72px;border-radius:10px;overflow:hidden;flex:none;background:var(--shade)}
.bf-vis{border:none;padding:0;margin:0;width:100%;height:100%;cursor:zoom-in;background:none;display:block}
.bf-vis img{width:100%;height:100%;object-fit:cover;display:block}
.bf-fjern{position:absolute;top:3px;right:3px;width:24px;height:24px;border-radius:50%;border:none;background:rgba(30,24,18,.62);color:#fff;
  font-size:16px;line-height:1;display:grid;place-items:center;cursor:pointer;padding:0}
.bf-fjern:hover{background:var(--danger)}
.bf-venter{display:grid;place-items:center;background:linear-gradient(110deg,#eadfcd 30%,#f4ecdf 50%,#eadfcd 70%);background-size:200% 100%;animation:bkGlimt 1.2s linear infinite}
.bf-tilfoej{width:72px;height:72px;flex:none;border:1.5px dashed var(--line-strong);border-radius:10px;background:transparent;color:var(--accent);
  font:inherit;font-size:12px;font-weight:600;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer}
.bf-tilfoej.bred{width:100%;height:auto;flex-direction:row;gap:8px;padding:11px;font-size:13.5px}
.bf-tilfoej:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}

/* kalenderen: lille 📷 på poster/dagbog med billeder */
.har-billede{flex:none;font-size:10.5px;line-height:1;opacity:.75}

/* fuld skærm (lægges direkte i body af js/billeder.js) */
.billed-lys{position:fixed;inset:0;z-index:200;background:#111;color:#eee;display:flex;flex-direction:column;animation:lysInd .18s ease-out}
.billed-lys.lukker{animation:lysUd .18s ease-in forwards}
@keyframes lysInd{from{opacity:0}}
@keyframes lysUd{to{opacity:0}}
.billed-lys .lys-top{flex:none;display:flex;align-items:center;gap:10px;padding:calc(10px + env(safe-area-inset-top,0px)) 12px 10px;font-size:13.5px}
.billed-lys .lys-titel{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.billed-lys .lys-nr{color:#aaa;font-variant-numeric:tabular-nums}
.billed-lys .lys-luk{width:38px;height:38px;border-radius:50%;border:none;background:rgba(255,255,255,.14);color:#fff;font-size:24px;line-height:1;cursor:pointer}
.billed-lys .bk-bane{flex:1;min-height:0}
.billed-lys .bk-side{background:transparent;cursor:default;display:flex;align-items:center;justify-content:center;padding:0 4px}
.billed-lys .bk-side img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.billed-lys .lys-fod{flex:none;display:flex;align-items:center;gap:10px;padding:10px 12px calc(12px + env(safe-area-inset-bottom,0px));min-height:56px}
.billed-lys .bk-prikker{flex:1;padding:0}
.billed-lys .bk-prik{background:rgba(255,255,255,.3)}
.billed-lys .bk-prik.on{background:#fff}
.billed-lys .lys-fjern{border:none;border-radius:12px;padding:10px 16px;font:inherit;font-weight:600;background:rgba(255,255,255,.12);color:#ff9a8b;cursor:pointer}
@media (prefers-reduced-motion:reduce){.billed-lys,.billed-lys.lukker,.bk-venter,.bf-venter{animation:none}}
/* fuldskærm: zoom/flyt/drej (js/billeder.js zoomer) */
.billed-lys .bk-bane{touch-action:pan-x}
.billed-lys .bk-side{overflow:hidden}
.billed-lys .bk-side img{transform-origin:center center;will-change:transform}
.billed-lys.zoomet .bk-side img{cursor:grab}
.billed-lys .lys-drej{width:42px;height:42px;flex:none;border:none;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;display:grid;place-items:center;cursor:pointer}

/* ---------- mikrofon & diktering (indstillinger) ---------- */
.mik-fejl{color:var(--danger);font-weight:600}
.diktat-felt .mik-proeve{width:100%;box-sizing:border-box;border:1px solid var(--line-strong);border-radius:10px;padding:8px 50px 8px 12px;
  font:inherit;font-size:15px;color:var(--ink);background:var(--paper);outline:none;resize:none;field-sizing:content;min-height:76px;max-height:200px}
.diktat-felt .mik-proeve:focus{border-color:var(--accent)}
.diktat-felt:has(.diktat-ekstra) .mik-proeve{padding-right:88px}
.diktat-felt:has(.diktat-ekstra + .diktat-ekstra) .mik-proeve{padding-right:126px}

/* ---------- onboarding v2 (Components/Onboarding.razor + js/onboarding.js; model prototype/onboarding-v2.html, godkendt 20/10-2026) ----------
   Vises første gang pr. enhed (fra forsiden) + fra ☰ → "Sådan bruger du appen". Scenen (alt i .ob2-scene) tegnes af JS:
   rigtige skærmbilleder (img/onboarding/*.webp) + Lottie-hånd. .pc = mus/touchpad (PC-skærme, Ctrl + scroll).
   NB: klassen .ob-overlay bruges af js/knib.js og winbergGestus til at spærre knib, mens onboardingen er åben. */
.ob-overlay{position:fixed;inset:0;z-index:90;background:rgba(40,30,20,.45);display:flex;align-items:flex-end;justify-content:center;
  padding:12px 12px calc(12px + env(safe-area-inset-bottom,0px));animation:ob2-ind .25s ease-out}
.ob-overlay.pc{align-items:center}
.ob-overlay.lukker{transition:opacity .2s;opacity:0}
@keyframes ob2-ind{from{opacity:0}to{opacity:1}}
.ob2{width:100%;max-width:420px;background:#fffdf9;border-radius:22px;box-shadow:0 18px 50px rgba(40,25,10,.28);overflow:hidden;
  display:flex;flex-direction:column;animation:ob2-op .32s cubic-bezier(.2,.8,.3,1)}
.ob2.pc{max-width:700px}
@keyframes ob2-op{from{transform:translateY(24px);opacity:.4}to{transform:none;opacity:1}}
.ob2-scene{position:relative;flex:none;height:var(--sh,480px);background:linear-gradient(180deg,#f3ece3,#ebe2d6);overflow:hidden;
  touch-action:pan-y;user-select:none;-webkit-user-select:none}
.ob2-niv{position:absolute;top:12px;left:0;right:0;display:flex;justify-content:center;gap:4px;flex-wrap:wrap;padding:0 10px;z-index:7}
.ob2-niv span{font:600 11px Inter,sans-serif;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.75);color:#958a7f;border:1px solid #e6ddd2;transition:all .25s}
.ob2-niv span.on{background:var(--c);border-color:var(--c);color:#fff}
.ob2-niv i{font-style:normal;color:#c2b6a8;font-size:11px;align-self:center}
.ob2-ramme{position:absolute;background:#1f1c19;box-shadow:0 14px 34px rgba(40,25,10,.28),inset 0 0 0 1.5px #3a3530}
.ob2-ramme.tlf{border-radius:30px;padding:7px}
.ob2-ramme.skaermramme{border-radius:12px;padding:9px}
.ob2-ramme.skaermramme::after{content:"";position:absolute;left:50%;bottom:-26px;width:90px;height:26px;margin-left:-45px;
  background:linear-gradient(#2b2723,#3b3631);clip-path:polygon(22% 0,78% 0,100% 100%,0 100%)}
.ob2-skaerm{position:relative;width:100%;height:100%;overflow:hidden;background:#f7f2ec;isolation:isolate}
.tlf .ob2-skaerm{border-radius:23px}
.skaermramme .ob2-skaerm{border-radius:4px}
.ob2-lag{position:absolute;left:0;top:0;transform-origin:0 0}
.ob2-lag .s{position:absolute;inset:0}
.ob2-lag img{display:block;width:100%;height:100%;max-width:none}
.ob2-daemp{position:absolute;inset:0;z-index:2;background:#1e1a16;opacity:0;pointer-events:none}
.ob2-ghost{position:absolute;border:2px solid #3f6cae;border-radius:7px;background:rgba(63,108,174,.22);opacity:0;
  font:600 12px Inter,sans-serif;color:#2c4f86;padding:4px 8px}
.ob2-ghost b{position:absolute;right:4px;top:-16px;transform:translateY(-50%);background:#2b2520;color:#fff;border-radius:7px;padding:5px 9px;
  font:700 12.5px Inter,sans-serif;white-space:nowrap}
.ob2-fx{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:5}
.ob2-lottie{position:absolute;left:0;top:0;width:480px;height:480px;transform-origin:0 0;z-index:6;pointer-events:none;opacity:0}
.ob2-tag{position:absolute;left:50%;bottom:14px;transform:translate(-50%,10px);z-index:8;opacity:0;transition:all .25s;
  background:rgba(43,37,32,.9);color:#fff;font:600 12.5px Inter,sans-serif;padding:7px 13px;border-radius:999px;white-space:nowrap}
.ob2-tag.vis{opacity:1;transform:translate(-50%,0)}
.ob2-tekst{padding:16px 20px 4px;min-height:150px}   /* plads til fire linjer, så kortet ikke hopper mellem trinene */
.ob2.pc .ob2-tekst{min-height:118px}
.ob2-tekst .sek{font:700 11px Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--c);margin-bottom:5px}
.ob2-tekst h3{margin:0 0 6px;font:600 20px "Lora",Georgia,serif;color:#2b2520;text-wrap:balance}
.ob2-tekst p{margin:0;color:#5f564d;font-size:14px;line-height:1.5;max-width:62ch}
.ob2-tekst kbd{font:600 12px Inter,sans-serif;background:#eee6dc;border-radius:5px;padding:1px 6px}
.ob2-fod{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 14px}
.ob2-spring{border:none;background:none;color:#958a7f;font:600 14px Inter,sans-serif;padding:10px 8px;cursor:pointer}
.ob2-prik{display:flex;gap:2px}
.ob2-prik button{border:0;background:none;padding:8px 2.5px;cursor:pointer;display:flex}
.ob2-prik i{display:block;width:7px;height:7px;border-radius:50%;background:#d9cfc3;transition:all .2s}
.ob2-prik .on i{background:#cf6a44;width:20px;border-radius:4px}
.ob2-naeste{border:none;background:#3f6cae;color:#fff;font:600 14px Inter,sans-serif;border-radius:999px;padding:11px 20px;cursor:pointer}
.ob2 button:focus-visible{outline:2px solid #cf6a44;outline-offset:2px}
@media (max-height:640px){.ob2-tekst{padding-top:12px;min-height:0}.ob2-tekst h3{font-size:18px}.ob2-tekst p{font-size:13px}}
@media (prefers-reduced-motion:reduce){.ob-overlay,.ob2{animation:none}}

/* ---------- Hvem kan se (post-formular + Lag & deling, 14/10-2026) ---------- */
.hvem-hoved{margin-top:14px}
.seg.hvem-seg{display:flex;width:100%;background:var(--hover)}
.seg.hvem-seg button{flex:1;padding:8px 6px;font-size:13px}
.hvem-linje{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:7px;font-size:12.5px;color:var(--ink-soft)}
.hvem-linje .lenke{border:0;background:none;color:var(--accent);font:inherit;font-size:12.5px;cursor:pointer;padding:4px 2px;
  text-decoration:underline;text-underline-offset:3px}
.hvem-chip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px 0 6px;border-radius:17px;
  border:1.5px solid var(--line-strong);background:var(--panel);font:inherit;font-size:13.5px;color:var(--ink);cursor:pointer}
.hvem-chip .p{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:700}
.hvem-chip.fra{opacity:.5;text-decoration:line-through;border-style:dashed}
.hvem-chip.fast{cursor:default}
.hvem-hint{flex-basis:100%;font-size:11.5px;color:var(--ink-faint)}
.paamind-linje .ik{font-size:11.5px;font-weight:600}

/* ---------- Ny post-formular, del 2: layout (14/10-2026, model prototype/post-form.html) ---------- */
.form-sheet{--terra:#cf6a44;--terra-soft:#f6e1d7}
.pf-top{display:flex;align-items:center;gap:8px;margin:0 0 8px}
.pf-top h2{flex:1;margin:0;font-size:18px;font-weight:600}
.pf-luk{width:36px;height:36px;border-radius:10px;border:0;background:var(--shade);font-size:20px;line-height:1;cursor:pointer;color:var(--ink)}
.pf-typer{display:flex;gap:8px;margin-bottom:12px}
.pf-typer .typ{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;height:42px;border-radius:12px;
  border:1.5px solid var(--line-strong);background:var(--panel);font:inherit;font-size:15px;cursor:pointer;color:var(--ink)}
.pf-typer .typ.on{border-color:var(--terra);background:var(--terra-soft);font-weight:600}
.ovs-top{display:flex;align-items:baseline;justify-content:space-between;margin:0 2px 4px;font-size:13px;color:var(--ink-soft)}
.ovs-top label{font-weight:700;color:var(--ink-soft)}
.ovs-taeller{font-variant-numeric:tabular-nums;font-size:12px}
.ovs-taeller.lang{color:#b3412b;font-weight:600}
.form-sheet .ovs .titel{font-weight:600}
.ovs-preview{display:flex;align-items:center;gap:6px;margin:6px 2px 12px;font-size:12px;color:var(--ink-soft)}
.ovs-celle{display:flex;align-items:center;gap:5px;width:150px;height:22px;padding:0 6px;border-radius:5px;background:#fff;
  border:1px solid var(--line);font-size:12px;color:var(--ink);white-space:nowrap;overflow:hidden}
.ovs-celle i{width:6px;height:6px;border-radius:50%;flex:none}
.ovs-celle span{overflow:hidden;text-overflow:ellipsis}
.pf-tid{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:12px;border:0;background:var(--shade);
  cursor:pointer;text-align:left;color:var(--ink);font:inherit;font-size:15px;margin-bottom:10px}
.pf-tid .ur{flex:none}
.pf-tid .tt{flex:1}
.pf-tid .tt small{display:block;color:var(--ink-soft);font-size:12px}
.pf-tid .ret{font-size:13px;color:var(--ink-soft);white-space:nowrap}
.tidpanel{border:1.5px solid var(--line-strong);border-radius:12px;padding:4px 12px;margin:-4px 0 10px;background:var(--panel)}
.tidpanel .raek{display:flex;align-items:center;gap:8px;min-height:44px}
.tidpanel .raek + .raek{border-top:1px solid var(--line)}
.tidpanel .raek label{flex:1;font-size:14px}
.sw{width:46px;height:28px;border-radius:14px;border:0;background:#d8d0c6;position:relative;cursor:pointer;flex:none;padding:0}
.sw::after{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:left .15s}
.sw.on{background:var(--terra)}
.sw.on::after{left:21px}
@media (prefers-reduced-motion: reduce){.sw::after{transition:none}}
.spoerg-link{display:flex;align-items:center;gap:8px;width:100%;margin-top:10px;padding:10px 12px;border:1.5px dashed #cfc6bb;border-radius:12px;
  background:transparent;color:var(--ink);font:inherit;font-size:14px;cursor:pointer;text-align:left}
.spoerg-link span{font-size:18px}
.inv-boks{margin-top:10px;border:1.5px solid var(--terra);background:var(--terra-soft);border-radius:12px;padding:10px 12px}
.inv-boks .inv-top{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}
.inv-boks .inv-top span{flex:1}
.inv-boks .lenke{border:0;background:none;color:var(--accent);font:inherit;font-size:13px;cursor:pointer;padding:4px 2px;text-decoration:underline;text-underline-offset:3px}
.inv-boks p{margin:4px 0 0;font-size:13px;color:var(--ink-soft);line-height:1.45}
.knapper .k-slet{flex:none;background:transparent;color:var(--danger);padding:11px 8px;margin-right:auto}

/* ---------- Ny post-formular, del 3: skrive-boks + beskrivelses-editor (14/10-2026) ---------- */
.skrive-boks{background:#fbf1ea;border:1.5px solid #ecd3c4;border-radius:16px;padding:10px 12px 12px;margin:2px 0 6px}
.skrive-boks .ovs-top{margin-top:2px}
.skrive-boks .felt-hoved{margin:12px 2px 4px}
.skrive-boks .titel{background:#fff!important;border-color:#e3cbbd!important}
.pf-editor{border:1.5px solid #e3cbbd;border-radius:14px;background:#fff;overflow:hidden}
.pf-editor:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(63,108,174,.12)}
.pf-editor .rt{font-size:15px;line-height:1.55;padding:11px 12px 6px;min-height:110px;outline:0;color:var(--ink);overflow-wrap:anywhere;cursor:text}
.pf-editor .rt.tom::before{content:attr(data-ph);color:#a39a91;pointer-events:none;position:absolute}
.pf-editor .rt ul,.pf-editor .rt ol{margin:4px 0;padding-left:22px}
.pf-editor .rt p{margin:0}
.ed-vedh{padding:0 12px 8px}
.ed-vedh.tom{padding:0}
.ed-toast{margin:0 12px 8px;padding:7px 10px;border-radius:9px;background:var(--ink);color:#fff;font-size:13px}
.ed-toast[hidden]{display:none}
.pf-vaerktoej{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:5px 6px;border-top:1px solid var(--line);background:var(--paper)}
.pf-vaerktoej > button{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex:none;border:0;border-radius:10px;
  background:transparent;color:var(--ink);cursor:pointer;padding:0;font:inherit}
.pf-vaerktoej > button:hover{background:var(--shade)}
.pf-vaerktoej > button:disabled{opacity:.4;cursor:default}
.pf-vaerktoej > button.on{background:var(--terra-soft);color:var(--terra)}
.pf-vaerktoej .fmt-b{font-weight:700;font-size:17px}
.pf-vaerktoej .fmt-i{font-style:italic;font-size:17px;font-family:Georgia,serif}
.pf-vaerktoej .em-knap{font-size:19px}
.pf-vaerktoej .skille{width:1px;height:22px;background:var(--line-strong);margin:0 4px;flex:none}
.pf-mik{display:contents}
.pf-mik .diktat-knapper{position:static;margin-left:auto;display:flex;gap:2px}
.pf-mik .diktat-status{flex-basis:100%;order:10;margin:4px 2px 2px}
.emoji-panel{display:none;border-top:1px solid var(--line);background:var(--paper);padding:4px 6px 6px}
.emoji-panel.aaben{display:block}
.em-faner{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;border-bottom:1px solid var(--line)}
.em-faner button{flex:none;width:40px;height:34px;border:0;border-radius:9px;background:transparent;font-size:18px;cursor:pointer;opacity:.55}
.em-faner button.on{background:var(--shade);opacity:1}
.em-grid{display:none;grid-template-columns:repeat(8,1fr);gap:2px;max-height:168px;overflow-y:auto;padding-top:4px}
.em-grid.on{display:grid}
.em-grid button{height:40px;border:0;border-radius:9px;background:transparent;font-size:23px;cursor:pointer;padding:0;
  font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif}
.em-grid button:hover{background:var(--shade)}
.ec-desc.md{white-space:normal}
.ec-desc.md ul{margin:4px 0;padding-left:20px}

/* ---------- Ny post-formular: finpudsning (14/10-2026) ---------- */
/* større ark på mobil (fast højde), og det følger det synlige område over tastaturet (js/editor.js → .tastatur) */
.sheet-overlay .form-sheet{max-height:min(92vh,calc(100% - 8px))}
@media (max-width:619px){.sheet-overlay .form-sheet{height:min(92vh,calc(100% - 8px))}}
.sheet-overlay.tastatur .form-sheet{height:calc(100% - 4px);max-height:none;border-radius:16px 16px 0 0}
/* type-knapper med appens "brik"-ikoner */
.pf-typer .typ{gap:9px;padding:0 10px}
.pf-typer .typ .brik{width:32px;height:32px;border-radius:9px;flex:none}
.pf-typer .typ .brik.til .ft{fill:#fff}
.pf-typer .typ.on{color:var(--terra)}
/* overskriftens pladsholder = beskrivelsens */
.form-sheet .ovs .titel::placeholder{font-weight:400;font-size:15px;color:#a39a91;opacity:1}
/* tre ens kort: hvem kan se · tilmelding · påmindelse */
.pf-sek{border:1.5px solid var(--line-strong);border-radius:14px;background:var(--panel);padding:10px 12px 12px;margin-top:10px}
.pf-sek-h{display:flex;align-items:center;gap:7px;font-weight:700;font-size:13px;color:var(--ink-soft);margin:0 0 8px}
.pf-sek-ik{font-size:15px;width:20px;text-align:center}
.seg.pf-seg{display:flex;width:100%;background:var(--hover)}
.seg.pf-seg button{flex:1;padding:8px 6px;font-size:13px}
.pf-sek .raek{display:flex;align-items:center;gap:8px;min-height:44px;border-top:1px solid var(--line)}
.pf-sek .seg + .raek{margin-top:8px}
.pf-sek .raek label{flex:1;font-size:14px}
.pf-sek .raek .seg{flex:none}
.pf-sek-hint{font-size:12px;color:var(--ink-faint);margin-top:6px;line-height:1.4}
.pf-sek .hvem-linje{margin-top:8px}
/* rettelser 14/10: placeholder følger med ved scroll; kortene i samme tone som skrive-boksen; påmindelse glider frem */
.pf-editor .rt{position:relative}
.pf-editor .rt.tom::before{left:12px;top:11px;right:12px}
.pf-sek{background:#fbf1ea;border-color:#ecd3c4}
.pf-sek .raek{border-top-color:#ecd3c4}
.pf-sek .seg.pf-seg,.pf-sek .seg.hvem-seg{background:#f1e2d8}
.pf-sek .seg.pf-seg button.valgt,.pf-sek .seg.hvem-seg button.valgt{background:#fff}
.pf-sek .raek{animation:raekInd .22s ease-out}
@keyframes raekInd{from{opacity:0;transform:translateY(6px)}}
@media (prefers-reduced-motion: reduce){.pf-sek .raek{animation:none}}

/* ---------- kompakt formular: fire sammenklappede kort (14/10-2026, prototype/post-form-kompakt.html) ---------- */
.skrive-boks + .pf-sek{margin-top:10px}
.pf-sek.fold{padding:0;margin-top:8px;overflow:hidden}
.fold-h{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;background:none;text-align:left;cursor:pointer;color:var(--ink);font:inherit}
.fold-h .pf-sek-ik{font-size:17px;width:24px;flex:none}
.fold-tx{flex:1;min-width:0}
.fold-tx b{display:block;font-size:14px;font-weight:600}
.fold-tx small{display:block;font-size:12.5px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.fold-tx small.aendret{color:var(--terra);font-weight:600}
.fold-pil{flex:none;color:var(--ink-faint);transition:transform .2s}
.pf-sek.fold.aaben .fold-pil{transform:rotate(180deg)}
.fold-h:disabled{cursor:default;opacity:.55}
.fold-krop{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}
.pf-sek.fold.aaben .fold-krop{grid-template-rows:1fr}
.fold-krop > div{overflow:hidden;min-height:0}
.fold-ind{padding:0 12px 12px}
.fold-ind > .raek:first-child{border-top:0}
.fold-ind > .raek:first-child,.pf-sek .fold-ind .raek{animation:none}
.pf-sek.fold .raek{min-height:44px}
@media (prefers-reduced-motion: reduce){.fold-krop,.fold-pil{transition:none}}

/* træk-for-at-lukke vs. Chromes "træk ned for at opdatere" (15/10-2026): mens et ark er åbent, er
   opdater-gestussen slået fra, og grebet + formularens toplinje overlader trækket til appen */
html:has(.sheet-overlay),html:has(.sheet-overlay) body{overscroll-behavior-y:none}
.sheet-overlay .sheet-body{overscroll-behavior-y:contain}
.form-sheet .sheet-grab{padding:6px 0 8px}
.form-sheet .pf-top{touch-action:none}
@media (max-width:619px){.sheet-overlay .form-sheet{height:min(88vh,calc(100% - 8px))}}
/* ---------- ☰ → Opgaver (16/10-2026, model prototype/opgaver.html) ---------- */
.opgaver{--terra:#cf6a44;--terra-soft:#fbf1ea;--terra-line:#ecd3c4;--radar:#fbf1ea;--radar-line:#ecd3c4;--back:#eef1ea;--back-line:#d6ddcf;
  position:fixed;inset:0;z-index:48;display:flex;flex-direction:column;background:var(--paper);animation:dagbogInd .28s cubic-bezier(.2,.8,.2,1)}
.opgaver.lukker{animation:dagbogUd .2s ease-in forwards}
.opg-top{background:var(--panel);border-bottom:1px solid var(--line)}
.opg-top .dagbog-titel{font-size:18px}
.opg-top-plads{width:84px;flex:none}
/* kategori-chips: vandret række (finger = scroll, mus = træk, se js/opgaver.js) */
.kat-chips{flex:none;display:flex;gap:9px;overflow-x:auto;padding:12px 14px 6px;scrollbar-width:none;cursor:grab;user-select:none;-webkit-user-select:none;
  touch-action:pan-x;overscroll-behavior-x:contain;width:100%}
.kat-chips::-webkit-scrollbar{display:none}
.kat-chips::after{content:"";flex:none;width:4px}
.kat-chips.traek{cursor:grabbing}
.kat-chips.traek .kat-chip{pointer-events:none}
.kat-chip{flex:none;display:flex;align-items:center;gap:8px;height:46px;padding:0 18px;border-radius:23px;border:1.5px solid var(--line-strong);
  background:var(--panel);color:var(--ink);font:inherit;font-size:15.5px;font-weight:500;cursor:pointer;white-space:nowrap;box-shadow:0 1px 3px rgba(66,48,28,.08)}
.kat-chip .ik{font-size:20px}
.kat-chip .n{font-size:12px;color:var(--ink-soft);background:var(--shade);border-radius:10px;padding:1px 7px;min-width:20px;text-align:center}
.kat-chip.valgt{background:var(--terra);border-color:var(--terra);color:#fff;font-weight:600}
.kat-chip.valgt .n{background:rgba(255,255,255,.25);color:#fff}
.kat-chip.ny{border-style:dashed;color:var(--ink-soft)}
.kat-ret{flex:none;display:flex;align-items:center;gap:8px;min-height:22px;padding:2px 14px 0;font-size:13px;color:var(--ink-soft);max-width:760px;width:100%;margin:0 auto}
/* kategori-linjen (16/10): ramme med tonede kanter + pile når rækken kan rulles; ret/ny som små ikon-knapper */
.kat-ramme{position:relative;flex:none;max-width:760px;width:100%;margin:0 auto}
.kat-ramme::before,.kat-ramme::after{content:"";position:absolute;top:0;bottom:0;width:44px;pointer-events:none;opacity:0;transition:opacity .2s;z-index:1}
.kat-ramme::before{left:0;background:linear-gradient(90deg,var(--paper) 25%,transparent)}
.kat-ramme::after{right:0;background:linear-gradient(270deg,var(--paper) 25%,transparent)}
.kat-ramme.mere-v::before,.kat-ramme.mere-h::after{opacity:1}
.kat-pil{position:absolute;top:calc(50% + 3px);transform:translateY(-50%);z-index:2;width:30px;height:30px;border-radius:50%;border:1px solid var(--line-strong);
  background:var(--panel);color:var(--ink);display:grid;place-items:center;padding:0;cursor:pointer;box-shadow:0 2px 6px rgba(66,48,28,.18);
  opacity:0;pointer-events:none;transition:opacity .2s}
.kat-pil.v{left:4px}
.kat-pil.h{right:4px}
.kat-ramme.mere-v .kat-pil.v,.kat-ramme.mere-h .kat-pil.h{opacity:1;pointer-events:auto}
.kat-knap{flex:none;width:36px;height:36px;border-radius:10px;border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);
  display:grid;place-items:center;padding:0;cursor:pointer}
.kat-knap:active{background:var(--shade)}
.kat-ret-tekst{flex:1}
.kat-ret{padding-top:4px}
.kat-ret .lenke{border:0;background:none;color:var(--ink-soft);font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:0}
/* lagene */
.opg-indhold{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 12px calc(96px + env(safe-area-inset-bottom,0px))}
.opg-indhold > *{max-width:736px;margin-left:auto;margin-right:auto}
.opg-bane{border-radius:16px;padding:10px 10px 12px;margin-top:12px;border:1px solid}
.opg-bane.radar{background:var(--radar);border-color:var(--radar-line)}
.opg-bane.backlog{background:var(--back);border-color:var(--back-line)}
.opg-bane.faerdig{background:var(--panel);border-color:var(--line-strong)}
.opg-bane .bane-h{display:flex;align-items:baseline;gap:8px;width:100%;padding:2px 4px 8px;border:0;background:none;font:inherit;color:var(--ink);text-align:left}
.opg-bane .bane-h b{font-size:15.5px}
.opg-bane .bane-h span{font-size:13px;color:var(--ink-soft)}
.opg-bane .bane-h .ant{margin-left:auto}
.opg-bane.faerdig .bane-h{cursor:pointer}
.opg-bane.faerdig .bane-h:disabled{cursor:default}
.opg-bane.lukket .bane-h{padding-bottom:2px}
.opg-bane.over{outline:2px dashed var(--terra);outline-offset:2px}
.opg-bane.faerdig.over{background:var(--terra-soft)}
.opg-liste{display:flex;flex-direction:column;gap:8px;min-height:46px}
.opg-tom{border:1.5px dashed var(--back-line);border-radius:12px;padding:13px;text-align:center;color:var(--ink-soft);font-size:13.5px}
.opg-bane.radar .opg-tom{border-color:var(--radar-line)}
.opg-bane.faerdig .opg-tom{border-color:var(--line-strong)}
/* kort */
.opg-kort{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer;user-select:none;-webkit-user-select:none;
  -webkit-touch-callout:none;touch-action:pan-y;position:relative}
.opg-kort .r1{display:flex;align-items:center;gap:8px}
.opg-kort .titel{flex:1;min-width:0;font-weight:600;font-size:15.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.opg-kort .hvem{font-size:14px;flex:none}
.opg-kort .ejer{flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:700}
.opg-kort .naeste{font-size:13px;color:var(--ink-soft);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.opg-kort .r2{display:flex;align-items:center;gap:8px;margin-top:8px}
.opg-kort .bar{flex:1;height:5px;background:var(--shade);border-radius:3px;overflow:hidden}
.opg-kort .bar i{display:block;height:100%;background:var(--terra);border-radius:3px}
.opg-kort .tal{font-size:12px;color:var(--ink-soft);min-width:40px;text-align:right;font-variant-numeric:tabular-nums}
.opg-kort.alt .bar i{background:var(--ok)}
.opg-kort.alt .tal{color:var(--ok);font-weight:600}
.opg-kort.lille{padding:8px 10px 8px 12px}
.opg-kort.lille .titel{font-weight:500;color:var(--ink-soft);text-decoration:line-through}
.slet-kort{flex:none;height:30px;padding:0 10px;border-radius:9px;border:1px solid var(--line-strong);background:var(--panel);color:var(--danger);font:inherit;font-size:13px;cursor:pointer}
.slet-kort.sikker{background:var(--danger);border-color:var(--danger);color:#fff;font-weight:600}
/* træk */
.opg-kort.opg-loeftet{opacity:.3}
.opg-spoegelse{position:fixed;z-index:80;pointer-events:none;margin:0;box-shadow:0 12px 28px rgba(0,0,0,.22);transform:rotate(-1.5deg) scale(1.03);opacity:.96}
.opg-streg{position:fixed;z-index:79;height:3px;border-radius:2px;background:var(--terra,#cf6a44);pointer-events:none}
.opg-streg[hidden]{display:none}
body.opg-traekker,body.opg-traekker *{cursor:grabbing!important;user-select:none!important;-webkit-user-select:none!important}
/* tom side / knapper */
.opg-tom-side{margin:48px auto 0;max-width:360px;text-align:center;color:var(--ink-soft);font-size:14px;line-height:1.5}
.opg-tom-side b{display:block;color:var(--ink);font-size:17px;margin:8px 0 4px}
.opg-tom-side p{margin:0 0 16px}
.opg-tom-ik{font-size:40px}
.opg-ok{border:0;background:var(--terra,#cf6a44);color:#fff;font:inherit;font-weight:600;font-size:14px;height:44px;padding:0 20px;border-radius:12px;cursor:pointer}
.opg-ok:disabled{opacity:.6}
.opg-ny{position:fixed;z-index:49;right:max(16px,calc(50% - 364px));bottom:calc(18px + env(safe-area-inset-bottom,0px));border:0;background:var(--terra);color:#fff;
  font:inherit;font-weight:600;font-size:15px;height:52px;padding:0 22px;border-radius:26px;box-shadow:0 6px 16px rgba(207,106,68,.35);cursor:pointer}
.opg-toast{position:fixed;z-index:90;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);max-width:92vw;
  background:var(--ink);color:var(--panel);border-radius:14px;padding:10px 14px;font-size:14px;animation:opgToast .22s ease-out;pointer-events:none}
@keyframes opgToast{from{opacity:0;transform:translate(-50%,16px)}}
/* opgave-arket (bruger postformularens editor-stil: .form-sheet, .skrive-boks, .pf-editor …) */
.opg-ark .pf-top{gap:10px}
.opg-ark-kat{flex:1;min-width:0;font-size:13.5px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.opg-status{font-size:12px;color:var(--ink-faint);white-space:nowrap}
.opg-status.fejl{color:var(--danger);font-weight:600}
.opg-punkter{margin-top:6px}
.opg-punkt{display:flex;align-items:center;gap:10px;min-height:44px;border-bottom:1px solid var(--line)}
.opg-tjek{flex:none;width:28px;height:28px;border-radius:8px;border:2px solid var(--ink-faint);background:transparent;cursor:pointer;display:grid;place-items:center;padding:0}
.opg-tjek svg{width:16px;height:16px;opacity:0;stroke:#fff;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}
.opg-punkt.ok .opg-tjek{background:var(--ok);border-color:var(--ok)}
.opg-punkt.ok .opg-tjek svg{opacity:1}
.opg-punkt-tekst{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:16px;color:var(--ink);padding:8px 0;outline:none}
.opg-punkt.ok .opg-punkt-tekst{text-decoration:line-through;color:var(--ink-soft)}
.opg-af{flex:none;font-size:12px;color:var(--ink-faint);white-space:nowrap}
.opg-fjern{flex:none;width:32px;height:32px;border:0;background:none;color:var(--ink-faint);font-size:20px;cursor:pointer;border-radius:8px}
.opg-fjern:hover{background:var(--hover)}
.opg-tilfoej{display:flex;align-items:center;gap:10px;min-height:44px}
.opg-tilfoej .plus{flex:none;width:28px;height:28px;border-radius:8px;border:2px dashed #e3cbbd;display:grid;place-items:center;color:var(--terra);font-weight:700;cursor:pointer;margin:0;
  position:relative;user-select:none;-webkit-user-select:none}
.opg-tilfoej .plus::after{content:"";position:absolute;inset:-9px}
.opg-tilfoej .plus:active{background:#fbf1ea}
.opg-tilfoej input{flex:1;min-width:0;border:0;border-bottom:1px solid transparent;background:transparent;font:inherit;font-size:16px;color:var(--ink);padding:9px 0;outline:none}
.opg-tilfoej input:focus{border-bottom-color:var(--terra)}
.opg-udf-h{display:flex;align-items:center;margin-top:16px;font-size:13px;color:var(--ink-soft)}
.opg-udf-h .lenke{margin-left:auto;border:0;background:none;color:var(--ink-soft);font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:6px 2px}
.opg-tilbud{display:flex;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--ok) 13%,var(--panel));
  border:1px solid color-mix(in srgb,var(--ok) 40%,transparent);font-size:14px;font-weight:600}
.opg-tilbud span{flex:1}
.opg-tilbud button{border:0;background:var(--ok);color:#fff;font:inherit;font-weight:600;font-size:13.5px;border-radius:10px;padding:8px 12px;cursor:pointer}
.opg-sek{margin-top:12px}
.opg-sek .raek{margin-top:8px}
.opg-sek .valg-in{max-width:60%}
.opg-fod{align-items:center;padding-bottom:6px}
.opg-fod button{flex:none}
.opg-fod .opg-marker{margin-left:auto;border:1px solid #ecd3c4;background:#fbf1ea;color:var(--ink);height:44px;padding:0 14px;border-radius:12px;font-weight:600}
.opg-fod .opg-ok{flex:none}
/* kategori-arket */
.opg-kat-ark{--terra:#cf6a44;max-width:560px}
.opg-kat-ark .sheet-body{padding:4px 16px calc(14px + env(safe-area-inset-bottom,0px))}
.opg-kat-ark .pf-top{touch-action:none}
.opg-kat-ark .kat-navn{width:100%;border:1px solid var(--line-strong);border-radius:11px;padding:11px 12px;font:inherit;font-size:16px;font-weight:600;color:var(--ink);background:var(--paper);outline:none}
.opg-kat-ark .kat-navn:focus{border-color:var(--accent)}
.kat-lbl{font-size:13px;color:var(--ink-soft);font-weight:600;margin:14px 2px 6px}
.kat-ikoner{display:flex;flex-wrap:wrap;gap:6px}
.kat-ikoner button{width:44px;height:44px;border-radius:12px;border:1px solid var(--line-strong);background:var(--panel);font-size:22px;cursor:pointer;padding:0}
.kat-ikoner button.valgt{border-color:var(--terra);background:#fbf1ea;box-shadow:inset 0 0 0 1px var(--terra)}
.opg-kat-ark .knapper{align-items:center}
.opg-kat-ark .knapper .opg-ok{flex:none;margin-left:auto}
@media (prefers-reduced-motion:reduce){.opgaver,.opgaver.lukker,.opg-toast{animation:none}}

/* nyt punkt: ✓-knap der opretter punktet (16/10) */
.opg-tilfoej-ok{flex:none;width:36px;height:36px;border-radius:10px;border:0;background:var(--terra,#cf6a44);display:grid;place-items:center;cursor:pointer;padding:0}
.opg-tilfoej-ok svg{width:18px;height:18px;stroke:#fff;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* ---------- opgave-arket saneret (16/10): punkter som brikker, sammenklappede kort, Annullér/Gem ---------- */
.opg-ark .opg-ovs{margin-bottom:4px}
.opg-punkt-h{display:flex;align-items:baseline;gap:8px;margin:14px 2px 8px}
.opg-punkt-h b{font-size:15px}
.opg-punkt-h span{margin-left:auto;font-size:12.5px;color:var(--ink-soft)}
.opg-brikker{display:flex;flex-direction:column;gap:7px}
.opg-brik{display:flex;align-items:center;gap:10px;min-height:50px;padding:6px 4px 6px 10px;border-radius:13px;border:1.5px solid var(--line-strong);
  background:var(--panel);box-shadow:0 1px 2px rgba(66,48,28,.08);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.opg-brik.ok{background:color-mix(in srgb,var(--ok) 8%,var(--panel));border-color:color-mix(in srgb,var(--ok) 30%,var(--line-strong))}
.opg-brik .opg-tjek{align-self:center}
.opg-brik.ok .opg-tjek{background:var(--ok);border-color:var(--ok)}
.opg-brik.ok .opg-tjek svg{opacity:1}
.brik-krop{flex:1;min-width:0}
.brik-vis{display:flex;align-items:center;gap:8px;border:0;background:none;padding:8px 0;font:inherit;color:var(--ink);text-align:left;cursor:pointer}
.brik-linje{flex:1;min-width:0;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.opg-brik.ok .brik-linje{text-decoration:line-through;color:var(--ink-soft)}
.brik-greb{flex:none;width:36px;height:40px;display:grid;place-items:center;color:var(--ink-faint);cursor:grab;touch-action:none}
.brik-greb svg{fill:currentColor}
/* forstørret brik: hele teksten kan læses og rettes */
.opg-brik.stor{align-items:flex-start;padding-top:10px;border-color:var(--terra,#cf6a44);box-shadow:0 6px 18px rgba(66,48,28,.16);
  user-select:text;-webkit-user-select:text;animation:brikStor .16s ease-out}
@keyframes brikStor{from{transform:scale(.98)}}
.opg-brik.stor .opg-tjek{margin-top:6px;align-self:flex-start}
.opg-brik.stor .brik-greb{align-self:flex-start;height:32px}
.brik-tekst{width:100%;border:1px solid var(--line-strong);border-radius:10px;padding:8px 10px;font:inherit;font-size:16px;line-height:1.45;color:var(--ink);
  background:var(--paper);resize:none;field-sizing:content;min-height:64px;outline:none}
.brik-tekst:focus{border-color:var(--accent)}
.brik-mere{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:8px 0 2px;flex-wrap:wrap}
.brik-mere .opg-af{margin-right:auto}
.brik-fjern{border:0;background:none;color:var(--danger);font:inherit;font-size:13.5px;cursor:pointer;padding:6px 4px}
.brik-ok{border:0;background:var(--terra,#cf6a44);color:#fff;font:inherit;font-weight:600;font-size:13.5px;border-radius:9px;padding:7px 14px;cursor:pointer}
/* slet/luk i den forstørrede brik: ikoner (16/10) */
.brik-ikon{width:40px;height:40px;border-radius:11px;border:1px solid var(--line-strong);background:var(--panel);display:grid;place-items:center;cursor:pointer;padding:0}
.brik-ikon.slet{color:var(--danger)}
.brik-ikon.luk{color:var(--ink);background:var(--shade);border-color:transparent}
.opg-brikker .opg-brik.opg-loeftet{opacity:.3}
.opg-ark .opg-tilfoej{margin-top:4px;padding:0 4px 0 10px}
.opg-ark .pf-sek.fold:first-of-type{margin-top:14px}
.opg-ark #opg-kort-bag{margin-top:16px}
.opg-ark .fold-ind .pf-editor{margin-top:2px}
.kat-valg{display:flex;flex-wrap:wrap;gap:6px}
.kat-valg button{height:36px;padding:0 12px;border-radius:18px;border:1px solid var(--line-strong);background:var(--panel);font:inherit;font-size:13.5px;cursor:pointer;color:var(--ink)}
.kat-valg button.valgt{background:var(--terra,#cf6a44);border-color:var(--terra,#cf6a44);color:#fff;font-weight:600}
/* opgave-arket: visning ⇄ redigering (16/10) */
.opg-ark .pf-top .opg-tilstand{flex:none;display:flex;background:var(--hover)}
.opg-ark .pf-top .opg-tilstand button{padding:7px 12px;font-size:13px}
.opg-ark .pf-top .opg-status{flex:1;text-align:right}
.opg-vis-titel{margin:4px 2px 2px;font-family:"Lora",Georgia,serif;font-size:22px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}
.opg-vis-hvem{margin:0 2px 6px;font-size:13px;color:var(--ink-soft)}
.opg-vis-bag .ec-desc{font-size:14.5px;color:var(--ink);line-height:1.5;margin-top:8px}
.opg-vis-bag .bk-bane{border-radius:12px}
#opg-kort-vbag.aaben .fold-tx small{display:none}

/* ---------- Forside (16/10-2026, B2 "Overblik" + N1 "Forside-brik" — prototype/forside.html) ----------
   Fuldskærm ovenpå kalenderen (z 36: over appbar/zoom-lag, under ☰-skuffen 40, dagbog/opgaver 48 og ark 55).
   31/10-2026: v2 "Fokus-karrusel" (prototype/forside-karrusel.html) — se blokken "Forside v2" lige under fanernes indhold.
   .fs-fane er fælles grundlag for kalenderen og karrusel-kortene. */
.forside{position:fixed;inset:0;z-index:36;background:#f7f2ec;color:#2b2420;animation:fsInd .22s ease-out}
@keyframes fsInd{from{opacity:0}to{opacity:1}}
.fs-indre{height:100%;max-width:720px;margin:0 auto;display:flex;flex-direction:column}
.fs-top{flex:none;padding:calc(24px + env(safe-area-inset-top,0px)) 22px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.fs-dato{display:flex;align-items:baseline;gap:10px;min-width:0}
.fs-dag{font-family:"Lora",Georgia,serif;font-size:56px;line-height:.9;font-weight:500;color:#b5532f}
.fs-dato-tekst{display:flex;flex-direction:column;gap:2px;min-width:0}
.fs-ugedag{font-family:"Lora",Georgia,serif;font-size:19px;font-weight:600}
.fs-md{font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#8a5a44}
.fs-menu{flex:none;width:44px;height:44px;border:0;border-radius:14px;background:#ebe2d7;color:#2b2420;display:grid;place-items:center;cursor:pointer}
.fs-menu:hover{background:#e2d7c7}
.fs-fane{flex:1 1 0;min-height:0;margin-top:-28px;position:relative;overflow:hidden;cursor:pointer;border-radius:30px 30px 0 0;color:#fff;
  padding:20px 22px calc(36px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:12px;box-shadow:0 -10px 24px rgba(43,36,32,.16);
  -webkit-tap-highlight-color:transparent;transition:filter .15s}
.fs-fane:first-child{margin-top:0}
.fs-fane:active{filter:brightness(1.06)}
.fs-fane:focus-visible{outline:3px solid #f0d9a8;outline-offset:-3px}
.fs-kal{background:#b5532f}
.fs-opg{background:#4d7353}
.fs-db{background:#2f4a6d}
.fs-fane-h{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}
.fs-navn{font-family:"Lora",Georgia,serif;font-size:30px;font-weight:600;line-height:1}
.fs-tal{flex:none;font-size:13px;font-weight:600;opacity:.9}
.fs-uge{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;width:100%}
.fs-ud{display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 0 6px;border:0;border-radius:12px;background:transparent;color:#fff;font:inherit;cursor:pointer}
.fs-ud:hover{background:rgba(255,255,255,.14)}
.fs-ud small{font-size:10px;font-weight:600;opacity:.85}
.fs-ud b{font-size:15px;font-weight:600}
.fs-ud i{width:4px;height:4px;border-radius:50%;background:transparent}
.fs-ud i.prik{background:rgba(255,255,255,.8)}
.fs-ud.idag,.fs-ud.idag:hover{background:#fff;color:#a94f2e}
.fs-ud.idag i.prik{background:#a94f2e}
.fs-bjaelke{display:flex;height:10px;border-radius:5px;overflow:hidden;gap:3px;width:100%}
.fs-bjaelke span{min-width:6px}
.fs-bjaelke .radar{background:#f0d9a8}
.fs-bjaelke .backlog{background:rgba(255,255,255,.45)}
.fs-bjaelke .faerdig{background:rgba(255,255,255,.9)}
.fs-bjaelke.tom{background:rgba(255,255,255,.18)}
.fs-opg-tal{display:flex;gap:14px;font-size:12px;font-weight:600;opacity:.9}
.fs-db-dage{display:flex;gap:8px;width:100%}
.fs-db-dage span{flex:1;height:28px;border-radius:8px;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4)}
.fs-db-dage span.skrevet{background:rgba(255,255,255,.85);box-shadow:none}
.fs-db-dage span.idag{box-shadow:inset 0 0 0 2px #f0d9a8}
.fs-db-tekst{font-size:13px;opacity:.85}

/* ---------- Forside v2 "Fokus-karrusel" (31/10-2026, prototype/forside-karrusel.html) ----------
   Én terrakotta-flade: kalenderen fylder resten af højden; nederst en vandret karrusel med sektionskortene (js/forside.js).
   Kortene er afrundede hele vejen rundt; nabokortene stikker ~12 px ind (padding 18 − gap 6). Prikkerne ligger på kortene. */
.fs-flade{flex:1;min-height:0;display:flex;flex-direction:column;background:#b5532f;border-radius:30px 30px 0 0;color:#fff;
  padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}
.fs-flade > .fs-kal{flex:1 1 auto;min-height:0;margin:0;border-radius:30px 30px 0 0;box-shadow:none;padding:20px 22px 14px}
.fs-kal .fs-navn{font-size:28px}
.fs-ag{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:2px;
  -webkit-mask-image:linear-gradient(#000 78%,transparent);mask-image:linear-gradient(#000 78%,transparent)}
.fs-ag-d{flex:none;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75;margin:7px 0 2px}
.fs-ag-d:first-child{margin-top:0}
.fs-ag-p{flex:none;display:flex;gap:10px;align-items:baseline;background:rgba(255,255,255,.13);border-radius:10px;padding:8px 10px;min-width:0}
.fs-ag-p .kl{flex:none;width:38px;font-size:12px;font-weight:700;opacity:.9}
.fs-ag-p .ti{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.fs-ag-p.mk{background:transparent;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35)}
.fs-ag-tom{font-size:13px;opacity:.85}
.fs-kar{flex:none;display:flex;gap:6px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 18px;
  overscroll-behavior-x:contain;-webkit-user-select:none;user-select:none}
.fs-kar::-webkit-scrollbar{display:none}
.fs-kar:focus{outline:none}
.fs-kar.traek{scroll-snap-type:none;cursor:grabbing}
.fs-kar > .fs-fane{flex:none;width:100%;height:184px;min-height:0;margin:0;scroll-snap-align:center;scroll-snap-stop:always;border-radius:24px;
  padding:16px 16px 26px;gap:11px;box-shadow:0 6px 18px rgba(60,25,10,.28)}
.fs-kar .fs-navn{font-size:21px;white-space:nowrap}
.fs-kar .fs-tal{font-size:12px}
.fs-prikker{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:6px;pointer-events:none}
.fs-prikker i{width:6px;height:6px;border-radius:3px;background:rgba(255,255,255,.35)}
.fs-prikker i.v{width:16px;background:#fff}
@media (max-height:700px){.fs-kar > .fs-fane{height:170px}.fs-dag{font-size:46px}}
/* N1: forside-brikken i appbaren (erstatter ☰) — tre stablede faner i sektionsfarverne */
.brik.fs-brik svg{stroke:none}
.brik.fs-brik .fk{fill:#b5532f}
.brik.fs-brik .fo{fill:#4d7353}
.brik.fs-brik .fdb{fill:#2f4a6d}
/* Forside-brikken som tilbage-knap i dagbog/opgaver (når de er åbnet fra forsiden) */
.dagbog-top > .fs-brik{flex:none}
.dagbog-top:has(> .fs-brik) .opg-top-plads{width:40px}
/* kategori-linjen hører til topbjælken (16/10): samme flade som toppen, skygge mod opgaverne, Ret/Ny med tekst til højre */
.opg-top:has(+ .kat-bjaelke){border-bottom-color:transparent}
.kat-bjaelke{flex:none;background:var(--panel);border-bottom:1px solid var(--line-strong);box-shadow:0 3px 8px rgba(66,48,28,.07);padding-bottom:10px;position:relative;z-index:1}
.kat-bjaelke .kat-chips{padding-top:8px}
.kat-bjaelke .kat-ramme::before{background:linear-gradient(90deg,var(--panel) 25%,transparent)}
.kat-bjaelke .kat-ramme::after{background:linear-gradient(270deg,var(--panel) 25%,transparent)}
.kat-bjaelke .kat-ret{justify-content:flex-end;padding-top:2px}
.kat-bjaelke .kat-ret-tekst{text-align:left}
.kat-knap.tekst{width:auto;height:34px;display:flex;align-items:center;gap:6px;padding:0 12px 0 9px;font:inherit;font-size:13px;font-weight:600;background:var(--paper)}
.kat-knap.tekst svg{width:17px;height:17px}

/* ---------- kategorier som fliser (16/10, prototype/kategorier.html — Oles valg B + ✎) ---------- */
.kat-bjaelke{padding:8px 12px 12px}
.kat-valgt{width:100%;max-width:736px;margin:0 auto;display:flex;align-items:center;gap:10px;height:56px;padding:0 16px;border-radius:16px;border:0;
  background:var(--terra,#cf6a44);color:#fff;font:inherit;cursor:pointer;text-align:left;box-shadow:0 4px 12px rgba(207,106,68,.28)}
.kat-valgt .ik{font-size:24px;line-height:1}
.kat-valgt b{font-size:17px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kat-valgt small{margin-left:auto;font-size:13px;opacity:.92;white-space:nowrap}
.kat-pil-ned{flex:none;transition:transform .2s}
.kat-valgt[aria-expanded="true"] .kat-pil-ned{transform:rotate(180deg)}
.kat-delt-tekst{max-width:736px;margin:8px auto 0;font-size:13px;color:var(--ink-soft)}
.kat-panel{position:absolute;left:0;right:0;top:100%;z-index:6;background:var(--panel);padding:12px 12px 16px;border-bottom:1px solid var(--line-strong);
  box-shadow:0 18px 30px rgba(66,48,28,.18);max-height:min(70vh,560px);overflow-y:auto;overscroll-behavior:contain;animation:katNed .22s ease-out}
.kat-panel .kat-fliser{max-width:736px;margin:0 auto}
@keyframes katNed{from{opacity:0;transform:translateY(-10px)}}
.kat-skygge{position:fixed;inset:0;z-index:2;background:rgba(40,30,20,.18)}
.kat-bjaelke{z-index:5}
.kat-start{max-width:736px;margin:0 auto;padding:12px 2px 24px}
.kat-start h3{margin:2px 2px 12px;font-size:12.5px;font-weight:600;color:var(--ink-soft);letter-spacing:.05em;text-transform:uppercase}
.kat-fliser{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.kat-flise{position:relative;min-height:104px;border-radius:18px;border:1.5px solid var(--line-strong);background:var(--panel);padding:14px 44px 12px 14px;
  display:flex;flex-direction:column;align-items:flex-start;gap:4px;cursor:pointer;text-align:left;box-shadow:0 2px 6px rgba(66,48,28,.08);
  font:inherit;color:var(--ink);-webkit-user-select:none;user-select:none;transition:transform .12s}
.kat-flise:active{transform:scale(.98)}
.kat-flise .ik{font-size:30px;line-height:1}
.kat-flise b{font-size:16px;font-weight:600;margin-top:4px;overflow-wrap:anywhere}
.kat-flise small{font-size:12.5px;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.kat-flise small em{font-style:normal;color:var(--terra,#cf6a44);font-weight:600}
.kat-flise.valgt{border-color:var(--terra,#cf6a44);background:#fbf1ea;box-shadow:inset 0 0 0 1.5px var(--terra,#cf6a44)}
.kat-flise.delt{background:#f3f0fa;border-color:#d9d2ea;padding-right:14px}
.kat-flise.ny{border-style:dashed;background:transparent;box-shadow:none;justify-content:center;align-items:center;color:var(--ink-soft);padding:14px}
.kat-flise.ny .ik{color:var(--terra,#cf6a44)}
.kat-flise.ny b{font-size:14px;margin:0}
.kat-ret-ik{position:absolute;top:8px;right:8px;width:34px;height:34px;border-radius:10px;border:0;background:rgba(51,44,37,.06);
  display:grid;place-items:center;cursor:pointer;color:var(--ink-soft);padding:0}
.kat-ret-ik:active{background:rgba(51,44,37,.12)}
@media (prefers-reduced-motion:reduce){.kat-panel,.kat-flise{animation:none;transition:none}}

/* ---------- opgavekort som post-it (16/10, prototype/opgavekort.html variant B — Oles valg) ---------- */
/* banerne træder tilbage, så kortene er blikfanget; Færdige-kortene er uændrede */
.opg-bane.radar,.opg-bane.backlog{background:transparent;border:1.5px dashed #e6c9b8}
.opg-bane.backlog{border-color:#cdd6c4}
.opg-bane.radar .opg-liste,.opg-bane.backlog .opg-liste{gap:14px;isolation:isolate}
.opg-bane.radar .opg-kort,.opg-spoegelse.fra-radar{border:0;border-radius:2px;padding:16px 15px 13px;color:#3d2c1f;
  background:linear-gradient(180deg,rgba(120,60,20,.06),rgba(120,60,20,0) 16px,rgba(255,255,255,0) 40%,rgba(255,255,255,.18)),#f8c193;
  box-shadow:0 1px 1px rgba(80,45,20,.10),0 2px 4px rgba(80,45,20,.08)}
.opg-bane.backlog .opg-kort,.opg-spoegelse.fra-backlog{border:0;border-radius:2px;padding:16px 15px 13px;color:#2e3a24;
  background:linear-gradient(180deg,rgba(40,70,20,.06),rgba(40,70,20,0) 16px,rgba(255,255,255,0) 40%,rgba(255,255,255,.2)),#cfe3b4;
  box-shadow:0 1px 1px rgba(50,70,30,.10),0 2px 4px rgba(50,70,30,.08)}
/* den let løftede hjørne-skygge (bag kortet) */
.opg-bane.radar .opg-kort::before,.opg-bane.backlog .opg-kort::before{content:"";position:absolute;z-index:-1;right:6px;bottom:7px;width:55%;height:24px;
  box-shadow:4px 9px 11px rgba(60,35,15,.32);transform:rotate(3deg);border-radius:40%;pointer-events:none}
.opg-bane.radar .opg-kort:nth-child(even)::before,.opg-bane.backlog .opg-kort:nth-child(even)::before{right:auto;left:6px;width:45%;
  transform:rotate(-2.5deg);box-shadow:-3px 8px 10px rgba(60,35,15,.28)}
.opg-bane.radar .opg-kort .titel,.opg-bane.backlog .opg-kort .titel,.opg-spoegelse .titel{font-family:Lora,Georgia,serif;font-size:18px;font-weight:600}
.opg-bane.radar .opg-kort .naeste,.opg-bane.backlog .opg-kort .naeste,.opg-spoegelse .naeste{color:currentColor;opacity:.78}
.opg-bane.radar .opg-kort .tal,.opg-bane.backlog .opg-kort .tal,.opg-spoegelse .tal{color:currentColor;opacity:.72}
.opg-bane.radar .opg-kort .bar,.opg-bane.backlog .opg-kort .bar,.opg-spoegelse .bar{background:rgba(90,50,20,.14)}
.opg-bane.radar .opg-kort .bar i,.opg-spoegelse.fra-radar .bar i{background:#b5532f}
.opg-bane.backlog .opg-kort .bar i,.opg-spoegelse.fra-backlog .bar i{background:#5f7f59}
.opg-bane .opg-kort.alt .bar i,.opg-spoegelse.alt .bar i{background:var(--ok)}
/* greb-prikker: kortet kan trækkes */
.opg-bane.radar .opg-kort::after,.opg-bane.backlog .opg-kort::after{content:"";position:absolute;right:10px;bottom:30px;width:10px;height:16px;opacity:.35;
  background:radial-gradient(circle,currentColor 1.4px,transparent 1.6px) 0 0/5px 5.5px;pointer-events:none}
.opg-bane.over{outline-offset:3px}

/* ---------- Dagbog: side-vending som i en bog (16/10-2026, prototype/dagbog-bladring.html — "Bøjet side, langsom") ----------
   js/dagbog.js skjuler den rigtige side mens der vendes og tegner vendingen med kopier i .dv-klip (ovenpå .dagbog-bord). */
.dagbog-bord{touch-action:pan-y}
.dagbog-bord.vender{user-select:none;-webkit-user-select:none}
.dagbog-bord.vender .dagbog-side{visibility:hidden}
.dv-klip{position:fixed;z-index:3;overflow:hidden;pointer-events:none}
.dv-lag{position:absolute;perspective:2200px;perspective-origin:0 50%}
.dv-lag .dagbog-side{position:absolute;margin:0;max-width:none;min-height:0;animation:none;box-sizing:border-box}
.dv-under,.dv-skygge,.dv-blad{position:absolute;inset:0}
.dv-blad{transform-style:preserve-3d}
.dv-strip{position:absolute;top:0;height:100%;transform-origin:0 50%;transform-style:preserve-3d}
.dv-for,.dv-bag{position:absolute;inset:0;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.dv-for .dagbog-side{box-shadow:inset 14px 0 14px -12px rgba(90,60,30,.28)}
.dv-bag{transform:rotateY(180deg);background:repeating-linear-gradient(to bottom,transparent 0 27px,rgba(232,220,200,.55) 27px 28px),#f6eddc}
.dv-lys{position:absolute;inset:0}

/* UX rød tråd, del 1 (18/10-2026 — prototype/ux-roed-traad, js/knib.js): knib ud = ét niveau ind, knib ind = ét niveau ud;
   forsiden er niveau 1. Dagbog og Opgaver zoomer ind fra det sted, man trykkede/kneb (--knib-x/--knib-y sættes af knib.js),
   og forsiden zoomer ud på plads (kommer en anelse forstørret ind). */
@keyframes knibInd{from{opacity:0;transform:scale(.55)}to{opacity:1;transform:none}}
@keyframes knibTilForside{from{opacity:0;transform:scale(1.12)}to{opacity:1;transform:none}}
.dagbog:not(.lukker),.opgaver:not(.lukker){animation:knibInd .3s cubic-bezier(.2,.8,.2,1);transform-origin:var(--knib-x,50%) var(--knib-y,50%)}
.forside{animation:knibTilForside .28s cubic-bezier(.2,.8,.2,1);transform-origin:var(--knib-x,50%) var(--knib-y,50%)}
@media (prefers-reduced-motion:reduce){.dagbog:not(.lukker),.opgaver:not(.lukker),.forside{animation:none}}
/* UX rød tråd — knib-styret visning (18/10-2026): åbnet/monteret af et knib → ingen indgangs-animation; knib.js /
   winbergGestus toner og skalerer den ind i takt med fingrene (inline opacity/transform). Luk-animationen (.lukker) virker stadig. */
.forside.knib-styret,.dagbog.knib-styret:not(.lukker),.opgaver.knib-styret:not(.lukker){animation:none}

/* UX rød tråd, del 2 (18/10-2026 — prototype/ux-roed-traad/Main.dc.html): posten folder sig ud som kort (PostDetalje).
   js/knib.js styrer udfoldningen (clip-path fra blokken + dække i postens farve via --pk-dek); kort og baggrund starter med
   inline opacity:0. z-index 45: over appbar (30) og zoom-lag (25), under dagbog/opgaver (48) og ark (55). */
.pk-lag{position:fixed;inset:0;z-index:44;background:rgba(30,26,22,.35)}
.post-kort{position:fixed;z-index:45;left:10px;right:10px;top:calc(var(--appbar-h,61px) + 6px);bottom:10px;
  max-width:560px;margin:0 auto;display:flex;flex-direction:column;overflow:hidden;border-radius:18px;
  background:var(--panel);color:var(--ink);box-shadow:0 18px 40px -12px rgba(0,0,0,.45)}
.post-kort::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:color-mix(in srgb,var(--c) 15%,var(--panel));box-shadow:inset 3px 0 0 var(--c);opacity:var(--pk-dek,0)}
.pk-baand{flex:none;background:var(--c);color:#fff;padding:12px 12px 16px 18px;display:flex;flex-direction:column;gap:6px}
.pk-baand.lys{color:#3a2f12}
.pk-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.pk-type{font-size:13px;opacity:.92;display:flex;align-items:center;gap:6px;min-width:0}
.pk-luk{flex:none;width:40px;height:40px;border:0;border-radius:12px;background:rgba(255,255,255,.22);color:inherit;
  display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer}
.pk-titel{margin:0;font-family:Lora,Georgia,serif;font-size:25px;font-weight:700;line-height:1.2;overflow-wrap:anywhere}
.pk-tid{align-self:flex-start;background:rgba(255,255,255,.22);border-radius:999px;padding:6px 12px;font-size:14px}
.pk-indhold{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:16px 18px 20px;display:flex;flex-direction:column;gap:16px}
.pk-sek{display:flex;flex-direction:column;gap:5px;background:#f6f1ea;border-radius:12px;padding:12px 14px}
.pk-lbl{font-size:12px;color:#7a7068;letter-spacing:.04em;text-transform:uppercase}
.pk-vaerdi{font-size:15px}
.pk-vaerdi.sendt{color:var(--ink-faint)}
.pk-sek .ec-desc{margin-top:0;font-size:15px;line-height:1.45;color:var(--ink)}
.pk-sek.rsvp{margin-top:0;border-top:0;padding-top:12px}
.pk-indhold .bk.banner{margin:0;border-radius:12px;overflow:hidden;flex-shrink:0}   /* må ikke klemmes, når tilmeldingslisten gør kortet langt */
.pk-bar{flex:none;height:70px;border-top:1px solid #eee5db;display:flex;justify-content:space-around;align-items:center;padding:0 4px;background:var(--panel)}
.pk-knap{width:64px;height:56px;border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  font-size:11px;color:#5e554d;font-family:inherit;cursor:pointer;border-radius:12px}
.pk-knap:active{background:var(--shade)}
.pk-knap.slet{color:#b23a2b}
.pk-bekraeft{flex:1;margin:0 6px;height:46px;border:1px solid var(--line-strong);border-radius:12px;background:var(--panel);font-size:15px;font-family:inherit;cursor:pointer}
.pk-bekraeft.slet{background:#b23a2b;border-color:#b23a2b;color:#fff}

/* UX rød tråd, del 3 (18/10-2026 — prototype/ux-roed-traad/Opgaver.dc.html): en opgave åbnet fra sin post-it folder sig ud
   som en stor post-it (OpgaveArk .udfold) oven på oversigten. js/knib.js styrer udfoldningen (translate + clip-path fra
   post-it'en, dække i post-it-farven via --pk-dek, baggrundens alfa). --c = lag-farven (Radar fersken / Reserve grøn). */
.sheet-overlay.udfold{animation:none;display:block}
.opg-ark.udfold{position:absolute;left:12px;right:12px;top:56px;bottom:12px;margin:0 auto;max-width:560px;width:auto;height:auto;max-height:none;
  border-radius:2px;animation:none;color:#3d2c1f;
  background:linear-gradient(180deg,rgba(120,60,20,.07),rgba(120,60,20,0) 24px,rgba(255,255,255,0) 40%,rgba(255,255,255,.18)),var(--c);
  box-shadow:0 2px 3px rgba(0,0,0,.12),0 30px 40px -18px rgba(0,0,0,.55)}
.opg-ark.udfold::after{content:"";position:absolute;inset:0;pointer-events:none;background:var(--c);opacity:var(--pk-dek,0)}
.opg-ark.udfold .sheet-grab{display:none}
.opg-ark.udfold .pf-top{touch-action:auto}
.opg-ark.udfold .pf-luk.opg-fold{width:40px;height:40px;border:0;border-radius:12px;background:rgba(255,255,255,.4);color:#2b2622;
  display:flex;align-items:center;justify-content:center;padding:0;font-size:0}
.opg-ark.udfold .opg-vis-titel{font-size:25px}
.sheet-overlay.tastatur .opg-ark.udfold{top:6px;bottom:6px;height:auto}
@media(min-width:620px){.opg-ark.udfold{top:70px;bottom:4vh}}

/* UX rød tråd, del 4 (18/10-2026 — prototype/ux-roed-traad/Dagbog.dc.html): dagbogens øverste niveau er den lukkede
   læderbog + søgning + månedsgitter (.db-omslag). Siden (.dagbog-bord) ligger altid i DOM'en (js/dagbog.js er sat på den)
   — skjult mens omslaget er niveauet, over omslaget mens bogen åbnes/lukkes (.overgang). js/knib.js folder den ud/ind. */
.db-krop{flex:1;min-height:0;position:relative;display:flex;flex-direction:column}
.dagbog-bord{position:relative}
.dagbog-bord::after{content:"";position:absolute;inset:0;pointer-events:none;background:var(--c,#915234);opacity:var(--pk-dek,0)}
.dagbog.omslag .dagbog-bord{visibility:hidden;pointer-events:none}
.dagbog.overgang .dagbog-bord{visibility:visible;pointer-events:none;z-index:1;background:radial-gradient(ellipse at top,#efe5d5,#e2d5c1)}
.dagbog.bog-knib .dagbog-bord{opacity:0}
.db-omslag{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;padding:6px 14px calc(24px + env(safe-area-inset-bottom,0px));
  display:flex;flex-direction:column;align-items:center;gap:16px}
.dagbog.overgang .db-omslag{pointer-events:none}
.db-bordflade{position:relative;flex:none;width:100%;max-width:420px;height:348px;border-radius:22px;
  background:radial-gradient(ellipse at 42% 30%,#f5eee4 0%,#e9e0d3 58%,#ddd1c1 100%)}
.db-skygge{position:absolute;left:50%;top:288px;width:240px;height:46px;margin-left:-104px;border-radius:50%;
  background:radial-gradient(ellipse at 50% 40%,rgba(55,30,14,.4),rgba(55,30,14,0) 70%);filter:blur(7px)}
.db-bog{position:absolute;left:50%;top:14px;margin-left:-115px;width:230px;height:300px;border:0;padding:0;cursor:pointer;
  border-radius:7px 10px 10px 7px;overflow:hidden;isolation:isolate;
  background:radial-gradient(ellipse at 38% 32%,#a5633f 0%,#915234 45%,#7b432a 82%,#6c3923 100%);
  box-shadow:1px 2px 3px rgba(0,0,0,.3),8px 16px 26px -10px rgba(45,22,8,.45)}
.db-ryg{position:absolute;left:0;top:0;bottom:0;width:12px;background:linear-gradient(to right,rgba(0,0,0,.28),rgba(0,0,0,0))}
.db-praeg{position:absolute;left:6px;right:6px;top:26px;display:flex;flex-direction:column;align-items:center;color:#6f3720;
  filter:drop-shadow(0 1.3px 0 rgba(255,206,170,.45)) drop-shadow(0 -1px .6px rgba(32,11,2,.8))}
.db-min{font-family:"Dancing Script",cursive;font-size:62px;font-weight:700;line-height:.9;margin:-4px 0 0 -54px;transform:rotate(-5deg)}
.db-dagbog{font-family:"Dancing Script",cursive;font-size:66px;font-weight:700;line-height:.95;margin-top:-2px}
.db-sving{margin-top:-6px}
.db-navn{margin-top:10px;font-family:Lora,Georgia,serif;font-size:13px;font-weight:600;letter-spacing:.32em}
.db-korn{position:absolute;left:0;top:0;mix-blend-mode:overlay;opacity:.42;pointer-events:none}
.db-kant{position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(0,0,0,.3),inset 0 0 12px rgba(30,10,0,.32),inset 0 1px 0 rgba(255,212,178,.2)}
.db-baand{position:absolute;left:50%;top:302px;margin-left:-91px;overflow:visible;filter:drop-shadow(1px 2px 1.2px rgba(30,12,4,.4))}
.db-bog{z-index:1}   /* omslaget ligger over bogmærket (del 4, 19/10) */
.db-under{width:100%;max-width:420px;display:flex;flex-direction:column;gap:10px}
.db-soeg{position:relative;display:block;color:var(--ink-soft)}
.db-soeg svg{position:absolute;left:14px;top:13px}
.db-soeg input{width:100%;box-sizing:border-box;height:44px;border:1px solid #d9cfc2;border-radius:12px;background:#fffdf8;padding:0 14px 0 42px;font:inherit;font-size:15px;color:var(--ink)}
.db-soeg input:focus{outline:none;box-shadow:0 0 0 2px #9fb6d3}
.db-fund-tekst{font-size:12px;color:var(--ink-soft)}
.db-fund{border:0;border-radius:12px;background:#fffdf8;padding:10px 12px;text-align:left;font:inherit;display:flex;flex-direction:column;gap:2px;
  box-shadow:0 1px 2px rgba(0,0,0,.08);cursor:pointer;color:var(--ink)}
.db-fund-dato{font-size:13px;font-weight:700;color:#2f4a6d}
.db-fund-uddrag{font-family:Lora,Georgia,serif;font-size:14px;color:#3d3630}
.db-maaned-top{display:flex;align-items:center;gap:8px}
.db-maaned-navn{font-family:Lora,Georgia,serif;font-size:17px;font-weight:600;flex:none}
.db-maaned-tal{flex:1;text-align:right;font-size:12px;color:var(--ink-soft)}
.db-pil{flex:none;width:36px;height:36px;border:0;border-radius:10px;background:transparent;font-size:22px;color:var(--ink-soft);cursor:pointer}
.db-pil:disabled{opacity:.3;cursor:default}
.db-gitter{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.db-ugedag{text-align:center;font-size:11px;color:var(--ink-faint);padding-bottom:2px}
.db-dag{height:42px;border-radius:8px;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
  font:inherit;color:var(--ink);background:transparent;border:1px dashed #cfc5b8;cursor:pointer}
.db-dag b{font-size:11px}
.db-dag span{font-size:13px;line-height:1;min-height:13px}
.db-dag.skrevet{background:#fffdf8;border:1px solid #e3dbd0}
.db-dag.idag{border:2px solid #b5532f;background:#fffdf8}
.db-dag.fremtid{border:0;color:#a39a91;font-size:11px;cursor:default}
@media (prefers-reduced-motion:reduce){.db-bog{transition:none}}

/* UX rød tråd (19/10, Ole): Opgaver = fire lag (forside → kategorier → tavle → post-it) + ret/slet på BUNDLINJEN alle steder.
   .opg-krop rummer kategori-laget (.kat-lag, absolut) og tavlen (.tavle-lag); tavlen er skjult på kategori-laget, ligger over
   det under overgangen (js/knib.js folder den ud fra/ind i sin flise), og .tavle-knib holder den usynlig indtil JS overtager. */
.opg-krop{flex:1;min-height:0;position:relative;display:flex;flex-direction:column}
.kat-lag{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 12px calc(96px + env(safe-area-inset-bottom,0px))}
.tavle-lag{flex:1;min-height:0;position:relative;display:flex;flex-direction:column;background:var(--paper)}
.tavle-lag::after{content:"";position:absolute;inset:0;pointer-events:none;background:var(--c,var(--panel));opacity:var(--pk-dek,0)}
.opgaver.kategorier .tavle-lag{visibility:hidden;pointer-events:none}
.opgaver.overgang .tavle-lag{visibility:visible;pointer-events:none;z-index:2}
.opgaver.overgang .kat-lag{pointer-events:none}
.opgaver.tavle-knib .tavle-lag{opacity:0}
.kat-flise{padding-right:14px}
/* tavlens top: kategoriens ikon + navn + ⌃ (fold ind til kategorierne) */
.tavle-top{flex:none;display:flex;align-items:center;gap:10px;padding:10px 12px 8px;max-width:760px;width:100%;margin:0 auto;box-sizing:border-box}
.tavle-top .ik{font-size:24px;line-height:1}
.tavle-navn{flex:1;min-width:0;display:flex;flex-direction:column}
.tavle-navn b{font-family:Lora,Georgia,serif;font-size:20px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tavle-navn small{font-size:12.5px;color:var(--ink-soft)}
.tavle-luk{flex:none;width:40px;height:40px;border:0;border-radius:12px;background:var(--shade);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer}
/* bundlinjer (samme .pk-bar/.pk-knap som kalenderens post-kort) */
.tavle-bar{position:absolute;left:0;right:0;bottom:0;padding:0 8px env(safe-area-inset-bottom,0px);height:calc(70px + env(safe-area-inset-bottom,0px));
  justify-content:flex-start;gap:4px;box-shadow:0 -6px 14px -10px rgba(66,48,28,.3);z-index:3}
.tavle-bar-plads{flex:1}
.opgaver .opg-indhold{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}
/* "+" = ny på det lag man står (kategorier: ny kategori; tavlen: ny opgave i bundlinjen) */
.opg-plus{position:fixed;z-index:49;right:max(16px,calc(50% - 364px));bottom:calc(18px + env(safe-area-inset-bottom,0px));width:56px;height:56px;border-radius:50%;
  border:0;background:var(--terra);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;
  box-shadow:0 6px 16px rgba(160,70,30,.35);animation:fabInd .25s ease-out}
.opg-plus.i-bar{position:static;width:52px;height:52px;margin-right:6px;box-shadow:0 4px 12px rgba(160,70,30,.3);animation:none}
.opgaver.overgang .opg-plus:not(.i-bar){display:none}
/* den udfoldede post-it: bundlinjen på papiret */
.opg-ark.udfold .opg-bar{position:relative;z-index:1;background:transparent;border-top:1px solid rgba(0,0,0,.1)}
.opg-ark.udfold .opg-bar .pk-knap{color:#4a3d30}
.opg-ark.udfold .opg-bar .pk-knap.slet{color:#a3321f}
.opg-ark.udfold .opg-bar .pk-knap.valgt{color:#2f5a35;font-weight:600}
.opg-ark.udfold .opg-bar .pk-bekraeft{background:rgba(255,255,255,.6)}
.opg-ark.udfold .opg-bar .pk-bekraeft.slet{background:#b23a2b;color:#fff}
/* dagbogssiden: bundlinje Forrige · Diktér · Billede · Næste */
.db-bar{background:#fffaf0;border-top:1px solid #eadfcd;padding-bottom:env(safe-area-inset-bottom,0px);height:calc(64px + env(safe-area-inset-bottom,0px))}
.db-bar .pk-knap:disabled{opacity:.35;cursor:default}
.dagbog.omslag .db-bar,.dagbog.overgang .db-bar{display:none}
.side-pil-plads{flex:none;width:38px}

/* UX rød tråd (19/10, Ole): ny/ret kalenderpost = udfoldet kort som post-kortet (PostForm .pf-kort) — farvebånd øverst
   (--c = ejerens farve), formularen i midten, bundlinjen Gem · Tid · Hvem · Påmind · Slet/Kassér. js/knib.js pfAabn/pfLuk. */
.sheet-overlay.udfold:has(> .pf-kort){animation:none;display:block}
.form-sheet.pf-kort{position:absolute;left:10px;right:10px;top:calc(var(--appbar-h,61px) + 6px);bottom:10px;margin:0 auto;max-width:560px;
  width:auto;height:auto;max-height:none;border-radius:18px;animation:none;background:var(--panel);box-shadow:0 18px 40px -12px rgba(0,0,0,.45)}
.form-sheet.pf-kort::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:color-mix(in srgb,var(--c) 15%,var(--panel));box-shadow:inset 3px 0 0 var(--c);opacity:var(--pk-dek,0)}
.form-sheet.pf-kort .sheet-grab{display:none}
.form-sheet.pf-kort .pf-top{touch-action:auto;background:var(--c);color:#fff;margin:-14px -16px 14px;padding:14px 12px 16px 18px;border-radius:18px 18px 0 0}
.form-sheet.pf-kort .pf-top h2{color:#fff;font-family:Lora,Georgia,serif;font-size:22px}
.form-sheet.pf-kort .pf-luk.pk-luk{background:rgba(255,255,255,.22);color:#fff;width:40px;height:40px;border-radius:12px}
.form-sheet.pf-kort .pf-bar{position:relative;z-index:1}
.form-sheet.pf-kort .pk-knap.gem{color:#2f5a35;font-weight:600}
.form-sheet.pf-kort .pk-knap:disabled{opacity:.5}
.sheet-overlay.tastatur .form-sheet.pf-kort{top:6px;bottom:6px;height:auto;border-radius:16px}
@media (min-width:620px){.form-sheet.pf-kort{bottom:4vh}}

/* PostForm gemmer løbende (19/10): status i båndet, som på opgaven */
.form-sheet.pf-kort .pf-status{flex:none;font-size:12.5px;opacity:.85;white-space:nowrap}

/* Indstillinger som niveau (20/10-2026 — model prototype/indstillinger/Main.dc.html, artifact Nv8UUg2yiikQydVM9HBSbM).
   IndstillingerVisning: fuldskærm ovenpå forsiden (z 48 som dagbog/opgaver). Niveau 2 = .indst-oversigt, niveau 3 = .indst-side
   ovenpå. Det niveau man går til toner ind fra scale(1,08); knib styres af js/knib.js (inline opacity/transform). */
.indst{--ind-bg:#f7f2ec;--ind-ink:#2b2622;--ind-soft:#6b625a;--ind-linje:#e6ddd2;
  position:fixed;inset:0;z-index:48;background:var(--ind-bg);color:var(--ind-ink);overflow:hidden;
  animation:indstInd .3s cubic-bezier(.2,.8,.2,1);transform-origin:var(--knib-x,50%) var(--knib-y,50%)}
.indst.lukker{animation:indstUd .22s ease-in forwards;pointer-events:none}
.indst.knib-styret:not(.lukker){animation:none}
@keyframes indstInd{from{opacity:0;transform:scale(1.08)}to{opacity:1;transform:none}}
@keyframes indstUd{to{opacity:0;transform:scale(1.08)}}
.indst-lag{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--ind-bg)}
.indst-side{z-index:1;animation:indstInd .3s cubic-bezier(.2,.8,.2,1)}
.indst-side.lukker{animation:indstUd .22s ease-in forwards;pointer-events:none}
.indst-side.side-knib:not(.lukker){animation:none}
@media (prefers-reduced-motion:reduce){.indst:not(.lukker),.indst-side:not(.lukker){animation:none}}
.indst-top{flex:none;box-sizing:border-box;height:calc(61px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 12px 0;
  display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--ind-linje)}
.indst-titel{margin:0;font-family:"Lora",Georgia,serif;font-size:21px;font-weight:600}
.indst-kroemme{display:flex;align-items:center;gap:4px;min-width:0;font-size:15px;color:var(--ind-soft)}
.indst-kroemme b{color:var(--ind-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.indst-tilbage{border:0;background:none;font:inherit;font-size:15px;color:var(--ind-soft);padding:10px 2px;cursor:pointer}
.indst-tilbage:hover{color:var(--ind-ink);text-decoration:underline}
.indst-krop{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:16px;
  padding:16px max(14px,calc((100% - 640px) / 2)) calc(48px + env(safe-area-inset-bottom,0px))}
.indst-gruppe{flex:none;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.indst-baand{padding:10px 16px;font-family:"Lora",Georgia,serif;font-size:17px;font-weight:600}
.indst-baand.kal,.indst-pille.kal{background:#b5532f;color:#fff}
.indst-baand.db,.indst-pille.db{background:#2f4a6d;color:#fff}
.indst-baand.neutral,.indst-pille.neutral{background:#e9e1d7;color:var(--ind-ink)}
.indst-rk{width:100%;min-height:58px;border:0;border-top:1px solid #f0e9e0;background:#fff;padding:10px 16px;display:flex;align-items:center;
  gap:12px;text-align:left;font:inherit;color:var(--ind-ink);cursor:pointer}
.indst-rk:hover{background:#faf6f1}
.indst-rk-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.indst-rk-t b{font-weight:400;font-size:15.5px}
.indst-rk-t small{font-size:13px;color:var(--ind-soft)}
.indst-pil{flex:none;stroke:#9a8d80}
.indst-logud{flex:none;height:50px;box-sizing:border-box;border:1px solid #e3cfc8;border-radius:14px;background:#fff;color:#b23a2b;
  font-size:16px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}
.indst-logud:hover{background:#fdf6f4}
.indst-pille{flex:none;align-self:flex-start;padding:5px 12px;border-radius:999px;font-size:13px;font-weight:600}
/* undersiderne (Deling, DagbogPaamind, Familie, Notifikationer, Mikrofon, Administration) i modellens kort */
.indst-side .page{max-width:none;margin:0;padding:0}
.indst-side .page-title{display:none}
.indst-side .card{background:#fff;border:0;border-radius:18px;box-shadow:0 1px 2px rgba(0,0,0,.08);padding:16px}
.indst-lbl{font-size:12px;color:var(--ind-soft);letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px}
.indst-hjaelp{font-size:14px;color:var(--ind-soft);margin:0 0 10px}
.indst-kort .indst-hjaelp:last-child{margin:12px 0 0;font-size:13px}
.indst-chips{display:flex;flex-wrap:wrap;gap:8px}
.indst-chip{height:44px;padding:0 16px;border-radius:999px;border:1px solid #d8cdc1;background:#fff;color:var(--ind-ink);font:inherit;font-size:15px;cursor:pointer}
.indst-chip.valgt{border-color:#b5532f;background:#b5532f;color:#fff}
.indst-seg{display:flex;gap:4px;padding:4px;border-radius:12px;background:#f0e9e0}
.indst-seg button{flex:1;height:42px;border:0;border-radius:9px;background:transparent;color:var(--ind-soft);font:inherit;font-size:14px;cursor:pointer}
.indst-seg button.valgt{background:#fff;color:var(--ind-ink);font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.15)}
.indst-side .card.indst-kort-liste{padding:0;overflow:hidden}
.indst-kontakt-rk{width:100%;min-height:58px;border:0;background:#fff;padding:10px 16px;display:flex;align-items:center;gap:12px;
  text-align:left;font:inherit;font-size:15.5px;color:var(--ind-ink);cursor:pointer}
.indst-kontakt-rk > span:first-child{flex:1}
.indst-kontakt{flex:none;position:relative;width:50px;height:30px;border-radius:999px;background:#cfc5ba;transition:background .2s}
.indst-kontakt i{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.3);transition:left .2s}
.indst-kontakt.til{background:#2f4a6d}
.indst-kontakt.til i{left:23px}
.indst-tid-rk{border-top:1px solid #f0e9e0;min-height:58px;box-sizing:border-box;padding:10px 16px;display:flex;align-items:center;gap:12px;font-size:15.5px;margin:0}
.indst-tid-rk > span{flex:1}
.indst-tid-rk input{border:0;background:none;font:inherit;font-size:15.5px;font-weight:600;color:#2f4a6d;text-align:right}
.indst-tid-rk.fra{opacity:.4}
.indst-note{font-size:13px;color:var(--ind-soft);padding:0 4px;margin:10px 0 0;line-height:1.45}

/* Mærkedage i kalenderen (20/10-2026 — prototype/indstillinger/Maerkedage.dc.html): Mærkedag er en tredje type i formularen
   (gyldent bånd #f3dfb4), slags som chips; mærkedags-kortet (PostDetalje) har samme gyldne bånd; søgningen har filtre. */
.pf-typer .typ{flex-direction:column;height:62px;gap:3px;padding:0 4px;font-size:12.5px}
.pf-typer .typ .brik{width:30px;height:30px}
.mk-slags{display:flex;flex-wrap:wrap;gap:6px;margin:-2px 0 12px}
.mk-slag{height:38px;padding:0 13px;border-radius:999px;border:1px solid #e0d6cb;background:#fff;color:var(--ink);font:inherit;font-size:14px;
  display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.mk-slag.valgt{border-color:#e8c98a;background:#f3dfb4;color:#5a3e08;font-weight:600}
.form-sheet.pf-kort.maerke{--c:#f3dfb4 !important}
.form-sheet.pf-kort.maerke .pf-top,.form-sheet.pf-kort.maerke .pf-top h2{color:#5a3e08}
.pk-baand.maerke{color:#5a3e08}
.pk-baand.maerke .pk-type{display:inline-flex;align-items:center;gap:6px}
.pk-linje{font-size:15px}
.soeg-filtre{display:flex;gap:6px;padding:10px 12px 4px;overflow-x:auto;scrollbar-width:none;flex:none}
.soeg-filter{flex:none;height:34px;padding:0 14px;border-radius:999px;border:1px solid #e0d6cb;background:#fff;color:var(--ink);font:inherit;font-size:14px;cursor:pointer}
.soeg-filter.valgt{border-color:#b5532f;background:#b5532f;color:#fff}
.soeg-lbl{font-size:12px;color:var(--ink-faint);letter-spacing:.04em;text-transform:uppercase;padding:8px 12px 2px}
.soeg-rad.mk-fund{display:flex;align-items:center;gap:12px}
.mk-fund-dato{width:44px;flex:none;display:flex;flex-direction:column;align-items:center;line-height:1.1}
.mk-fund-dato b{font-family:Lora,Georgia,serif;font-size:20px;color:#8a5d10}
.mk-fund-dato small{font-size:11px;color:var(--ink-faint)}
.mk-fund-tx{display:flex;flex-direction:column;min-width:0}

/* ---------- Dagens citat på forsidens kalenderkort (24/10-2026, forenklet 25/10: ét citat, hele kortet åbner kalenderen) ----------
   Nederst på .fs-kal under ugen, hvid tekst på terrakotta. Højst 3 linjer (2 på lave skærme). Kun ZenQuotes-linket har eget tryk. */
.fs-citat{flex:none;margin:0;padding-top:9px;border-top:1px solid rgba(255,255,255,.22);min-width:0}
.fs-citat blockquote{margin:0;font-family:"Lora",Georgia,serif;font-size:13.5px;line-height:1.38;color:#fff;text-wrap:pretty;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.fs-citat figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:3px}
.fs-citat-af{min-width:0;font-size:11px;color:rgba(255,255,255,.75);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fs-citat-kilde{flex:none;font-size:11px;color:rgba(255,255,255,.7);text-decoration:none;padding:4px 0}
.fs-citat-kilde:hover{color:#fff;text-decoration:underline}
@media (max-height:700px){.fs-citat blockquote{font-size:13px;-webkit-line-clamp:2;line-clamp:2}}

/* ==========================================================================================================
   Cirkler (25/10-2026, fase 1) — model: prototype/cirkler/ (Design-lærred "Cirkler — flere familier").
   Forsiden: cirkel-vælger under datoen (kun med flere cirkler) + invitationskort. Indstillinger → Mine cirkler:
   liste, rejsen mod at blive administrator (intro → opret → kvittering).
   ========================================================================================================== */
.indst-baand.cirk,.indst-pille.cirk{background:#7a5c2e;color:#fff}

/* forsiden: invitation til en cirkel */
.fs-cinv{flex:none;margin:0 16px 16px;background:#fff;border:1px solid #e0d4c5;border-radius:16px;padding:14px 16px;
  box-shadow:0 6px 20px rgba(66,48,28,.10);display:flex;flex-direction:column;gap:6px}
.fs-cinv-t{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#8a5510}
.fs-cinv-h{font-weight:700;font-size:16px;line-height:1.3}
.fs-cinv-u{font-size:13px;color:#6b625a}
.fs-cinv-k{display:flex;gap:8px;margin-top:4px}
.fs-cinv-k button{flex:1;min-height:44px;border-radius:10px;font:inherit;font-weight:600;font-size:14.5px;cursor:pointer}
.fs-cinv-ja{border:0;background:#3f6cae;color:#fff}
.fs-cinv-nej{border:1px solid #ddd2c2;background:#fff;color:#2b2420}
.fs-cinv-k button:disabled{opacity:.6}
.fs-cinv.ok{border-color:#cfe0c8;background:#f6fbf3}
.fs-cinv.fejl{color:#b23a2b;font-size:14px}

/* Indstillinger → Mine cirkler */
.cirk{display:flex;flex-direction:column;gap:12px}
.cirk-intro{margin:0;font-size:14px;color:var(--ind-soft,#6b625a);line-height:1.45}
.cirk-kort{background:#fff;border-radius:18px;box-shadow:0 1px 2px rgba(0,0,0,.08);padding:16px;display:flex;flex-direction:column;gap:10px}
.cirk-kort.aktiv{box-shadow:0 0 0 2px #3f6cae inset,0 1px 2px rgba(0,0,0,.08)}
.cirk-hoved{display:flex;align-items:center;gap:10px}
.cirk-hoved b{flex:1;min-width:0;font-size:16.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cirk-prik{flex:none;width:12px;height:12px;border-radius:50%}
.cirk-rolle{flex:none;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6b625a;background:#f1e9dd;
  border-radius:6px;padding:3px 7px}
.cirk-rolle.admin{color:#8a5510;background:#fdf0d3}
.cirk-rolle.midt{align-self:center}
.cirk-meta{font-size:13.5px;color:#6b625a;line-height:1.4}
.cirk-venter{display:flex;gap:8px;align-items:flex-start;background:#fdf6e8;border-radius:10px;padding:10px 12px;font-size:13.5px;line-height:1.4}
.cirk-venter-prik{flex:none;display:inline-block;width:8px;height:8px;border-radius:50%;background:#dc9a34;margin:6px 8px 0 0}
.cirk-venter .cirk-venter-prik{margin:6px 0 0}
.cirk-knapper{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cirk-knap{min-height:44px;border:1px solid #ddd2c2;background:#fff;color:#2b2420;border-radius:10px;padding:0 16px;font:inherit;
  font-weight:600;font-size:14.5px;cursor:pointer}
.cirk-knap:hover{background:#faf6f1}
.cirk-knap.prim{border-color:#3f6cae;background:#3f6cae;color:#fff}
.cirk-knap.prim:hover{background:#365f9c}
.cirk-knap.fuld{width:100%}
.cirk-knap:disabled{opacity:.55;cursor:default}
.cirk-her{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:#3f6cae;padding:0 4px}
.cirk-inv{border-top:1px solid #f0e9e0;padding-top:12px;display:flex;flex-direction:column;gap:8px}
.cirk-lbl{font-size:12.5px;font-weight:700;color:#6b625a}
.cirk-hint{font-size:12.5px;color:#6b625a;line-height:1.45}
.cirk-besked{font-size:13.5px;color:#4d7353;font-weight:600}
.cirk-besked.fejl{color:#b23a2b}
.cirk-person{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;border:1px solid #e6ddd2;background:#faf7f2;
  border-radius:12px;padding:8px 12px;font:inherit;color:#2b2420;text-align:left;cursor:pointer}
.cirk-person i{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff;font-style:normal;
  font-size:13px;font-weight:700}
.cirk-person span{flex:1;min-width:0;display:flex;flex-direction:column}
.cirk-person b{font-size:15px}
.cirk-person small{font-size:12px;color:#6b625a}
.cirk-flueben{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid #d6cabb}
.cirk-person.valgt{border:2px solid #3f6cae;background:#f3f6fb;padding:7px 11px}
.cirk-person.valgt .cirk-flueben{border-color:#3f6cae;background:#3f6cae url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/14px no-repeat}
.cirk-fod{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid #f0e9e0;padding-top:8px;font-size:13.5px}
.cirk-forlad{border:0;background:none;padding:8px 0;min-height:36px;font:inherit;font-size:13.5px;font-weight:600;color:#b23a2b;cursor:pointer}
.cirk-forlad.ja{background:#b23a2b;color:#fff;border-radius:8px;padding:6px 12px}
.cirk-forlad:not(.ja):last-child{color:#6b625a}
.cirk-fod .cirk-forlad:only-child{color:#b23a2b}
.cirk-ny{display:flex;flex-direction:column;gap:2px;padding:8px 4px 4px;border-top:1px solid #e6ddd2;margin-top:4px}
.cirk-ny small{font-size:13.5px;color:#6b625a}
.cirk-link{align-self:flex-start;border:0;background:none;padding:8px 0;min-height:40px;font:inherit;font-size:15px;font-weight:600;color:#3f6cae;cursor:pointer}
.cirk-link.lille{font-size:13px;min-height:32px;padding:2px 0;color:#6b625a}
.cirk-tilbage{align-self:flex-start;border:0;background:none;padding:6px 2px;min-height:40px;font:inherit;font-size:15px;font-weight:600;color:#3f6cae;cursor:pointer}
.cirk-kort.rejse{gap:14px}
.cirk-h2{margin:0;font-family:"Lora",Georgia,serif;font-weight:600;font-size:22px;line-height:1.25}
.cirk-h2.midt{text-align:center}
.cirk-punkt{display:flex;gap:12px;font-size:14px;line-height:1.45}
.cirk-punkt span{flex:none;width:28px;height:28px;border-radius:50%;background:#f1e9dd;display:grid;place-items:center;font-weight:700;font-size:13px}
.cirk-punkt.admin span{background:#fdf0d3;color:#8a5510}
.cirk-felt{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:700;color:#6b625a}
.cirk-felt input{border:1px solid #ddd2c2;border-radius:10px;padding:11px 12px;font:inherit;font-size:16px;font-weight:400;color:#2b2420;background:#faf7f2}
.cirk-felt input:focus{outline:2px solid #3f6cae;outline-offset:0;border-color:#3f6cae;background:#fff}
.cirk-stiplet{min-height:44px;border:1px dashed #cdbfae;background:transparent;border-radius:12px;font:inherit;font-size:14px;font-weight:600;color:#6b625a;cursor:pointer}
.cirk-kort.kvit{align-items:stretch;padding-top:24px}
.cirk-krone{align-self:center;width:64px;height:64px;border-radius:50%;background:#fdf0d3;border:2px solid #dc9a34;display:grid;place-items:center}
.cirk-status{background:#faf7f2;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:6px;font-size:14px}
.cirk-status span{display:flex;align-items:center}
.cirk-linkboks{font-family:ui-monospace,Menlo,monospace;font-size:12.5px;background:#faf7f2;border:1px solid #e6ddd2;border-radius:8px;padding:8px 10px;word-break:break-all}

/* Cirkler, del 1 af fase 2 (25/10-2026): samlet kalender — cirklen vælges i "Hvem kan se" (PostForm) og vises i post-kortet */
.pf-cirkler{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.pf-cirkel{display:inline-flex;align-items:center;gap:7px;min-height:40px;border:1px solid #ecd3c4;background:#fff;color:#2b2420;
  border-radius:999px;padding:4px 14px 4px 11px;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.pf-cirkel i,.pf-cirkel-fast i{flex:none;width:10px;height:10px;border-radius:50%}
.pf-cirkel.valgt{border:2px solid var(--terra,#cf6a44);background:#fff6f1;padding:3px 13px 3px 10px}
.pf-cirkel-fast{display:flex;align-items:center;gap:8px;font-size:13.5px;color:#6b625a;margin-bottom:10px}
.pf-cirkel-fast b{color:#2b2420}
.pk-cirkel{font-weight:700}
.cirk-linkraek{display:flex;gap:8px}
.cirk-input{flex:1;min-width:0;border:1px solid #ddd2c2;border-radius:10px;padding:10px 12px;font:inherit;font-size:16px;color:#2b2420;background:#faf7f2}
.cirk-input:focus{outline:2px solid #3f6cae;outline-offset:0;border-color:#3f6cae;background:#fff}

/* Cirkler, del 2 (25/10-2026): Medlemmer / Min inderkreds / Administration pr. cirkel i Mine cirkler; cirkel på kategorier */
.cirk-knap.aaben{border-color:#3f6cae;color:#2f5590;background:#f3f6fb}
.cirk-under{border-top:1px solid #f0e9e0;padding-top:10px}
.cirk-under .page{max-width:none;margin:0;padding:0}
.cirk-under .page-title{display:none}
.cirk-under .card{box-shadow:none;border:1px solid #efe7db;border-radius:14px;padding:12px;margin-top:8px}
.cirk-under .card:first-child{margin-top:0}
.deling-cirkel{display:inline-flex;align-items:center;gap:7px;margin-top:6px}
.deling-cirkel i{width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.6)}
.kat-cirkel{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;opacity:.8}
.kat-cirkel i{width:8px;height:8px;border-radius:50%}

/* Ejer-overblik (25/10-2026): Indstillinger → App → Ejer-overblik — kun for appens ejer */
.ejer{display:flex;flex-direction:column;gap:12px}
.ejer-tal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ejer-felt{background:#fff;border-radius:16px;box-shadow:0 1px 2px rgba(0,0,0,.08);padding:12px 14px;display:flex;flex-direction:column;gap:1px}
.ejer-felt b{font-family:"Lora",Georgia,serif;font-size:28px;font-weight:600;line-height:1.1}
.ejer-felt span{font-size:13.5px;font-weight:600}
.ejer-felt small{font-size:12px;color:#6b625a}
.ejer-h{margin:0;font-family:"Lora",Georgia,serif;font-size:18px;font-weight:600}
.ejer-raek{border-top:1px solid #f0e9e0;padding-top:10px;display:flex;flex-direction:column;gap:3px}
.ejer-raek.nedlagt{opacity:.55}
.ejer-raek-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.ejer-raek-top b{font-size:15px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ejer-meta{font-size:12.5px;color:#6b625a;line-height:1.4}
.ejer-status{flex:none;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:6px;padding:2px 7px;background:#e7f1e4;color:#3f6b37}
.ejer-status.venter{background:#fdf0d3;color:#8a5510}
.ejer-status.nedlagt{background:#f1e9dd;color:#6b625a}
.ejer-forbrug{font-size:13.5px;border-top:1px solid #f0e9e0;padding-top:8px}
.ejer-forbrug b{font-size:13.5px}
.cirk-lbl-hint{font-weight:400;color:#8a7d70;margin-left:4px}
.cirk-felt input.mangler{border-color:#b23a2b;background:#fdf6f4;outline:2px solid #e8b4ab}

/* ===== Anmeldelser (25/10-2026 — model prototype/anmeldelser.html) =====
   Forsidefane (#6a3d5c) over Dagbog; fuldskærm som Opgaver; kortet folder sig ud fra sit kort i listen (js/knib.js anmAabn/
   anmLuk, samme teknik som post-kortet: translate + clip-path, dække i kategoriens farve via --pk-dek). --k = kategoriens farve. */
.brik.fs-brik .fa{fill:#6a3d5c}
.fs-anm{background:#6a3d5c}
.fs-anm-kat{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;width:100%}
.fs-anm-kat span{display:flex;align-items:center;justify-content:center;gap:4px;background:rgba(255,255,255,.14);border-radius:10px;padding:6px 2px;font-size:12.5px;font-weight:700}
.fs-anm-kat span.ny{background:#fff;color:#6a3d5c}
.fs-anm-sen{display:flex;align-items:center;gap:7px;font-size:12.5px;opacity:.95;min-width:0;width:100%}
.fs-anm-sen > *{flex:none}
.fs-anm-sen b{flex:0 1 auto;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.fs-anm-sen .s{color:#f3c96b;letter-spacing:1px}

.anmeldelser{--anm:#6a3d5c;--stjerne:#e0a63a;position:fixed;inset:0;z-index:48;display:flex;flex-direction:column;background:var(--paper);overflow:hidden}
.anmeldelser:not(.lukker){animation:knibInd .3s cubic-bezier(.2,.8,.2,1);transform-origin:var(--knib-x,50%) var(--knib-y,50%)}
.anmeldelser.lukker{animation:dagbogUd .2s ease-in forwards}
.anmeldelser.knib-styret:not(.lukker){animation:none}
.anm-top{background:var(--panel);border-bottom:1px solid var(--line)}
.anm-top .dagbog-titel{font-size:18px;flex-direction:column;gap:0}
.anm-antal{font-family:system-ui,sans-serif;font-size:11.5px;font-weight:600;color:var(--ink-soft)}

.anm-filtre{flex:none;padding:10px 12px 8px;display:flex;flex-direction:column;gap:8px;background:var(--panel);border-bottom:1px solid var(--line)}
.anm-chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -12px;padding:0 12px}
.anm-chips::-webkit-scrollbar{display:none}
.anm-chip{flex:none;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);
  border-radius:999px;padding:6px 12px;font:inherit;font-size:13.5px;font-weight:500;cursor:pointer}
.anm-chip svg{color:var(--k,var(--ink-soft))}
.anm-chip b{font-weight:600;color:var(--ink-faint);font-size:12px}
.anm-chip.on{background:var(--k,var(--anm));border-color:var(--k,var(--anm));color:#fff}
.anm-chip.on svg{color:#fff}.anm-chip.on b{color:rgba(255,255,255,.75)}
.anm-sorter{display:flex;gap:4px;background:var(--shade);border-radius:10px;padding:3px}
.anm-sorter button{flex:1;border:0;background:transparent;border-radius:8px;padding:6px 2px;font:inherit;font-size:12.5px;font-weight:600;color:var(--ink-soft);cursor:pointer}
.anm-sorter button.on{background:var(--panel);color:var(--ink);box-shadow:0 1px 3px rgba(60,40,20,.15)}

.anm-liste{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 12px calc(96px + env(safe-area-inset-bottom,0px));
  display:flex;flex-direction:column;gap:10px;width:100%;max-width:760px;margin:0 auto}
.anm-tom{display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center;padding:40px 24px;color:var(--ink-soft);font-size:14px;line-height:1.45}
.anm-tom b{color:var(--ink);font-family:"Lora",Georgia,serif;font-size:18px}
.anm-k{position:relative;display:grid;grid-template-columns:68px minmax(0,1fr);gap:12px;width:100%;text-align:left;font:inherit;color:var(--ink);
  border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:11px;cursor:pointer;box-shadow:0 1px 2px rgba(60,40,20,.05);
  -webkit-tap-highlight-color:transparent;transition:box-shadow .15s}
.anm-k:hover{box-shadow:0 6px 16px rgba(60,40,20,.12)}
.anm-k-tekst{display:flex;flex-direction:column;gap:3px;min-width:0}
.anm-k-type{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--k)}
.anm-k-titel{font-family:"Lora",Georgia,serif;font-size:17px;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:46px}
.anm-k-meta{font-size:12.5px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:1em}
.anm-k-bund{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--ink-soft);margin-top:2px}
.anm-k-bund .s{color:#b07a17}
.anm-k-hvem{margin-left:auto;display:flex;align-items:center;gap:5px;min-width:0;white-space:nowrap}
.anm-k-liste{flex:none;color:var(--anm)}
.anm-k .prik,.anm-pers .prik{width:8px;height:8px;border-radius:50%;flex:none}
.anm-maerke{position:absolute;top:10px;right:10px;font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px;background:#cf6a44;color:#fff}
.anm-maerke.mangler{background:var(--panel);color:#a06b10;border:1px solid #e9c77d}

/* billede: eget foto eller automatisk omslag (kategoriens farve + ikon + titel) */
.anm-bil{width:68px;height:68px;border-radius:12px;overflow:hidden;background:var(--k);color:#fff;position:relative;flex:none;display:block}
.anm-bil.foto img{width:100%;height:100%;object-fit:cover;display:block}
.anm-bil.omslag{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:7px 7px 8px}
.anm-bil.omslag::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.22),transparent 60%);pointer-events:none}
.anm-bil.omslag svg{opacity:.85;position:relative}
.anm-bil .om-t{position:relative;font-family:"Lora",Georgia,serif;font-weight:700;font-size:10.5px;line-height:1.1;hyphens:auto;overflow-wrap:break-word;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.anm-bil.stor{width:78px;height:78px}
.anm-bil.stor .om-t{font-size:12px}

.anmeldelser .anm-plus{background:var(--anm);box-shadow:0 8px 20px rgba(106,61,92,.45)}

/* kortet og formularen (ligger inde i .anmeldelser) */
.anmeldelser .anm-lag{position:absolute;inset:0;z-index:50}
.anm-kort,.anm-form{position:absolute;z-index:51;left:10px;right:10px;top:calc(8px + env(safe-area-inset-top,0px));bottom:calc(10px + env(safe-area-inset-bottom,0px));
  max-width:560px;margin:0 auto;display:flex;flex-direction:column;overflow:hidden;border-radius:18px;background:var(--panel);color:var(--ink);
  box-shadow:0 18px 50px rgba(30,20,10,.35)}
.anm-kort::after,.anm-form::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:color-mix(in srgb,var(--k) 18%,var(--panel));box-shadow:inset 3px 0 0 var(--k);opacity:var(--pk-dek,0)}
.anm-baand{flex:none;position:relative;background:var(--k);color:#fff;padding:14px 14px 16px;display:flex;gap:14px;align-items:flex-end}
.anm-baand .anm-bil{background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.anm-baand .anm-bil.foto{background:none}
.anm-baand.form{padding-bottom:14px}
.anm-baand-tekst{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;padding-right:44px}
.anm-baand-type{font-size:12px;font-weight:600;opacity:.88}
.anm-baand-titel{margin:0;font-family:"Lora",Georgia,serif;font-size:23px;font-weight:600;line-height:1.12;text-wrap:balance;overflow-wrap:anywhere}
.anm-baand-meta{font-size:12.5px;opacity:.88}
.anm-cirkel{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;font-size:12px;font-weight:600;background:rgba(255,255,255,.2);padding:2px 9px;border-radius:999px}
.anm-cirkel i{width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 1.5px #fff}
.anm-fold{position:absolute;top:10px;right:10px}
.anm-krop{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 12px 16px;display:flex;flex-direction:column;gap:10px;background:var(--paper)}
.anm-sek{flex:none;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.anm-sek-h{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft)}
.anm-sek-h > span:last-child{letter-spacing:0;text-transform:none;font-weight:600}
.anm-samlet{display:flex;gap:16px;align-items:center}
.anm-snit{display:flex;flex-direction:column;align-items:center;min-width:80px}
.anm-snit b{font-family:"Lora",Georgia,serif;font-size:38px;line-height:1;font-weight:600}
.anm-stj{color:var(--stjerne);letter-spacing:1px;font-size:14px;white-space:nowrap}
.anm-stj.lille{font-size:11.5px}
.anm-fordeling{flex:1;display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.anm-fordeling div{display:grid;grid-template-columns:12px 1fr 16px;gap:6px;align-items:center}
.anm-fordeling i{display:block;height:6px;border-radius:3px;background:var(--shade);overflow:hidden}
.anm-fordeling i span{display:block;height:100%;background:var(--stjerne);border-radius:3px}
.anm-min-stj{display:flex;justify-content:center;gap:6px}
.anm-min-stj button{border:0;background:none;padding:2px;cursor:pointer;line-height:0;border-radius:10px}
.anm-min-stj button:active svg{transform:scale(.88)}
.anm-min-stj svg{transition:transform .12s}
.anm-hint{text-align:center;font-size:12.5px;color:var(--ink-soft)}
.anm-hint.venstre{text-align:left}
.anm-anm-h{display:flex;align-items:center;gap:8px;font-size:13px}
.anm-anm-h small{margin-left:auto;color:var(--ink-faint);font-size:12px}
.anm-tekst{font-family:"Lora",Georgia,serif;font-size:15.5px;line-height:1.55;overflow-wrap:anywhere}
.anm-tekst p{margin:0 0 8px}.anm-tekst ul{margin:4px 0;padding-left:20px}
.anm-sek .bk.banner{margin:0;border-radius:12px;overflow:hidden}
.anm-fakta{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:14px;margin:0}
.anm-fakta dt{color:var(--ink-soft);font-weight:600;font-size:12.5px;align-self:center}
.anm-fakta dd{margin:0;overflow-wrap:anywhere}
.anm-kortlink{color:var(--k);font-weight:600;text-decoration:none}
.anm-alle{display:flex;flex-wrap:wrap;gap:6px}
.anm-pers{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:4px 10px 4px 7px;font-size:12.5px;font-weight:600}
.anm-pers.mangler{color:var(--ink-faint);border-style:dashed;font-weight:500}
.anm-pers.mangler .prik{opacity:.4}
.anmeldelser .av{width:28px;height:28px;border-radius:50%;flex:none;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:700}
.anm-ingen{font-size:13px;color:var(--ink-faint)}
.anm-komm{display:flex;gap:9px}
.anm-komm-b{flex:1;min-width:0;background:var(--paper);border-radius:4px 14px 14px 14px;padding:7px 11px;font-size:14px;line-height:1.4}
.anm-komm-b b{font-size:12.5px}.anm-komm-b small{color:var(--ink-faint);font-size:11px;margin-left:6px}
.anm-komm-b p{margin:2px 0 0;overflow-wrap:anywhere;white-space:pre-wrap}
.anm-komm-ret{display:flex;gap:10px;margin-top:2px}
.anm-link{border:0;background:none;padding:2px 0;font:inherit;font-size:12px;font-weight:600;color:var(--anm);cursor:pointer;text-transform:none;letter-spacing:0}
.anm-link.slet{color:#b23a2b}
.anm-link:disabled{opacity:.5}
.anm-retter{font-size:12.5px;color:var(--ink-soft)}
.anm-skriv{display:flex;gap:8px;align-items:flex-end}
.anm-skriv .diktat-felt{flex:1;min-width:0}
.anm-skriv .tekst{width:100%;min-height:42px;max-height:140px;field-sizing:content;resize:none;border:1px solid var(--line-strong);border-radius:21px;
  padding:10px 50px 10px 14px;font:inherit;font-size:14.5px;background:var(--panel);color:var(--ink)}
.anm-send{flex:none;width:42px;height:42px;border-radius:50%;border:0;background:var(--anm);color:#fff;display:grid;place-items:center;cursor:pointer}
.anm-send:disabled{opacity:.4;cursor:default}
.anm-fejl{color:#b23a2b;font-size:13px;font-weight:600;text-align:center}
.anm-bar .pk-knap{width:auto;flex:1;max-width:110px}
.anm-bar .pk-knap.prim,.anm-bar .pk-knap.on{color:var(--anm);font-weight:600}
.anm-bar .pk-knap:disabled{opacity:.5}
.anm-bar .pk-knap .bk-spinner{width:20px;height:20px}

/* ny / ret */
.anm-typer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.anm-typ{display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line-strong);background:var(--panel);border-radius:12px;
  padding:8px 4px;font:inherit;font-size:12.5px;font-weight:600;color:var(--ink-soft);cursor:pointer}
.anm-typ svg{color:var(--k)}
.anm-typ.on{background:var(--k);border-color:var(--k);color:#fff}
.anm-typ.on svg{color:#fff}
.anm-felt{display:flex;flex-direction:column;gap:5px;min-width:0}
.anm-felt > span{font-size:12px;font-weight:600;color:var(--ink-soft)}
.anm-felt input,.anm-tekstfelt{border:1px solid var(--line-strong);border-radius:10px;padding:9px 11px;font:inherit;font-size:16px;background:var(--panel);color:var(--ink);width:100%}
.anm-felt input.titel{font-family:"Lora",Georgia,serif;font-size:18px;font-weight:600}
.anm-tekstfelt{min-height:110px;resize:vertical;font-family:"Lora",Georgia,serif;line-height:1.5;padding-right:50px}
.anm-raek2{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:8px}
.anm-pris{display:flex;gap:4px;background:var(--shade);border-radius:10px;padding:3px}
.anm-pris button{flex:1;border:0;background:transparent;border-radius:8px;padding:8px 2px;font:inherit;font-size:13px;font-weight:700;color:var(--ink-soft);cursor:pointer}
.anm-pris button.on{background:var(--panel);color:var(--ink);box-shadow:0 1px 3px rgba(60,40,20,.15)}
.anm-billede{display:flex;gap:12px;align-items:flex-start}
.anm-billede-h{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.anm-billede-h small{font-size:12.5px;color:var(--ink-soft);line-height:1.4}
@media (prefers-reduced-motion:reduce){.anmeldelser:not(.lukker),.anmeldelser.lukker{animation:none}.anm-min-stj svg{transition:none}}

/* ===== Vores tid sammen (26/10-2026 — model prototype/vores-tid-sammen.html) =====
   Forsidefane (#946615) lige efter Kalender; fuldskærm som Anmeldelser; tidslinje med i dag-stregen (kommende over, minder
   under); begivenheden folder sig ud fra sit kort (js/knib.js vtsAabn/vtsLuk). --k = sektionens farve. */
.brik.fs-brik .fv{fill:#946615}
.fs-vts{background:#946615}
.fs-vts-naeste{display:flex;align-items:center;gap:10px;min-width:0;width:100%}
.fs-vts-st{flex:none;background:#fff;color:#946615;border-radius:10px;padding:3px 8px;text-align:center;line-height:1.05;display:flex;flex-direction:column}
.fs-vts-st b{font-family:"Lora",Georgia,serif;font-size:18px}
.fs-vts-st small{font-size:10px;font-weight:700}
.fs-vts-t{min-width:0;display:flex;flex-direction:column}
.fs-vts-t strong{font-family:"Lora",Georgia,serif;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fs-vts-t span{font-size:12.5px;opacity:.9}
.fs-vts-tom{font-size:13px;opacity:.9}

.vores-tid{--tid:#946615;--tid-lys:#f6ecd8;--tid-dyb:#6e4a0c;--ja:#4d7353;--maaske:#b8742a;--nej:#9b2c2c;
  position:fixed;inset:0;z-index:48;display:flex;flex-direction:column;background:var(--paper);overflow:hidden}
.vores-tid:not(.lukker){animation:knibInd .3s cubic-bezier(.2,.8,.2,1);transform-origin:var(--knib-x,50%) var(--knib-y,50%)}
.vores-tid.lukker{animation:dagbogUd .2s ease-in forwards}
.vores-tid.knib-styret:not(.lukker){animation:none}
.vts-top{position:relative;background:var(--panel);border-bottom:1px solid var(--line);z-index:6}
.vts-titel{flex-direction:column;gap:2px;font-size:18px}
.vts-cv{border:0;background:var(--tid-lys);color:var(--tid-dyb);border-radius:999px;padding:2px 9px 2px 10px;font:inherit;font-family:system-ui,sans-serif;
  font-size:12.5px;font-weight:600;display:inline-flex;gap:4px;align-items:center;cursor:pointer}
.vts-cv-lag{position:absolute;inset:0;z-index:5}
.vts-cv-menu{position:absolute;left:50%;transform:translateX(-50%);top:calc(100% - 4px);background:var(--panel);border:1px solid var(--line-strong);border-radius:14px;
  box-shadow:0 12px 30px rgba(40,30,20,.22);padding:6px;min-width:240px;z-index:7;animation:vtsFade .15s both}
.vts-cv-menu button{display:flex;width:100%;justify-content:space-between;align-items:center;gap:12px;border:0;background:none;border-radius:10px;padding:9px 10px;
  font:inherit;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer;text-align:left}
.vts-cv-menu button span{display:inline-flex;align-items:center;gap:8px}
.vts-cv-menu button i{width:8px;height:8px;border-radius:50%}
.vts-cv-menu button small{font-weight:500;color:var(--ink-faint)}
.vts-cv-menu button.on{background:var(--tid-lys);color:var(--tid-dyb)}
.vts-cv-menu p{margin:4px 10px 6px;font-size:11.5px;color:var(--ink-faint)}
@keyframes vtsFade{from{opacity:0}to{opacity:1}}

/* tidslinjen */
.vts-tl{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;position:relative;padding:14px 12px calc(110px + env(safe-area-inset-bottom,0px)) 0}
.vts-tl-indre{position:relative;padding-left:46px;display:flex;flex-direction:column;gap:10px;max-width:640px;margin:0 auto}
.vts-tl-indre.skift{animation:vtsFade .25s both}
.vts-tl-indre::before{content:"";position:absolute;left:22px;top:0;bottom:0;width:2px;background:var(--line-strong)}
.vts-tl-top{font-size:12px;color:var(--ink-faint);padding:2px 0 4px}
.vts-aar{position:relative;font-family:"Lora",Georgia,serif;font-weight:700;font-size:15px;color:var(--ink-soft);margin:8px 0 0}
.vts-aar::before{content:"";position:absolute;left:-29px;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:50%;background:var(--paper);border:2px solid var(--ink-faint)}
.vts-p{position:relative}
.vts-p::before{content:"";position:absolute;left:-28px;top:22px;width:10px;height:10px;border-radius:50%;background:var(--tid)}
.vts-p.minde::before{background:var(--paper);border:2px solid var(--tid)}
.vts-nu{position:relative;margin:10px 0 6px;display:flex;align-items:center;gap:8px}
.vts-nu span{position:relative;z-index:1;margin-left:-40px;background:#b5532f;color:#fff;font-size:12px;font-weight:700;border-radius:999px;padding:4px 10px;white-space:nowrap}
.vts-nu i{flex:1;height:2px;background:#b5532f;opacity:.5}
.vts-afsnit{font-size:12.5px;font-weight:600;color:var(--ink-soft);margin:2px 0 -2px}
.vts-tom{padding:22px 10px;text-align:center;color:var(--ink-soft);font-size:14px}
.vts-tom.lille{padding:10px;font-size:12.5px;color:var(--ink-faint)}

.vts-kb{width:100%;display:grid;grid-template-columns:62px minmax(0,1fr);text-align:left;border:0;padding:0;background:var(--panel);border-radius:16px;font:inherit;color:var(--ink);
  box-shadow:0 1px 2px rgba(60,40,20,.06),0 0 0 1px var(--line);cursor:pointer;overflow:hidden;position:relative;-webkit-tap-highlight-color:transparent}
.vts-stub{background:var(--tid);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 4px;position:relative;line-height:1.05}
.vts-stub::after{content:"";position:absolute;right:-1px;top:6px;bottom:6px;border-right:2px dashed var(--panel)}
.vts-stub b{font-family:"Lora",Georgia,serif;font-size:26px;font-weight:600}
.vts-stub span{font-size:12px;font-weight:700}
.vts-stub small{font-size:10.5px;opacity:.85;margin-top:2px}
.vts-stub.lang b{font-size:19px}
.vts-kb-krop{padding:10px 12px 11px;display:flex;flex-direction:column;gap:3px;min-width:0}
.vts-kb-titel{font-family:"Lora",Georgia,serif;font-size:17px;font-weight:600;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vts-kb-meta{font-size:12.5px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vts-kb-bund{display:flex;align-items:center;gap:8px;margin-top:4px}
.vts-ned{font-size:11.5px;font-weight:700;color:var(--tid-dyb);background:var(--tid-lys);border-radius:999px;padding:2px 8px;white-space:nowrap}
.vts-ned.igang{background:#b5532f;color:#fff}
.vts-avs{display:flex}
.vts-avs i{width:20px;height:20px;border-radius:50%;border:2px solid var(--panel);margin-left:-6px;display:grid;place-items:center;font-style:normal;font-size:9.5px;font-weight:700;color:#fff}
.vts-avs i:first-child{margin-left:0}
.vts-avs i.flere{background:var(--ink-faint)}
.vts-mit{margin-left:auto;font-size:11.5px;font-weight:700;white-space:nowrap}
.vts-mit.ja{color:var(--ja)}.vts-mit.maaske{color:var(--maaske)}.vts-mit.nej{color:var(--nej)}.vts-mit.ingen{color:#cf6a44}

.vts-mi{width:100%;text-align:left;border:0;padding:8px 8px 10px;background:#fff;border-radius:6px;cursor:pointer;position:relative;font:inherit;color:var(--ink);
  box-shadow:0 1px 3px rgba(60,40,20,.14),0 0 0 1px rgba(60,40,20,.04);-webkit-tap-highlight-color:transparent}
.vts-mi-fotos{display:grid;height:96px}
.vts-mi-tom{border-radius:3px;border:1.5px dashed var(--line-strong);display:grid;place-items:center;background:var(--paper);color:var(--tid)}
.vts-mi-stub{display:flex;flex-direction:column;align-items:center;line-height:1.05;opacity:.75}
.vts-mi-stub b{font-family:"Lora",Georgia,serif;font-size:28px;font-weight:600}
.vts-mi-stub span{font-size:12px;font-weight:700}
.vts-mi-stub.lang b{font-size:22px}
.vts-mi-tekst{padding:8px 4px 0;display:flex;flex-direction:column;gap:2px}
.vts-mi-titel{font-family:"Lora",Georgia,serif;font-size:16px;font-weight:600}
.vts-mi-meta{font-size:12px;color:var(--ink-soft)}
@keyframes vtsNetop{0%{box-shadow:0 0 0 0 rgba(181,83,47,.7)}100%{box-shadow:0 0 0 14px rgba(181,83,47,0)}}
.vores-tid .netop{animation:vtsNetop 1.2s ease-out 3}

.vores-tid .vts-plus{background:var(--tid);box-shadow:0 8px 20px rgba(148,102,21,.45)}

/* kortet og formularen (ligger inde i .vores-tid) */
.vores-tid .vts-lag{position:absolute;inset:0;z-index:50}
.vts-kort,.vts-form{position:absolute;z-index:51;left:10px;right:10px;top:calc(8px + env(safe-area-inset-top,0px));bottom:calc(10px + env(safe-area-inset-bottom,0px));
  max-width:560px;margin:0 auto;display:flex;flex-direction:column;overflow:hidden;border-radius:18px;background:var(--panel);color:var(--ink);
  box-shadow:0 18px 50px rgba(30,20,10,.35)}
.vts-kort::after,.vts-form::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:color-mix(in srgb,var(--k) 18%,var(--panel));box-shadow:inset 3px 0 0 var(--k);opacity:var(--pk-dek,0)}
.vts-baand{flex:none;position:relative;background:var(--k);color:#fff;padding:14px 14px 16px;display:flex;gap:14px;align-items:flex-end}
.vts-baand.minde{background:linear-gradient(135deg,var(--tid-dyb),var(--k))}
.vts-baand.form{padding-bottom:14px}
.vts-stor{flex:none;width:70px;height:74px;border-radius:12px;background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);
  display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05}
.vts-stor b{font-family:"Lora",Georgia,serif;font-size:30px;font-weight:600}
.vts-stor span{font-size:12px;font-weight:700}
.vts-stor.lang b{font-size:20px}
.vts-baand-tekst{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;padding-right:44px}
.vts-baand-type{font-size:12px;font-weight:600;opacity:.88}
.vts-baand-titel{margin:0;font-family:"Lora",Georgia,serif;font-size:23px;font-weight:600;line-height:1.12;text-wrap:balance;overflow-wrap:anywhere}
.vts-baand-meta{font-size:12.5px;opacity:.9}
.vts-cirkel{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;font-size:12px;font-weight:600;background:rgba(255,255,255,.2);padding:2px 9px;border-radius:999px}
.vts-cirkel i{width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 1.5px #fff}
.vts-fold{position:absolute;top:10px;right:10px}
.vts-krop{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 12px 16px;display:flex;flex-direction:column;gap:10px;background:var(--paper)}
.vts-sek{flex:none;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:9px}
.vts-sek-h{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;font-weight:700;color:var(--ink)}
.vts-sek-h small{font-weight:600;color:var(--ink-faint);font-size:12px;text-align:right}
.vts-svar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.vts-svar button{border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);border-radius:12px;padding:9px 4px;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer}
.vts-svar button.on.ja{background:var(--ja);border-color:var(--ja);color:#fff}
.vts-svar button.on.maaske{background:var(--maaske);border-color:var(--maaske);color:#fff}
.vts-svar button.on.nej{background:var(--nej);border-color:var(--nej);color:#fff}
.vts-svar button:disabled{opacity:.7}
.vts-folk{display:flex;flex-wrap:wrap;gap:6px}
.vts-pers{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:3px 10px 3px 3px;font-size:12.5px;font-weight:600}
.vts-pers .av{width:22px;height:22px;border-radius:50%;flex:none;display:grid;place-items:center;color:#fff;font-size:10px;font-weight:700}
.vts-pers em{font-style:normal;font-weight:500;font-size:11.5px}
.vts-pers.ja em{color:var(--ja)}.vts-pers.maaske em{color:var(--maaske)}.vts-pers.nej em{color:var(--nej)}
.vts-pers.ingen{border-style:dashed;color:var(--ink-faint);font-weight:500}
.vts-fin{font-size:11.5px;color:var(--ink-faint);margin:0}
.vts-fin.midt{text-align:center;font-size:12.5px;color:var(--tid-dyb)}
.vts-praktisk{font-family:"Lora",Georgia,serif;font-size:15px;line-height:1.55;overflow-wrap:anywhere;white-space:pre-line}
.vts-praktisk p{margin:0 0 6px}.vts-praktisk ul{margin:4px 0;padding-left:20px;white-space:normal}
.vts-fakta{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:13.5px;margin:0}
.vts-fakta dt{color:var(--ink-soft);font-weight:600;font-size:12.5px}
.vts-fakta dd{margin:0;overflow-wrap:anywhere}
.vts-link{color:var(--tid-dyb);font-weight:600;text-decoration:none;cursor:pointer;background:none;border:0;padding:0;font:inherit;font-size:13.5px;text-align:left}
.vts-oprettet{font-size:12px;color:var(--ink-faint);text-align:center;margin:0}
.vts-fejl{color:#b23a2b;font-size:13px;font-weight:600;text-align:center}
.vts-bar .pk-knap{width:auto;flex:1;max-width:110px}
.vts-bar .pk-knap.prim,.vts-bar .pk-knap.on{color:var(--tid-dyb);font-weight:600}
.vts-bar .pk-knap:disabled{opacity:.5}
.vts-bar .pk-knap .bk-spinner{width:20px;height:20px}

/* ny / ret begivenhed */
.vts-felt{display:flex;flex-direction:column;gap:5px;min-width:0}
.vts-felt > span{font-size:12px;font-weight:600;color:var(--ink-soft)}
.vts-felt input,.vts-tekstfelt{border:1px solid var(--line-strong);border-radius:10px;padding:9px 11px;font:inherit;font-size:16px;background:var(--panel);color:var(--ink);width:100%;min-width:0}
.vts-felt input.titel{font-family:"Lora",Georgia,serif;font-size:18px;font-weight:600}
.vts-tekstfelt{min-height:96px;resize:vertical;font-family:"Lora",Georgia,serif;line-height:1.5;padding-right:50px}
.vts-raek{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
.vts-chips{display:flex;gap:6px;flex-wrap:wrap}
.vts-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-strong);background:var(--panel);color:var(--ink-soft);border-radius:999px;padding:6px 12px;
  font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.vts-chip i{width:8px;height:8px;border-radius:50%}
.vts-chip.on{border-color:var(--tid);background:var(--tid-lys);color:var(--tid-dyb)}
.vts-chip:disabled{cursor:default;opacity:.85}
.vts-hint{font-size:12px;color:var(--ink-soft);line-height:1.4}
@media (prefers-reduced-motion:reduce){.vores-tid:not(.lukker),.vores-tid.lukker,.vores-tid .netop,.vts-tl-indre.skift{animation:none}}

/* kalenderens post-kort på en begivenhed: tre svar + Åbn i Vores tid sammen */
.rsvp .t-maaske{color:#b8742a}
.r-status.maaske{color:#b8742a}
.rsvp-btns button.sel-maaske{background:#b8742a;border-color:#b8742a;color:#fff}
.pk-bar .pk-knap.vts-aabn{width:auto;flex:1;flex-direction:row;gap:8px;justify-content:center;color:#6e4a0c;font-weight:600}
/* ny post: fire typer (Begivenhed sender videre til Vores tid sammen) */
.pf-typer.fire{gap:6px}
.pf-typer.fire .typ{flex-direction:column;height:auto;padding:7px 2px 6px;gap:3px;font-size:12px;min-width:0}

/* ===== Vores tid sammen — resten af modellen (26/10-2026): tilmelding til/fra, indbydelse, billeder, noter, fuld skærm ===== */
.vts-top .vts-titel{align-items:flex-start;text-align:left;justify-content:center}
.vts-mi-fotos{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:4px;height:118px}
.vts-mi-fotos .f{border-radius:3px;background:var(--shade) center/cover no-repeat}
.vts-mi-fotos .f:first-child{grid-row:1/3}
.vts-mi-fotos.en{grid-template-columns:1fr}
.vts-mi-tom{grid-column:1/-1;grid-row:1/3;font-size:12.5px;color:var(--ink-faint)}
.vts-badge{position:absolute;top:14px;left:14px;font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;background:#b5532f;color:#fff;box-shadow:0 2px 6px rgba(0,0,0,.2)}
.fs-vts-strimmel{display:flex;gap:5px;width:100%}
.fs-vts-strimmel i{flex:1;height:30px;border-radius:7px;background:rgba(255,255,255,.2) center/cover no-repeat;box-shadow:0 0 0 2px rgba(255,255,255,.75)}

.vts-del-op{background:var(--tid-lys);border:1px solid #ead8b3;border-radius:14px;padding:12px 14px;display:flex;gap:12px;align-items:center}
.vts-del-op p{margin:0;font-size:13.5px;flex:1}
.vts-del-op b{font-family:"Lora",Georgia,serif;font-size:15px;display:block}
.vts-knap{border:0;background:var(--tid);color:#fff;border-radius:999px;padding:8px 14px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
.vts-knap-l{border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);border-radius:999px;padding:7px 13px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.vts-galleri{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.vts-galleri .vts-f,.vts-tilfoej,.vts-behandl{aspect-ratio:1;border-radius:6px;border:0;padding:0;cursor:pointer;position:relative}
.vts-galleri .vts-f{background:var(--shade) center/cover no-repeat}
.vts-galleri .vts-f.mine::after{content:"";position:absolute;right:4px;bottom:4px;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px var(--av,#000)}
.vts-tilfoej{border:1.5px dashed var(--line-strong);background:var(--paper);color:var(--tid-dyb);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font:inherit;font-size:12px;font-weight:700}
.vts-tilfoej small{font-weight:500;color:var(--ink-faint);font-size:10.5px}
.vts-behandl{background:var(--shade);display:grid;place-items:center;font-size:11px;color:var(--ink-soft);cursor:default;overflow:hidden}
.vts-behandl i{position:absolute;left:8px;right:8px;bottom:8px;height:4px;border-radius:2px;background:var(--line-strong);overflow:hidden}
.vts-behandl i::after{content:"";position:absolute;inset:0;background:var(--tid);transform-origin:left;animation:vtsFyld 1.6s ease-in-out infinite}
@keyframes vtsFyld{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.vts-komm{display:flex;gap:9px}
.vts-komm .av{width:28px;height:28px;border-radius:50%;flex:none;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:700}
.vts-komm-b{flex:1;min-width:0;background:var(--paper);border-radius:4px 14px 14px 14px;padding:7px 11px;font-size:14px;line-height:1.4}
.vts-komm-b b{font-size:12.5px}.vts-komm-b small{color:var(--ink-faint);font-size:11px;margin-left:6px}
.vts-komm-b p{margin:2px 0 0;overflow-wrap:anywhere;white-space:pre-wrap}
.vts-link.lille{font-size:12px;margin-right:10px}
.vts-link.slet{color:#b23a2b}
.vts-skriv{display:flex;gap:6px;align-items:center;border:1px solid var(--line-strong);border-radius:22px;padding:4px 4px 4px 14px;background:var(--panel)}
.vts-skriv input{flex:1;min-width:0;border:0;outline:0;background:none;font:inherit;font-size:16px;padding:7px 0;color:var(--ink)}
.vts-rund{width:34px;height:34px;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;flex:none;background:var(--tid);color:#fff}
.vts-rund:disabled{opacity:.4;cursor:default}
.vts-indb-lille{display:flex;gap:12px;align-items:center;border:0;background:none;padding:0;cursor:pointer;text-align:left;font:inherit;color:var(--ink);text-decoration:none}
.vts-indb-lille img{width:84px;height:112px;object-fit:cover;border-radius:8px;flex:none;box-shadow:0 2px 8px rgba(40,30,20,.2);background:var(--shade)}
.vts-indb-t{display:flex;flex-direction:column;gap:3px;min-width:0}
.vts-indb-t b{font-size:13.5px;overflow-wrap:anywhere}
.vts-indb-t small{font-size:13px;color:var(--ink-soft)}
.vts-pdf{width:84px;height:112px;flex:none;border-radius:8px;background:#fff;border:1px solid var(--line-strong);display:grid;place-items:center;box-shadow:0 2px 8px rgba(40,30,20,.12)}
.vts-pdf b{background:#b23a2b;color:#fff;font-size:12px;letter-spacing:.06em;border-radius:4px;padding:3px 7px}
.vts-pdf.lille{width:40px;height:52px}
.vts-pdf.lille b{font-size:9px;padding:2px 4px}
.vts-indb-valgt{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:600}
.vts-indb-valgt img{width:40px;height:52px;object-fit:cover;border-radius:6px;background:var(--shade)}
.vts-indb-valgt .vts-link{margin-left:auto;font-size:13px}
.vts-tjek{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;cursor:pointer;font-weight:600}
.vts-tjek input{margin-top:3px;accent-color:var(--tid);width:18px;height:18px}
.vts-tjek small{display:block;color:var(--ink-soft);font-size:12px;font-weight:400}
/* fuld skærm (js/billeder.js vis med info): navn på den der delte + Slet (kun egne, to tryk) */
.billed-lys .lys-hvem{font-size:13px;font-weight:600;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.billed-lys .lys-fjern.sikker{background:#c0392b;color:#fff}
.fs-vts-strimmel i{height:26px}

/* ===== Ny/ret kalenderpost i samme udtryk som Vores tid sammens kort (26/10-2026, Ole) — aftale, note, mærkedag og begivenhed
   i ét kort; typeskift uden hop. Bånd: lille typelinje, stor titel (overskriften eller en opfordring), tid. Hvide sektioner på papir. */
.form-sheet.pf-kort.beg{--c:#946615!important}
.form-sheet.pf-kort{background:var(--paper)}
.form-sheet.pf-kort .pf-top{align-items:flex-end;padding:14px 12px 16px 16px;gap:12px}
.form-sheet.pf-kort .pf-top-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.form-sheet.pf-kort .pf-top-type{font-size:12px;font-weight:600;opacity:.88}
.form-sheet.pf-kort .pf-top h2{flex:none;font-size:23px;font-weight:600;line-height:1.12;overflow-wrap:anywhere;text-wrap:balance;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.form-sheet.pf-kort .pf-top-meta{font-size:12.5px;opacity:.9}
.form-sheet.pf-kort .pf-top .pf-luk{align-self:flex-start}
.form-sheet.pf-kort .pf-status{display:none}
.form-sheet.pf-kort .pf-typer .typ{background:var(--panel);border-color:var(--line)}
.form-sheet.pf-kort .pf-typer .typ.on{border-color:var(--c);background:color-mix(in srgb,var(--c) 10%,var(--panel));color:var(--ink)}
.form-sheet.pf-kort .pf-typer .typ.on .brik.til{background:var(--c)}
.form-sheet.pf-kort .skrive-boks,.form-sheet.pf-kort .pf-sek{background:var(--panel);border:1px solid var(--line);border-radius:14px}
.form-sheet.pf-kort .pf-sek .raek{border-top-color:var(--line)}
.form-sheet.pf-kort .pf-sek .seg.pf-seg,.form-sheet.pf-kort .pf-sek .seg.hvem-seg{background:var(--shade)}
.form-sheet.pf-kort .skrive-boks .titel{background:var(--panel)!important;border-color:var(--line-strong)!important;font-family:Lora,Georgia,serif;font-size:18px}
.form-sheet.pf-kort .ovs-top label,.form-sheet.pf-kort .felt-hoved label{font-size:12px;font-weight:600;color:var(--ink-soft)}
.form-sheet.pf-kort .fold-h small.aendret{color:color-mix(in srgb,var(--c) 85%,#000)}
.form-sheet.pf-kort .pf-sted{width:100%;border:1px solid var(--line-strong);border-radius:10px;padding:9px 11px;font:inherit;font-size:16px;background:var(--panel);color:var(--ink)}
.form-sheet.pf-kort .pf-indb{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;min-width:0}
.form-sheet.pf-kort .pf-indb img{width:34px;height:44px;object-fit:cover;border-radius:5px;background:var(--shade)}
.form-sheet.pf-kort .pf-indb .vts-pdf.lille{width:34px;height:44px}
.form-sheet.pf-kort .pf-indb > span:not(.vts-pdf){max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* båndet bliver stående øverst, når man ruller i formularen (som Vores tid sammens kort) */
.form-sheet.pf-kort .pf-top{position:sticky;top:-4px;z-index:3}
.form-sheet.pf-kort #kort-tilm .lenke{border:0;background:none;padding:4px 0;font:inherit;font-size:13.5px;font-weight:600;color:color-mix(in srgb,var(--c) 85%,#000);cursor:pointer;white-space:nowrap}
.form-sheet.pf-kort #kort-tilm .lenke:disabled{opacity:.6}

/* ===== Begivenhedskortet (27/10-2026 — model prototype/begivenhedskort.html) =====
   ÉT kort (BegivenhedKort) fra kalenderen (.kal — fast, som post-kortet) og fra Vores tid sammen. Indbydelse: billedet i fuld
   størrelse, brev, fakta, Hvem kommer; "Kommer du?" i bundlinjen. Minde: billederne, Var med, noter som citater; bidrag bag
   bundknappen. Ret/Slet under ⋯. (Præfiks bgk- — bk- er BilledKarrusel.) */
.vts-kort.kal{--tid:#946615;--tid-lys:#f6ecd8;--tid-dyb:#6e4a0c;--ja:#4d7353;--maaske:#b8742a;--nej:#9b2c2c;
  position:fixed;z-index:45;top:calc(var(--appbar-h,61px) + 6px);bottom:10px}
.bgk .bgk-knapper{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:6px}
.bgk .bgk-knapper .vts-fold{position:static}
.bgk .vts-baand{padding-right:14px}
.bgk .vts-baand-tekst{padding-right:46px}
.bgk-krop{padding:0 0 18px;gap:18px}
.bgk-ramme{padding:0 16px}
.bgk-top-luft{padding-top:16px}
.bgk-krop > .bk.banner{margin:0 16px;border-radius:12px;overflow:hidden;flex-shrink:0}
.bgk-helt{display:block;width:100%;border:0;padding:0;margin:0;background:var(--shade);cursor:zoom-in;line-height:0;flex-shrink:0}
.bgk-helt img{display:block;width:100%;height:auto;max-height:none}
.bgk-pdf{margin:16px 16px 0;display:flex;gap:14px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px;text-decoration:none;color:var(--ink);flex-shrink:0}
.bgk-pdf.lille{margin:0}
.bgk-pdf-ik{width:46px;height:58px;border-radius:6px;background:#fff;box-shadow:0 2px 6px rgba(40,30,20,.18);display:grid;place-items:center;font-weight:800;color:#b23a2b;font-size:12px;flex:none}
.bgk-pdf b{display:block;font-size:15px;overflow-wrap:anywhere}
.bgk-pdf small{color:var(--tid-dyb);font-weight:600;font-size:13px}
.bgk-krop > .bgk-helt + .bgk-ramme,.bgk-krop > .bgk-ramme:first-child{padding-top:16px}
.bgk-brev{font-family:"Lora",Georgia,serif;font-size:16.5px;line-height:1.6;color:var(--ink);overflow-wrap:anywhere}
.bgk-brev p{margin:0 0 8px}.bgk-brev p:last-child{margin-bottom:0}.bgk-brev ul{margin:4px 0;padding-left:20px}
.bgk-brev.lille{font-size:15px}
.bgk-fakta{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;margin:0;font-size:14px;padding:14px 0;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}
.bgk-fakta dt{color:var(--ink-faint);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;padding-top:2px}
.bgk-fakta dd{margin:0;overflow-wrap:anywhere}
.bgk-h{margin:0 0 10px;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-weight:700;display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.bgk-h span{letter-spacing:0;text-transform:none;font-weight:600;font-size:12.5px;color:var(--ink-soft);text-align:right}
.bgk-ud{margin-bottom:-12px}
.bgk .vts-pers{background:var(--panel)}
.bgk-hilsner{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.bgk-hils{display:flex;gap:9px}
.bgk-hils .av{width:28px;height:28px;border-radius:50%;flex:none;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:700}
.bgk-hils div{background:var(--panel);border:1px solid var(--line);border-radius:4px 14px 14px 14px;padding:7px 11px;font-size:14px;flex:1;min-width:0;overflow-wrap:anywhere}
.bgk-hils b{font-size:12px;display:block;color:var(--ink-soft)}
.bgk-fod{font-size:12px;color:var(--ink-faint);text-align:center;margin:0;padding:0 16px}
.bgk .vts-fin{margin-top:8px}

/* mindet */
.bgk-mosaik{display:grid;grid-template-columns:1fr 1fr;gap:3px;flex-shrink:0}
.bgk-foto{position:relative;border:0;padding:0;cursor:zoom-in;background:var(--shade) center/cover no-repeat;aspect-ratio:1;overflow:hidden}
.bgk-foto.stor{grid-column:1/-1;aspect-ratio:4/3}
.bgk-af{position:absolute;left:8px;bottom:8px;font-size:11px;font-weight:600;color:#fff;background:rgba(20,15,10,.45);padding:2px 8px;border-radius:999px;line-height:1.3}
.bgk-foto.ny{animation:bgkGlod 2.4s ease-out}
@keyframes bgkGlod{0%,70%{box-shadow:inset 0 0 0 4px var(--tid)}100%{box-shadow:inset 0 0 0 0 transparent}}
.bgk-tom{margin:16px 16px 0;border:1.5px dashed var(--line-strong);border-radius:14px;padding:30px 16px;text-align:center;color:var(--ink-faint);flex-shrink:0}
.bgk-citater{display:flex;flex-direction:column;gap:14px}
.bgk-citat{margin:0;padding:2px 0 2px 14px;border-left:3px solid var(--tid-lys)}
.bgk-citat p{margin:0;font-family:"Lora",Georgia,serif;font-style:italic;font-size:16px;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}
.bgk-citat footer{font-size:12px;color:var(--ink-faint);margin-top:4px}
.bgk-citat.ny{animation:bgkGlodC 2.4s ease-out}
@keyframes bgkGlodC{0%,70%{border-left-color:var(--tid);background:var(--tid-lys)}100%{background:transparent}}
.bgk-fra{border-top:1px solid var(--line-strong);padding-top:12px}
.bgk-fra summary{cursor:pointer;font-size:13.5px;font-weight:600;color:var(--tid-dyb);list-style:none}
.bgk-fra summary::-webkit-details-marker{display:none}
.bgk-fra summary::before{content:"›";display:inline-block;margin-right:6px;transition:transform .2s}
.bgk-fra[open] summary::before{transform:rotate(90deg)}
.bgk-fra-i{display:flex;flex-direction:column;gap:12px;margin-top:12px}
.bgk-fra-i .bk.banner{margin:0;border-radius:12px;overflow:hidden}
.bgk-indb-lille{width:120px;border:0;padding:0;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(40,30,20,.2);cursor:zoom-in;line-height:0;background:var(--shade)}
.bgk-indb-lille img{width:100%;height:auto;display:block}

/* bidrag */
.bgk-strimmel{flex:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 14px;background:var(--tid-lys);color:var(--tid-dyb);font-size:13px;font-weight:600;border-bottom:1px solid #ead8b3}
.bgk-mine{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.bgk-mine .vts-tilfoej,.bgk-mine .vts-behandl{border-radius:8px}
.bgk-min-foto{position:relative;aspect-ratio:1;border-radius:8px;background:var(--shade) center/cover no-repeat;overflow:hidden}
.bgk-x{position:absolute;top:5px;right:5px;width:28px;height:28px;border-radius:50%;border:0;background:rgba(20,15,10,.6);color:#fff;font-size:16px;line-height:1;cursor:pointer}
.bgk-bekr{position:absolute;inset:0;background:rgba(20,15,10,.7);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.bgk-bekr button{border:0;border-radius:999px;padding:5px 12px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;background:#fff;color:var(--ink)}
.bgk-bekr button.ja{background:#b23a2b;color:#fff}
.bgk-min-note{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:9px 12px;margin-bottom:8px;font-family:"Lora",Georgia,serif;font-size:14.5px;overflow-wrap:anywhere}
.bgk-min-note .vts-link{margin:0;flex:none}
.bgk-note-knapper{display:flex;gap:10px;flex:none}
.bgk-note{width:100%;min-height:96px;border:1px solid var(--line-strong);border-radius:12px;padding:10px 12px;font:inherit;font-family:"Lora",Georgia,serif;font-size:16px;background:var(--panel);color:var(--ink);resize:vertical;display:block}

/* bundlinjen */
.pk-bar.bgk-bar{height:auto;min-height:70px;gap:8px;padding:8px 10px;justify-content:space-around}
.bgk-bar .pk-knap{flex:none;width:auto;min-width:62px;padding:0 6px}
.bgk-bar .pk-knap.prim,.bgk-bar .pk-knap.on{color:var(--tid-dyb);font-weight:600}
.bgk-bar .pk-knap:disabled{opacity:.5}
.bgk-bar .bgk-vts{color:var(--tid-dyb);font-weight:600}
.bgk-prim{flex:1;border:0;border-radius:14px;background:var(--tid);color:#fff;padding:14px 12px;font:inherit;font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;min-width:0}
.bgk-prim:disabled{opacity:.6}
.bgk-prim.puls{animation:bgkPuls 2.4s ease-in-out infinite}
@keyframes bgkPuls{0%,100%{box-shadow:0 0 0 0 rgba(148,102,21,.35)}50%{box-shadow:0 0 0 7px rgba(148,102,21,0)}}
.bgk-spg{font-family:"Lora",Georgia,serif;font-weight:600;font-size:15px;flex:none;padding:0 2px}
.bgk-svar{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-width:0}
.bgk-svar button{border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);border-radius:12px;padding:12px 2px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.bgk-svar button:disabled{opacity:.6}
.bgk-svar button.valgt.ja{background:var(--ja);border-color:var(--ja);color:#fff}
.bgk-svar button.valgt.maaske{background:var(--maaske);border-color:var(--maaske);color:#fff}
.bgk-svar button.valgt.nej{background:var(--nej);border-color:var(--nej);color:#fff}
.bgk-pille{flex:1;display:flex;align-items:center;gap:8px;border:0;border-radius:14px;padding:12px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;color:#fff;background:var(--ja);min-width:0;text-align:left}
.bgk-pille span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bgk-pille.maaske{background:var(--maaske)}.bgk-pille.nej{background:var(--nej)}
.bgk-pille small{font-weight:500;opacity:.85;margin-left:auto;white-space:nowrap}

/* svar-ark og ⋯-menu (inde i kortet) */
.bgk-ark-lag,.bgk-menu-lag{position:absolute;inset:0;z-index:4}
.bgk-ark-lag{background:rgba(30,26,22,.25)}
.bgk-ark{position:absolute;left:0;right:0;bottom:0;z-index:5;background:var(--panel);border-radius:20px 20px 0 0;box-shadow:0 -10px 30px rgba(30,20,10,.22);padding:14px 14px 16px;display:flex;flex-direction:column;gap:10px;animation:bgkOp .2s ease-out}
.bgk-ark h3{margin:0;font-family:"Lora",Georgia,serif;font-size:17px}
.bgk-ark input{border:1px solid var(--line-strong);border-radius:12px;padding:11px 12px;font:inherit;font-size:16px;background:var(--paper);color:var(--ink)}
.bgk-ark .bgk-prim{flex:none}
@keyframes bgkOp{from{transform:translateY(24px);opacity:0}}
.bgk-menu{position:absolute;right:12px;top:58px;z-index:6;background:var(--panel);border:1px solid var(--line-strong);border-radius:14px;box-shadow:0 12px 30px rgba(40,30,20,.25);padding:6px;min-width:210px;animation:vtsFade .15s both}
.bgk-menu button{display:flex;width:100%;align-items:center;gap:10px;border:0;background:none;border-radius:10px;padding:10px;font:inherit;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer;text-align:left}
.bgk-menu button:active{background:var(--shade)}
.bgk-menu button.slet{color:#b23a2b}
.bgk-menu p{margin:4px 10px 6px;font-size:12px;color:var(--ink-faint)}
@media (prefers-reduced-motion:reduce){.bgk-prim.puls,.bgk-foto.ny,.bgk-citat.ny,.bgk-ark{animation:none}}

/* Kladde (30/10-2026): begivenhed hvis indbydelse ikke er sendt endnu */
.vts-mit.kladde{color:#8a7d6f;font-weight:600;font-style:italic}
.bgk-kladde p{margin:0 0 4px;padding:10px 12px;border-radius:10px;background:rgba(138,125,111,.12);font-size:13.5px;line-height:1.4}
.pf-send{display:flex;align-items:center;gap:10px;padding:8px 14px;border-top:1px solid rgba(0,0,0,.08);font-size:12.5px;line-height:1.35;color:#6b6157;position:relative;z-index:1}
.pf-send span{flex:1}
.pf-send-knap{flex:none;border:0;border-radius:999px;padding:8px 14px;background:var(--tid-dyb,#b5532f);color:#fff;font-weight:600;font-size:13px}
.pf-send-knap:disabled{opacity:.5}

/* Cirkel-diagram øverst i Mine cirkler (31/10-2026) — CirkelDiagram.razor, model prototype/cirkler/cirkel-diagram.html */
.cdia{gap:8px}
.cdia svg{width:100%;max-width:360px;height:auto;display:block;margin:0 auto;overflow:visible}
.cdia text{font-family:inherit}
.cdia-cnavn{font-size:12px;font-weight:600;cursor:pointer}
.cdia-person{cursor:pointer;transition:opacity .2s}
.cdia-navn{font-size:12.5px;fill:#332c25}
.cdia-navn.flere{font-weight:600}
.cdia-mig{font-size:12px;font-weight:600;fill:#fffdf8}
.cdia-flere{font-size:12px;fill:#6b625a;cursor:pointer;text-decoration:underline}
.cdia circle{transition:opacity .2s}
.cdia-legende{display:flex;flex-wrap:wrap;gap:6px}
.cdia-pille{font:inherit;font-size:12.5px;display:inline-flex;align-items:center;gap:6px;border:1px solid #ddd2c2;background:transparent;color:#332c25;border-radius:999px;padding:4px 10px;cursor:pointer}
.cdia-pille[aria-pressed="true"]{border-color:#332c25}
.cdia-pille i{width:9px;height:9px;border-radius:50%;flex:none}
.cdia-info{margin:0;min-height:38px;font-size:13px;line-height:1.45;color:#6b625a;border-top:1px solid #efe7db;padding-top:9px}
.cdia-info b{color:#332c25}
@media (prefers-reduced-motion:reduce){.cdia-person,.cdia circle{transition:none}}
