/* Tessir Publish: det som er spesielt for Publish. Felles stil, komponenter og fargetokens ligger i ui/tessir.css.
   Ingen faste farger her: bruk variablene (--t-*). */

/* Heldekkende visning oppå editoren (som #bizdev-view). Hele visningen ruller, så toppmenyen er sticky. */
.pb-view { position: fixed; inset: 0; z-index: 900; display: flex; flex-direction: column; overflow-y: auto; overflow-x: hidden; }
.pb-view[hidden] { display: none; }

.pb-body { flex: 1 0 auto; padding: 0 0 96px; }
.pb-page { width: 100%; max-width: 1240px; margin: 0 auto; padding: 28px 32px 0; display: flex; flex-direction: column; gap: 20px; }

/* Tom tilstand for fanene (steg 2): rolig, tittel og én linje */
.pb-empty { padding-top: 12px; }

/* Innstillinger: venstremeny (248 px; prototypen har 236, men «Merkevare og fakta» ble kuttet med reservefonten) og innhold */
.pb-set-head { display: flex; flex-direction: column; gap: 4px; }
.pb-set-grid { display: grid; grid-template-columns: 248px minmax(0, 1fr); gap: 24px; align-items: start; }
.pb-set-nav { position: sticky; top: calc(var(--t-top-h) + 20px); display: flex; flex-direction: column; gap: 2px; }
.pb-set-item { display: flex; align-items: center; gap: 9px; height: 40px; padding: 0 12px; border: none; border-radius: var(--t-r-pill); background: none; color: var(--t-ink); font-size: 13.5px; font-weight: 600; text-align: left; white-space: nowrap; cursor: pointer; }
.pb-set-item:hover { background: var(--t-soft-2); }
.pb-set-item i { width: 16px; flex: none; font-size: 13px; text-align: center; }
.pb-set-label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.pb-set-scope { font-size: 10.5px; font-weight: 700; color: var(--t-text-4); }
.pb-set-item[aria-current="true"] { background: var(--t-ink); color: var(--t-on-ink); }
.pb-set-item[aria-current="true"] .pb-set-scope { color: var(--t-lime); }
.pb-set-main { display: flex; flex-direction: column; gap: 16px; min-width: 0; }

@media (max-width: 820px) {
  .pb-page { padding: 20px 16px 0; }
  .pb-set-grid { grid-template-columns: minmax(0, 1fr); }
  .pb-set-nav { position: static; flex-direction: row; overflow-x: auto; }
}

/* ── Annonser: verktøylinje, filter og rutenett ── */
.pb-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.pb-count { margin-right: auto; font-size: 13.5px; color: var(--t-text-3); }
.pb-count b { font-size: 15px; color: var(--t-ink); }
.pb-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.pb-none { padding: 24px 0; }
.pb-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(236px, 1fr)); gap: 16px; }
.pb-ad { display: flex; flex-direction: column; padding: 0; border: none; border-radius: var(--t-r-card); background: var(--t-card); box-shadow: var(--t-shadow-line); color: var(--t-ink); text-align: left; cursor: pointer; overflow: hidden; }
.pb-ad:hover, .pb-ad:focus-visible { box-shadow: var(--t-shadow-line), var(--t-shadow-hover); }
.pb-ad-img { position: relative; display: block; width: 100%; aspect-ratio: 4 / 3; background: var(--t-soft-2); overflow: hidden; }
.pb-ad-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pb-ad-tile { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 16px; background: var(--t-ink); color: var(--t-on-ink); font-size: 16px; font-weight: 700; line-height: 1.2; letter-spacing: -0.02em; text-align: center; overflow: hidden; }
.pb-ad-body { display: flex; flex-direction: column; gap: 6px; padding: 12px 14px 14px; }
.pb-ad-head { display: flex; align-items: baseline; gap: 8px; }
.pb-ad-code { font-size: 14px; font-weight: 800; }
.pb-ad-msg { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 13.5px; color: var(--t-text-2); min-height: 2.9em; }
.pb-ad-tags { display: flex; flex-wrap: wrap; gap: 5px; }

