/* ════════════════════════════════════════════════════════════════════════
   Nordivé — delt produkt-UI for funksjons-videoer.
   Identisk DNA med walkthrough.html: samme tokens, rail, scener.
   Hver video-fil linker denne + bruker kun sin scene.
   ════════════════════════════════════════════════════════════════════════ */
:root{
  --navy:#0E1B33; --ink:#1a2330; --ink2:#3a4658; --mid:#6c7785; --dim:#98a2b1;
  --brand:#2952d9; --amber:#B8821C; --green:#3F7A52; --red:#B0223C;
  --line:#ecebe7; --line2:#f3f2ee; --paper:#ffffff; --canvas:#f6f5f1;
  --fb:'Inter Tight',system-ui,sans-serif; --fh:'Inter',system-ui,sans-serif; --fs:'Playfair Display',Georgia,serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{background:#0b1426;overflow:hidden}
/* Premium navy-flate bak produktet (Newcode-stil) — produktet "ligger på" den.
   Subtil radial-glød øverst + svak grain. Blender pent når videoen embeddes
   i de navy funksjons-kortene. */
#screen-wrap{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;
  background:
    radial-gradient(130% 90% at 50% -15%, rgba(41,82,217,.14), transparent 62%),
    linear-gradient(157deg, #0c1730 0%, #122039 54%, #0b1325 100%)}
#screen-wrap::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.045;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}
/* Produktet flyter som et avrundet vindu med løftet skygge + tynn lys-kant. */
#screen{position:relative;width:1280px;height:720px;flex:none;transform-origin:center center;overflow:hidden;
  font-family:var(--fb);color:var(--ink);background:#ffffff;border-radius:18px;
  box-shadow:0 60px 120px -45px rgba(0,0,0,.65), 0 12px 40px -20px rgba(0,0,0,.4), 0 0 0 1px rgba(255,255,255,.07)}
/* Ingen will-change: transform her — det låser laget til en scale-1-bitmap
   som strekkes uskarpt ved zoom. Uten den re-rasteriserer Chrome laget skarpt
   ved hver kamera-skala (litt mer CPU, men knivskarp tekst ved zoom). */
#cam{position:absolute;inset:0;transform-origin:0 0}
#app{position:absolute;inset:0;background:var(--paper);overflow:hidden;display:flex}

/* ── ICON RAIL ── */
.rail{width:58px;flex:none;border-right:1px solid var(--line2);background:#fcfbf9;display:flex;flex-direction:column;align-items:center;padding:14px 0 12px}
.rail-logo{width:26px;height:26px;margin-bottom:18px}
.rail-logo img{width:100%;height:100%;object-fit:contain}
.ri{position:relative;width:38px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;color:var(--mid);margin-bottom:6px}
.ri svg{width:18px;height:18px}
.ri.on{background:#f0eee9;color:var(--navy)}
.ri.on::before{content:"";position:absolute;left:-10px;top:9px;bottom:9px;width:2.5px;border-radius:2px;background:var(--navy)}
.ri .badge{position:absolute;top:0;right:0;min-width:15px;height:15px;padding:0 3px;border-radius:8px;background:var(--navy);color:#fff;font-family:var(--fh);font-size:8.5px;font-weight:700;display:flex;align-items:center;justify-content:center}
.rail-sp{flex:1}
.ri.util{color:var(--dim);margin-bottom:2px}

/* ── main ── */
.mn{flex:1;position:relative;overflow:hidden}
.mn-top{height:48px;display:flex;align-items:center;padding:0 20px;border-bottom:1px solid var(--line2)}
.crumb{font-family:var(--fh);font-size:14px;font-weight:600;color:var(--navy)}
.who{margin-left:auto;display:flex;align-items:center;gap:9px}
.tb{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--mid);border:1px solid var(--line);border-radius:7px;padding:5px 10px}
.tb svg{width:12px;height:12px}
.tb.dark{background:var(--navy);color:#fff;border-color:var(--navy)}
.tb-av{width:28px;height:28px;border-radius:50%;background:#e7ebf6;color:var(--brand);display:inline-flex;align-items:center;justify-content:center;font-family:var(--fh);font-weight:700;font-size:10.5px}

/* scene container (under 48px top-bar) */
.scene{position:absolute;left:0;right:0;top:48px;bottom:0;opacity:0;overflow:hidden}
.scene.on{opacity:1}

/* ══ HOME (assistent tom-tilstand — for prompt-skriving) ══ */
#home{position:absolute;left:0;right:0;top:48px;bottom:0;display:flex;flex-direction:column;align-items:center;padding-top:60px}
.as-eye{font-family:var(--fh);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--mid);margin-bottom:14px}
.as-h{font-family:var(--fb);font-weight:500;font-size:30px;letter-spacing:-.02em;color:var(--navy)}
.as-sub{font-size:13.5px;color:var(--mid);max-width:54ch;text-align:center;margin-top:10px;line-height:1.5}
.prompt{width:700px;margin-top:30px;background:#faf9f6;border:1px solid var(--line);border-radius:14px;padding:15px 16px 12px;box-shadow:0 18px 40px -28px rgba(14,27,51,.2)}
.prompt-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}
.prompt-h .l{font-size:12px;color:var(--mid)}
.prompt-att{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px 10px;margin-bottom:10px;opacity:0;font-size:12.5px;color:var(--ink2)}
.prompt-att .ic{width:18px;height:18px;border-radius:4px;background:rgba(41,82,217,.10);color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700}
.prompt-tx{position:relative;font-size:15px;line-height:1.5;color:var(--ink);min-height:46px}
.prompt-tx .cur{display:inline-block;width:1.5px;height:17px;background:var(--brand);vertical-align:-3px;margin-left:1px;opacity:0}
.prompt-ph{position:absolute;left:0;top:0;color:var(--dim);pointer-events:none}
.prompt-bar{display:flex;align-items:center;gap:16px;margin-top:12px}
.prompt-bar .b{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--mid);font-weight:500}
.prompt-bar .b svg{width:13px;height:13px}.prompt-bar .b.on{color:var(--brand)}
.prompt-send{margin-left:auto;display:inline-flex;align-items:center;gap:6px;background:#eef0f3;color:var(--mid);font-size:12.5px;font-weight:600;padding:7px 13px;border-radius:8px}
.prompt-send svg{width:14px;height:14px}
.as-fl-l{font-family:var(--fh);font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);margin:26px 0 12px}
.as-forslag{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:700px}
.fs-card{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:11px;padding:11px 14px;background:#fff}
.fs-ic{width:30px;height:30px;border-radius:8px;background:#f0eef9;color:var(--brand);display:flex;align-items:center;justify-content:center;flex:none}
.fs-ic svg{width:15px;height:15px}
.fs-tx b{display:block;font-size:13px;font-weight:600;color:var(--ink)}
.fs-tx span{font-size:11.5px;color:var(--mid)}

/* ══ THREAD (assistent-chat) ══ */
#thread{position:absolute;left:0;right:0;top:48px;bottom:0;padding:34px 80px 0;opacity:0;overflow:hidden}
.q{margin-left:auto;width:fit-content;max-width:72%;background:var(--navy);color:#fff;font-size:14.5px;line-height:1.5;padding:12px 16px;border-radius:14px 14px 4px 14px}
.q .qatt{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:rgba(255,255,255,.7);margin-top:7px;border-top:1px solid rgba(255,255,255,.15);padding-top:7px}
.work{margin-top:22px;display:flex;flex-direction:column;gap:14px}
.wstep{display:grid;grid-template-columns:18px 1fr;gap:11px;opacity:0}
.wstep .dot{width:7px;height:7px;border-radius:50%;background:var(--brand);margin-top:5px;justify-self:center}
.wstep .lab{font-size:13.5px;font-weight:600;color:var(--ink)}
.wstep .sub{font-size:12.5px;color:var(--mid);margin-top:3px;line-height:1.5}
.wpills{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.wpill{font-family:var(--fh);font-size:10.5px;font-weight:600;color:var(--ink2);background:#f3f2ee;border:1px solid var(--line);border-radius:6px;padding:3px 8px}
.wpill.lov{color:var(--brand);background:rgba(41,82,217,.06);border-color:rgba(41,82,217,.14)}
.wdone{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--mid);opacity:0}.wdone svg{width:13px;height:13px}
#answer{margin-top:22px;opacity:0}
.ans-row{display:flex;gap:12px;align-items:flex-start}
.ans-av{flex:none;width:30px;height:30px;border-radius:50%;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center}.ans-av img{width:20px;height:20px;object-fit:contain}
.ans-tx{font-size:14.5px;line-height:1.62;color:var(--ink)}.ans-tx b{font-weight:600;color:var(--navy)}
.ci{font-size:10px;font-weight:600;color:var(--brand);background:rgba(41,82,217,.12);border-radius:3px;padding:0 4px;margin:0 2px;vertical-align:super;line-height:1}
.frist-card{margin:14px 0 0 42px;display:inline-flex;align-items:center;gap:16px;background:rgba(184,130,28,.07);border:1px solid rgba(184,130,28,.22);border-radius:10px;padding:11px 15px}
.frist-card > svg{width:17px;height:17px;color:var(--amber)}
.frist-card .ft{font-size:13.5px;font-weight:600;color:var(--ink)}.frist-card .fs{font-size:11.5px;color:var(--mid);margin-top:2px}
.frist-add{position:relative;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:8px;padding:7px 13px;font-size:12px;font-weight:600;color:var(--navy);background:#fff}
.frist-add .fa-default,.frist-add .fa-done{display:inline-flex;align-items:center;gap:6px}
.frist-add .fa-default svg,.frist-add .fa-done svg{width:12px;height:12px}
.frist-add .fa-done{position:absolute;inset:0;justify-content:center;opacity:0;color:#3F7A52}
.ans-src{margin:16px 0 0 42px;padding-top:12px;border-top:1px solid var(--line2)}
.ans-src .h{font-family:var(--fh);font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--mid);margin-bottom:7px}
.ans-src .s{display:flex;align-items:baseline;gap:10px;padding:5px 0;font-size:13px;color:var(--ink2)}
.ans-src .s .n{color:var(--dim);font-variant-numeric:tabular-nums;width:14px}.ans-src .s .m{margin-left:auto;color:var(--brand);font-weight:600}

/* ══ INNBOKS (3 kolonner) ══ */
#inbox{display:flex;flex-direction:column}
.ib3{flex:1;display:grid;grid-template-columns:236px 392px 1fr;overflow:hidden}
.ibcol{border-right:1px solid var(--line2);overflow:hidden;display:flex;flex-direction:column}
.ibcol:last-child{border-right:0}
.ibf-h{display:flex;align-items:center;gap:8px;padding:14px 16px 8px;font-family:var(--fh);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mid)}
.ibf-h span{margin-left:auto;font-family:var(--fb);font-size:11px;color:var(--dim);letter-spacing:0}
.ibf-g{padding:12px 16px 5px;font-family:var(--fh);font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.ibf-i{display:flex;gap:11px;padding:7px 16px;align-items:flex-start}
.ibf-i .d{flex:none;width:30px;text-align:center;font-family:var(--fb);font-weight:700;font-size:15px;color:var(--navy);line-height:1;font-variant-numeric:tabular-nums}
.ibf-i .d small{display:block;font-size:8.5px;font-weight:600;color:var(--dim);text-transform:uppercase;margin-top:2px}
.ibf-i .x{font-size:12px;color:var(--ink2);line-height:1.35}
.ibf-i.red .d{color:var(--red)}
.ibf-i.fresh{background:rgba(184,130,28,.06);border-radius:8px;margin:0 8px;padding:7px 8px}
.ibl-h{padding:13px 16px 4px;font-size:14px;color:var(--ink)}.ibl-h b{font-weight:600;color:var(--navy)}.ibl-h span{color:var(--dim);font-size:12px;margin-left:6px}
.ibl-tabs{display:flex;gap:14px;padding:4px 16px 10px;border-bottom:1px solid var(--line2);font-size:12px;color:var(--mid)}
.ibl-tabs .on{color:var(--navy);font-weight:600;position:relative}
.ibl-grp{padding:9px 16px 4px;font-family:var(--fh);font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.ibl-row{padding:9px 16px;border-bottom:1px solid var(--line2);position:relative}
.ibl-row.sel{background:#f4f6fb;box-shadow:inset 2.5px 0 0 var(--brand)}
.ibl-r1{display:flex;align-items:center;gap:8px}
.ibl-r1 .dot{width:6px;height:6px;border-radius:50%;background:var(--green);flex:none}
.ibl-r1 .from{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ibl-r1 .time{margin-left:auto;font-size:11px;color:var(--dim);flex:none}
.ibl-tag{font-family:var(--fh);font-size:8.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:1px 6px;border-radius:3px;flex:none}
.ibl-tag.kli{background:rgba(63,122,82,.12);color:var(--green)}.ibl-tag.dom{background:rgba(41,82,217,.10);color:var(--brand)}.ibl-tag.mot{background:rgba(194,65,12,.10);color:#c2410c}.ibl-tag.int{background:#f0eee9;color:var(--mid)}
.ibl-subj{font-size:12.5px;color:var(--ink2);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ibl-subj .hst{font-family:var(--fh);font-size:8.5px;font-weight:800;letter-spacing:.06em;color:#c2410c;margin-right:6px}
.ibl-prev{font-size:11.5px;color:var(--dim);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ibl-meta{display:flex;align-items:center;gap:10px;margin-top:5px;font-size:10px;color:var(--dim)}
.ibl-frist{color:var(--amber);font-weight:600}
.ibr{padding:16px 20px;overflow:hidden}
.ibr-subj{font-family:var(--fs);font-weight:600;font-size:19px;color:var(--navy);line-height:1.2}
.ibr-tags{display:flex;gap:7px;margin-top:10px}
.ibr-tags .tg{font-family:var(--fh);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:4px}
.ibr-tags .tg.kli{background:rgba(63,122,82,.12);color:var(--green)}.ibr-tags .tg.hst{background:#fff1e8;color:#c2410c}.ibr-tags .tg.add{background:#f3f2ee;color:var(--mid)}
.ibr-sum{margin-top:14px;background:#f7f6f2;border:1px solid var(--line);border-radius:11px;padding:13px 15px;opacity:0}
.ibr-sum .sh{display:inline-flex;align-items:center;gap:7px;font-family:var(--fh);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand)}
.ibr-sum .sh svg{width:12px;height:12px}
.ibr-sum .st{font-size:13px;line-height:1.55;color:var(--ink2);margin-top:9px}
.ibr-sum .st b{color:var(--navy);font-weight:600}
.ibr-sum .sv{display:flex;align-items:center;gap:6px;font-size:10.5px;color:var(--amber);margin-top:10px}
.ibr-sum .sv svg{width:12px;height:12px}
.ibr-akt{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:11px;color:var(--mid)}
.ibr-akt .who2{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:3px 9px 3px 4px;color:var(--ink2);font-size:11px}
.ibr-akt .ava{width:18px;height:18px;border-radius:50%;background:#f0d9b8;color:#8a601a;display:flex;align-items:center;justify-content:center;font-family:var(--fh);font-weight:700;font-size:8px}
.ibr-msg{display:flex;gap:10px;margin-top:14px}
.ibr-msg .ava{flex:none;width:26px;height:26px;border-radius:50%;background:#e7ebf6;color:var(--brand);display:flex;align-items:center;justify-content:center;font-family:var(--fh);font-weight:700;font-size:9px}
.ibr-msg .mc .mn2{font-size:12.5px;font-weight:600;color:var(--ink)}.ibr-msg .mc .mt{font-size:12px;color:var(--ink2);margin-top:3px;line-height:1.45}
.ibr-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.ibr-asbtn{display:inline-flex;align-items:center;gap:6px;flex:none;border:1px solid var(--brand);color:var(--brand);border-radius:8px;padding:6px 11px;font-size:12px;font-weight:600;background:rgba(41,82,217,.05)}
.ibr-asbtn svg{width:13px;height:13px}
/* Assistent-panel (docket høyre) */
.ib-assist{position:absolute;top:0;right:0;bottom:0;width:342px;background:#fff;border-left:1px solid var(--line);box-shadow:-20px 0 44px -30px rgba(14,27,51,.3);padding:18px;display:flex;flex-direction:column;z-index:5;will-change:transform}
.ia-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.ia-t{display:inline-flex;align-items:center;gap:8px;font-family:var(--fh);font-weight:700;font-size:14px;color:var(--navy)}
.ia-t svg{width:16px;height:16px;color:var(--navy)}
.ia-x{color:var(--dim);font-size:13px}
.ia-ctx{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--brand);margin-bottom:14px}
.ia-dot{width:6px;height:6px;border-radius:50%;background:var(--brand)}
.ia-sub{font-size:12.5px;color:var(--ink2);margin-bottom:12px}
.ia-actions{display:flex;flex-direction:column;gap:8px}
.ia-q{text-align:left;border:1px solid var(--line);border-radius:9px;padding:10px 12px;font-size:12.5px;color:var(--ink2);background:#fbfaf8}
.ia-q.hot{border-color:var(--brand);background:rgba(41,82,217,.05)}
.ia-typing{display:inline-flex;gap:5px;align-items:center;padding:14px 2px;opacity:0}
.ia-typing i{width:6px;height:6px;border-radius:50%;background:var(--mid);display:inline-block}
.ia-draftbox{margin-top:14px;border:1px solid var(--line);border-radius:10px;padding:13px;opacity:0}
.ia-draft-h{font-family:var(--fh);font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mid);margin-bottom:8px}
.ia-draft-b{font-size:12.5px;line-height:1.5;color:var(--ink2)}
.ia-insert{position:relative;margin-top:12px;width:100%;background:var(--navy);color:#fff;border-radius:8px;padding:9px;font-size:12.5px;font-weight:600;display:flex;align-items:center;justify-content:center}
.ia-insert .ii-done{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0}
.ia-composer{margin-top:auto;border:1px solid var(--line);border-radius:9px;padding:10px 12px;font-size:12px;color:var(--dim)}
/* Svar-komposer i lese-panelet — utkastet settes inn her, klar til å sende */
.ibr-reply{margin-top:16px;border:1px solid var(--line);border-radius:11px;background:#fff;overflow:hidden;opacity:0}
.ibr-reply-h{display:flex;align-items:center;gap:8px;padding:9px 13px;border-bottom:1px solid var(--line2);font-size:11.5px;color:var(--mid)}
.ibr-reply-h b{color:var(--ink);font-weight:600}
.ibr-reply-h .ins{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-family:var(--fh);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green);background:rgba(63,122,82,.10);border-radius:4px;padding:2px 7px;opacity:0}
.ibr-reply-h .ins svg{width:10px;height:10px}
.ibr-reply-b{padding:13px;font-size:12.5px;line-height:1.55;color:var(--ink2);min-height:72px}
.ibr-reply-bar{display:flex;align-items:center;gap:10px;padding:10px 13px;border-top:1px solid var(--line2);background:#fcfbf9}
.ibr-reply-bar .tools{display:flex;gap:12px;color:var(--dim)}.ibr-reply-bar .tools svg{width:15px;height:15px}
.ibr-send{position:relative;margin-left:auto;display:inline-flex;align-items:center;gap:7px;background:var(--navy);color:#fff;font-size:12px;font-weight:600;padding:8px 16px;border-radius:8px}
.ibr-send svg{width:13px;height:13px}
.ibr-send .s-done{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:6px;opacity:0}
.ibr-send.sent{background:var(--green)}.ibr-send.sent .s-d{opacity:0}.ibr-send.sent .s-done{opacity:1}

/* ══ TIDSLOGG ══ */
.tvbody{padding:14px 36px;position:relative;height:100%;overflow:hidden}
.tv-tabs{display:inline-flex;gap:2px;background:#f3f2ee;border-radius:9px;padding:3px;font-size:12px;margin-bottom:12px}
.tv-tabs span{padding:5px 14px;border-radius:7px;color:var(--mid)}
.tv-tabs .on{background:#fff;color:var(--navy);font-weight:600;box-shadow:0 1px 2px rgba(14,27,51,.06)}
.tv-eye{display:inline-flex;align-items:center;gap:6px;font-family:var(--fh);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--green)}
.tv-head{display:flex;align-items:baseline;justify-content:space-between;margin:5px 0 14px}
.tv-h1{font-family:var(--fb);font-weight:600;font-size:23px;color:var(--navy)}.tv-h1 em{font-family:var(--fs);font-style:italic;font-weight:500}
.tv-nav{font-size:12px;color:var(--mid)}
.tv-stats{display:flex;gap:14px;margin-bottom:14px}
.tv-stat{flex:1;border:1px solid var(--line);border-radius:12px;padding:12px 15px}
.tv-stat .l{font-size:11.5px;color:var(--mid)}
.tv-stat .n{font-family:var(--fb);font-size:22px;font-weight:600;color:var(--navy);font-variant-numeric:tabular-nums;margin-top:3px}
.tv-stat .s{font-size:11px;color:var(--dim);margin-top:3px}.tv-stat .s em{font-style:italic;font-family:var(--fs);color:var(--mid)}
.tv-sec{margin-bottom:12px}
.tv-sec-h{display:flex;align-items:center;gap:9px;padding:5px 2px;font-size:12px}
.tv-dot{width:7px;height:7px;border-radius:50%;flex:none}.tv-dot.a{background:var(--amber)}.tv-dot.g{background:var(--green)}.tv-dot.n{background:var(--navy)}
.tv-sec-t{font-weight:600;color:var(--navy)}.tv-sec-c{color:var(--mid);font-variant-numeric:tabular-nums}
.tv-velg{margin-left:auto;font-size:11.5px;color:var(--brand);font-weight:600}
.tvr{display:grid;grid-template-columns:18px 48px 16px 1fr auto;gap:11px;align-items:center;padding:7px 2px;border-bottom:1px solid var(--line2)}
.tv-chk{width:17px;height:17px;border-radius:5px;border:1.6px solid #c9cfd8;display:flex;align-items:center;justify-content:center;color:#fff;background:rgba(0,0,0,0)}
.tv-chk svg{width:11px;height:11px;opacity:0}
.tv-tm{font-size:10.5px;color:var(--dim);font-variant-numeric:tabular-nums;line-height:1.3}.tv-tm span{display:block;font-weight:600;color:var(--ink2)}
.tv-g{color:var(--brand);display:flex}.tv-g svg{width:15px;height:15px}.tv-g.w{color:var(--ink)}
.tv-a{font-size:13px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tv-warn{font-size:10px;color:var(--red);margin-left:6px}
.tv-sak{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink2);white-space:nowrap}
.tv-sak .sd{width:6px;height:6px;border-radius:50%}.tv-sak .sd.b{background:var(--brand)}.tv-sak .sd.a{background:var(--amber)}
.tv-sak.none{color:var(--dim)}
.tv-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.tv-col{border:1px solid var(--line2);border-radius:11px;padding:11px 14px}
.tv-mini{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--ink2);padding:5px 0;border-bottom:1px solid var(--line2)}
.tv-mini:last-child{border-bottom:0}.tv-mini span:first-child{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tv-md{color:var(--dim);font-size:10.5px;font-variant-numeric:tabular-nums;flex:none}
.tv-empty{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--green);font-style:italic;padding:6px 0}
.tv-godkjenn{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:inline-flex;align-items:center;background:var(--navy);color:#fff;font-size:12.5px;font-weight:600;padding:10px 18px;border-radius:99px;box-shadow:0 14px 30px -12px rgba(14,27,51,.5);opacity:0}
.tv-godkjenn svg{width:14px;height:14px;margin-right:7px}
.tg-d,.tg-done{display:inline-flex;align-items:center}
.tv-godkjenn .tg-done{position:absolute;inset:0;justify-content:center;opacity:0}
.tv-godkjenn.done{background:var(--green)}.tv-godkjenn.done .tg-d{opacity:0}.tv-godkjenn.done .tg-done{opacity:1}

/* ══ GRID ══ */
.gvbody{padding:18px 32px}
.gv-sum{display:flex;align-items:baseline;gap:14px;margin-bottom:12px}
.gv-sum-t{font-family:var(--fs);font-style:italic;font-size:14px;color:var(--ink2)}
.gv-stats{margin-left:auto;font-family:var(--fh);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mid);white-space:nowrap}
.gv-stats b{color:var(--navy)}
.gv-tools{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.gv-seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;font-size:11.5px}
.gv-seg span{padding:5px 12px;color:var(--mid)}.gv-seg .on{background:#f0eee9;color:var(--navy);font-weight:600}
.gv-toggle{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--ink2)}
.gv-sw{width:24px;height:14px;border-radius:99px;background:var(--brand);position:relative}
.gv-sw::after{content:"";position:absolute;right:2px;top:2px;width:10px;height:10px;border-radius:50%;background:#fff}
.gv-r{margin-left:auto;font-size:11.5px;color:var(--mid)}
.gv{border:1px solid var(--line);border-radius:12px;overflow:hidden;position:relative}
.gvr{display:grid;grid-template-columns:1.5fr repeat(5,1fr);border-bottom:1px solid var(--line2)}.gvr:last-child{border-bottom:0}
.gvr.h{background:#faf9f6}
.gvc{padding:11px 12px;border-right:1px solid var(--line2);display:flex;flex-direction:column;gap:5px;align-items:flex-start;min-width:0}.gvc:last-child{border-right:0}
.gvr.h .gvc{font-family:var(--fh);font-size:9.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--mid)}
.gv-doc{font-weight:600;font-size:13px;color:var(--navy)}.gv-v{font-size:12.5px;color:var(--ink2)}
.gv-cite{display:inline-flex;align-items:center;gap:3px;font-family:var(--fh);font-size:8.5px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--brand);background:rgba(41,82,217,.07);border:1px solid rgba(41,82,217,.13);border-radius:99px;padding:1.5px 7px 1.5px 5px;opacity:0;white-space:nowrap}
.gv-cite::before{content:"\201C";font-family:var(--fs);font-size:12px;line-height:0;margin-top:4px}
.gv-ref{display:inline-flex;align-items:center;gap:4px;font-family:var(--fh);font-size:8px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#00A36D;opacity:0}.gv-ref::before{content:"";width:4px;height:4px;border-radius:50%;background:#00A36D}
.gv-ver{display:inline-flex;align-items:center;gap:4px;font-family:var(--fh);font-size:9px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--red);opacity:0}.gv-ver::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--red)}
.gv-scan{position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,rgba(41,82,217,.6),transparent);opacity:0;z-index:3}
/* Sitat-popover — vises når man klikker en kilde-chip: ordrett tekst fra dok */
.gv-quote{position:absolute;width:340px;background:#fff;border:1px solid var(--line);border-radius:12px;
  box-shadow:0 28px 64px -22px rgba(14,27,51,.40);padding:0;overflow:hidden;opacity:0;z-index:40;transform:translateY(6px)}
.gv-quote-h{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--line2);background:#fcfbf9}
.gv-quote-h .doc{font-family:var(--fb);font-size:12px;font-weight:600;color:var(--navy)}
.gv-quote-h .pt{margin-left:auto;font-family:var(--fh);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand);background:rgba(41,82,217,.07);border-radius:5px;padding:2px 8px}
.gv-quote-b{padding:14px}
.gv-quote-tx{font-family:var(--fs);font-size:13.5px;line-height:1.6;color:var(--ink);font-style:italic;
  border-left:2.5px solid var(--brand);padding-left:13px}
.gv-quote-hl{background:rgba(41,82,217,.13);border-radius:2px;padding:0 2px}
.gv-quote-f{display:flex;align-items:center;gap:7px;margin-top:12px;font-size:10.5px;color:var(--green)}
.gv-quote-f svg{width:12px;height:12px}

/* ══ MALER (dokument fra mal) ══ */
.mlbody{padding:22px 36px;height:100%;overflow:hidden}
.ml-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}
.ml-h1{font-family:var(--fb);font-weight:600;font-size:23px;color:var(--navy)}
.ml-sub{font-size:12.5px;color:var(--mid);margin-bottom:20px}
.ml-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ml-card{border:1px solid var(--line);border-radius:12px;padding:16px 16px 14px;background:#fcfbf9;transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease}
.ml-card.hot{border-color:var(--navy);background:#fff;box-shadow:0 20px 44px -24px rgba(14,27,51,.32);transform:translateY(-2px)}
.ml-cat{font-family:var(--fh);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mid)}
.ml-title{font-family:var(--fb);font-size:15px;font-weight:600;color:var(--navy);margin:8px 0 5px;letter-spacing:-.005em}
.ml-desc{font-size:11.5px;color:var(--mid);line-height:1.45}
.ml-foot{display:flex;align-items:center;gap:8px;margin-top:14px;font-family:var(--fh);font-size:10px;color:var(--dim)}
.ml-foot b{color:var(--ink2);font-weight:600}.ml-foot .dot{opacity:.5}
/* editor */
#mlEditor{position:absolute;inset:48px 0 0;display:flex;background:#fff;opacity:0}
.ed-doc{flex:1;background:#faf9f6;padding:38px;display:flex;justify-content:center;overflow:hidden}
.ed-pg{width:540px;background:#fff;border:1px solid var(--line);border-radius:6px;padding:44px 52px;box-shadow:0 28px 60px -22px rgba(14,27,51,.18)}
.ed-pg-meta{font-family:var(--fh);font-size:9.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--mid);margin-bottom:16px}
.ed-pg-h{font-family:var(--fs);font-weight:600;font-size:22px;color:var(--navy);margin-bottom:18px;letter-spacing:-.01em}
.ed-pg-p{font-size:12px;line-height:1.7;color:var(--ink);margin-bottom:11px}
.ed-v{padding:0 2px;border-radius:2px;font-weight:500;background:transparent;transition:background-color .5s ease,color .5s ease}
.ed-v.fill{background:rgba(41,82,217,.12);color:var(--brand)}
.ed-pg-sig{margin-top:24px;border-top:1px solid var(--line2);padding-top:14px;font-size:11px;color:var(--mid);line-height:1.5}
.ed-pg-sig b{display:block;color:var(--ink);font-weight:600;font-size:11.5px}
.ed-side{width:296px;flex:none;border-left:1px solid var(--line2);padding:24px 22px;background:#fff}
.ed-eye{font-family:var(--fh);font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin-bottom:8px}
.ed-sh{font-family:var(--fb);font-size:14px;font-weight:600;color:var(--navy);margin-bottom:16px}
.ed-f{margin-bottom:12px;opacity:0}
.ed-f .lb{display:flex;align-items:center;gap:7px;font-family:var(--fh);font-size:10.5px;font-weight:600;color:var(--mid);margin-bottom:4px}
.ed-f .auto{font-family:var(--fh);font-size:8.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green);background:rgba(63,122,82,.10);padding:1.5px 5px;border-radius:3px}
.ed-f .inp{border:1px solid var(--line);background:#fcfbf9;border-radius:6px;padding:8px 10px;font-family:var(--fb);font-size:12px;color:var(--ink);transition:border-color .25s ease,background-color .25s ease}
.ed-f .inp.done{border-color:rgba(63,122,82,.4);background:rgba(63,122,82,.04)}
.ed-prog{margin-top:14px;padding:12px 14px;background:rgba(41,82,217,.05);border:1px solid rgba(41,82,217,.18);border-radius:8px;opacity:0}
.ed-prog-h{display:flex;align-items:center;gap:7px;font-family:var(--fh);font-size:10.5px;font-weight:600;color:var(--brand);margin-bottom:7px}
.ed-prog-h .pl{width:6px;height:6px;border-radius:50%;background:var(--brand);position:relative}
.ed-prog-h .pl::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:1.4px solid var(--brand);opacity:.4;animation:nvpulse 1.4s ease-out infinite}
.ed-prog-bar{height:3px;background:rgba(41,82,217,.15);border-radius:2px;overflow:hidden}
.ed-prog-bar>div{height:100%;width:0;background:var(--brand);border-radius:2px}
.ed-prog-msg{font-size:10.5px;color:var(--ink2);margin-top:7px}

/* ══ SPESIALIST-PICKER ══ */
.pickbar{position:absolute;top:11px;right:130px;display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:99px;padding:6px 13px 6px 8px;font-family:var(--fh);font-size:12px;color:var(--ink2);font-weight:500;z-index:8}
.pickbar .mono{width:22px;height:22px;border-radius:50%;background:#f0eee9;color:var(--navy);display:inline-flex;align-items:center;justify-content:center;font-family:var(--fh);font-size:10px;font-weight:700}
.pickbar .ch{width:11px;height:11px;color:var(--dim)}
.picker{position:absolute;top:50px;right:24px;width:392px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 30px 64px -24px rgba(14,27,51,.32);padding:16px 12px;opacity:0;transform:translateY(-8px);z-index:20}
.picker-h{font-family:var(--fh);font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--mid);padding:4px 10px 12px}
.pa{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:flex-start;padding:11px 10px;border-radius:9px;position:relative;transition:background-color .2s ease}
.pa.hot{background:#f7f5f1}
.pa.sel::before{content:"";position:absolute;left:1px;top:14px;bottom:14px;width:2.4px;border-radius:2px;background:var(--navy)}
.pa .ic{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--fh);font-size:11px;font-weight:700;color:#fff}
.pa .ic.tp{background:#5e1d2d}.pa .ic.ma{background:#1a3a40}.pa .ic.sk{background:#1d2858}.pa .ic.fa{background:#5a2a4d}.pa .ic.ar{background:#444a1a}
.pa .nm{font-family:var(--fb);font-size:13px;font-weight:600;color:var(--ink);margin-bottom:2px}
.pa .d{font-size:11px;color:var(--mid);line-height:1.45}
.ai-tag{display:flex;align-items:center;gap:8px;margin-top:24px;margin-bottom:10px;font-family:var(--fh);font-size:11px;font-weight:600;color:var(--mid);opacity:0}
.ai-tag .mono{width:20px;height:20px;border-radius:50%;background:#1a3a40;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:700}
.ai-tag b{color:var(--ink);font-weight:600}
.ai-tx ul{margin:8px 0 0 18px;padding:0}.ai-tx li{margin-bottom:5px;font-size:13px;color:var(--ink2);line-height:1.5}

/* ══ COMPOSER + ASSISTENT-PICKER (ekte produkt) ══ */
.cmp{position:absolute;left:0;right:0;bottom:0;padding:16px 80px 22px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 38%)}
.cmp-box{max-width:760px;margin:0 auto;background:#faf9f6;border:1px solid var(--line);border-radius:14px;padding:14px 16px 11px;box-shadow:0 18px 40px -28px rgba(14,27,51,.2)}
.cmp-input{font-size:14px;color:var(--dim);min-height:24px}
.cmp-bar{display:flex;align-items:center;gap:14px;margin-top:11px}
.cmp-b{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--mid);font-weight:500}
.cmp-b svg{width:13px;height:13px}
.cmp-send{margin-left:auto;display:inline-flex;align-items:center;gap:6px;background:#eef0f3;color:var(--mid);font-size:12.5px;font-weight:600;padding:7px 13px;border-radius:8px}
.cmp-send svg{width:14px;height:14px}
/* assistent-pick trigger (i composer-baren) */
.asst-pick{position:relative;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--mid);font-weight:500;border:1px solid transparent;border-radius:8px;padding:5px 9px}
.asst-pick svg.star{width:13px;height:13px}.asst-pick svg.chev{width:9px;height:9px;color:var(--dim)}
.asst-pick.on{background:rgba(41,82,217,.06);border-color:rgba(41,82,217,.30);color:var(--brand)}
.asst-pick .mono{width:18px;height:18px;border-radius:50%;background:var(--brand);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-family:var(--fh);font-size:8.5px;font-weight:700}
.asst-pick .ap-logo{width:15px;height:15px;object-fit:contain;display:inline-block}
/* ── Composer-bar som matcher ekte produkt ── */
.cmp-top{display:flex;margin-bottom:11px}
.cmp-knytt{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:var(--mid);border:1px solid var(--line);border-radius:7px;padding:4px 9px;background:#fff}
.cmp-knytt svg{width:12px;height:12px}
.cmp-knytt.linked{color:var(--brand);border-color:rgba(41,82,217,.22);background:rgba(41,82,217,.05)}
.cmp-bar{flex-wrap:nowrap}
.cmp-b.kilder{color:var(--green);font-weight:600}
.cmp-b.dim{color:var(--dim)}
.cmp-b .glyphA{font-family:var(--fb);font-weight:700;font-size:12px}
/* popover (åpner OPPOVER fra trigger) */
.asst-pop{position:absolute;left:80px;bottom:78px;width:340px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 -10px 60px -18px rgba(14,27,51,.30),0 24px 48px -24px rgba(14,27,51,.25);padding:6px;opacity:0;transform:translateY(6px);z-index:30}
.asst-pop-h{display:flex;align-items:center;justify-content:space-between;padding:9px 11px 7px;border-bottom:1px solid var(--line2)}
.asst-pop-h .t{font-family:var(--fh);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--mid)}
.asst-pop-h .x{color:var(--dim);font-size:13px}
.asst-grp{padding:7px 11px 3px;font-family:var(--fh);font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.asst-it{display:grid;grid-template-columns:24px 1fr 16px;gap:10px;align-items:center;padding:6px 10px;border-radius:8px;border:1px solid transparent;position:relative}
.asst-it.hot{background:rgba(14,27,51,.035)}
.asst-it.sel{background:rgba(41,82,217,.06);border-color:rgba(41,82,217,.20)}
.asst-it .ic{width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--fh);font-size:9px;font-weight:700}
.asst-it .ic.def{background:#fff;border:1.5px dashed var(--dim);color:var(--dim)}
.asst-it .nm{font-size:12px;font-weight:600;color:var(--ink)}
.asst-it .ds{font-size:10.5px;color:var(--mid);line-height:1.35;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.asst-it .ck{color:var(--brand);opacity:0}.asst-it .ck svg{width:14px;height:14px}.asst-it.sel .ck{opacity:1}
.asst-pop-f{padding:8px 11px;border-top:1px solid var(--line2);font-size:11px;color:var(--brand);font-weight:600}

/* ══ GENERER-DOKUMENT-MODAL (ekte produkt) ══ */
.gd-overlay{position:absolute;inset:0;background:rgba(14,21,37,.45);display:flex;align-items:center;justify-content:center;opacity:0;z-index:30}
.gd-modal{width:540px;max-height:86%;background:#fff;border-radius:16px;box-shadow:0 28px 70px -20px rgba(14,27,51,.45);overflow:hidden;display:flex;flex-direction:column;transform:translateY(10px) scale(.98)}
.gd-head{padding:20px 24px 16px;border-bottom:1px solid #eef2f7}
.gd-head h2{font-family:var(--fs);font-size:21px;font-weight:600;color:var(--navy);letter-spacing:-.01em}
.gd-head .sub{font-size:12px;color:var(--mid);margin-top:3px}
.gd-body{padding:18px 24px;overflow:hidden}
.gd-sec{margin-bottom:18px}
.gd-sec-t{font-family:var(--fh);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mid);margin-bottom:10px}
.gd-auto{display:flex;flex-direction:column;gap:7px}
.gd-auto-row{display:grid;grid-template-columns:18px 130px 1fr;gap:10px;align-items:center;font-size:12.5px}
.gd-auto-row .ck{color:#0f766e;display:flex}.gd-auto-row .ck svg{width:14px;height:14px;opacity:0}
.gd-auto-row.filled .ck svg{opacity:1}
.gd-auto-row .lb{color:var(--mid)}
.gd-auto-row .vl{color:var(--navy);font-weight:500}.gd-auto-row .vl.empty{color:var(--dim);font-style:italic;font-weight:400}
.gd-ai{background:#fafbfc;border:1px solid #eef2f7;border-radius:10px;padding:12px 14px}
.gd-ai-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}
.gd-ai-h .lb{font-size:12.5px;font-weight:600;color:var(--ink)}
.gd-ai-h .st{font-family:var(--fh);font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.gd-ai-h .st.loading{color:var(--brand)}.gd-ai-h .st.ok{color:#0f766e}
.gd-ai-tx{font-size:12px;line-height:1.55;color:var(--ink2);min-height:34px}
.gd-ai-tx .sp{display:inline-flex;gap:4px}.gd-ai-tx .sp i{width:5px;height:5px;border-radius:50%;background:var(--brand);display:inline-block}
.gd-foot{padding:14px 24px 18px;border-top:1px solid #eef2f7;display:flex;align-items:center;gap:10px}
.gd-foot .ghost{font-size:12.5px;color:var(--mid);font-weight:500}
.gd-foot .primary{margin-left:auto;display:inline-flex;align-items:center;gap:7px;background:var(--navy);color:#fff;font-size:12.5px;font-weight:600;padding:9px 16px;border-radius:8px}
.gd-foot .primary svg{width:13px;height:13px}

/* Editor-faner (ekte: Spør / Utkast / Gjennomgang) */
.ed-tabs{display:flex;gap:2px;background:#f3f2ee;border-radius:9px;padding:3px;margin-bottom:16px}
.ed-tabs span{flex:1;text-align:center;padding:6px 0;border-radius:7px;font-size:12px;color:var(--mid)}
.ed-tabs .on{background:#fff;color:var(--navy);font-weight:600;box-shadow:0 1px 2px rgba(14,27,51,.06)}
.ed-ask{font-size:12px;color:var(--mid);line-height:1.5}
.ed-ask-q{border:1px solid var(--line);background:#fbfaf8;border-radius:9px;padding:9px 11px;margin-bottom:8px;color:var(--ink2)}
.ed-ask-comp{margin-top:auto;border:1px solid var(--line);border-radius:9px;padding:9px 11px;font-size:12px;color:var(--dim)}

@keyframes nvpulse{from{transform:scale(.6);opacity:.5}to{transform:scale(1.8);opacity:0}}

/* ════════════════════════════════════════════════════════════════════════
   NEWCODE-STIL: pastell-flate + isolert produkt-komponent som flyter.
   Brukes av de re-komponerte videoene (#screen får .nc-pastel).
   ════════════════════════════════════════════════════════════════════════ */
/* Produktets off-white (#FAF8F4) med myk fade — lys topp, litt dypere kanter,
   antydning av varm/kjølig tone for dybde. Matcher flatene i selve produktet. */
#screen.nc-pastel{background:
  radial-gradient(115% 85% at 50% -5%, #ffffff 0%, rgba(255,255,255,0) 52%),
  radial-gradient(70% 60% at 88% 100%, rgba(41,82,217,.045) 0%, transparent 55%),
  radial-gradient(60% 55% at 8% 92%, rgba(184,130,28,.04) 0%, transparent 55%),
  linear-gradient(158deg,#FAF8F4 0%,#f2efe9 56%,#ece8e0 100%)}
/* Flytende produkt-komponent (det ekte UI-et, isolert) */
.nc-card{position:absolute;background:#fff;border-radius:16px;
  box-shadow:0 40px 90px -34px rgba(60,40,90,.34), 0 8px 28px -14px rgba(60,40,90,.18), 0 0 0 1px rgba(14,27,51,.04);
  overflow:hidden}
.nc-card.soft{box-shadow:0 30px 70px -30px rgba(60,40,90,.28), 0 0 0 1px rgba(14,27,51,.04)}
.ncpad{padding:24px 28px}
.nc-cardhead{display:flex;align-items:center;gap:9px;padding:13px 18px;border-bottom:1px solid var(--line2);background:#fcfbf9}
.nc-cardhead .nb{width:22px;height:22px;border-radius:50%;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.nc-cardhead .nb img{width:13px;height:13px;object-fit:contain}
.nc-cardhead .nm{font-family:var(--fb);font-size:12.5px;font-weight:600;color:var(--navy)}
.nc-cardhead .meta{margin-left:auto;font-size:11px;color:var(--dim)}
/* Chat-vindu (kun tråd + composer, isolert) */
.chatwin{position:absolute;display:flex;flex-direction:column;overflow:hidden}
.cw-thread{flex:1;overflow:hidden;padding:26px 30px;display:flex;flex-direction:column;gap:18px}
.cw-comp{border-top:1px solid var(--line2);padding:14px 18px;background:#fff}
.cw-comp .cmp-box{margin:0;max-width:none;box-shadow:none}
.cw-thread .q{max-width:78%}
.cw-thread .work{margin-top:0}
.cw-thread #answer{margin-top:0}

/* ── cursor + transisjon ── */
#cursor{position:absolute;left:0;top:0;width:22px;height:22px;z-index:50;pointer-events:none;will-change:transform;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}
#ripple{position:absolute;width:34px;height:34px;border-radius:50%;border:2px solid rgba(41,82,217,.6);transform:translate(-50%,-50%) scale(0);opacity:0;z-index:49;pointer-events:none}
#sceneFade{position:absolute;inset:0;background:var(--canvas);pointer-events:none;opacity:0;z-index:60;will-change:opacity}
