/* Bygg og rombilder - felles for portalen og delingssiden.
   Grå = ingen bilder, grønn = har bilder. Status vises alltid også med tekst. */
:root{--rb-gronn:#2E7D4F;--rb-gronn-lys:#E3F1E8;--rb-gronn-flate:rgba(46,125,79,.34);
  --rb-gra:#8A8D95;--rb-gra-lys:#EFEFEC;--rb-gra-flate:rgba(120,122,128,.26);--rb-ink:#231F20;--rb-petrol:#00273C}

.rb-dekning{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:12px;color:var(--slate,#5E6274)}
.rb-dekning b{font-family:var(--display,Georgia,serif);font-size:18px;font-weight:600;color:var(--rb-ink);font-variant-numeric:tabular-nums}
.rb-dekning.rb-full b{color:var(--rb-gronn)}
.rb-dekning.rb-ingen b{color:var(--rb-gra)}
.rb-linje{display:block;flex-basis:100%;height:6px;background:var(--rb-gra-lys);border:1px solid #E3E2DF;border-radius:3px;overflow:hidden;min-width:120px}
.rb-linje i{display:block;height:100%;background:var(--rb-gronn)}
.rb-romstatus{display:inline-flex;gap:6px;align-items:baseline;font-size:12px;padding:2px 8px;border-radius:10px;white-space:nowrap}
.rb-romstatus b{font-variant-numeric:tabular-nums}
.rb-romstatus.rb-full{background:var(--rb-gronn-lys);color:#1E5A37}
.rb-romstatus.rb-ingen{background:var(--rb-gra-lys);color:#55585F}
.rb-merk{display:inline-block;font-size:11px;padding:1px 7px;border-radius:9px;background:#FFF4D6;color:#6B4E00;border:1px solid #F1DFA6}
.rb-forklaring{font-size:11.5px;color:var(--slate,#5E6274);max-width:70ch}

/* plantegning */
.rb-plan{position:relative;overflow:hidden;background:#F4F4F2;border:1px solid #E3E2DF;touch-action:none;
  user-select:none;-webkit-user-select:none;height:62vh;min-height:320px;cursor:grab}
.rb-plan:active{cursor:grabbing}
.rb-scene{position:absolute;left:0;top:0;transform-origin:0 0}
.rb-scene img{display:block;position:absolute;left:0;top:0;pointer-events:none;background:#fff}
.rb-scene svg{position:absolute;left:0;top:0;overflow:visible}
.rb-flate{stroke-width:2;vector-effect:non-scaling-stroke;cursor:pointer;outline:none}
.rb-flate.rb-ingen{fill:var(--rb-gra-flate);stroke:#6E7178}
.rb-flate.rb-full{fill:var(--rb-gronn-flate);stroke:var(--rb-gronn)}
.rb-flate:hover{stroke-width:3.5;stroke:var(--rb-petrol)}
.rb-flate:focus-visible{stroke-width:4;stroke:var(--rb-petrol);stroke-dasharray:6 3}
.rb-flate.rb-valgt{stroke-width:4.5;stroke:var(--rb-ink)}
.rb-etikett{fill:var(--rb-ink);font-family:Archivo,Arial,sans-serif;font-weight:600;pointer-events:none;
  paint-order:stroke;stroke:#fff;stroke-width:3px;vector-effect:non-scaling-stroke}
.rb-redflate{fill:rgba(0,39,60,.10);stroke:var(--rb-petrol);stroke-width:2.5;stroke-dasharray:7 4;vector-effect:non-scaling-stroke}
.rb-redflate.lukket{stroke-dasharray:none;fill:rgba(0,39,60,.18)}
.rb-pkt{fill:#fff;stroke:var(--rb-petrol);stroke-width:2;vector-effect:non-scaling-stroke;cursor:move}
.rb-pkt.forste{fill:var(--rb-petrol)}
.rb-kontroll{position:absolute;right:10px;top:10px;display:flex;gap:4px;align-items:center;background:rgba(255,255,255,.94);
  border:1px solid #E3E2DF;border-radius:4px;padding:4px;box-shadow:0 4px 14px -8px rgba(0,0,0,.4)}
.rb-kontroll button{font:inherit;font-size:13px;min-width:34px;height:32px;padding:0 9px;border:1px solid #D9D7D1;background:#fff;
  border-radius:3px;cursor:pointer;color:var(--rb-ink)}
.rb-kontroll button:hover{border-color:var(--rb-ink)}
.rb-kontroll button:focus-visible{outline:2px solid var(--rb-petrol);outline-offset:1px}
.rb-zoom{font-family:ui-monospace,Consolas,monospace;font-size:10px;color:#8C8F9A;padding:0 5px;white-space:nowrap}
.rb-tegnforklaring{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(--slate,#5E6274);margin:8px 0}
.rb-tegnforklaring i{display:inline-block;width:14px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.rb-tegnforklaring .g{background:var(--rb-gra-flate);border:1px solid #6E7178}
.rb-tegnforklaring .gr{background:var(--rb-gronn-flate);border:1px solid var(--rb-gronn)}

/* bilder */
.rb-galleri{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px}
.rb-galleri button{padding:0;border:1px solid #E3E2DF;background:#F4F4F2;cursor:pointer;aspect-ratio:4/3;overflow:hidden;position:relative;border-radius:2px}
.rb-galleri button:focus-visible{outline:2px solid var(--rb-petrol);outline-offset:2px}
.rb-galleri img{width:100%;height:100%;object-fit:cover;display:block}
.rb-galleri .rb-bmerk{position:absolute;left:4px;top:4px;font-size:10px;background:rgba(35,31,32,.8);color:#fff;padding:1px 6px;border-radius:8px}
img.rb-laster{background:linear-gradient(90deg,#EEE,#F7F7F7,#EEE);background-size:200% 100%;animation:rbl 1.2s infinite}
@keyframes rbl{to{background-position:-200% 0}}
img.rb-feilet{opacity:.3}
.rb-lysbord{position:fixed;inset:0;z-index:90;background:rgba(18,18,20,.94);display:flex;flex-direction:column;color:#F2F1EE}
.rb-lysbord .topp{display:flex;align-items:center;gap:12px;padding:10px 14px;font-size:12.5px}
.rb-lysbord .topp .lukk{margin-left:auto}
.rb-lysbord button{font:inherit;background:transparent;color:#F2F1EE;border:1px solid rgba(242,241,238,.35);border-radius:3px;padding:6px 12px;cursor:pointer;min-height:36px}
.rb-lysbord button:focus-visible{outline:2px solid #fff}
.rb-lysbord .midt{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;position:relative;padding:0 8px}
.rb-lysbord .midt img{max-width:100%;max-height:100%;object-fit:contain}
.rb-lysbord .forrige,.rb-lysbord .neste{position:absolute;top:50%;transform:translateY(-50%);font-size:22px;min-width:44px;min-height:54px;background:rgba(0,0,0,.35)}
.rb-lysbord .forrige{left:8px}.rb-lysbord .neste{right:8px}
.rb-lysbord .bunn{padding:10px 16px 16px;font-size:12.5px;line-height:1.5;max-width:900px}
.rb-lysbord .bunn span{color:rgba(242,241,238,.62)}

/* opplasting */
.rb-filer{margin:10px 0 0;padding:0;list-style:none;font-size:12px;max-height:260px;overflow:auto}
.rb-filer li{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;padding:5px 0;border-bottom:1px solid #EDECE9}
.rb-filer img{width:44px;height:33px;object-fit:cover;background:#F4F4F2}
.rb-filer .st{font-family:ui-monospace,Consolas,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.rb-filer .st.ok{color:var(--rb-gronn)}.rb-filer .st.feil{color:#9B1C1C}
.rb-filer .fnavn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-filer .fmeld{display:block;color:#9B1C1C;font-size:11px}
