/* Vedlikehold: eksisterende kort, én hovedhandling og rolig sekundær oppfølging. */
#mb-tab-kalender .mb-vedlikehold-card[data-mb-maintenance-task-id] { box-shadow: none; border-radius: var(--r); padding: 16px; min-width: 0; }
#mb-tab-kalender .mb-vedlikehold-card-top { gap: 12px; margin-bottom: 8px; }
#mb-tab-kalender .mb-vedlikehold-card-top h3 { overflow-wrap: anywhere; }
#mb-tab-kalender .mb-vedlikehold-desc { margin: 0 0 10px; }
#mb-tab-kalender .mb-vedlikehold-meta { gap: 6px 16px; margin-bottom: 14px; }
#mb-tab-kalender .mb-vedlikehold-meta span { background: none; border-radius: 0; padding: 0; }
#mb-tab-kalender .mb-vedlikehold-badge { text-transform: none; letter-spacing: normal; }
#mb-tab-kalender .mb-vedlikehold-actions { gap: 8px; }
#mb-tab-kalender .mb-vedlikehold-card .btn { min-height: 44px; white-space: normal; max-width: 100%; }
#mb-tab-kalender .mb-vedlikehold-inline-toggle { min-height: 44px; }
#mb-tab-kalender .mb-vedlikehold-inline-panel { background: none; border: 0; border-top: 1px solid var(--lys); border-radius: 0; padding: 14px 0 0; }
#mb-tab-kalender .mb-vedlikehold-inline-head span { display: block; margin-top: 4px; }
#mb-tab-kalender .mb-vedlikehold-offer-list { gap: 0; }
#mb-tab-kalender .mb-vedlikehold-offer-row { border: 0; border-bottom: 1px solid var(--lys); border-radius: 0; padding: 12px 0; background: none; }
#mb-tab-kalender .mb-vedlikehold-offer-price { font-family: inherit; font-size: 16px; }
#mb-tab-kalender .mb-vedlikehold-inline-footer { align-items: center; }

