/* Jarvis identity and responsive workspace. Loaded after the compatible base and page modules. */
:root {
  --bg:#000000; --panel:#030303; --panel-2:#090909; --line:#1b2d44; --line-sterk:#355574;
  --text:#f1f4f8; --muted:#9daaba; --accent:#8cc8ff; --good:#90d8b3; --warn:#a8c9ef; --bad:#f29a9a;
  --radius:14px; --pad:22px; --glod:none; --rail-width:220px; --fane-h:64px;
}
body { font-size:15px; line-height:1.55; padding:0 0 30px var(--rail-width); }
body[data-side="framside"] { padding:0 0 30px var(--rail-width); }
body::before { display:none; }
button, a, input { -webkit-tap-highlight-color:transparent; }
button { font-weight:500; }
:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
button:disabled { cursor:default; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; left:240px; top:-100px; z-index:50; padding:12px 18px; background:var(--accent); color:var(--bg); border-radius:10px; }
.skip-link:focus { top:14px; }
.workspace-bar { height:78px; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:0 42px; border-bottom:1px solid #2b2219; }
.workspace-label { color:#cdc3b9; font-size:12px; letter-spacing:.025em; }
.language-label { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:10px; }
.language-dot { width:5px; height:5px; background:#a29484; border-radius:50%; }
.language-divider { color:#45627f; margin:0 3px; }
.mobile-brand { display:none; }
.app-rail { position:fixed; left:0; top:0; bottom:0; width:var(--rail-width); z-index:21; background:#17110b; border-right:1px solid #31281f; display:flex; flex-direction:column; padding:28px 16px 22px; }
.rail-brand { display:flex; align-items:center; gap:11px; padding:0 6px; color:var(--text); margin-bottom:46px; }
.rail-brand img { border-radius:12px; width:43px; height:43px; }
.rail-brand strong { display:block; font-size:16px; font-weight:550; letter-spacing:.15em; }
.rail-brand small { display:block; color:#9b8e81; font-size:7px; letter-spacing:.12em; margin-top:3px; }
.rail-label { color:#8d8072; font-size:9px; letter-spacing:.14em; margin:0 13px 12px; }
.faner { position:static; display:flex; flex-direction:column; justify-content:start; gap:7px; padding:0; background:transparent; border:0; box-shadow:none; backdrop-filter:none; }
body[data-side="framside"] .faner, body[data-side="framside"].meny-open .faner { transform:none; visibility:visible; transition:none; }
.fane { flex:none; display:flex; flex-direction:row; justify-content:flex-start; min-height:46px; max-width:none; width:100%; padding:0 14px; gap:12px; border-radius:10px; font-size:12px; letter-spacing:0; color:#b0a599; border:1px solid transparent; }
.fane svg { width:18px; height:18px; stroke-width:1.6; }
.fane .jarvis-nav-logo { width:22px; height:22px; flex:none; object-fit:contain; border-radius:50%; }
.fane:hover { color:#f1e8de; background:#261e16; }
.fane[aria-current="page"] { color:#ebdbca; background:linear-gradient(110deg,#35291c,#2b2116); border-color:#4d3f2f; text-shadow:none; }
.fane[aria-current="page"] svg { filter:none; }
.fane[aria-current="page"]::before { width:3px; height:16px; top:14px; left:-17px; right:auto; border-radius:0 3px 3px 0; box-shadow:none; background:var(--accent); }
.rail-secondary { border-top:1px solid #32281e; margin-top:26px; padding-top:25px; }
.rail-secondary a { display:flex; align-items:center; gap:12px; min-height:43px; margin:3px 0; padding:0 14px; border-radius:10px; color:var(--muted); font-size:12px; }
.rail-secondary a:hover { color:var(--text); background:#261e16; }
.rail-secondary svg { width:18px; height:18px; stroke:currentColor; stroke-width:1.5; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.rail-bottom { margin-top:auto; padding:22px 4px 0; display:flex; align-items:center; gap:11px; }
.rail-legal { margin-top:12px; padding:0 4px; color:var(--muted); font-size:10px; }
.rail-legal div { display:flex; flex-wrap:wrap; gap:16px; }
.rail-legal a { display:inline-flex; align-items:center; min-height:32px; color:#a9bdd4; text-decoration:underline; text-underline-offset:3px; }
.rail-legal .youtube-service { font-size:9px; line-height:1.5; }
.rail-legal a:hover { color:var(--text); }
.owner-avatar { width:35px; height:35px; display:grid; place-items:center; background:#2c241c; border:1px solid #423930; color:#e1dad2; border-radius:50%; font-size:12px; }
.rail-bottom strong { display:block; color:#d4e5f7; font-size:11px; font-weight:500; }
.rail-bottom span { display:block; font-size:9px; color:#88a0ba; margin-top:2px; }
.rail-bottom a { color:#92abc5; margin-left:auto; display:grid; place-items:center; min-width:36px; min-height:44px; }
.skjerm { max-width:1260px; padding:24px 42px; }
header.topp { padding:0 0 24px; }
header.topp h1 { color:var(--text); font-size:32px; font-weight:500; letter-spacing:-.035em; text-shadow:none; margin:4px 0 9px; }
header.topp .tilbake { font-size:12px; color:var(--muted); }
.topp-rad { margin-bottom:9px; }
.alder { font-size:11px; color:#8ea6bf; }
.liten { font-size:12px; }
.kort { box-shadow:none; padding:22px; margin-bottom:16px; }
.kort h2 { font-size:12px; letter-spacing:.03em; font-weight:550; text-transform:none; color:#d8e8fa; }
.rad { min-height:49px; font-size:13px; }
.rad.stor .tal { font-size:29px; font-weight:450; }
.tal { text-decoration-color:#395674; }
.knapp { font-size:12px; font-weight:550; border-radius:10px; padding:12px 16px; }
.knapp.bob { background:var(--accent); }
.knapp.start { background:#142a40; border:1px solid #315270; color:#bce9d4; }
.knapp.stopp { background:#341e28; border:1px solid #6a3947; color:#f4b9bf; }
.knapp.lytt-bob { background:#251c12; border:1px solid #57493b; color:#e7ded4; animation:none; }
.knapp.lytt-bob.aktiv { background:#2e2a1c; border-color:#786144; color:#f2d7ad; animation:none; }
.sektor, .lenkje { background:var(--panel); border-color:var(--line); border-radius:12px; }
.sektor { padding:18px 22px; margin-bottom:12px; min-height:80px; }
.sektor:hover, .lenkje:hover { background:#0b0b0b; border-color:#345878; }
.sektor b { font-size:13px; letter-spacing:.03em; font-weight:550; }
.sektor .liten { margin-top:6px; font-size:11px; }
.lenkje { padding:13px 22px; font-size:13px; min-height:56px; }
.melding { font-size:12px; padding:16px 20px; line-height:1.65; }
.skjerm.jarvis { min-height:0; width:100%; max-width:1540px; display:block; padding:32px 42px 18px; background:none; overflow:visible; }
.skjerm.jarvis:not(.aktiv) { display:none; }
.home-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:30px; }
.eyebrow { color:#94b5d6; font-size:9px; font-weight:500; letter-spacing:.16em; margin:0 0 10px; }
.home-heading h1 { font-size:34px; line-height:1.14; font-weight:450; letter-spacing:-.045em; margin:0 0 9px; }
.home-heading p:last-child { color:var(--muted); font-size:12px; margin:0; }
.quiet-button { display:flex; align-items:center; gap:8px; min-height:44px; padding:0 15px; background:#1e170f; border:1px solid #473b2e; color:#cec0b2; border-radius:10px; font-size:11px; cursor:pointer; }
.quiet-button:hover { background:#35291c; }
.quiet-button svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.home-layout { display:grid; grid-template-columns:minmax(0,1fr) 282px; gap:26px; align-items:start; }
.assistant-panel { position:relative; min-width:0; background:radial-gradient(ellipse at 50% 25%,#2a1f13 0%,#1c150d 55%,#18120b 100%); border:1px solid #3d3125; border-radius:19px; overflow:hidden; }
.assistant-panel::before { content:""; position:absolute; inset:0; pointer-events:none; background-image:radial-gradient(#8e7f6e .6px,transparent .6px); background-size:26px 26px; opacity:.14; }
.skjerm.jarvis .sirkel-scene { position:relative; padding:24px 24px 0; width:100%; }
.core-caption { display:flex; align-items:center; gap:8px; color:#d1c4b7; font-size:9px; letter-spacing:.2em; }
.core-caption span { width:4px; height:4px; border-radius:50%; background:#c1ab93; box-shadow:0 0 8px #7d6e5e; }
.skjerm.jarvis .sirkel { display:block; width:clamp(220px,24vw,340px); height:clamp(220px,24vw,340px); margin:8px auto 0; padding:0; border:0; box-shadow:none; background:none; border-radius:50%; cursor:pointer; }
.hud .ring-ytre, .hud .ring-boge, .hud .ring-tikk, .hud .ring-indre { animation:none; }
.hud .kjerne-svg { filter:drop-shadow(0 0 18px #56412b3b); }
.jarvis-glyph { filter:drop-shadow(0 0 10px #d9bc9e30); }
.skjerm.jarvis .sirkel:hover .jarvis-glyph { filter:drop-shadow(0 0 14px #dfc6ac88); }
.skjerm.jarvis .sirkel.lyttar .ring-ytre, .skjerm.jarvis .sirkel.tenkjer .ring-ytre { animation:snurr 12s linear infinite; }
.skjerm.jarvis .sirkel.lyttar .jarvis-glyph { stroke:#a6f2d5; filter:drop-shadow(0 0 12px #69c6a788); }
.skjerm.jarvis .sirkel.snakkar .jarvis-glyph { stroke:#edc48a; filter:drop-shadow(0 0 14px #edc48a66); animation:snakk-glod .8s ease-in-out infinite alternate; }
.skjerm.jarvis .svar { position:relative; width:100%; max-width:600px; max-height:270px; overflow:auto; margin:1px auto 8px; padding:12px 10px; background:transparent; border:0; border-radius:0; text-align:center; font-size:16px; line-height:1.7; font-weight:400; color:#ece2d8; scrollbar-color:#5f503f transparent; }
.skjerm.jarvis .lytt-status { font-size:10px; margin:0 0 18px; max-width:560px; color:#a6998b; }
.chat { position:relative; max-width:720px; width:100%; margin:0 auto; padding:0 26px 21px; }
.skriv { display:flex; align-items:center; gap:7px; margin:0; padding:7px; border:1px solid #5f5143; border-radius:13px; background:#261c12; box-shadow:0 4px 18px #0002; }
.skriv:focus-within { border-color:#ae957b; box-shadow:0 0 0 2px #dfc6ac0d; }
.skriv input { background:transparent; border:0; border-radius:7px; min-height:43px; padding:10px 9px; font-size:13px; }
.skriv input:focus-visible { outline:0; }
.skriv input::placeholder { color:#a49688; }
.skriv .send-button { display:grid; place-items:center; flex:none; width:44px; min-height:44px; padding:9px; border-radius:9px; background:#e3ceb7; color:#2f2112; }
.send-button svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.chips { gap:7px; justify-content:center; margin:13px 0 0; }
.chip { min-height:44px; font-size:10px; padding:7px 11px; border-color:#43372a; border-radius:8px; color:#c2b4a5; background:#231b12; }
.chip:hover { color:#f3eae0; border-color:#766756; }
.assistant-foot { position:relative; display:flex; align-items:center; justify-content:space-between; gap:15px; margin:0 26px; padding:16px 0; border-top:1px solid #3e3327; color:#9a8c7c; font-size:9px; }
.assistant-foot a { color:#c6b5a3; white-space:nowrap; }
.assistant-foot a span { padding-left:4px; }
.home-side { display:flex; flex-direction:column; gap:18px; }
.today-panel, .voice-panel { border:1px solid #372d23; border-radius:15px; background:#1a140d; padding:20px; }
.panel-heading { display:flex; justify-content:space-between; gap:12px; align-items:center; }
.panel-heading h2 { margin:0; font-size:13px; font-weight:500; color:#e5dcd3; }
.panel-heading>a { color:#aa9b8a; min-width:25px; min-height:25px; display:grid; place-items:center; }
.panel-intro { font-size:10px; line-height:1.65; color:#8ea6bf; margin:7px 0 18px; }
.home-stat { display:flex; gap:10px; align-items:center; padding:13px 0; border-top:1px solid #342a1f; color:#c7bcb0; font-size:10px; }
.home-stat:hover { color:#f6f0e9; }
.home-stat strong { color:#eee6dd; font-size:16px; font-weight:500; margin-left:auto; font-variant-numeric:tabular-nums; }
.stat-symbol { display:grid; place-items:center; width:29px; height:29px; border-radius:8px; background:#2d2217; border:1px solid #3f3225; color:#cdbaa6; }
.stat-symbol svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.home-data-age { font-size:9px; line-height:1.7; margin:12px 0 0; color:#97897a; }
.voice-tag { color:#b5a798; font-size:8px; border:1px solid #4b3f32; border-radius:5px; padding:2px 5px; }
.voice-panel .panel-intro { margin-bottom:15px; }
.voice-actions { display:flex; flex-direction:column; gap:8px; }
.voice-actions .knapp { width:100%; min-height:44px; font-size:10px; padding:10px; }
.voice-actions .start { display:flex; align-items:center; justify-content:center; gap:8px; background:#35281a; border-color:#5d4d3c; color:#ebddcd; }
.voice-actions svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; }
.voice-details { border-top:1px solid #362c22; margin-top:16px; padding-top:4px; }
.voice-details summary { min-height:44px; display:flex; align-items:center; gap:6px; color:#b9ada0; font-size:10px; cursor:pointer; }
.voice-details summary::before { content:"+"; font-size:14px; }
.voice-details[open] summary::before { content:"−"; }
.lydknappar { display:flex; flex-wrap:wrap; gap:6px; margin:6px 0 0; }
.lydknappar .knapp.lyd { flex:1 1 auto; min-height:44px; font-size:10px; font-weight:400; padding:8px 10px; background:#2b2117; border:1px solid #4b3f32; border-radius:8px; color:#cec3b7; }
#kjelde { backdrop-filter:blur(5px); }
#kjelde .ark { max-width:800px; margin:0 auto; border:1px solid #31506e; border-bottom:0; box-shadow:0 -20px 100px #0005; padding:28px; }
.hb, .ih, .op { max-width:none; }
.hb h1, .ih-topp h1, .op h1 { font-weight:500; letter-spacing:-.03em; }
.hb-seksjon, .ih-boks, .op-kort { padding:21px; }
.hb-kort { border-left-width:2px; padding:18px; }
.hb-namn { font-size:15px; font-weight:500; }
.hb-rute { padding:14px; border:1px solid #28425d; }
.hb-rute b, .ih-rute-tal, .hb-stortal b { font-weight:450; }
.hb h2, .hb .hb-h2, .ih-h2 { text-transform:none; letter-spacing:.015em; font-weight:500; }
.ih-rute { padding:18px; }
.op-kort { border-left-width:2px; }
.op-tittel { font-size:17px; font-weight:500; }
.op-kva { font-size:14px; line-height:1.65; }
.hb-chip, .ih-chip, .op-chip { font-size:10px; font-weight:500; }
@media (min-width:1150px) {
  .hb-kortliste { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .hb-store { gap:20px; }
  .hb-ruter { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
  .hb-ruter.hb-fire { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .ih-rutenett { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
}
@media (min-width:1550px) { .home-layout { grid-template-columns:minmax(0,1fr) 320px; gap:32px; } .assistant-panel { min-height:670px; } .skjerm.jarvis .sirkel { width:380px; height:380px; } .today-panel,.voice-panel { padding:24px; } }
@media (max-width:1180px) { :root { --rail-width:190px; } .app-rail { padding-left:12px; padding-right:12px; } .rail-brand { gap:8px; } .rail-brand strong { font-size:14px; } .rail-brand small { font-size:6px; } .workspace-bar { padding-left:28px; padding-right:28px; } .skjerm, .skjerm.jarvis { padding-left:28px; padding-right:28px; } .home-layout { gap:18px; grid-template-columns:minmax(0,1fr) 252px; } .today-panel,.voice-panel { padding:16px; } .assistant-foot { flex-wrap:wrap; gap:5px; } .fane[aria-current="page"]::before { left:-13px; } }
@media (max-width:980px) { .home-layout { grid-template-columns:minmax(0,1fr); } .home-side { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; } .voice-panel { grid-column:1/-1; } .voice-actions { flex-direction:row; } .voice-actions .knapp { flex:1; } .voice-panel  .skjerm.jarvis .sirkel { width:270px; height:270px; } .assistant-foot { flex-wrap:nowrap; } }
@media (max-width:760px) {
  :root { --rail-width:0px; --pad:18px; }
  body,body[data-side="framside"] { padding:0 0 calc(var(--botn) + 24px); }
  .app-rail { position:static; width:auto; padding:0; background:none; border:0; }
  .rail-brand,.rail-label,.rail-secondary,.rail-bottom { display:none; }
  .rail-legal { margin:10px 20px 0; padding:12px 0 0; border-top:1px solid #32281e; }
  .rail-legal a { min-height:44px; }
  .faner { position:fixed; left:0; right:0; bottom:0; z-index:20; flex-direction:row; align-items:stretch; gap:0; padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left); background:#18120bf5; border-top:1px solid #4a3e31; backdrop-filter:blur(18px); }
  .fane { flex:1; min-width:0; max-width:none; flex-direction:column; justify-content:center; gap:5px; min-height:64px; padding:10px 4px 8px; border-radius:0; border:0; font-size:9px; }
  .fane svg { width:19px; height:19px; }
  .fane[aria-current="page"] { background:#302519; border:0; }
  .fane[aria-current="page"]::before { top:0; left:30%; right:30%; width:auto; height:2px; border-radius:0 0 3px 3px; }
  .workspace-bar { height:69px; padding:env(safe-area-inset-top) 21px 0; }
  .workspace-label { display:none; }
  .mobile-brand { display:flex; align-items:center; gap:9px; color:var(--text); font-size:12px; letter-spacing:.13em; }
  .mobile-brand img { border-radius:9px; }
  .language-label { font-size:8px; gap:4px; }
  .language-dot { display:none; }
  .language-divider { margin:0 1px; }
  .skjerm { padding:24px 20px; }
  .skjerm.jarvis { padding:26px 20px 12px; }
  .home-heading { margin-bottom:23px; }
  .home-heading h1 { font-size:30px; }
  .home-heading .eyebrow { font-size:8px; }
  .home-heading p:last-child { font-size:11px; }
  .quiet-button { min-width:44px; padding:0 10px; font-size:10px; }
  .home-layout { gap:19px; }
  .assistant-panel { border-radius:16px; }
  .skjerm.jarvis .sirkel-scene { padding:23px 18px 0; }
  .skjerm.jarvis .sirkel { width:248px; height:248px; margin:0 auto; }
  .skjerm.jarvis .svar { font-size:14px; margin-top:0; padding:4px; }
  .skjerm.jarvis .lytt-status { font-size:9px; margin-bottom:18px; }
  .chat { padding:0 16px 18px; }
  .skriv input { font-size:16px; }
  .skriv input::placeholder { font-size:12px; }
  .chip { font-size:10px; min-height:44px; }
  .assistant-foot { margin:0 17px; flex-wrap:wrap; gap:7px; font-size:8px; padding:14px 0; }
  .home-side { gap:13px; }
  .today-panel,.voice-panel { padding:17px; }
  .home-stat { gap:6px; font-size:9px; }
  .stat-symbol { width:25px; height:25px; }
  .panel-heading h2 { font-size:12px; }
  header.topp h1 { font-size:29px; }
  .kort { padding:18px; }
  .hb-seksjon,.ih-boks,.op-kort { padding:17px; }
  .skip-link { left:18px; }
}
@media (max-width:460px) { .home-side { display:flex; } .home-stat { gap:10px; font-size:11px; } .today-panel,.voice-panel { padding:20px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; scroll-behavior:auto !important; } }

/* Module pages render their own title and source date. */
#s-side > .topp h1, #s-side > .topp > .alder { display:none; }
#s-side > .topp { margin-bottom:20px; }
.ih-audit-hjelp { margin-top:8px; font-size:12px; line-height:1.6; }
.ih-audit-hjelp summary { cursor:pointer; color:var(--text); }
.ih-audit-hjelp p { margin:10px 0; }

/* Print evidence remains readable when the browser omits background graphics. */
@media print {
  :root { color-scheme:light; --rail-width:0px; }
  html, body, body[data-side="framside"] { background:#fff !important; color:#000 !important; padding:0 !important; }
  *, *::before, *::after { color:#000 !important; background-color:transparent !important; background-image:none !important; box-shadow:none !important; text-shadow:none !important; filter:none !important; animation:none !important; transition:none !important; }
  .workspace-bar, .skjerm, .skjerm.jarvis { max-width:none; padding-left:12px; padding-right:12px; }
  .app-rail { position:static; width:auto; display:block; padding:0 12px; border:0; }
  .app-rail > :not(.rail-legal) { display:none !important; }
  .rail-legal { display:block !important; margin:12px 0 0; padding-top:8px; border-top:1px solid #888; }
  .rail-legal a { min-height:28px; }
  .kort, .assistant-panel, .today-panel, .voice-panel { border-color:#999 !important; }
  .home-layout { grid-template-columns:minmax(0,1fr) 230px; gap:16px; }
  a { text-decoration:underline; }
  h1, h2 { break-after:avoid; }
}


/* DECISIONS 99: the golden sphere (app/sfaere.js) turns behind the old blue logo - one mark. The canvas is a little larger
   than the button so the shell reaches past the blue rings; the SVG stays on top and keeps the clicks. */
.sirkel { overflow: visible; }
.sirkel canvas.sfaere { position: absolute; left: 50%; top: 50%; width: 132%; height: 132%; transform: translate(-50%, -50%);
  pointer-events: none; z-index: 0; border-radius: 50%; }
.sirkel .hud { position: relative; z-index: 1; }
.sirkel .kjerne-svg { fill-opacity: .55; }

/* DECISIONS 101: the brake is on - red, impossible to miss, with the way back (START) right in it */
.nodstopp-banner { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin:0 0 24px;
  padding:16px 18px; border:1px solid #f29a9a; border-left:6px solid #e5484d; border-radius:var(--radius); background:rgba(229,72,77,.16); color:var(--text); }
.nodstopp-banner strong { display:block; font-size:17px; letter-spacing:.02em; color:#ffb4b4; margin-bottom:4px; }
.nodstopp-banner span { font-size:13px; color:var(--text); }
.nodstopp-banner .knapp { flex:0 0 auto; min-width:120px; }
@media (max-width:640px) { .nodstopp-banner .knapp { width:100%; } }

/* DECISIONS 143: Tal som flight-deck - HUD-rada med dei store tala, sektorkorta med fargekant, lenkjene i grupper.
   Same språk som hjernen.html: mono-augnebryn i store bokstavar, gull #f5b731 på mørkt, tynne kantar, tabular-nums. */
:root { --gull:#8cc8ff; --mono:ui-monospace, "SF Mono", Menlo, monospace; --deals:#89b8e5; --innhald:#b4d8f4; --trading:#34d399; }
.tal-eyebrow { color:var(--gull); font:600 10px/1 var(--mono); letter-spacing:.18em; text-transform:uppercase; margin:0 0 8px; }
.hud-rad { display:flex; gap:8px; margin:0 0 18px; overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch; padding-bottom:2px; }
.hud-rad::-webkit-scrollbar { display:none; }
.hud-t { flex:1 0 auto; min-width:136px; background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:10px 14px 8px; }
.hud-t > span { display:block; font:600 10px/1.3 var(--mono); letter-spacing:.08em; color:var(--muted); text-transform:uppercase; white-space:nowrap; }
.hud-t > b { display:block; margin-top:2px; font-weight:450; }
.hud-t .tal { font-size:23px; font-weight:450; min-height:44px; padding:0; letter-spacing:-.02em; text-decoration-color:#365573; }
.hud-t .tal.ukjend { font-size:14px; }
.hud-t.gull .tal:not(.ukjend):not(.neg) { color:var(--gull); }
.hud-t .hud-under { display:block; max-width:220px; white-space:normal; line-height:1.35; color:var(--muted); font-size:10px; }
.gruppelapp { margin:20px 2px 8px; font:600 10px/1 var(--mono); letter-spacing:.16em; text-transform:uppercase; color:#849fbb; }
.gruppelapp:first-of-type { margin-top:4px; }
.sektorar { display:grid; gap:10px; }
.sektorar .sektor { margin:0; border-left:3px solid var(--line-sterk); }
.sektor-deals { border-left-color:var(--deals); }
.sektor-innhald { border-left-color:var(--innhald); }
.sektor-trading { border-left-color:var(--trading); }
.sektorar .sektor b { font:600 12px/1 var(--mono); letter-spacing:.14em; }
.sektorar .sektor .tal, .sektorar .sektor > span:last-child { white-space:nowrap; }
.sektor-deals b { color:var(--deals); } .sektor-innhald b { color:var(--innhald); } .sektor-trading b { color:var(--trading); }
.lenkjegruppe { background:var(--panel); border:1px solid var(--line); border-radius:12px; overflow:hidden; margin:0 0 10px; }
.lenkjegruppe .lenkje { background:transparent; border:0; border-top:1px solid var(--line); border-radius:0; margin:0; }
.lenkjegruppe .lenkje:first-child { border-top:0; }
.lenkjegruppe .lenkje.varsel { border-left:4px solid var(--warn); }
.tal-fot { margin:16px 2px 0; line-height:1.6; color:#89a1bc; }
#s-bob .knappar { margin-top:20px; }
@media (min-width:900px) {
  .sektorar { grid-template-columns:repeat(4, minmax(0,1fr)); }
  .sektorar .sektor { flex-direction:column; align-items:flex-start; gap:14px; padding:18px 20px; }
  .sektorar .sektor .tal { font-size:22px; }
  #s-bob .lenkjegruppe, #s-bob .gruppelapp { max-width:820px; }
}
/* Abonnement: dei tre faste kostnadene som kort, med kva dei er til og korleis prisen er rekna */
.ab-liste { display:grid; gap:10px; max-width:820px; }
.ab-kort { background:var(--panel); border:1px solid var(--line); border-left:3px solid var(--gull); border-radius:12px; padding:16px 18px; }
.ab-topp { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.ab-topp b { font-size:15px; font-weight:550; letter-spacing:.01em; }
.ab-pris { font-variant-numeric:tabular-nums; font-size:19px; color:var(--gull); white-space:nowrap; }
.ab-pris small { color:var(--muted); font-size:11px; }
.ab-kort p { margin:6px 0 10px; font-size:13px; color:#c4d8ed; }
.ab-kort .liten { margin:10px 0 0; line-height:1.55; }
.ab-meta { display:flex; flex-wrap:wrap; gap:6px; }
.ab-meta span { font:11px/1 var(--mono); color:var(--muted); background:var(--panel-2); border:1px solid var(--line); border-radius:999px; padding:7px 10px; }
#s-abonnement .hud-rad .hud-t { flex:0 1 auto; }

/* Black surfaces with blue details across the workspace. The conversation has its own gold accents below. */
:root {
  --bg:#000000; --panel:#030303; --panel-2:#090909; --line:#1b2d44; --line-sterk:#355574;
  --text:#f1f4f8; --muted:#9daaba; --accent:#8cc8ff; --warn:#a8c9ef; --bad:#f29a9a;
  --gull:#8cc8ff; --glod:none;
}
html { background:var(--bg); color-scheme:dark; }
body { background:var(--bg); color:var(--text); }
::selection { background:#254e76; color:#f2f8ff; }
.workspace-bar { border-color:#15243a; background:#000000; }
.workspace-label { color:#9eb4ca; }
.language-dot { background:#80bbed; }
.app-rail { background:#030303; border-color:#1a2a41; }
.rail-brand strong { color:#e5f2ff; letter-spacing:.18em; }
.rail-brand img, .mobile-brand img { border:1px solid #243d59; box-shadow:0 0 20px #3c91e815; }
.rail-brand small,.rail-label { color:#7d94ae; }
.rail-secondary,.rail-legal { border-color:#1b2b41; }
.fane { color:#9db1c7; }
.fane:hover,.rail-secondary a:hover { background:#0a0a0a; color:#d9edff; }
.fane[aria-current="page"] { color:#a7d7ff; border-color:#315c82; background:#090909; }
.fane[aria-current="page"]::before { background:#8ecaff; box-shadow:0 0 12px #399ae53d; }
.owner-avatar { color:#c6e5ff; border-color:#2c4865; background:#0a0a0a; }
.home-heading .eyebrow { color:#7facd4; font-size:10px; letter-spacing:.19em; }
.home-heading h1 { color:#eaf3ff; font-size:clamp(30px,3vw,41px); font-weight:450; letter-spacing:-.035em; }
.home-heading p:last-child { color:#94abc2; font-size:13px; }
.quiet-button { color:#b5cde5; background:#080808; border-color:#28425f; }
.quiet-button:hover { background:#111111; border-color:#487da7; }
.assistant-panel {
  background:#030303;
  border:1px solid #284360; border-radius:20px;
  box-shadow:0 16px 60px #00000036,inset 0 1px 0 #79bfff12;
}
.assistant-panel::before {
  opacity:.22;
  background-image:linear-gradient(90deg,transparent 49.8%,#559be01a 50%,transparent 50.2%);
  background-size:auto;
}
.core-caption { color:#88b7dd; font-size:9px; letter-spacing:.24em; }
.core-caption span { background:#8dccff; box-shadow:0 0 10px #68b7ff60; }
.skjerm.jarvis .sirkel-scene { padding-top:25px; }
.skjerm.jarvis #bob-sirkel {
  position:relative; isolation:isolate;
  width:clamp(250px,29vw,400px); height:clamp(250px,29vw,400px);
  margin:2px auto 0; overflow:visible;
  background:url('ikon/jarvis-fjes-v1/web/poster.jpg') center/100% auto no-repeat;
  -webkit-mask-image:radial-gradient(circle,#000 55%,#000c 68%,transparent 76%);
  mask-image:radial-gradient(circle,#000 55%,#000c 68%,transparent 76%);
  transition:filter .3s ease;
}
.skjerm.jarvis #bob-sirkel:hover { filter:brightness(1.1); }
.skjerm.jarvis #bob-sirkel:focus-visible { outline:0; filter:brightness(1.25) drop-shadow(0 0 9px #4fc3ff75); }
#bob-sirkel .hud,#bob-sirkel canvas.sfaere { display:none; }
.skjerm.jarvis #bob-sirkel[data-core-ready="true"] { background-image:none; }
canvas.jarvis-core { display:block; position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.skjerm.jarvis .svar { color:#e7f1ff; font-size:16px; line-height:1.75; scrollbar-color:#3c5e7f transparent; }
.skjerm.jarvis .lytt-status { color:#92adc9; font-size:11px; min-height:1.5em; }
.skriv { background:#080808; border-color:#31516f; box-shadow:0 8px 24px #0002; }
.skriv:focus-within { border-color:#70b5ee; box-shadow:0 0 0 3px #64aeec16; }
.skriv input { color:#eaf4ff; }
.skriv input::placeholder { color:#8ca4bf; }
.skriv .send-button { background:linear-gradient(135deg,#bddfff,#75b4e8); color:#07192b; }
.skriv .send-button:hover { background:#d1eaff; }
.chip { color:#aac2da; border-color:#243b54; background:#080808; }
.chip:hover { color:#dcf0ff; border-color:#4e7ca5; background:#111111; }
.assistant-foot { border-color:#20344d; color:#8da5be; }
.assistant-foot a { color:#9fccef; }
.today-panel,.voice-panel { background:#030303; border-color:#243a52; }
.panel-heading h2 { color:#deedfc; font-weight:500; }
.panel-heading>a { color:#92bde2; }
.panel-intro,.home-data-age { color:#8fa7bf; }
.home-stat { color:#aec2d8; border-color:#1e3149; }
.home-stat:hover { color:#ebf6ff; }
.home-stat strong { color:#d7ebff; }
.stat-symbol { color:#8cb9df; border-color:#2c4865; background:#0a0a0a; }
.voice-tag { color:#9cbcd9; border-color:#315575; }
.voice-actions .start { color:#c8e6ff; border-color:#3d7099; background:linear-gradient(115deg,#183650,#102336); }
.voice-actions .start:hover { background:#214666; }
.voice-details { border-color:#21384f; }
.voice-details summary { color:#abc4dd; }
.lydknappar .knapp.lyd { color:#b8d3eb; background:#0a0a0a; border-color:#2e5071; }
.knapp.lytt-bob { color:#bedaf3; background:#080808; border-color:#345c7e; }
.knapp.lytt-bob.aktiv { color:#e0f3ff; border-color:#68aadd; background:#1b3b57; }
.knapp.stopp { color:#ffb8af; border-color:#803f37; background:#301917; }
.hud-t,.kort,.lenkjegruppe { background:var(--panel); border-color:var(--line); }
@media (min-width:1550px) { .skjerm.jarvis #bob-sirkel { width:410px; height:410px; } }
@media (max-width:980px) { .skjerm.jarvis #bob-sirkel { width:340px; height:340px; } }
@media (max-width:760px) {
  .workspace-bar { background:#000000; border-color:#1b2e45; }
  .faner { background:#030303f5; border-color:#2b4763; }
  .fane[aria-current="page"] { background:#0b0b0b; border:0; }
  .home-heading h1 { font-size:32px; }
  .home-heading .eyebrow { font-size:8px; }
  .skjerm.jarvis #bob-sirkel { width:270px; height:270px; }
  .skjerm.jarvis .sirkel-scene { padding:23px 15px 0; }
  .skjerm.jarvis .svar { font-size:15px; }
  .assistant-foot { font-size:9px; }
}
@media (prefers-reduced-motion:reduce) { .skjerm.jarvis #bob-sirkel { transition:none; } }


/* Only the page where Sondre speaks with Jarvis uses gold. Shared navigation stays black and blue. */
.skjerm.jarvis {
  --bg:#000000; --panel:#030303; --panel-2:#090909;
  --line:#403626; --line-sterk:#79613b; --text:#f2f0eb; --muted:#aaa69e;
  --accent:#e9bc73; --gull:#e9bc73;
  color:var(--text);
}
.skjerm.jarvis ::selection { background:#66502d; color:#fff; }
.skjerm.jarvis .home-heading .eyebrow { color:#c6a16d; }
.skjerm.jarvis .home-heading h1 { color:#f6f3ed; }
.skjerm.jarvis .home-heading p:last-child { color:#aaa69e; }
.skjerm.jarvis .quiet-button { color:#dbc7a9; background:#080808; border-color:#59462c; }
.skjerm.jarvis .quiet-button:hover { color:#f1d8ae; background:#111; border-color:#a17b46; }
.skjerm.jarvis .assistant-panel {
  background:#030303; border-color:#584329;
  box-shadow:0 16px 60px #0006,inset 0 1px 0 #e7b26212;
}
.skjerm.jarvis .assistant-panel::before { background-image:linear-gradient(90deg,transparent 49.8%,#c8944417 50%,transparent 50.2%); }
.skjerm.jarvis .core-caption { color:#c3a16b; }
.skjerm.jarvis .core-caption span { background:#e7b360; box-shadow:0 0 10px #d79c4760; }
.skjerm.jarvis .svar { color:#efede8; scrollbar-color:#685638 transparent; }
.skjerm.jarvis .lytt-status { color:#b3a58d; }
.skjerm.jarvis .skriv { background:#080808; border-color:#645034; }
.skjerm.jarvis .skriv:focus-within { border-color:#d4a257; box-shadow:0 0 0 3px #c9953712; }
.skjerm.jarvis .skriv input { color:#f4f1eb; }
.skjerm.jarvis .skriv input::placeholder { color:#a69e91; }
.skjerm.jarvis .skriv .send-button { background:linear-gradient(135deg,#f0d5a2,#d09b52); color:#201708; }
.skjerm.jarvis .skriv .send-button:hover { background:#f4d598; }
.skjerm.jarvis .chip { color:#c8b694; border-color:#51432e; background:#080808; }
.skjerm.jarvis .chip:hover { color:#f3d9ae; border-color:#997644; background:#111; }
.skjerm.jarvis .assistant-foot { border-color:#403322; color:#a99c85; }
.skjerm.jarvis .assistant-foot a { color:#d9b77e; }
.skjerm.jarvis .today-panel,.skjerm.jarvis .voice-panel { background:#030303; border-color:#443925; }
.skjerm.jarvis .panel-heading h2 { color:#ece8df; }
.skjerm.jarvis .panel-heading>a { color:#cfad75; }
.skjerm.jarvis .panel-intro,.skjerm.jarvis .home-data-age { color:#a9a294; }
.skjerm.jarvis .home-stat { color:#c2baaa; border-color:#352f23; }
.skjerm.jarvis .home-stat:hover { color:#f5e7cf; }
.skjerm.jarvis .home-stat strong { color:#ede4d5; }
.skjerm.jarvis .stat-symbol { color:#cca66d; border-color:#56442a; background:#0a0a0a; }
.skjerm.jarvis .voice-tag { color:#c9ad80; border-color:#624b2c; }
.skjerm.jarvis .knapp.start { color:#ebd0a1; border-color:#93723d; background:#0c0c0c; }
.skjerm.jarvis .voice-actions .start { color:#ebd0a1; border-color:#93723d; background:#0c0c0c; }
.skjerm.jarvis .voice-actions .start:hover { color:#ffe1b0; border-color:#c99a51; background:#151515; }
.skjerm.jarvis .voice-details { border-color:#423625; }
.skjerm.jarvis .voice-details summary { color:#c1b393; }
.skjerm.jarvis .lydknappar .knapp.lyd { color:#cfbb95; background:#080808; border-color:#645135; }
.skjerm.jarvis .knapp.lytt-bob { color:#e1c99e; background:#080808; border-color:#735a35; }
.skjerm.jarvis .knapp.lytt-bob.aktiv { color:#ffe1a7; border-color:#bd8f45; background:#121212; }
.voice-auto { display:flex; align-items:center; gap:10px; min-height:44px; margin-top:12px; font-size:12px; line-height:1.5; cursor:pointer; }
.voice-auto input { flex:none; width:19px; height:19px; margin:0; accent-color:var(--accent); }
.voice-note { margin:2px 0 8px; font-size:11px; line-height:1.6; color:var(--muted); }
.voice-iphone { display:flex; align-items:center; justify-content:space-between; min-height:44px; color:var(--accent); font-size:12px; }


/* Voice home: the golden core is the only visible content until its menu is opened. */
body[data-side="framside"] { padding:0; height:100vh; height:100dvh; overflow:hidden; background:#000; }
body[data-side="framside"] .workspace-bar,
body[data-side="framside"] > .skip-link,
body[data-side="framside"] .app-rail,
.skjerm.jarvis .home-heading,
.skjerm.jarvis .home-side,
.skjerm.jarvis .chat,
.skjerm.jarvis .assistant-foot,
.skjerm.jarvis .core-caption { display:none; }
body[data-side="framside"] #nettfeil { display:none; }
body[data-side="framside"] .skjerm.jarvis {
  width:100%; max-width:none; height:100vh; height:100dvh; min-height:0; margin:0; padding:0; background:#000;
}
body[data-side="framside"] .skjerm.jarvis .home-layout {
  display:grid; grid-template-columns:1fr; grid-template-rows:1fr; place-items:center; width:100%; height:100%; gap:0;
  padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
}
body[data-side="framside"] .skjerm.jarvis .assistant-panel {
  display:contents; min-height:0; border:0; border-radius:0; box-shadow:none; background:none; overflow:visible;
}
body[data-side="framside"] .skjerm.jarvis .assistant-panel::before { display:none; }
body[data-side="framside"] .skjerm.jarvis .sirkel-scene {
  display:grid; place-items:center; width:100%; height:100%; margin:0; padding:0;
}
body[data-side="framside"] .skjerm.jarvis #bob-sirkel {
  width:min(96vw,96vh); height:min(96vw,96vh);
  width:min(calc(96vw - env(safe-area-inset-left) - env(safe-area-inset-right)),calc(96dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom)));
  height:min(calc(96vw - env(safe-area-inset-left) - env(safe-area-inset-right)),calc(96dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom)));
  max-width:none; max-height:none; margin:0; padding:0; border:0; box-shadow:none;
  touch-action:manipulation; -webkit-touch-callout:none; user-select:none; -webkit-user-select:none;
}
/* A confirmed emergency stop is still shown, but never creates a card in the normal voice view. */
body[data-side="framside"] .nodstopp-banner:not([hidden]) {
  position:fixed; top:max(12px,env(safe-area-inset-top)); left:50%; transform:translateX(-50%);
  width:calc(100% - 28px); max-width:620px; max-height:45dvh; overflow:auto; z-index:35; margin:0;
}
.app-rail > .voice-panel,.app-rail > .voice-writing,#meny-knapp { display:none; }
body[data-side="framside"].meny-open .app-rail {
  display:flex; position:fixed; inset:0 auto 0 0; z-index:40; width:360px; max-width:calc(100vw - 28px);
  height:100vh; height:100dvh; margin:0;
  padding:max(16px,env(safe-area-inset-top)) 18px max(20px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));
  background:#030303; border:0; border-right:1px solid #2d4e6d; box-shadow:22px 0 80px #000b;
  overflow:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
}
body[data-side="framside"].meny-open .app-rail > * { flex-shrink:0; }

body[data-side="framside"].meny-open .rail-brand { display:flex; margin:0 0 24px; padding:0; }
body[data-side="framside"].meny-open .rail-label { display:block; }
body[data-side="framside"].meny-open .app-rail .faner {
  position:static; inset:auto; display:flex; flex-direction:column; gap:5px; padding:0; margin:0;
  transform:none; visibility:visible; background:none; border:0; backdrop-filter:none;
}
body[data-side="framside"].meny-open .app-rail .fane {
  flex:none; width:100%; min-height:46px; padding:0 14px; flex-direction:row; justify-content:flex-start;
  gap:12px; font-size:12px; border:1px solid transparent; border-radius:9px;
}
body[data-side="framside"].meny-open .app-rail .fane[aria-current="page"] { border-color:#315c82; background:#090909; }
body[data-side="framside"].meny-open .app-rail .fane[aria-current="page"]::before { left:-18px; right:auto; top:14px; width:3px; height:16px; }
body[data-side="framside"].meny-open .app-rail > .voice-panel { display:block; margin:20px 0 0; padding:16px; }
body[data-side="framside"].meny-open .voice-actions { flex-direction:column; }
body[data-side="framside"].meny-open .rail-secondary { display:block; margin-top:20px; padding-top:16px; }
body[data-side="framside"].meny-open .rail-bottom { display:none; }
body[data-side="framside"].meny-open .rail-legal { display:block; margin:20px 0 0; padding:16px 0 0; }

body[data-side="framside"].meny-open .app-rail > .voice-writing {
  display:block; margin:16px 0 0; border:1px solid #243a52; border-radius:12px; padding:0 14px; background:#030303;
}
.app-rail .voice-writing summary { min-height:48px; display:flex; align-items:center; color:#c6dff5; font-size:13px; cursor:pointer; }
.app-rail .voice-writing summary::before { content:"+"; margin-right:9px; font-size:17px; }
.app-rail .voice-writing[open] summary::before { content:"−"; }
.app-rail #chat { display:block; width:100%; max-width:none; margin:0; padding:0 0 14px; }
.app-rail #bob-svar {
  position:static; width:auto; height:auto; max-height:260px; overflow:auto; padding:12px; margin:0 0 14px;
  font-size:13px; line-height:1.65; color:#e8f2ff; border-left:2px solid #8cc8ff; background:#080808;
}
.app-rail #lytt-status { margin:10px 0; font-size:12px; line-height:1.6; color:#adc8e1; overflow-wrap:anywhere; }
.app-rail #lytt-status:empty { display:none; }
.app-rail .skriv { padding:5px; gap:4px; }
.app-rail .skriv input { font-size:16px; padding:8px 5px; }
.app-rail .skriv input::placeholder { font-size:11px; }
.app-rail .chips { justify-content:flex-start; }
.app-rail .chip { text-align:left; }


/* The side menu has a quiet arrow; opening it gives the core its own remaining desktop space. */
body[data-side="framside"] #meny-knapp {
  display:grid; place-items:center; position:fixed; left:0; right:auto; top:calc(50% - 28px); bottom:auto;
  z-index:45; width:40px; min-width:40px; height:56px; min-height:56px; margin:0; padding:0;
  transform:none; visibility:visible; border:1px solid #29465f; border-left:0; border-radius:0 10px 10px 0;
  background:#050505; color:#91bde1; box-shadow:none; touch-action:manipulation;
}
body[data-side="framside"] #meny-knapp:hover { color:#d4edff; border-color:#507ba0; background:#0b0b0b; }
body[data-side="framside"] .skjerm.jarvis #bob-sirkel.lyttar { filter:brightness(1.12) drop-shadow(0 0 18px #e9bc7342); }
body[data-side="framside"] #meny-knapp svg { width:17px; height:23px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
body[data-side="framside"].meny-open #meny-knapp svg { transform:scaleX(-1); }
@media (min-width:761px) {
  body[data-side="framside"].meny-open .app-rail { width:280px; max-width:280px; box-shadow:none; }
  body[data-side="framside"].meny-open #meny-knapp { left:280px; }
  body[data-side="framside"].meny-open .skjerm.jarvis { padding-left:280px; }
  body[data-side="framside"].meny-open .skjerm.jarvis #bob-sirkel {
    width:min(calc(96vw - 280px),96vh); height:min(calc(96vw - 280px),96vh);
    width:min(calc(96vw - 280px),calc(96dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom)));
    height:min(calc(96vw - 280px),calc(96dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom)));
  }
}
@media (max-width:760px) {
  body[data-side="framside"].meny-open .app-rail { width:min(360px,calc(100vw - 56px)); max-width:none; }
  body[data-side="framside"].meny-open #meny-knapp { left:min(360px,calc(100vw - 56px)); }
}

/* Connected accounts: readable purposes on a phone as well as a wide screen. */
#epost { table-layout:fixed; white-space:normal; }
#epost th, #epost td { overflow-wrap:anywhere; vertical-align:top; }
#epost th:nth-child(1) { width:23%; }
#epost th:nth-child(2) { width:37%; }
#epost th:nth-child(3) { width:26%; }
#epost th:nth-child(4) { width:14%; }
@media (max-width:760px) {
  #epost, #epost tbody { display:block; width:100%; }
  #epost thead { display:none; }
  #epost tr { display:block; margin:0 0 14px; padding:10px 14px; border:1px solid var(--line); border-radius:12px; background:var(--panel); }
  #epost td { display:block; width:auto; border:0; padding:7px 0; }
  #epost td:first-child { font-weight:650; color:var(--text); }
  #epost td:not(:first-child)::before { display:block; color:var(--muted); font-size:11px; margin-bottom:3px; }
  #epost td:nth-child(2)::before { content:'BRUKT TIL'; }
  #epost td:nth-child(3)::before { content:'TILKOPLING'; }
  #epost td:nth-child(4)::before { content:'SIST KONTROLLERT'; }
}
#epost th, #epost td { text-align:left; }

/* The longer sector name must fit the phone navigation. */
.fane[data-fane="deals"] span { min-width:0; text-align:center; overflow-wrap:anywhere; }

/* One login for everything (Sondre 12.10.2026). The card is the same wherever a page needs him logged in; the row on the
 * voice home sits in the corner the golden core never reaches, under the menu and under a shown emergency stop. */
.inn-kort { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.inn-kort h2 { margin:0; }
.inn-kort .knapp { min-width:160px; }
.inn-kort [data-innlogging-melding] { margin:0; overflow-wrap:anywhere; }
.inn-kort [data-innlogging-melding]:empty { display:none; }
.inn-vegg { max-width:460px; margin:28px auto; }
.inn-rad {
  position:fixed; right:max(14px,env(safe-area-inset-right)); bottom:max(14px,env(safe-area-inset-bottom)); z-index:30;
  display:flex; align-items:center; gap:4px; max-width:min(340px,calc(100vw - 28px)); padding:0 4px 0 14px;
  border:1px solid #443925; border-radius:12px; background:#050505; color:#a99c85; font-size:13px;
}
.inn-rad[hidden] { display:none; }
.inn-rad:has([data-innlogging-kort]) { padding:0; border:0; background:none; }
.inn-rad .inn-kort { gap:8px; align-items:flex-end; }
.inn-rad .inn-kort .knapp, .inn-ut {
  min-width:0; min-height:44px; padding:0 16px; border:1px solid #59462c; border-radius:12px;
  background:#050505; color:#dbc7a9; font:inherit; font-size:13px; font-weight:500; cursor:pointer;
}
.inn-rad .inn-ut { padding:0 10px; border:0; background:none; color:#a99c85; text-decoration:underline; text-underline-offset:3px; }
.inn-rad .inn-kort .knapp:hover, .inn-ut:hover { color:#f1d8ae; border-color:#a17b46; }
.inn-rad .inn-kort [data-innlogging-melding] {
  padding:10px 12px; border:1px solid #443925; border-radius:12px; background:#050505; font-size:13px; color:#cbbfa9;
}