/* ── Annonsepanelet ── */
.pb-pan { display: flex; flex-direction: column; gap: 22px; }
.pb-pan-title { font-size: 17px; letter-spacing: -0.02em; }
.pb-pan-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.pb-sec { display: flex; flex-direction: column; gap: 10px; }
.pb-sec > .t-h2 { display: flex; align-items: center; gap: 8px; }
.pb-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-items: start; }
.pb-imgf { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.pb-imgf-label { font-size: 12px; font-weight: 700; color: var(--t-text-2); }
.pb-imgf-label span { font-weight: 500; color: var(--t-text-3); }
.pb-imgf-box { position: relative; display: flex; width: 100%; align-items: center; justify-content: center; border-radius: var(--t-r-surface); background: var(--t-soft-1); box-shadow: 0 0 0 1px var(--t-line); overflow: hidden; }
.pb-imgf-box.is-feed { aspect-ratio: 4 / 5; }
.pb-imgf-box.is-story { aspect-ratio: 9 / 16; }
.pb-imgf-box img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pb-imgf-box.is-empty { box-shadow: none; border: 1.5px dashed var(--t-text-4); }
.pb-imgf-box.is-over { border-color: var(--t-product); background: var(--t-mint-tint); }
.pb-imgf-empty { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 12px; text-align: center; font-size: 12.5px; color: var(--t-text-3); }
.pb-imgf-empty .t-btn { height: 32px; padding: 0 12px; font-size: 12.5px; }
.pb-imgf-btns { display: flex; flex-wrap: wrap; gap: 6px; }
.pb-imgf-btns .t-btn { height: 30px; padding: 0 11px; font-size: 12.5px; }
.pb-imgf-info { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 2px; font-size: 12px; color: var(--t-text-3); }
.pb-imgf-info .is-bad { color: var(--t-red-text); font-weight: 600; }
.pb-imgf-info .is-warn { color: var(--t-amber); font-weight: 600; }
.pb-imgf-info .is-ok { color: var(--t-green); }
.pb-props { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 8px 12px; align-items: center; font-size: 13.5px; }
.pb-props dt { margin: 0; color: var(--t-text-3); font-size: 12.5px; }
.pb-props dd { margin: 0; min-width: 0; font-weight: 600; }
.pb-why { margin: 0; font-size: 13.5px; color: var(--t-text-2); }
.pb-copy { display: flex; flex-direction: column; gap: 6px; }
.pb-copy-row { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; align-items: start; padding: 10px 12px; border-radius: var(--t-r-surface); background: var(--t-soft-1); }
.pb-copy-label { grid-column: 1; font-size: 12px; font-weight: 700; color: var(--t-text-3); }
.pb-copy-value { grid-column: 1; font-size: 13px; color: var(--t-ink); overflow-wrap: anywhere; white-space: pre-wrap; }
.pb-copy-value.is-missing { color: var(--t-amber); font-weight: 600; }
.pb-copy-row .t-btn { grid-column: 2; grid-row: 1 / span 2; align-self: center; height: 30px; padding: 0 12px; font-size: 12.5px; }

/* ── Bildebiblioteket ── */
.pb-drop { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 20px 16px; border: 1.5px dashed var(--t-text-4); border-radius: var(--t-r-surface); background: var(--t-soft-1); text-align: center; cursor: pointer; font-size: 13.5px; }
.pb-drop i { font-size: 20px; color: var(--t-product); }
.pb-drop.is-over { border-color: var(--t-product); background: var(--t-mint-tint); }
.pb-drop.is-busy { opacity: .7; cursor: progress; }
.pb-lib-hint { margin: 0 0 12px; padding: 10px 14px; border-radius: var(--t-r-surface); background: var(--t-camp-a-bg); color: var(--t-camp-a); font-size: 13px; font-weight: 600; }
.pb-msgs { display: flex; flex-direction: column; gap: 6px; margin-top: 12px; }
.pb-lib-count { margin: 16px 0 10px; font-size: 13px; color: var(--t-text-3); }
.pb-lib-count b { color: var(--t-ink); font-size: 14px; }
.pb-lib-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(124px, 1fr)); gap: 12px; }
.pb-thumb { display: flex; flex-direction: column; gap: 5px; padding: 0; border: none; background: none; text-align: left; cursor: pointer; min-width: 0; }
.pb-thumb-img { position: relative; display: block; width: 100%; aspect-ratio: 1; border-radius: var(--t-r-surface); background: var(--t-soft-2); box-shadow: var(--t-shadow-line); overflow: hidden; }
.pb-thumb:hover .pb-thumb-img, .pb-thumb:focus-visible .pb-thumb-img { box-shadow: var(--t-shadow-line), var(--t-shadow-hover); }
.pb-thumb-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pb-thumb-flag, .pb-thumb-ok { position: absolute; top: 6px; width: 22px; height: 22px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; }
.pb-thumb-flag { right: 6px; }
.pb-thumb-flag.is-red { background: var(--t-red); color: var(--t-on-ink); }
.pb-thumb-flag.is-yellow { background: var(--t-amber-line); color: var(--t-amber); }
.pb-thumb-ok { left: 6px; background: var(--t-lime); color: var(--t-ink); }
.pb-thumb-cap { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pb-lib-back { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 14px; padding: 0; border: none; background: none; color: var(--t-link); font-size: 13px; font-weight: 600; cursor: pointer; }
.pb-lib-prev { display: flex; align-items: center; justify-content: center; min-height: 120px; max-height: 320px; margin-bottom: 14px; border-radius: var(--t-r-surface); background: var(--t-soft-2); overflow: hidden; }
.pb-lib-prev img { display: block; max-width: 100%; max-height: 320px; object-fit: contain; }
.pb-lib-title { display: flex; flex-direction: column; gap: 2px; margin-bottom: 14px; overflow-wrap: anywhere; }
.pb-lib-pick { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; padding: 12px 14px; border-radius: var(--t-r-surface); background: var(--t-soft-1); }
.pb-lib-fit { display: flex; flex-direction: column; gap: 2px; font-size: 12.5px; color: var(--t-text-2); }
.pb-lib-fit .is-warn { color: var(--t-amber); font-weight: 600; }
.pb-lib-fields { display: flex; flex-direction: column; gap: 10px; }
.pb-lib-row { display: flex; flex-direction: column; gap: 4px; }
.pb-lib-label { font-size: 12px; font-weight: 700; color: var(--t-text-2); }
.pb-lic { margin: 12px 0 0; padding: 10px 14px; border-radius: var(--t-r-surface); background: var(--t-amber-bg); box-shadow: inset 0 0 0 1px var(--t-amber-line); color: var(--t-amber); font-size: 12.5px; }
.pb-lib-sec { display: flex; flex-direction: column; gap: 8px; margin-top: 20px; }
.pb-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.pb-checks { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
.pb-checks li { display: flex; align-items: center; gap: 8px; }
.pb-dot { width: 10px; height: 10px; flex: none; border-radius: 50%; background: var(--t-text-4); }
.pb-checks .is-gronn .pb-dot { background: var(--t-green); }
.pb-checks .is-gul .pb-dot { background: var(--t-amber-line); }
.pb-checks .is-rod .pb-dot { background: var(--t-red); }
.pb-confirm { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 600; }

/* ── Beskjæring ── */
.pb-crop-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.pb-crop-main { display: flex; flex-wrap: wrap; gap: 20px; align-items: flex-start; margin-bottom: 12px; }
.pb-crop-stage { position: relative; flex: none; max-width: 100%; border-radius: var(--t-r-input); background: var(--t-soft-2); overflow: hidden; }
.pb-crop-stage img { display: block; width: 100%; height: 100%; }
.pb-crop-frame { position: absolute; box-shadow: 0 0 0 9999px var(--t-scrim); outline: 2px solid var(--t-lime); outline-offset: -2px; pointer-events: none; }
.pb-crop-side { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.pb-crop-result { position: relative; border-radius: var(--t-r-surface); background: var(--t-soft-2); box-shadow: var(--t-shadow-line); overflow: hidden; }
.pb-crop-result.is-feed { width: 136px; aspect-ratio: 4 / 5; }
.pb-crop-result.is-story { width: 100px; aspect-ratio: 9 / 16; }
.pb-crop-result img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pb-crop-side .is-warn { color: var(--t-amber); font-weight: 600; }
.pb-crop-slider { display: grid; grid-template-columns: 80px minmax(0, 1fr); align-items: center; gap: 12px; margin-top: 8px; font-size: 13px; font-weight: 600; }
.pb-crop-slider input { width: 100%; accent-color: var(--t-ink); }
.pb-crop-slider.is-off { opacity: .45; }
.pb-crop-actions { display: flex; align-items: center; gap: 8px; margin-top: 18px; }

/* ── Lansering ── */
.pb-progress { display: inline-flex; align-items: center; gap: 8px; margin-right: auto; font-size: 13.5px; color: var(--t-text-3); }
.pb-progress b { color: var(--t-ink); font-size: 15px; }
.pb-bar { display: inline-block; width: 140px; height: 8px; border-radius: var(--t-r-pill); background: var(--t-soft-3); overflow: hidden; }
.pb-bar span { display: block; height: 100%; background: var(--t-ink); border-radius: var(--t-r-pill); }
.pb-launch { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.pb-launch-list > .t-h2 { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.pb-steps { margin: 0; padding: 0; list-style: none; }
.pb-step { padding: 6px 0; box-shadow: 0 1px 0 var(--t-divider); }
.pb-step:last-child { box-shadow: none; }
.pb-step-row { display: flex; align-items: center; gap: 12px; }
.pb-step-main { flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px; padding: 6px 4px; border: none; background: none; text-align: left; cursor: pointer; font-size: 14px; font-weight: 600; color: var(--t-ink); }
.pb-step-n { width: 22px; flex: none; font-size: 12px; color: var(--t-text-4); }
.pb-step-title { flex: 1; min-width: 0; }
.pb-step-main i { flex: none; font-size: 11px; color: var(--t-text-4); }
.pb-step.is-done .pb-step-title { color: var(--t-text-3); text-decoration: line-through; text-decoration-color: var(--t-text-4); }
.pb-step-who { margin: 0 0 4px 34px; }
.pb-step-body { margin: 2px 0 8px 34px; font-size: 13.5px; color: var(--t-text-2); }
@media (max-width: 820px) { .pb-launch { grid-template-columns: minmax(0, 1fr); } }

/* ── Plan ── */
.pb-plan-title { display: flex; flex-direction: column; gap: 4px; }
.pb-plan-head { display: flex; flex-direction: column; gap: 14px; }
.pb-plan-tags { display: flex; align-items: center; gap: 10px; }
.pb-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px 20px; margin: 0; }
.pb-facts dt { font-size: 12px; color: var(--t-text-3); }
.pb-facts dd { margin: 2px 0 0; font-size: 14px; font-weight: 600; }
.pb-plan-sec { display: flex; flex-direction: column; gap: 12px; padding-top: 12px; }
.pb-split { display: flex; gap: 3px; height: 34px; }
.pb-split-seg { display: flex; align-items: center; justify-content: center; border-radius: var(--t-r-surface); background: var(--t-camp-c-bg); color: var(--t-camp-c); font-size: 13px; font-weight: 700; box-shadow: inset 0 0 0 1px var(--t-camp-c-line); min-width: 0; }
.pb-split-seg[data-camp="A"] { background: var(--t-camp-a-bg); color: var(--t-camp-a); box-shadow: inset 0 0 0 1px var(--t-camp-a-line); }
.pb-split-seg[data-camp="B"] { background: var(--t-camp-b-bg); color: var(--t-camp-b); box-shadow: inset 0 0 0 1px var(--t-camp-b-line); }
.pb-split-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; font-size: 13.5px; }
.pb-split-list li { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.pb-camps { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; }
.pb-camp { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 16px 18px; border: none; border-radius: var(--t-r-card); background: var(--t-card); box-shadow: var(--t-shadow-line); color: var(--t-ink); text-align: left; cursor: pointer; }
.pb-camp:hover, .pb-camp:focus-visible { box-shadow: var(--t-shadow-line), var(--t-shadow-hover); }
.pb-camp-top { display: flex; align-items: center; gap: 8px; font-size: 15px; }
.pb-camp-desc { font-size: 13.5px; color: var(--t-text-2); }
.pb-findings { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.pb-findings li { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 12px; align-items: start; font-size: 13.5px; }
.pb-weeks { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; }
.pb-week { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border-radius: var(--t-r-surface); background: var(--t-card); box-shadow: var(--t-shadow-line); }
.pb-week-label { font-size: 12px; font-weight: 700; color: var(--t-product); }
.pb-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.pb-metric { display: flex; flex-direction: column; gap: 3px; padding: 12px 14px; border-radius: var(--t-r-surface); background: var(--t-soft-1); }
.pb-wheel { display: flex; flex-direction: column; gap: 8px; overflow-x: auto; }
.pb-wheel-row { display: grid; grid-template-columns: 150px repeat(12, minmax(36px, 1fr)); align-items: center; gap: 4px; min-width: 720px; }
.pb-wheel-name { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; }
.pb-month { text-align: center; font-size: 12px; color: var(--t-text-3); padding: 2px 0; border-radius: var(--t-r-pill); }
.pb-month.is-now { background: var(--t-ink); color: var(--t-on-ink); font-weight: 700; }
.pb-span { grid-row: 1; padding: 4px 10px; border-radius: var(--t-r-pill); background: var(--t-mint-tint); color: var(--t-link); font-size: 12px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ── Status (README 6.1) ── */
.pb-st-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; }
.pb-st-title { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.pb-st-verdict { margin: 0; font-size: 44px; font-weight: 700; line-height: 1.05; letter-spacing: -0.04em; color: var(--t-ink); }
.pb-st-verdict[data-tone="green"] .pb-st-dot { color: var(--t-green); }
.pb-st-verdict[data-tone="amber"] .pb-st-dot { color: var(--t-amber-line); }
.pb-st-verdict[data-tone="red"] .pb-st-dot { color: var(--t-red); }
.pb-st-verdict[data-tone="grey"] .pb-st-dot { color: var(--t-text-4); }
.pb-st-side { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.pb-st-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.pb-st-sync { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 6px 10px; color: var(--t-text-3); max-width: 520px; text-align: right; }
.pb-st-sync-error { flex-basis: 100%; color: var(--t-red-text); }
.pb-st-verdictbox { display: flex; flex-direction: column; gap: 10px; }
.pb-st-stripe { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 0; padding: 16px 20px; border-radius: var(--t-r-card); background: var(--t-ink); color: var(--t-on-ink); }
.pb-st-next { display: flex; align-items: center; gap: 12px; flex: 1 1 360px; min-width: 0; padding-right: 12px; }
.pb-st-next-tag { height: 28px; padding: 0 12px; flex: none; border-radius: var(--t-r-pill); display: inline-flex; align-items: center; background: var(--t-lime); color: var(--t-ink); font-size: 12.5px; font-weight: 700; white-space: nowrap; }
.pb-st-next-text { font-size: 14.5px; font-weight: 600; }
.pb-st-signals { display: flex; flex-wrap: wrap; gap: 10px 0; }
.pb-st-signal { display: flex; align-items: center; gap: 10px; padding: 0 16px; box-shadow: -1px 0 0 var(--t-on-ink-line); }
.pb-st-sigdot { width: 8px; height: 8px; flex: none; border-radius: 50%; background: var(--t-text-4); }
.pb-st-signal[data-tone="green"] .pb-st-sigdot { background: var(--t-sig-green); }
.pb-st-signal[data-tone="amber"] .pb-st-sigdot { background: var(--t-sig-amber); }
.pb-st-signal[data-tone="red"] .pb-st-sigdot { background: var(--t-sig-red); }
.pb-st-sigtext { display: flex; flex-direction: column; gap: 1px; font-size: 12px; opacity: .8; }
.pb-st-sigtext b { font-size: 13.5px; font-weight: 700; opacity: 1; }
.pb-st-more { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; padding: 4px 2px; border: none; background: none; color: var(--t-link); font-size: 13px; font-weight: 600; cursor: pointer; }
.pb-st-lines { margin: 0; padding: 14px 20px 14px 38px; border-radius: var(--t-r-surface); background: var(--t-card); box-shadow: var(--t-shadow-line); display: flex; flex-direction: column; gap: 6px; font-size: 14px; color: var(--t-text-2); }
.pb-st-cards { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 16px; align-items: stretch; }
.pb-st-label { font-size: 13px; font-weight: 600; color: var(--t-text-2); }
.pb-st-big { display: flex; flex-direction: column; gap: 10px; }
.pb-st-big-head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.pb-st-link { padding: 0; border: none; background: none; color: var(--t-link); font-size: 12.5px; font-weight: 600; cursor: pointer; text-decoration: underline; }
.pb-st-big-row { display: flex; align-items: baseline; gap: 18px; }
.pb-st-bignum { font-size: 88px; line-height: .95; letter-spacing: -0.05em; }
.pb-st-meta-num { display: inline-flex; align-items: baseline; gap: 6px; font-size: 13px; color: var(--t-text-3); cursor: help; }
.pb-st-meta-num b { font-size: 22px; color: var(--t-ink); }
.pb-st-bars { display: flex; align-items: flex-end; gap: 3px; height: 96px; margin-top: auto; }
.pb-st-bar { flex: 1 1 0; min-width: 3px; border-radius: 4px 4px 2px 2px; background: var(--t-soft-3); }
.pb-st-bar.is-recent { background: var(--t-mint); }
.pb-st-bar.is-today { background: var(--t-lime); box-shadow: inset 0 0 0 1px var(--t-camp-a-line); }
.pb-st-bar.is-missing { background: none; box-shadow: inset 0 0 0 1px var(--t-line); }
.pb-st-axis { display: flex; justify-content: space-between; }
.pb-st-kpis { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.pb-st-kpi { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.pb-st-kpi.is-lime { background: var(--t-lime); box-shadow: none; }
.pb-st-kpi-val { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; }
.pb-st-kpi-val b { font-size: 40px; line-height: 1; letter-spacing: -0.04em; }
.pb-st-kpi-val span { font-size: 13px; color: var(--t-text-3); }
.pb-st-kpi.is-lime .pb-st-kpi-val span, .pb-st-kpi.is-lime .pb-st-label { color: var(--t-ink); }
.pb-st-kpi-sub { font-size: 12.5px; color: var(--t-text-3); }
.pb-st-kpi-sub.is-good { color: var(--t-green); font-weight: 600; }
.pb-st-kpi-sub.is-bad { color: var(--t-red-text); font-weight: 600; }
.pb-st-budgetbar { position: relative; display: block; height: 8px; margin: 4px 0 2px; border-radius: var(--t-r-pill); background: var(--t-soft-3); }
.pb-st-budget-fill { display: block; height: 100%; border-radius: var(--t-r-pill); background: var(--t-text-4); }
.pb-st-budgetbar[data-tone="green"] .pb-st-budget-fill { background: var(--t-green); }
.pb-st-budgetbar[data-tone="amber"] .pb-st-budget-fill { background: var(--t-amber-line); }
.pb-st-budgetbar[data-tone="red"] .pb-st-budget-fill { background: var(--t-red); }
.pb-st-budget-mark { position: absolute; top: -4px; width: 3px; height: 16px; margin-left: -1.5px; border-radius: 2px; background: var(--t-ink); }
.pb-st-sec-head { display: flex; flex-direction: column; gap: 4px; margin-bottom: 12px; }
.pb-st-angle-list { margin: 0; padding: 0; list-style: none; }
.pb-st-angle { display: grid; grid-template-columns: minmax(150px, 1.3fr) minmax(80px, 1fr) 110px 76px 128px; align-items: center; gap: 14px; padding: 10px 0; box-shadow: 0 1px 0 var(--t-divider); }
.pb-st-angle:last-child { box-shadow: none; }
.pb-st-angle-name { display: flex; flex-direction: column; min-width: 0; }
.pb-st-angle-bar { display: block; height: 8px; border-radius: var(--t-r-pill); background: var(--t-soft-2); overflow: hidden; }
.pb-st-angle-bar span { display: block; height: 100%; border-radius: var(--t-r-pill); background: var(--t-mint); }
.pb-st-angle-bar.is-warm span { background: var(--t-soft-3); }
.pb-st-angle-n { display: flex; flex-direction: column; line-height: 1.2; }
.pb-st-angle-n b { font-size: 15px; }
.pb-st-angle-cpl { text-align: right; font-weight: 400; letter-spacing: 0; }
.pb-st-angle-cpl.is-bad { color: var(--t-red-text); font-weight: 600; }
.pb-st-rating { justify-self: end; }
.pb-st-rating[data-rating="strong"] { background: var(--t-lime); color: var(--t-ink); }
.pb-st-rating[data-rating="ontarget"] { background: var(--t-soft-2); color: var(--t-ink); }
.pb-st-rating[data-rating="weak"] { background: var(--t-weak-bg); color: var(--t-weak); }
.pb-st-rating[data-rating="warm"], .pb-st-rating[data-rating="none"] { background: var(--t-soft-2); color: var(--t-text-3); }
.pb-st-fb { display: flex; flex-direction: column; gap: 6px; }
@media (max-width: 980px) { .pb-st-cards { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 820px) {
  .pb-st-verdict { font-size: 34px; }
  .pb-st-side { align-items: flex-start; }
  .pb-st-sync { justify-content: flex-start; text-align: left; }
  .pb-st-bignum { font-size: 64px; }
  .pb-st-angle { grid-template-columns: minmax(0, 1fr) auto; }
  .pb-st-angle-bar { grid-column: 1 / -1; }
}

/* ── Importpanelet og «Legg inn tall» ── */
.pb-imp-file { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-size: 13.5px; overflow-wrap: anywhere; }
.pb-imp-file i { color: var(--t-product); }
.pb-imp-sum { margin: 0 0 10px; padding: 12px 14px; list-style: none; display: flex; flex-direction: column; gap: 4px; border-radius: var(--t-r-surface); background: var(--t-soft-1); font-size: 13.5px; }
.pb-imp-sum b { font-size: 15px; }
.pb-imp-sum .is-warn { color: var(--t-amber); font-weight: 600; }
.pb-imp-unknown { display: flex; flex-direction: column; gap: 6px; margin: 10px 0; }
.pb-imp-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.pb-imp-sec { display: flex; flex-direction: column; gap: 8px; margin-top: 16px; }
.pb-imp-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.pb-imp-table th { padding: 6px 8px; text-align: left; font-size: 12px; font-weight: 700; color: var(--t-text-3); box-shadow: inset 0 -1px 0 var(--t-divider); }
.pb-imp-table td { padding: 6px 8px; box-shadow: inset 0 -1px 0 var(--t-divider); }
.pb-imp-table td.t-num { font-weight: 600; letter-spacing: 0; }
.pb-imp-skip { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
.pb-imp-skip li { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 8px; }
.pb-imp-link { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.pb-imp-link-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 10px; align-items: center; padding: 10px 12px; border-radius: var(--t-r-surface); background: var(--t-soft-1); }
.pb-imp-link-name { display: flex; flex-direction: column; gap: 2px; min-width: 0; overflow-wrap: anywhere; }
.pb-imp-link-row .t-select { grid-column: 1 / -1; }
.pb-cnt-help { margin-bottom: 10px; }
.pb-cnt-head, .pb-cnt-row { display: grid; grid-template-columns: minmax(0, 1fr) 110px 110px; align-items: center; gap: 10px; }
.pb-cnt-head { padding: 12px 0 6px; font-size: 12px; font-weight: 700; color: var(--t-text-3); }
.pb-cnt-list { margin: 0; padding: 0; list-style: none; }
.pb-cnt-row { padding: 5px 0; box-shadow: 0 1px 0 var(--t-divider); }
.pb-cnt-day { font-size: 13.5px; font-weight: 600; }
.pb-cnt-input { height: 34px; text-align: right; font-variant-numeric: tabular-nums; }
.pb-cnt-err { grid-column: 1 / -1; padding: 6px 10px; font-size: 12.5px; }
.pb-cnt-sum { margin-top: 12px; }

/* ── Innstillinger (steg 6): kort, felt, lagrelinje, tilkoblinger, kjøringer og tilgang ── */
.pb-set-card { display: flex; flex-direction: column; gap: 14px; }
.pb-set-card-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.pb-set-card-head .t-h2 { margin: 0; }
.pb-set-card-aside { margin-left: auto; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.pb-set-card-icon { width: 32px; height: 32px; flex: none; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; background: var(--t-soft-2); color: var(--t-ink); font-size: 14px; }
.pb-set-note { margin: 0; font-size: 12.5px; line-height: 1.5; color: var(--t-text-3); }
.pb-field { display: flex; flex-direction: column; gap: 5px; }
.pb-field-label { font-size: 13px; font-weight: 700; color: var(--t-ink); }
.pb-field-row { display: flex; align-items: center; gap: 8px; }
.pb-field-row .t-input { max-width: 260px; }
.pb-field-unit { font-size: 13px; color: var(--t-text-3); white-space: nowrap; }
.pb-field-help { margin: 0; font-size: 12.5px; line-height: 1.5; color: var(--t-text-3); max-width: 620px; }
.pb-field-error { margin: 0; font-size: 12.5px; font-weight: 600; color: var(--t-red-text); }
.pb-field.has-error .t-input { box-shadow: 0 0 0 1.5px var(--t-red); }
.pb-savebar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.pb-savebar .t-error { flex-basis: 100%; }
.pb-kvs { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 8px 16px; margin: 0; font-size: 13.5px; }
.pb-kv { display: contents; }
.pb-kv dt { color: var(--t-text-3); font-weight: 600; }
.pb-kv dd { margin: 0; color: var(--t-ink); display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-width: 0; overflow-wrap: anywhere; }
.pb-conn-hint { flex-basis: 100%; font-size: 12px; color: var(--t-text-4); }
.pb-conn-accs { display: flex; flex-direction: column; gap: 6px; }
.pb-conn-acc { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.pb-conn-acc .t-btn { height: 28px; padding: 0 10px; font-size: 12.5px; }
.pb-conn-warn { margin: 0; padding: 8px 12px; border-radius: var(--t-r-surface); background: var(--t-amber-bg); color: var(--t-amber); font-size: 13px; font-weight: 600; }
.pb-conn-ok { margin: 0; padding: 8px 12px; border-radius: var(--t-r-surface); background: var(--t-green-bg); color: var(--t-green); font-size: 13px; font-weight: 600; }
.pb-conn-note { color: var(--t-ink); font-weight: 600; }
.pb-acct-form { display: flex; flex-direction: column; gap: 12px; padding: 14px; border-radius: var(--t-r-surface); background: var(--t-soft-1); }
.pb-acct-active { display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; }
.pb-conn-list { display: flex; flex-direction: column; }
.pb-conn-row { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid var(--t-divider); flex-wrap: wrap; }
.pb-conn-row:first-child { border-top: none; }
.pb-conn-row-text { flex: 1; min-width: 200px; display: flex; flex-direction: column; gap: 2px; font-size: 13px; color: var(--t-text-3); }
.pb-conn-row-text b { color: var(--t-ink); font-size: 13.5px; }
.pb-conn-key { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; color: var(--t-text-2); }
.pb-runs-wrap { overflow-x: auto; }
.pb-runs { width: 100%; border-collapse: collapse; font-size: 13px; }
.pb-runs th { text-align: left; padding: 6px 10px 6px 0; font-size: 11.5px; font-weight: 700; color: var(--t-text-4); white-space: nowrap; }
.pb-runs td { padding: 8px 10px 8px 0; border-top: 1px solid var(--t-divider); vertical-align: top; color: var(--t-ink); }
.pb-runs td:nth-child(-n+3) { white-space: nowrap; }
.pb-run-fail { display: inline-flex; flex-direction: column; gap: 4px; align-items: flex-start; }
.pb-run-err { font-size: 12px; color: var(--t-red-text); max-width: 360px; }
.pb-run-details { color: var(--t-text-3); }
.pb-access-groups { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.pb-access-title { margin: 0 0 6px; font-size: 13px; font-weight: 700; color: var(--t-text-3); }
.pb-access-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; font-size: 13.5px; }
.pb-access-list li { display: flex; flex-direction: column; }
.pb-access-list li span { font-size: 12px; color: var(--t-text-3); }
@media (max-width: 820px) { .pb-kvs { grid-template-columns: minmax(0, 1fr); } .pb-kv dt { margin-top: 6px; } }
.pb-fields { display: flex; flex-direction: column; gap: 16px; }
.pb-mal-preview { margin: 0; padding: 12px 16px; border-radius: var(--t-r-surface); background: var(--t-card); box-shadow: var(--t-shadow-line); font-size: 13.5px; line-height: 1.55; color: var(--t-text-2); }
.pb-mal-preview b { color: var(--t-ink); }
.pb-mal-verdict[data-tone="green"] { color: var(--t-green); }
.pb-mal-verdict[data-tone="amber"] { color: var(--t-amber); }
.pb-mal-verdict[data-tone="red"] { color: var(--t-red-text); }
.pb-brand-list { margin: 0; padding: 0 0 0 22px; display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: var(--t-text-3); }
.pb-brand-item { padding-left: 4px; }
.pb-brand-item > * { vertical-align: middle; }
.pb-brand-item .t-input { width: calc(100% - 44px); }
.pb-brand-add { display: flex; gap: 8px; align-items: center; }
.pb-brand-add .t-input { flex: 1; }
.t-app textarea.t-input.pb-brand-tone { height: auto; min-height: 110px; padding: 10px 12px; line-height: 1.5; resize: vertical; }
.pb-brand-barwrap { display: flex; flex-direction: column; gap: 6px; }

/* ── AI (steg 7): annonsechatten, bildesjekken og AI-kortet i Tilkoblinger ── */
.pb-sec-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.pb-sec-head > .t-h2 { margin: 0; }
.pb-thumb-checking { position: absolute; bottom: 6px; right: 6px; width: 22px; height: 22px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; background: var(--t-card); color: var(--t-ink); box-shadow: var(--t-shadow-line); }
.pb-lib-checking { display: flex; align-items: center; gap: 6px; }
.pb-imgf-info .pb-imgf-checking { color: var(--t-text-2); }

.pb-ai-chat { display: flex; flex-direction: column; gap: 12px; min-height: 100%; }
.pb-ai-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.pb-ai-top .t-small { margin: 0; }
.pb-ai-msgs { display: flex; flex-direction: column; gap: 12px; flex: 1; }
.pb-ai-empty { display: flex; flex-direction: column; gap: 10px; }
.pb-ai-empty .t-lead { margin: 0; }
.pb-ai-starters { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.pb-ai-starter { text-align: left; height: auto; min-height: 36px; white-space: normal; }
.pb-ai-msg { display: flex; flex-direction: column; gap: 10px; }
.pb-ai-msg > p { margin: 0; font-size: 14px; line-height: 1.45; }
.pb-ai-msg.is-user { align-self: flex-end; max-width: 85%; background: var(--t-ink); color: var(--t-on-ink); border-radius: var(--t-r-surface) var(--t-r-surface) 4px var(--t-r-surface); padding: 10px 14px; }
.pb-ai-msg.is-user.is-failed { background: var(--t-red-bg); color: var(--t-red-text); }
.pb-ai-msg.is-ai .pb-ai-reply { color: var(--t-text-2); }
.pb-ai-msg.is-loading { color: var(--t-text-3); flex-direction: row; align-items: center; gap: 6px; font-size: 14px; margin: 0; }
.pb-ai-fail { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.pb-ai-fail .t-error { margin: 0; }
.pb-ai-draft { display: flex; flex-direction: column; gap: 10px; padding: 14px; border-radius: var(--t-r-surface); background: var(--t-soft-1); box-shadow: var(--t-shadow-line); }
.pb-ai-draft > p { margin: 0; }
.pb-ai-draft-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.pb-ai-fields { margin: 0; display: grid; grid-template-columns: 1fr; gap: 8px; }
.pb-ai-fields dt { font-size: 11.5px; font-weight: 700; color: var(--t-text-3); display: flex; align-items: center; gap: 6px; }
.pb-ai-fields dd { margin: 0; font-size: 14px; line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere; }
.pb-ai-count { font-weight: 400; color: var(--t-text-4); font-variant-numeric: tabular-nums; }
.pb-ai-count.is-over { color: var(--t-red-text); font-weight: 700; }
.pb-ai-img { display: flex; align-items: center; gap: 10px; }
.pb-ai-img img, .pb-ai-noimg { width: 56px; height: 70px; flex: none; border-radius: 8px; object-fit: cover; background: var(--t-soft-3); }
.pb-ai-noimg { display: inline-flex; align-items: center; justify-content: center; color: var(--t-text-4); }
.pb-ai-img .t-small { margin: 0; }
.pb-ai-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.pb-ai-pick { max-width: 260px; }
.pb-ai-compare { display: flex; flex-direction: column; gap: 8px; }
.pb-ai-compare .t-small { margin: 0; }
.pb-ai-cmp { width: 100%; border-collapse: collapse; font-size: 13px; }
.pb-ai-cmp th { text-align: left; font-size: 11.5px; color: var(--t-text-3); padding: 4px 6px; }
.pb-ai-cmp td { vertical-align: top; padding: 6px; border-top: 1px solid var(--t-divider); white-space: pre-wrap; overflow-wrap: anywhere; }
.pb-ai-cmp tr.is-same td { color: var(--t-text-4); }
.pb-ai-cmp .pb-ai-new { color: var(--t-ink); font-weight: 600; }
.pb-ai-cmp tr.is-same .pb-ai-new { font-weight: 400; color: var(--t-text-4); }
.pb-ai-refines { display: flex; flex-wrap: wrap; gap: 6px; }
.pb-ai-compose { position: sticky; bottom: 0; display: flex; gap: 8px; align-items: flex-end; padding: 10px 0 2px; background: var(--t-card); }
.pb-ai-input { flex: 1; resize: vertical; min-height: 44px; max-height: 200px; font: inherit; }

.pb-ai-sub { font-size: 13px; font-weight: 700; margin: 6px 0 0; }
.pb-ai-cap { display: inline-flex; align-items: center; gap: 6px; }
.pb-ai-cap .t-input { width: 110px; }
.pb-ai-usage { display: inline-flex; flex-direction: column; gap: 6px; min-width: 220px; }
.pb-ai-bar { display: block; height: 6px; border-radius: 99px; background: var(--t-soft-3); overflow: hidden; }
.pb-ai-bar > span { display: block; height: 100%; background: var(--t-mint); }
.pb-ai-usage.is-warn .pb-ai-bar > span { background: var(--t-amber-line); }
.pb-ai-usage.is-full .pb-ai-bar > span { background: var(--t-red); }
/* Ventemeldingene i AI-chatten: hver ny linje tones inn */
.pb-ai-wait { display: inline-block; animation: pb-ai-wait-in .35s ease-out; }
@keyframes pb-ai-wait-in { from { opacity: 0; transform: translateY(3px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .pb-ai-wait { animation: none; } }
.pb-ai-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
/* «Ny samtale» i topplinjen på AI-panelet, og svar uten utkast */
.t-app .t-panel-head .pb-ai-new-btn { height: 32px; padding: 0 12px; font-size: 13px; }
.pb-ai-missing { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }

/* ── Kalender (steg 8, README 6.4) ── */
.pb-cal-bar .pb-pills { margin-right: 4px; }
.pb-cal-nav { display: flex; align-items: center; gap: 4px; }
.pb-cal-title { min-width: 132px; text-align: center; font-size: 15px; color: var(--t-ink); text-transform: capitalize; }
.pb-cal-hint { margin: -8px 0 0; }
.pb-cal { border-radius: var(--t-r-card); background: var(--t-card); box-shadow: var(--t-shadow-line); overflow: hidden; }
.pb-cal-head { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-bottom: 1px solid var(--t-divider); }
.pb-cal-head span { padding: 10px 10px 8px; font-size: 11.5px; font-weight: 700; color: var(--t-text-3); text-transform: uppercase; letter-spacing: .04em; }
.pb-cal-week { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-bottom: 1px solid var(--t-divider); row-gap: 3px; padding-bottom: 6px; }
.pb-cal-week:last-child { border-bottom: none; }
.pb-cal-day { z-index: 0; box-shadow: inset -1px 0 0 var(--t-divider); }
.pb-cal-day:nth-child(7n) { box-shadow: none; }
.pb-cal-day.is-out { background: var(--t-soft-1); }
.pb-cal-day.can-add { cursor: pointer; }
.pb-cal-day.can-add:hover { background: var(--t-mint-tint); }
.pb-cal-num { z-index: 1; pointer-events: none; justify-self: start; margin: 6px 0 0 8px; width: 24px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; font-size: 12.5px; font-weight: 500; font-variant-numeric: tabular-nums; color: var(--t-ink); }
.pb-cal-num.is-today { background: var(--t-ink); color: var(--t-on-ink); font-weight: 700; }
.pb-cal-day.is-out + .pb-cal-num { color: var(--t-text-4); }
.pb-cal-posts { z-index: 1; pointer-events: none; display: flex; flex-direction: column; gap: 4px; padding: 0 5px; min-width: 0; }
.pb-band, .pb-mark { z-index: 2; display: flex; align-items: center; gap: 6px; height: 22px; padding: 0 8px; border: none; font: inherit; font-size: 11.5px; font-weight: 700; white-space: nowrap; overflow: hidden; min-width: 0; }
.pb-band span, .pb-mark span { overflow: hidden; text-overflow: ellipsis; }
.pb-band { cursor: pointer; background: var(--t-soft-2); color: var(--t-text-2); }
.pb-band[data-camp="A"] { background: var(--t-camp-a-bg); color: var(--t-camp-a); box-shadow: inset 0 0 0 1px var(--t-camp-a-line); }
.pb-band[data-camp="B"] { background: var(--t-camp-b-bg); color: var(--t-camp-b); box-shadow: inset 0 0 0 1px var(--t-camp-b-line); }
.pb-band[data-camp="C"] { background: var(--t-camp-c-bg); color: var(--t-camp-c); box-shadow: inset 0 0 0 1px var(--t-camp-c-line); }
.pb-band.is-start { margin-left: 4px; border-top-left-radius: 6px; border-bottom-left-radius: 6px; }
.pb-band.is-end { margin-right: 4px; border-top-right-radius: 6px; border-bottom-right-radius: 6px; }
.pb-band:hover { filter: brightness(.97); }
.pb-mark { margin: 0 4px; border-radius: 6px; background: var(--t-ink); color: var(--t-on-ink); }
.pb-post { pointer-events: auto; display: flex; flex-direction: column; gap: 3px; width: 100%; padding: 6px 7px; border: 1.5px solid transparent; border-radius: 10px; font: inherit; text-align: left; cursor: pointer; min-width: 0; }
.pb-post.is-planlagt, .pb-post.is-sender { background: var(--t-mint-tint); border-color: #a9e6cb; color: var(--t-link); }
.pb-post.is-utkast { background: var(--t-amber-bg); border-style: dashed; border-color: var(--t-amber-line); color: var(--t-amber); }
.pb-post.is-publisert { background: var(--t-soft-2); border-color: var(--t-line); color: var(--t-text-3); }
.pb-post.is-feilet { background: var(--t-red-bg); border-color: var(--t-red); color: var(--t-red-text); }
.pb-post:hover, .pb-post:focus-visible { box-shadow: var(--t-shadow-hover); }
.pb-post-top { display: flex; align-items: center; gap: 6px; }
.pb-post-thumb { width: 24px; height: 24px; flex: none; border-radius: 6px; object-fit: cover; }
.pb-post-time { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; font-weight: 700; font-variant-numeric: tabular-nums; }
.pb-post-text { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: 12px; line-height: 1.35; color: var(--t-ink); word-break: break-word; }
.pb-post-foot { font-size: 11px; font-weight: 600; opacity: .85; }

/* Lista */
.pb-list { display: flex; flex-direction: column; gap: 18px; }
.pb-list-group { border-radius: var(--t-r-card); background: var(--t-card); box-shadow: var(--t-shadow-line); overflow: hidden; }
.pb-list-group > .t-h2 { display: flex; align-items: center; gap: 8px; margin: 0; padding: 14px 18px 10px; }
.pb-list-group[data-group="feilet"] > .t-h2 { color: var(--t-red-text); }
.pb-list-n { font-size: 12px; color: var(--t-text-3); }
.pb-list-none { margin: 0; padding: 0 18px 14px; }
.pb-list-row { border-top: 1px solid var(--t-divider); }
.pb-list-main { display: grid; grid-template-columns: 120px minmax(0, 1fr) 120px 96px 70px; gap: 12px; align-items: center; width: 100%; padding: 10px 18px; border: none; background: none; font: inherit; font-size: 13.5px; color: var(--t-ink); text-align: left; cursor: pointer; }
.pb-list-main:hover { background: var(--t-soft-1); }
.pb-list-when { font-size: 12.5px; color: var(--t-text-2); font-variant-numeric: tabular-nums; }
.pb-list-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pb-list-src { font-size: 12.5px; color: var(--t-text-4); }
.pb-list-reach { text-align: right; font-variant-numeric: tabular-nums; color: var(--t-text-2); }
.pb-list-fail { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; padding: 0 18px 12px 150px; }
.pb-list-fail .t-error { margin: 0; flex: 1 1 300px; }
.pb-state.is-planlagt, .pb-state.is-sender { background: var(--t-mint-tint); color: var(--t-link); }
.pb-state.is-utkast { background: var(--t-amber-bg); color: var(--t-amber); box-shadow: inset 0 0 0 1.5px var(--t-amber-line); }
.pb-state.is-feilet { background: var(--t-red-bg); color: var(--t-red-text); }
@media (max-width: 820px) {
  .pb-list-main { grid-template-columns: 90px minmax(0, 1fr) 80px; }
  .pb-list-src, .pb-list-reach { display: none; }
  .pb-list-fail { padding-left: 18px; }
  .pb-post-text { -webkit-line-clamp: 2; }
}

/* Innleggspanelet */
.pb-chan { display: flex; flex-wrap: wrap; gap: 8px; }
.pb-chan-chip { display: inline-flex; align-items: center; gap: 8px; height: 32px; padding: 0 14px; border-radius: 16px; font-size: 13px; font-weight: 600; }
.pb-chan-chip.is-on { box-shadow: 0 0 0 2px var(--t-ink); color: var(--t-ink); }
.pb-chan-chip.is-off { box-shadow: 0 0 0 1px var(--t-line); color: var(--t-text-4); cursor: not-allowed; }
.pb-chan-soon { font-size: 11px; font-weight: 500; }
/* Tekstfeltet har egen klasse: .pb-post-text er kortteksten i kalenderen (klippet til 3 linjer), og den stilen ødela feltet */
.pb-post-input.t-input { display: block; overflow: auto; font-size: 13.5px; width: 100%; min-height: 150px; padding: 10px 12px; resize: vertical; line-height: 1.45; box-sizing: border-box; }
.pb-post-count.is-over { color: var(--t-red-text); font-weight: 700; }
.pb-post-imgrow { display: flex; gap: 12px; align-items: flex-start; }
.pb-post-imgthumb { width: 96px; height: 96px; flex: none; border-radius: 12px; object-fit: cover; background: var(--t-soft-2); display: flex; align-items: center; justify-content: center; font-size: 11px; color: var(--t-text-3); }
.pb-post-imginfo { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.pb-post-imginfo .t-error { margin: 0; font-size: 12.5px; }
.pb-post-imgbtns { display: flex; flex-wrap: wrap; gap: 6px; }
.pb-post-when { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.pb-post-time.t-input { width: 72px; text-align: center; font-variant-numeric: tabular-nums; }
.pb-post-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-top: 4px; border-top: 1px solid var(--t-divider); padding: 14px 0 0; }
.pb-post-note { margin: 0; padding: 10px 12px; border-radius: 12px; background: var(--t-mint-tint); color: var(--t-link); font-size: 13px; }
.pb-post-failbox { padding: 10px 12px; border-radius: 12px; background: var(--t-red-bg); color: var(--t-red-text); font-size: 13px; }
.pb-post-failbox p { margin: 4px 0 0; }
.pb-post-confirm { padding: 10px 12px; border-radius: 12px; background: var(--t-amber-bg); color: var(--t-amber); }
.pb-fbprev { border-radius: 14px; box-shadow: var(--t-shadow-line); overflow: hidden; background: var(--t-card); }
.pb-fbprev-head { display: flex; align-items: center; gap: 10px; padding: 12px 14px 6px; }
.pb-fbprev-head > span:last-child { display: flex; flex-direction: column; font-size: 13.5px; }
.pb-fbprev-av { width: 36px; height: 36px; border-radius: 50%; background: var(--t-ink); color: var(--t-on-ink); display: flex; align-items: center; justify-content: center; }
.pb-fbprev-text { margin: 0; padding: 4px 14px 12px; font-size: 14px; line-height: 1.45; white-space: pre-wrap; word-break: break-word; color: var(--t-ink); }
.pb-sec > .pb-fbprev-text { padding: 0; }
.pb-fbprev-img { display: block; width: 100%; max-height: 420px; object-fit: cover; }
.pb-post-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.pb-post-stat { display: flex; flex-direction: column; gap: 2px; padding: 12px; border-radius: 12px; background: var(--t-soft-1); box-shadow: var(--t-shadow-line); }
.pb-post-stat b { font-size: 20px; color: var(--t-ink); }
.pb-post-stat > span { font-size: 12px; color: var(--t-text-3); }
/* Facebook-siden i Meta-kortet (steg 8) */
.pb-conn-page { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.pb-conn-perms { display: inline-flex; flex-wrap: wrap; gap: 5px; }

/* ── Idébank (steg 9): kildene, tre kolonner, kortene og kildepanelene ── */
.pb-idea-bar .pb-count { margin-right: auto; }
.pb-idea-msg { display: flex; align-items: flex-start; gap: 8px; }
.pb-idea-msg .t-error { margin: 6px 0 0; }
.pb-idea-note { margin: 0; }
.pb-linkbtn { padding: 0; border: none; background: none; color: var(--t-link); font: inherit; font-weight: 700; text-decoration: underline; cursor: pointer; }
.pb-src-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.pb-src { display: flex; flex-direction: column; gap: 8px; min-width: 0; padding: 12px 14px 14px; border-radius: var(--t-r-surface); background: var(--t-card); box-shadow: var(--t-shadow-line); }
.pb-src.is-on { box-shadow: 0 0 0 2px var(--t-ink); }
.pb-src-head { display: flex; align-items: center; gap: 8px; width: 100%; padding: 0; border: none; background: none; color: var(--t-ink); font-size: 13.5px; font-weight: 700; text-align: left; cursor: pointer; }
.pb-src-head i { width: 16px; flex: none; font-size: 13px; color: var(--t-product); }
.pb-src-title { flex: 1; min-width: 0; }
.pb-src-n { flex: none; min-width: 22px; height: 22px; padding: 0 7px; border-radius: var(--t-r-pill); display: inline-flex; align-items: center; justify-content: center; font-size: 11.5px; background: var(--t-soft-2); color: var(--t-text-2); }
.pb-src.is-on .pb-src-n { background: var(--t-lime); color: var(--t-ink); }
.pb-src-lines { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; line-height: 1.4; color: var(--t-text-2); }
.pb-src-lines li { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.pb-src-more { color: var(--t-text-4); }
.pb-src-empty, .pb-src-foot { margin: 0; line-height: 1.4; }
.pb-src-foot { margin-top: auto; color: var(--t-text-4); }
.pb-src-foot.is-warn { color: var(--t-amber); }
.pb-src-action { align-self: flex-start; height: 30px; padding: 0 12px; font-size: 12.5px; }
.pb-idea-filter { margin: -6px 0 0; }
.pb-ideas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: start; }
.pb-idea-col { display: flex; flex-direction: column; gap: 10px; min-width: 0; padding: 14px; border-radius: var(--t-r-card); background: var(--t-soft-2); }
.pb-idea-col-head { display: flex; align-items: center; gap: 8px; }
.pb-idea-col-n { font-size: 12px; color: var(--t-text-3); }
.pb-idea-none { margin: 4px 2px; }
.pb-idea-quick-err { margin: -4px 2px 0; font-size: 12.5px; }
.pb-idea { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 12px 14px; border-radius: var(--t-r-surface); background: var(--t-card); box-shadow: var(--t-shadow-line); }
.pb-idea.is-busy { opacity: .6; }
.pb-idea-tags { display: flex; flex-wrap: wrap; gap: 5px; }
.pb-idea-src[data-src="support"] { background: var(--t-mint-tint); color: var(--t-product); }
.pb-idea-src[data-src="annonse"] { background: var(--t-camp-a-bg); color: var(--t-camp-a); }
.pb-idea-ai { background: var(--t-ink); color: var(--t-lime); }
.pb-idea-title { margin: 0; font-size: 14.5px; font-weight: 700; line-height: 1.3; color: var(--t-ink); overflow-wrap: anywhere; }
.pb-idea-angle { margin: 0; font-size: 12.5px; line-height: 1.45; color: var(--t-text-2); white-space: pre-line; overflow-wrap: anywhere; }
.pb-idea-links { display: flex; flex-direction: column; gap: 4px; }
.pb-idea-link { display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; padding: 0; border: none; background: none; color: var(--t-link); font-size: 12.5px; font-weight: 600; cursor: pointer; text-align: left; }
.pb-idea-link:hover { text-decoration: underline; }
.pb-idea-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.pb-idea-actions .t-btn { height: 30px; padding: 0 11px; font-size: 12.5px; gap: 6px; }
.pb-idea-menu { position: absolute; right: 8px; top: calc(100% - 6px); z-index: 20; min-width: 200px; padding: 6px; border-radius: var(--t-r-surface); background: var(--t-card); box-shadow: var(--t-shadow-line), var(--t-shadow-menu); display: flex; flex-direction: column; gap: 2px; }
.pb-idea-menu button { display: flex; align-items: center; gap: 8px; width: 100%; height: 34px; padding: 0 10px; border: none; border-radius: 10px; background: none; color: var(--t-ink); font-size: 13px; font-weight: 600; text-align: left; cursor: pointer; }
.pb-idea-menu button:hover, .pb-idea-menu button:focus-visible { background: var(--t-soft-1); }
.pb-idea-menu button.is-danger { color: var(--t-red-text); }
.pb-idea-menu-note { margin: 4px 10px 6px; }
.pb-idea-confirm { display: flex; flex-direction: column; gap: 8px; padding-top: 8px; border-top: 1px solid var(--t-divider); }
.pb-idea-confirm p { margin: 0; font-size: 12.5px; color: var(--t-text-2); }
.pb-ai-idea { display: flex; align-items: center; gap: 6px; color: var(--t-product); }
.pb-hidden-file { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.pb-imp, .pb-news { display: flex; flex-direction: column; gap: 14px; }
.pb-imp p, .pb-news p { margin: 0; }
.pb-imp-file { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.pb-imp-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.pb-imp-sum { font-size: 13px; color: var(--t-text-2); }
.pb-imp-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; border-radius: var(--t-r-surface); box-shadow: var(--t-shadow-line); background: var(--t-card); max-height: 420px; overflow-y: auto; }
.pb-imp-list li { display: flex; align-items: center; gap: 8px; padding: 8px 12px; border-top: 1px solid var(--t-divider); }
.pb-imp-list li:first-child { border-top: none; }
.pb-imp-list .t-check { flex: 1; min-width: 0; }
.pb-imp-n { font-size: 13px; color: var(--t-ink); }
.pb-imp-foot { display: flex; justify-content: flex-end; }
.pb-imp-now { display: flex; flex-direction: column; gap: 8px; padding-top: 12px; border-top: 1px solid var(--t-divider); }
.pb-news-form { display: flex; flex-direction: column; gap: 10px; padding-bottom: 14px; border-bottom: 1px solid var(--t-divider); }
.pb-news-form > .t-btn { align-self: flex-start; }
.pb-news-note { height: 72px; padding: 10px 12px; resize: vertical; }
.pb-news-date { align-self: flex-start; }
.pb-news-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 2px; }
.pb-news-list li { display: flex; align-items: flex-start; gap: 8px; padding: 8px 0; border-top: 1px solid var(--t-divider); }
.pb-news-list li:first-child { border-top: none; }
.pb-news-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; font-size: 13px; overflow-wrap: anywhere; }
@media (max-width: 1100px) { .pb-src-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 820px) { .pb-src-grid, .pb-ideas { grid-template-columns: minmax(0, 1fr); } .pb-imp-cols { grid-template-columns: minmax(0, 1fr); } }

/* ── Status-e-post (steg 10) ── */
.pb-epost-next { margin: 0; padding: 10px 14px; border-radius: var(--t-r-surface); font-size: 14px; font-weight: 600; background: var(--t-soft-2); color: var(--t-text-2); }
.pb-epost-next.is-ok { background: var(--t-mint-tint); color: var(--t-ink); }
.pb-epost-next.is-warn { background: var(--t-amber-bg); color: var(--t-amber); }
.pb-epost-preview { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.pb-epost-preview .pb-set-note { flex: 1 1 260px; }
.pb-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.pb-chip { display: inline-flex; align-items: center; gap: 4px; max-width: 100%; padding: 4px 4px 4px 12px; border-radius: var(--t-r-pill); background: var(--t-soft-2); box-shadow: var(--t-shadow-line); font-size: 13px; color: var(--t-ink); }
.pb-chip.is-off { background: var(--t-card); color: var(--t-text-4); }
.pb-chip.is-off .pb-chip-text { text-decoration: line-through; }
.pb-chip-text { overflow-wrap: anywhere; min-width: 0; }
.pb-chip-note { font-size: 11.5px; color: var(--t-text-3); padding-right: 4px; }
.pb-chip:not(:has(.pb-chip-btn)) { padding-right: 12px; }
.pb-chip-btn { display: inline-grid; place-items: center; width: 24px; height: 24px; border: 0; border-radius: 50%; background: transparent; color: var(--t-text-3); cursor: pointer; font: inherit; }
.pb-chip-btn:hover, .pb-chip-btn:focus-visible { background: var(--t-soft-3); color: var(--t-ink); }
.pb-epost-add { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.pb-epost-add .t-input { flex: 1 1 240px; max-width: 360px; }
.pb-epost-when { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.pb-epost-on { align-self: flex-start; }
.pb-field-row .t-select { max-width: 260px; }
.pb-resend-records td, .pb-resend-records th { white-space: nowrap; }