/* Eksisterende toppbar får egen boligkontekst; andre visninger er urørt. */
.topbar.is-boligkonto, #view-minbolig { --mb-workspace-soft: color-mix(in srgb, var(--mose) 5%, color-mix(in srgb, var(--lime) 10%, var(--bg))); }
.topbar.is-boligkonto { padding: 0 max(24px, calc((100vw - 1376px) / 2)); min-height: 78px; background: var(--krem); }
.topbar.is-boligkonto .topbar-nav { flex: 1; justify-content: flex-start; gap: 28px; margin-left: 28px; }
.topbar.is-boligkonto .topbar-workspace-link { min-height: 72px; padding: 0 0 0 28px; border-left: 1px solid var(--lys); border-bottom: 2px solid var(--mose); color: var(--skog); font-weight: 600; display: inline-flex !important; }
.topbar.is-boligkonto .topbar-account { display: block !important; margin-left: auto; }
.topbar.is-boligkonto .topbar-workspace-avatar { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--mb-workspace-soft); font-weight: 600; }
.topbar.is-boligkonto .topbar-account-button { min-height: 44px; padding: 0; }
.topbar.is-boligkonto .topbar-hamburgermeny { display: none; }
#view-minbolig .portal-layout { display: block; max-width: 1488px; margin-inline: auto; }
#view-minbolig .portal-innhold { padding: 32px 56px 64px; min-width: 0; }
#view-minbolig #mb-workspace-status:empty { display: none; }
#view-minbolig.mb-workspace-switching .tab-innhold, #view-minbolig.mb-workspace-switching .mb-workspace-identity { visibility: hidden; }
#view-minbolig .mb-workspace-account { font-size: 14px; color: var(--graa); margin: 0 0 14px; }
#view-minbolig .mb-workspace-chooser { display: flex; gap: 16px; overflow-x: auto; padding: 3px 3px 14px; scroll-snap-type: x proximity; }
#view-minbolig .mb-workspace-property { position: relative; display: flex; align-items: center; gap: 20px; flex: 1 0 280px; min-width: 0; min-height: 144px; padding: 8px; background: var(--hvit); color: var(--skog); border: 1px solid var(--lys); border-radius: var(--r); text-align: left; cursor: pointer; scroll-snap-align: start; font: inherit; }
#view-minbolig .mb-workspace-property[aria-pressed="true"] { border: 2px solid var(--skog); padding: 7px; }
#view-minbolig .mb-workspace-property-image { display: grid; place-items: center; flex: 0 0 46%; height: 126px; background: var(--mb-workspace-soft); border-radius: var(--radius-sm); }
#view-minbolig .mb-workspace-property-image svg { width: 40px; height: 40px; }
#view-minbolig .mb-workspace-property-copy { display: grid; gap: 5px; overflow-wrap: anywhere; }
#view-minbolig .mb-workspace-property-copy strong { font-size: 17px; }
#view-minbolig .mb-workspace-property-copy span, #view-minbolig .mb-workspace-property-copy small { color: var(--graa); font-size: 13px; }
#view-minbolig .mb-workspace-selected { position: absolute; right: 10px; top: 10px; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--skog); color: var(--hvit); }
#view-minbolig .mb-workspace-selected svg { width: 18px; height: 18px; }
#view-minbolig .mb-workspace-add { min-height: 44px; padding: 12px; border: 0; background: transparent; color: var(--skog); font: inherit; cursor: pointer; text-align: left; }
#view-minbolig .mb-workspace-choose-toggle { display: none; }
#view-minbolig .mb-workspace-unit:empty { display: none; }
#view-minbolig .mb-workspace-role { display: flex; align-items: center; gap: 16px; }
#view-minbolig .mb-workspace-identity .mb-workspace-unit { font: 500 30px/1.3 'Fraunces', serif; color: var(--skog); }
#view-minbolig .mb-workspace-private { font-size: 14px; padding: 4px 14px; border-radius: var(--radius-sm); background: var(--mb-workspace-soft); }
#view-minbolig .mb-workspace-identity { display: grid; grid-template-columns: 42% 1fr; align-items: center; gap: 28px; padding: 32px 0 26px; margin: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
#view-minbolig .mb-workspace-identity h1 { font-family: 'Fraunces', serif; font-size: clamp(36px, 4.5vw, 68px); line-height: 1.12; margin: 0 0 8px; overflow-wrap: anywhere; }
#view-minbolig .mb-workspace-identity .boligkort-copy { min-width: 0; }
#view-minbolig .mb-workspace-identity .boligkort-copy > p { font-size: 18px; }
#view-minbolig .mb-workspace-facts { border-left: 1px solid var(--lys); padding: 36px 0 36px 48px; }
#view-minbolig .mb-workspace-fact-row { display: flex; align-items: center; gap: 30px; }
#view-minbolig .mb-workspace-type { display: inline-flex; align-items: center; gap: 14px; white-space: nowrap; }
#view-minbolig .mb-workspace-type svg, #view-minbolig .bolig-detalj > svg { width: 26px; height: 26px; flex-shrink: 0; }
#view-minbolig .mb-workspace-facts p { color: var(--graa); font-size: 12px; margin: 12px 0 0; }
#view-minbolig .mb-workspace-link { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; width: fit-content; padding: 0; margin-top: 2px; border: 0; background: transparent; color: var(--skog); font: inherit; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
#view-minbolig .mb-workspace-link:disabled { opacity: .6; cursor: default; }
#view-minbolig .mb-mobilnav { display: flex; position: relative; inset: auto; gap: 20px; padding: 0; margin: 0 0 24px; border-bottom: 1px solid var(--lys); background: transparent; overflow: visible; }
#view-minbolig .mb-mobilnav > .tab, #view-minbolig .mb-mobilnav-mer > summary { width: auto; min-width: 0; padding: 14px 10px; min-height: 48px; border: 0; border-bottom: 3px solid transparent; border-radius: 0; background: transparent; color: var(--graa); font-size: 15px; }
#view-minbolig .mb-mobilnav > .tab.aktiv, #view-minbolig .mb-mobilnav-mer > summary.aktiv { border-bottom-color: var(--skog); color: var(--skog); font-weight: 700; }
#view-minbolig .mb-mobilnav > .tab { box-shadow: none; }
#view-minbolig .mb-mobilnav-mer { margin-left: auto; }
#view-minbolig .mb-mobilnav-mer-meny { z-index: 20; top: 100%; bottom: auto; max-height: 60vh; overflow-y: auto; }
#view-minbolig #mb-tab-oversikt > .portal-tittel { display: none; }
#view-minbolig .mb-oversikt-hero { padding: 16px; background: color-mix(in srgb, var(--mose) 2.5%, color-mix(in srgb, var(--lime) 10%, var(--bg))); box-shadow: none; border: 0; margin: 0 0 28px; }
#view-minbolig .mb-oversikt-hero-title { font-size: clamp(28px, 3vw, 42px); max-width: 28ch; line-height: 1.18; }
#view-minbolig .mb-oversikt-hero-head { display: grid; grid-template-columns: 1.12fr 1fr; align-items: stretch; gap: 28px; }
#view-minbolig .mb-oversikt-hero-copy { padding: 24px 18px; }
#view-minbolig .mb-oversikt-hero-topline .status-pill { display: none; }
#view-minbolig .mb-oversikt-hero-kicker { color: var(--skog); font-size: 14px; }
#view-minbolig .mb-oversikt-hero-body { font-size: 18px; }
#view-minbolig .mb-workspace-hero-media { display: grid; place-items: center; min-height: 280px; border-radius: var(--radius-sm); background: color-mix(in srgb, var(--mose) 10%, color-mix(in srgb, var(--lime) 12%, var(--bg))); color: var(--mose); }
#view-minbolig .mb-workspace-hero-media svg { width: 64px; height: 64px; }
#view-minbolig .mb-oversikt-hero-actions { margin-top: 24px; }
#view-minbolig .mb-oversikt-hero-actions .btn:first-child { background: var(--skog); color: var(--hvit); padding: 16px 32px; border-radius: var(--radius-pill); min-height: 54px; }
#view-minbolig .mb-oversikt-hero-actions .btn + .btn { background: transparent; border: 0; text-decoration: underline; text-underline-offset: 4px; min-height: 44px; }
#view-minbolig .mb-oversikt-hero-stat { padding-left: 0; background: transparent; min-height: 0; }
#view-minbolig .mb-workspace-support { display: grid; grid-template-columns: 1.4fr 1fr; gap: 48px; }
#view-minbolig .mb-workspace-shortcuts h3 { font: 600 17px/1.4 var(--sans); margin-bottom: 24px; }
#view-minbolig .mb-workspace-shortcut-row { display: flex; gap: 20px; }
#view-minbolig .mb-workspace-shortcuts button { display: flex; align-items: center; gap: 14px; flex: 1; min-width: 0; min-height: 60px; text-align: left; border: 0; padding: 0; color: var(--skog); background: transparent; font: inherit; font-size: 14px; cursor: pointer; }
#view-minbolig .mb-workspace-shortcuts small { display: block; color: var(--graa); margin-top: 3px; font-size: 12px; }
#view-minbolig .mb-workspace-shortcut-icon { display: grid; place-items: center; flex: 0 0 56px; width: 56px; height: 56px; border-radius: 50%; background: var(--mb-workspace-soft); }
#view-minbolig .mb-workspace-shortcut-icon svg { width: 24px; height: 24px; }
#view-minbolig .mb-workspace-more { border-top: 1px solid var(--lys); margin-top: 24px; }
#view-minbolig .mb-workspace-more > summary { padding: 18px 0; color: var(--skog); cursor: pointer; font-weight: 600; min-height: 48px; }
#view-minbolig #mb-oversikt-section-documents { box-shadow: none; border: 0; border-left: 1px solid var(--lys); padding-left: 36px; border-radius: 0; background: transparent; }
#view-minbolig #mb-oversikt-section-documents .kort { background: transparent; box-shadow: none; }
#view-minbolig .mb-workspace-facts .bolig-detaljer { display: flex; flex-direction: row; flex-wrap: nowrap; gap: 30px; }
#view-minbolig .mb-workspace-facts .bolig-detalj { display: flex; flex: 0 0 auto; align-items: center; gap: 12px; border: 0; border-radius: 0; padding: 0; background: transparent; font-size: 16px; }
#view-minbolig .mb-workspace-facts .bolig-detalj .etikett { display: none; }
#view-minbolig .mb-workspace-documents-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
#view-minbolig .mb-workspace-documents-head h3 { font-size: 17px; margin: 0; }
#view-minbolig .mb-workspace-documents-head .mb-workspace-link { font-size: 13px; margin: 0; }
#view-minbolig .mb-workspace-document { display: flex; align-items: center; gap: 14px; width: 100%; padding: 12px 0; border: 0; border-bottom: 1px solid var(--lys); background: transparent; text-align: left; font: inherit; color: var(--graa); font-size: 14px; }
#view-minbolig button.mb-workspace-document { cursor: pointer; }
#view-minbolig .mb-workspace-document > span:last-child { min-width: 0; overflow-wrap: anywhere; }
#view-minbolig .mb-workspace-document small { display: block; font-size: 12px; margin-top: 4px; }
#view-minbolig .mb-workspace-document .mb-workspace-shortcut-icon { flex-basis: 40px; width: 40px; height: 40px; }
#view-minbolig .mb-workspace-presentation { width: min(1100px, 94vw); height: 90vh; max-height: 90vh; border: 1px solid var(--lys); border-radius: var(--r); padding: 20px; color: var(--skog); background: var(--hvit); margin: auto; }
#view-minbolig .mb-workspace-presentation::backdrop { background: color-mix(in srgb, var(--skog) 45%, transparent); }
#view-minbolig .mb-workspace-presentation header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
#view-minbolig #mb-boligpresentasjon-body { height: calc(100% - 70px); display: flex; flex-direction: column; gap: 12px; }
#view-minbolig #mb-presentation-print { align-self: flex-start; min-height: 44px; }
#view-minbolig #mb-boligpresentasjon-body iframe { display: block; width: 100%; flex: 1; min-height: 0; border: 0; }
#view-minbolig button:focus-visible, #view-minbolig summary:focus-visible { outline: 3px solid var(--mose); outline-offset: 3px; }
@media (max-width: 700px) {
  .topbar.is-boligkonto { padding-inline: 18px; min-height: 64px; gap: 8px; }
  .topbar.is-boligkonto .topbar-workspace-name { display: none; }
  .topbar.is-boligkonto .topbar-nav { gap: 8px; margin-left: 14px; }
  .topbar.is-boligkonto .topbar-workspace-link { padding-left: 14px; min-height: 64px; font-size: 14px; }
  #view-minbolig .portal-innhold { padding: 18px 18px 48px; }
  #view-minbolig .mb-workspace-property { flex-basis: 270px; gap: 14px; min-height: 80px; }
  #view-minbolig .mb-workspace-property-image { flex-basis: 60px; height: 60px; }
  #view-minbolig .mb-workspace-identity { display: block; padding: 8px 0; }
  #view-minbolig .mb-workspace-identity .boligkort-copy { display: block; }
  #view-minbolig .mb-workspace-identity h1, #view-minbolig .mb-workspace-identity .mb-workspace-link { grid-column: 1 / -1; }
  #view-minbolig .mb-workspace-identity h1 { font-size: 30px; }
  #view-minbolig .mb-workspace-identity .mb-workspace-unit { font-size: 22px; }
  #view-minbolig .mb-workspace-identity .boligkort-copy > p { margin: 0; line-height: 1.3; }
  #view-minbolig .mb-workspace-facts { border: 0; padding: 8px 0 0; }
  #view-minbolig .mb-workspace-chooser { display: grid; grid-template-columns: 1fr; gap: 6px; padding-bottom: 0; }
  #view-minbolig .mb-workspace-chooser:not([data-expanded="true"]) .mb-workspace-property[aria-pressed="false"] { display: none; }
  #view-minbolig .mb-workspace-choose-toggle { display: block; border: 0; background: transparent; color: var(--skog); min-height: 44px; text-align: left; padding: 0 4px; font: inherit; cursor: pointer; }
  #view-minbolig .mb-workspace-property { width: 100%; max-width: none; }
  #view-minbolig .mb-workspace-chooser:has(.mb-workspace-choose-toggle):not([data-expanded="true"]) .mb-workspace-add { display: none; }
  #view-minbolig .mb-workspace-add { min-height: 44px; }
  #view-minbolig .mb-workspace-fact-row, #view-minbolig .mb-workspace-facts .bolig-detaljer { gap: 16px; flex-wrap: wrap; }
  #view-minbolig .mb-workspace-type, #view-minbolig .mb-workspace-facts .bolig-detalj { font-size: 13px; gap: 6px; }
  #view-minbolig .mb-workspace-type svg, #view-minbolig .bolig-detalj > svg { width: 20px; height: 20px; }
  #view-minbolig .mb-mobilnav { display: flex; flex-wrap: wrap; gap: 0; justify-content: space-between; box-shadow: none; backdrop-filter: none; }
  #view-minbolig .mb-mobilnav > .tab, #view-minbolig .mb-mobilnav > .mb-mobilnav-mer { grid-column: auto; flex: 0 0 auto; }
  #view-minbolig .mb-mobilnav > .tab, #view-minbolig .mb-mobilnav-mer > summary { white-space: nowrap; overflow-wrap: normal; word-break: normal; max-width: 100%; }
  #view-minbolig .mb-mobilnav > .tab, #view-minbolig .mb-mobilnav-mer > summary { padding: 10px 1px; font-size: 11px; height: auto; min-height: 44px; min-width: 44px; }
  #view-minbolig .mb-mobilnav-mer { margin-left: 0; }
  #view-minbolig .mb-mobilnav-mer > summary { width: fit-content; margin-left: auto; }
  #view-minbolig .mb-oversikt-hero { padding: 18px; }
  #view-minbolig .mb-oversikt-hero-head { display: flex; flex-direction: column; gap: 18px; }
  #view-minbolig .mb-oversikt-hero-copy { padding: 0; flex: 0 0 auto; }
  #view-minbolig .mb-workspace-hero-media { min-height: 140px; }
  #view-minbolig .mb-oversikt-hero-actions { margin-top: 12px; }
  #view-minbolig .mb-workspace-support { grid-template-columns: 1fr; gap: 24px; }
  #view-minbolig .mb-workspace-shortcut-row { flex-direction: column; gap: 12px; }
  #view-minbolig #mb-oversikt-section-documents { border-left: 0; padding-left: 0; }
}

/* Romeditoren deler arbeidsflatens rolige typografi; ingen kort-i-kort. */
/* Bare romseksjonen får bred arbeidsflate; profil og kontakter beholder 420 px innholdsbredde. */
#view-minbolig #mb-tab-profil > .kort.mb-rom-profilvert { max-width: none !important; }
#view-minbolig #mb-tab-profil > .kort.mb-rom-profilvert > :not(#mbp-rom-seksjon) { max-width: 420px; }
#mbp-rom-seksjon { min-width: 0; scroll-margin-top: 88px; margin-top: 28px; padding-block: 24px; border-block: 1px solid var(--lys); }
#mbp-rom-seksjon > h2 { font-size: 1.6rem; margin: 0 0 24px; }
#mbp-rom-seksjon #mbp-rom-liste { display: grid; grid-template-columns: 292px minmax(0, 1fr); gap: 32px; }
#mbp-rom-seksjon .mb-material-room-list, #mbp-rom-seksjon .mb-material-room-content { min-width: 0; }
#mbp-rom-seksjon #mbp-rom-opprett { max-width: 720px; margin-top: 16px; }
#mbp-rom-seksjon #mbp-rom-opprett .mb-material-actions { margin-top: 16px; }
#mbp-rom-seksjon input, #mbp-rom-seksjon select, #mbp-rom-seksjon button, #mbp-rom-seksjon summary { min-height: 44px; }
#mbp-rom-seksjon input, #mbp-rom-seksjon select, #mbp-rom-seksjon textarea { width: 100%; min-width: 0; max-width: 100%; font: inherit; }
#mbp-rom-seksjon .mb-material-room { border-bottom: 1px solid var(--lys); }
#mbp-rom-seksjon .mb-material-room-line { display: flex; align-items: center; gap: 12px; }
#mbp-rom-seksjon .mb-material-room-toggle { flex: 1; min-width: 0; padding: 14px 12px; border: 0; border-left: 3px solid transparent; background: none; text-align: left; color: var(--skog); font: inherit; font-weight: 600; cursor: pointer; overflow-wrap: anywhere; }
#mbp-rom-seksjon .mb-material-room-toggle[aria-expanded="true"] { border-left-color: var(--skog); background: var(--mb-workspace-soft); text-decoration: underline; text-underline-offset: 5px; }
#mbp-rom-seksjon .mb-material-panel { padding: 0 0 16px; scroll-margin-top: 88px; }
#mbp-rom-seksjon .mb-material-panel[hidden] { display: none; }
#mbp-rom-seksjon .mb-material-room-return { display: none; }
#mbp-rom-seksjon .mb-material-panel-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; }
#mbp-rom-seksjon .mb-material-panel h3 { font-size: 1.2rem; margin: 0; }
#mbp-rom-seksjon .mb-material-panel-head button { max-width: 100%; white-space: normal; }
#mbp-rom-seksjon .mb-material-muted { color: var(--graa); font-size: .9rem; line-height: 1.5; margin: 8px 0 16px; overflow-wrap: anywhere; }
#mbp-rom-seksjon .mb-material-note { padding: 20px 0; border-top: 1px solid var(--lys); }
#mbp-rom-seksjon .mb-material-facts { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 24px; }
#mbp-rom-seksjon .mb-material-note > p:first-child { white-space: pre-wrap; overflow-wrap: anywhere; margin: 0 0 6px; }
#mbp-rom-seksjon .mb-material-form { display: grid; gap: 16px; max-width: 720px; margin-top: 16px; }
#mbp-rom-seksjon .mb-material-field { display: grid; gap: 6px; min-width: 0; }
#mbp-rom-seksjon .mb-material-field label { font-size: 1rem; color: var(--skog); }
#mbp-rom-seksjon .mb-material-field textarea { resize: vertical; min-height: 100px; padding: 12px; border: 1px solid var(--lys); border-radius: var(--radius-sm); background: var(--hvit); color: var(--skog); }
#mbp-rom-seksjon .mb-material-details > summary { cursor: pointer; padding: 12px 0; color: var(--skog); }
#mbp-rom-seksjon .mb-material-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding: 8px 0; }
#mbp-rom-seksjon .mb-material-actions { display: flex; flex-wrap: wrap; gap: 12px; }
#mbp-rom-seksjon .mb-material-actions button { white-space: normal; max-width: 100%; }
#mbp-rom-seksjon .mb-material-status { line-height: 1.5; padding: 8px 0; color: var(--skog); }
#mbp-rom-seksjon :focus-visible { outline: 2px solid var(--skog); outline-offset: 3px; }
#mbp-rom-seksjon button:disabled { cursor: default; opacity: .65; }
#mbp-rom-seksjon summary[aria-disabled="true"] { cursor: default; opacity: .65; }
@media (max-width: 900px) {
  #mbp-rom-seksjon #mbp-rom-liste { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  #mbp-rom-seksjon .mb-material-room-return { display: inline-flex; margin-bottom: 16px; }
}
@media (max-width: 640px) {
  #mbp-rom-seksjon .mb-material-facts { grid-template-columns: minmax(0, 1fr); }
  #mbp-rom-seksjon .mb-material-grid { grid-template-columns: minmax(0, 1fr); }
  #mbp-rom-seksjon .portal-form-grid { grid-template-columns: minmax(0, 1fr); }
}
