/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-ksy0u6hx0k] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-ksy0u6hx0k] {
    flex: 1;
}

.sidebar[b-ksy0u6hx0k] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-ksy0u6hx0k] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-ksy0u6hx0k]  a, .top-row[b-ksy0u6hx0k]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-ksy0u6hx0k]  a:hover, .top-row[b-ksy0u6hx0k]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-ksy0u6hx0k]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-ksy0u6hx0k] {
        justify-content: space-between;
    }

    .top-row[b-ksy0u6hx0k]  a, .top-row[b-ksy0u6hx0k]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-ksy0u6hx0k] {
        flex-direction: row;
    }

    /* Uten dette arver main flexbox sin «min-width: auto» og nekter å krympe
       under innholdets naturlige bredde. Fane-stripene og belegg-tabellen er
       brede av natur, og resultatet var at HELE siden fikk horisontal scroll
       fra 641 px og oppover: 519 px på ordresiden ved nettbrettbredde.
       Elementer som skal kunne bli brede, har sine egne scroll-beholdere. */
    main[b-ksy0u6hx0k] {
        min-width: 0;
    }

    .sidebar[b-ksy0u6hx0k] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-ksy0u6hx0k] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-ksy0u6hx0k]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-ksy0u6hx0k], article[b-ksy0u6hx0k] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-ksy0u6hx0k] {
    color-scheme: light only;
    background: #fff8e6;
    border-top: 1px solid #f0dfae;
    color: #92400e;
    font-size: 0.95rem;
    display: none;
    align-items: center;
    gap: 1rem;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-ksy0u6hx0k] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }


#blazor-error-ui .btn-feil-reload[b-ksy0u6hx0k] {
    display: inline-block;
    margin-left: 0.75rem;
    padding: 0.25rem 1rem;
    background: var(--merkevarefarge, #4f46e5);
    color: var(--merkevarefarge-tekst, #fff);
    border-radius: 0.375rem;
    text-decoration: none;
    font-weight: 600;
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-ccavw9mp3z] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-ccavw9mp3z] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-ccavw9mp3z] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
    /* Bootstrap gir .navbar 0,5 rem padding-y. Logolenka under må ha 44 px
       trykkhøyde (UI-24), og 44 + 2×8 = 60 px ville dyttet raden forbi sine
       3,5 rem — altså en høyere header.

       4 px er valgt for at min-height skal styre høyden, ikke innholdet:
       44 + 2×4 + 1 px kantlinje = 53 px, godt under 56, så raden legger seg
       på sine 3,5 rem som før. Kantlinja kommer fra tema-moderne.css og
       teller med (box-sizing: border-box) — med 6 px ble summen 57 px, altså
       én piksel høyere header. Målt, ikke regnet. */
    --bs-navbar-padding-y: 4px;
}

.navbar-brand[b-ccavw9mp3z] {
    font-size: 1.1rem;
    /* UI-24: siste trykkflate under 44 px. Lenka målte 36,4 px (5 px padding
       over og under + 26,4 px linjehøyde) — den minste trykkflaten i appen.
       Høyden tas nå av min-height, og teksten sentreres i den, så lenka står
       visuelt der den sto; det er bare det trykkbare feltet som vokser.
       Se .top-row over for hvorfor headeren likevel blir 56 px. */
    display: flex;
    align-items: center;
    min-height: 44px;
}

.bi[b-ccavw9mp3z] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-ccavw9mp3z] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-ccavw9mp3z] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-ccavw9mp3z] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.nav-item[b-ccavw9mp3z] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-ccavw9mp3z] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-ccavw9mp3z] {
        padding-bottom: 1rem;
    }

    .nav-item[b-ccavw9mp3z]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item[b-ccavw9mp3z]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-ccavw9mp3z]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable[b-ccavw9mp3z] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-ccavw9mp3z] {
    display: block;
    min-height: calc(100vh - 3.5rem);
}

@media (min-width: 641px) {
    .navbar-toggler[b-ccavw9mp3z] {
        display: none;
    }

    .nav-scrollable[b-ccavw9mp3z] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}

/* Fyller høyden så nav-bunn kan presses til bunnen med mellomrom over. */
nav.flex-column[b-ccavw9mp3z] {
    min-height: 100%;
}

.nav-bunn[b-ccavw9mp3z] {
    margin-top: auto;
}

/* Ulest-teller for support (SUP-1). nav-link er display:flex, så
   margin-left:auto skyver tallet helt til høyre i raden. Fargene er valgt mot
   menyens mørke bakgrunn — samme meny brukes i den utfellbare mobilmenyen
   (#hovedmeny-bryter), så tallet må bære kontrasten selv, ikke arve lenkens. */
.nav-item[b-ccavw9mp3z]  .nav-badge {
    margin-left: auto;
    min-width: 1.4rem;
    height: 1.4rem;
    padding: 0 0.4rem;
    border-radius: 0.7rem;
    background-color: #dc2626;
    color: #ffffff;
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1.4rem;
    text-align: center;
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-30pjhefui0],
.components-reconnect-repeated-attempt-visible[b-30pjhefui0],
.components-reconnect-failed-visible[b-30pjhefui0],
.components-reconnect-rejected-visible[b-30pjhefui0],
.components-pause-visible[b-30pjhefui0],
.components-resume-failed-visible[b-30pjhefui0],
.components-rejoining-animation[b-30pjhefui0] {
    display: none;
}

#components-reconnect-modal.components-reconnect-rejected .components-reconnect-rejected-visible[b-30pjhefui0] {
    display: block;
}

#components-reconnect-modal.components-reconnect-rejected .components-rejoining-animation[b-30pjhefui0],
#components-reconnect-modal.components-reconnect-rejected .components-reconnect-first-attempt-visible[b-30pjhefui0],
#components-reconnect-modal.components-reconnect-rejected .components-reconnect-repeated-attempt-visible[b-30pjhefui0],
#components-reconnect-modal.components-reconnect-rejected .components-reconnect-failed-visible[b-30pjhefui0] {
    display: none;
}

.components-oppdatert[b-30pjhefui0] {
    line-height: 1.6;
}

.components-oppdatert-hint[b-30pjhefui0] {
    font-size: 0.85rem;
    color: #6b7280;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-30pjhefui0],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-30pjhefui0],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-30pjhefui0],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-30pjhefui0],
#components-reconnect-modal.components-reconnect-retrying[b-30pjhefui0],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-30pjhefui0],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-30pjhefui0],
#components-reconnect-modal.components-reconnect-failed[b-30pjhefui0],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-30pjhefui0] {
    display: block;
}

/* Blazor lar «show» bli stående når den går videre til «retrying», så uten
   denne står «Et øyeblikk — kobler til igjen …» og «Prøver igjen om 5
   sekunder …» samtidig og motsier hverandre. Verifisert i browser 10.08.2026.

   :not(…) er poenget: hintlinja om oppdateringer er merket for BEGGE
   tilstandene og skal bli stående. Uten den forsvinner den også. */
#components-reconnect-modal.components-reconnect-retrying
    .components-reconnect-first-attempt-visible:not(.components-reconnect-repeated-attempt-visible)[b-30pjhefui0] {
    display: none;
}

/* Avvist økt har to helt ulike årsaker — ny versjon eller for langt brudd.
   ReconnectModal.razor.js spør serveren hvilken det er og setter klassen
   «components-utlopt» når økten bare ble for gammel. Ny versjon er
   utgangspunktet: klarer vi ikke å spørre, påstår vi ikke at noe er oppdatert.

   Merk vektingen: regelen som viser alt med «rejected-visible» teller id +
   to klasser, så det som skal skjules må minst opp i samme vekt for å bite. */
#components-reconnect-modal .components-utlopt-okt[b-30pjhefui0],
#components-reconnect-modal.components-reconnect-rejected .components-utlopt-okt[b-30pjhefui0] {
    display: none;
}

#components-reconnect-modal.components-utlopt.components-reconnect-rejected .components-ny-versjon[b-30pjhefui0] {
    display: none;
}

#components-reconnect-modal.components-utlopt.components-reconnect-rejected p.components-utlopt-okt[b-30pjhefui0] {
    display: block;
}

#components-reconnect-modal.components-utlopt.components-reconnect-rejected #components-reload-button .components-utlopt-okt[b-30pjhefui0] {
    display: inline;
}


#components-reconnect-modal[b-30pjhefui0] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-30pjhefui0 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-30pjhefui0 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-30pjhefui0 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-30pjhefui0]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-30pjhefui0 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-30pjhefui0 {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-30pjhefui0 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-30pjhefui0 {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-30pjhefui0] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-30pjhefui0] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-30pjhefui0] {
    border: 0;
    background-color: var(--merkevarefarge, #4f46e5);
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-30pjhefui0] {
        filter: brightness(0.9);
    }

    #components-reconnect-modal button:active[b-30pjhefui0] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-30pjhefui0] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-30pjhefui0] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-30pjhefui0 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-30pjhefui0] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-30pjhefui0 {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Hjelpesenter.razor.rz.scp.css */
/* Sida uten meny (anonym, HJE-1). `.tom-layout` er en flex-boks som sentrerer
   barna sine — den er laget for ett kort midt på skjermen, ikke for et
   oppslagsverk. Uten en ramme rundt innholdet blir h1, søkefeltet og hver
   seksjon hvert sitt flex-element PÅ RAD, og søkefeltet ender som en 34 px
   stripe. Verifisert i nettleser 05.09.2026 før rammen kom på.

   Selektoren nevner `.tom-layout` med vilje: da gjelder regelen kun den
   uinnloggede visningen, og den innloggede sida (som ligger i MainLayouts
   `.content`) er nøyaktig som før HJE-1.

   `align-self: flex-start` er samme grep som `.partnerpanel`: et flex-element
   som er høyere enn skjermen og sentrert vertikalt, får toppen sin klippet
   bort — og hjelpesenteret er alltid høyere enn skjermen. */
.tom-layout .hjelp-side[b-7cawjkrlrf] {
    align-self: flex-start;
    width: 100%;
    /* Samme bredde som `.innstilling-kort`, så kortene og teksten over dem
       står på linje. */
    max-width: 760px;
}

/* Avsenderlinja (NAV-1) på den uinnloggede visningen. Samme plassering som på
   bestillingsskjemaene, men som scoped regel i stedet for et style-attributt. */
.hjelp-byline[b-7cawjkrlrf] {
    margin-top: var(--sp-5);
    text-align: center;
}
/* /Components/Pages/Innboks.razor.rz.scp.css */
/* SIK-12: rammen rundt svar-forhåndsvisningen.

   Egen scoped fil, ikke app.css: den fila eies av en annen tråd (SMÅ-F), og
   dette er én regel som kun angår denne skjermen. Blazor kompilerer den inn i
   OrdresystemBuss.Web.styles.css ved bygg — ingenting skrives til wwwroot.

   Hvorfor ikke .epostutboks-iframe, som allerede finnes: den har egen kantlinje
   og 45vh høyde, laget for utboksens frittstående detaljark. Her ligger rammen
   INNE i .epost-forhaands, som selv er et kort med kantlinje og padding — en
   ramme til ville gitt kant i kant, og forhåndsvisningen skal se ut som før.

   Høyden: 22rem med iframens egen rulling. Samme tak som
   .epost-forhaands-brev bruker for tekstvarianten av samme forhåndsvisning, så
   svaret og ordreskjemaets forhåndsvisning står like høye.

   background: #fff fordi brevet er skrevet for lys bakgrunn
   (Epoststil.Brodtekst setter color:#1a1a1a). En gjennomsiktig iframe ville
   låne sidens flate, og teksten ville forsvunnet i et mørkt tema. Utboksen har
   samme verdi av samme grunn. */
.svar-forhaands-ramme[b-hzx67mfg2k] {
    display: block;
    width: 100%;
    height: 22rem;
    border: 0;
    border-radius: 8px;
    background: #fff;
}
/* /Components/Pages/Kunder.razor.rz.scp.css */
/* UI-10: krav-streken rundt navnefeltet i «+ Legg til»-raden for kontaktperson.

   .stopp-rad er en flex-kolonne med gap; .krav-felt har i tillegg sin egen
   bunnmarg, og de to legger seg oppå hverandre slik at nettopp det påkrevde
   feltet får større luft under seg enn de valgfrie. Samme rettelse som
   .orgnr-rad .krav-felt i app.css.

   Scoped fil og ikke app.css med vilje (04.09.2026): Remis egen kjøring sto på
   port 5199 under arbeidet, og wwwroot skal ikke røres mens en server kjører. */
.stopp-rad .krav-felt[b-5jvi5hzpa9] {
    margin-bottom: 0;
}
/* /Components/Pages/Ordre.razor.rz.scp.css */
/* ORD-33 — dagkortet som mangler opplysninger sier det selv.

   Feilen sto tidligere bare i én linje øverst i skjemaet, og på en tredagers
   tur er kortet den gjelder flere skjermhøyder lenger ned. Markeringen følger
   varselkortenes eksisterende mønster (.innstilling-kort-varsel i app.css):
   farget kant hele veien rundt, tykk strek til venstre. */

.dag-kort-feil[b-l97326q4ih] {
    border-color: #f3c2c2;
    border-left: 3px solid #dc2626;
}

/* .feilmelding er laget for å henge under et skjemafelt og har derfor negativ
   toppmarg. Her står den rett under overskriften «Dag N», og da må den stå
   der den står. Fargen arves fra .feilmelding. */
.dag-kort-feiltekst[b-l97326q4ih] {
    margin: 0 0 var(--sp-4);
    font-weight: 600;
}

/* ===================== UI-18 — søk og filter bak én knapp =====================

   Ordrelistas topplokk hadde vokst så mye at første ordre lå under folden på
   mobil. Under 768 px ligger derfor søkerada, datopanelet og hurtigperiodene
   bak knappen «Søk og filter»; fanerada, «Velg ordrer» og viser-telleren står
   som før på alle bredder.

   BREDDEN ER 767.98 OG IKKE HUSETS VANLIGE 640.98 fordi Remi besluttet «under
   768 px» (BESLUTNINGER.md 06.09.2026, alternativ A). 768 px er nettbrettets
   stående bredde: der under er skjermen for kort til at fanerad + søkerad +
   filterrad kan stå samtidig over lista, mens det fra 768 og opp er plass til
   alt. Brytepunktene i app.css (640.98) endrer form på selve delene og er en
   annen sak enn dette — de er urørt.

   Alt ligger her i den scopede fila og ikke i wwwroot/app.css: app.css er
   Remis kjørende server (5199), og saken skal ikke røre den.

   Desktop er byte for byte som før: knappen er skjult, og .sok-filter-del
   får ingen regel i det hele tatt over brytepunktet. */

.sok-filter-bryter[b-l97326q4ih] {
    display: none;
}

@media (max-width: 767.98px) {
    .sok-filter-bryter[b-l97326q4ih] {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: var(--sp-2);
        margin-bottom: var(--sp-3);
    }

    /* .btn-avbryt har sine egne loddrette marger (og blir full bredde under
       480 px). Her styrer rada avstanden, så knappen skal ikke legge på mer —
       hele poenget med saken er høyde. Padding og min-høyde er trimmet til
       nøyaktig 44 px: minstemålet for en treffflate, og ikke ett piksel mer,
       siden hver piksel her er en piksel av lista. */
    .sok-filter-knapp[b-l97326q4ih] {
        margin: 0;
        min-height: 2.75rem;
        padding: var(--sp-2) var(--sp-4);
        justify-content: center;
    }

    /* Delene som ligger bak knappen. Filter-chipsene er IKKE med: et filter
       som står på skal være synlig også når knappen er slått av — ellers
       skjuler man et filter som styrer lista.

       display: none og ikke @if: markupen skal være én, slik at desktop og
       mobil viser nøyaktig samme elementer (krav 3). */
    .sok-filter-del:not(.utfoldet)[b-l97326q4ih] {
        display: none;
    }
}
/* /Components/Pages/Pamelding/Arrangementer.razor.rz.scp.css */
/* ============================================================
   PAM-22 — merket «Delbar lenke» på publiserte rader i arrangementslista.

   Scoped CSS (Blazor CSS-isolasjon) og ikke app.css, av samme grunn som i
   Deltakere.razor.css: regelen gjelder ÉN side, og app.css er fila flest
   tråder skriver i samtidig.

   Fila bar fra PAM-7 én regel for delelenka inne i tabellcella
   (.delelenke .skjema-lenke). PAM-22 flyttet lenkeblokka til arrangementets
   side, der den står i et kort med hele bredden og husets egen
   .orgnr-rad .skjema-lenke holder — regelen fulgte ikke med, for den fantes
   bare for å tåle en tabellcelle.
   ============================================================ */

/* En dempet merkelapp ved navnet, ikke et statusmerke: den skal ikke rope
   høyere enn navnet den står ved. Samme form som husets «fantes fra
   før»-merke (.konflikt-merke i app.css) — kantlinje i tekstfargen, liten
   skrift, litt gjennomsiktig — men med eget navn, for klassen der hører til
   en annen apps konfliktsjekk og skal ikke lånes på tvers. */
.lenke-merke[b-9134ghk4ge] {
    display: inline-block;
    margin-left: var(--sp-2, 8px);
    padding: 0.05rem 0.4rem;
    border: 1px solid currentColor;
    border-radius: 0.7rem;
    font-size: 0.7rem;
    font-weight: 500;
    vertical-align: 1px;
    opacity: 0.75;
    white-space: nowrap;
}
/* /Components/Pages/Pamelding/Deltakere.razor.rz.scp.css */
/* ============================================================
   PAM-4 — deltakerlista.

   Scoped CSS (Blazor CSS-isolasjon) og ikke app.css, med vilje: reglene her
   gjelder ÉN side, og app.css er fila flest tråder skriver i samtidig. Husets
   egne klasser (.data-tabell, .tabell-stablet, .innstilling-kort,
   .pamelding-fakta) brukes uendret — det som står her er kun det siden trenger
   i tillegg.
   ============================================================ */

/* Bare avstanden under raden hører hjemme her. Selve lenka bruker husets
   `.btn-tekst` fra og med PAM-7 — den egne `.tilbake-lenke` som sto her ga
   samme farge og hover, men uten `.btn-tekst` sin min-height på 44 px, og
   dette er den eneste veien ut av siden på mobil. */
.tilbake-rad[b-2wyxz65k49] {
    margin: 0 0 var(--sp-2, 8px);
}

/* Fyllingen mot kapasitet — «42 av 55 plasser». Tallet er sidens svar på
   PLAN.md § 4b steg 7 og skal kunne leses uten å bli lett etter. */
.fylling-tall[b-2wyxz65k49] {
    margin: 0 0 var(--sp-2, 8px);
    font-size: 1.35rem;
    font-weight: 600;
}

.fylling-stolpe[b-2wyxz65k49] {
    height: 8px;
    border-radius: 999px;
    background: var(--mod-kant, #e5e7eb);
    overflow: hidden;
}

.fylling-stolpe span[b-2wyxz65k49] {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: var(--mod-primar, #1b6ec2);
}

.deltaker-liste[b-2wyxz65k49] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.deltaker-liste li + li[b-2wyxz65k49] {
    margin-top: var(--sp-1, 4px);
}

.deltaker-epost[b-2wyxz65k49] {
    display: block;
    font-size: 0.78rem;
    color: var(--mod-tekst-dus, #6b7280);
}

/* ------------------------------------------------------------------ mobil

   Husets .tabell-stablet gjør hver celle til en flex-rad: ledeteksten til
   venstre, verdien til høyre. Det er riktig for ett tall eller én dato, men
   deltakerne er en LISTE — den skal stå under ledeteksten i full bredde, ikke
   klemmes inn i høyre kolonne.

   Selektorene er bevisst tyngre enn de ser ut som de trenger: app.css har
   «.tabell-stablet tbody td[data-etikett]::before», og en scoped regel må slå
   den på spesifisitet, ikke bare på rekkefølge. */
@media (max-width: 640.98px) {
    /* PAM-25: tre faner på én rad på 375 px (krav 4). Husets .status-faner
       har 24 px (sp-5) mellom fanene; med «Påmeldingsskjema» på 131 px trenger
       de tre 356 px av de 351 som finnes, og «Publisering» brøt ned på egen
       rad (målt i puppeteer, 375×812). Gapet strammes til sp-3 her — og bare
       her: Ordres sju faner skal fortsatt bryte over flere rader (:2455). */
    .status-faner[b-2wyxz65k49] {
        column-gap: var(--sp-3, 12px);
    }

    .tabell-stablet tbody td.deltaker-celle[b-2wyxz65k49] {
        display: block;
        padding-top: var(--sp-2, 8px);
    }

    .tabell-stablet tbody td.deltaker-celle[b-2wyxz65k49]::before {
        display: block;
        margin-bottom: var(--sp-1, 4px);
    }
}
/* /Components/Pages/Partnere.razor.rz.scp.css */
/* UI-10: krav-streken rundt «Legg til kontaktperson»-feltene.

   .stopp-rad er en flex-kolonne med gap; .krav-felt har i tillegg sin egen
   bunnmarg, og de to legger seg oppå hverandre slik at nettopp de to påkrevde
   feltene får større luft under seg enn de valgfrie. Samme rettelse som
   .orgnr-rad .krav-felt i app.css.

   Scoped fil og ikke app.css med vilje (04.09.2026): Remis egen kjøring sto på
   port 5199 under arbeidet, og wwwroot skal ikke røres mens en server kjører. */
.stopp-rad .krav-felt[b-c5r4psnrc5] {
    margin-bottom: 0;
}
/* /Components/Pages/PlattformSupport.razor.rz.scp.css */
/* Samtalelista på plattformens support-side (SUP-1). Scoped og ikke i
   app.css — se begrunnelsen i Supporttrad.razor.css. */

.samtale-liste[b-g5ygao4ayt] {
    list-style: none;
    margin: 0;
    padding: 0;
    max-width: 720px;
}

.samtale-liste li + li[b-g5ygao4ayt] {
    margin-top: var(--sp-2);
}

/* Hele raden er én knapp — klikkbar og tastaturnåbar uten role/tabindex-triks. */
.samtale-rad[b-g5ygao4ayt] {
    display: flex;
    align-items: center;
    gap: var(--sp-3);
    width: 100%;
    padding: var(--sp-3) var(--sp-4);
    background-color: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 0.5rem;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.samtale-rad:hover[b-g5ygao4ayt],
.samtale-rad:focus[b-g5ygao4ayt] {
    border-color: var(--merkevarefarge, #4f46e5);
}

.samtale-navn[b-g5ygao4ayt] {
    font-weight: 600;
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.samtale-tid[b-g5ygao4ayt] {
    color: #6b7280;
    font-size: 0.85rem;
    white-space: nowrap;
}

.samtale-ulest[b-g5ygao4ayt] {
    min-width: 1.5rem;
    height: 1.5rem;
    padding: 0 0.45rem;
    border-radius: 0.75rem;
    background-color: #dc2626;
    color: #ffffff;
    font-size: 0.85rem;
    font-weight: 700;
    line-height: 1.5rem;
    text-align: center;
}

.samtale-topp[b-g5ygao4ayt] {
    margin-bottom: var(--sp-3);
}

.samtale-topp h1[b-g5ygao4ayt] {
    margin-bottom: 0;
}

.samtale-tilbake[b-g5ygao4ayt] {
    display: inline-flex;
    align-items: center;
    gap: var(--sp-1);
    padding: var(--sp-1) 0;
}

/* --- Kunngjøring til flere busselskap (SUP-2) --------------------------- */

.support-topp[b-g5ygao4ayt] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-3);
    flex-wrap: wrap;
    max-width: 720px;
}

.support-topp h1[b-g5ygao4ayt] {
    margin-bottom: 0;
}

/* app.css gir .btn-ny full bredde og ytre marg på mobil — her skal knappene
   stå kompakt ved siden av tittelen og i dialogens knapperad. */
.support-kunngjoring-knapp[b-g5ygao4ayt],
.kunngjoring-send[b-g5ygao4ayt] {
    width: auto;
    max-width: none;
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: var(--sp-1);
    white-space: nowrap;
}

.kunngjoring-modus[b-g5ygao4ayt] {
    display: flex;
    flex-direction: column;
    gap: var(--sp-2);
    margin-bottom: var(--sp-3);
}

.kunngjoring-valg[b-g5ygao4ayt] {
    display: flex;
    align-items: center;
    gap: var(--sp-2);
    cursor: pointer;
}

.kunngjoring-valg input[b-g5ygao4ayt] {
    width: 1.1rem;
    height: 1.1rem;
    flex-shrink: 0;
    accent-color: var(--merkevarefarge, #4f46e5);
}

.kunngjoring-snarveier[b-g5ygao4ayt] {
    display: flex;
    gap: var(--sp-4);
    margin-bottom: var(--sp-2);
}

/* Firmalista scroller INNE i dialogen — på mobil skal ikke hele arket vokse
   utenfor skjermen når lista blir lang (9+ firma). */
.kunngjoring-liste[b-g5ygao4ayt] {
    list-style: none;
    margin: 0 0 var(--sp-3);
    padding: var(--sp-2) var(--sp-3);
    border: 1px solid #e0e0e0;
    border-radius: 0.5rem;
    max-height: 13rem;
    overflow-y: auto;
}

.kunngjoring-liste li + li[b-g5ygao4ayt] {
    margin-top: var(--sp-2);
}

.kunngjoring-tekst[b-g5ygao4ayt] {
    width: 100%;
    resize: vertical;
    border: 1px solid #d1d5db;
    border-radius: 0.5rem;
    padding: var(--sp-2) var(--sp-3);
    font: inherit;
}

.kunngjoring-tekst:focus[b-g5ygao4ayt] {
    outline: 2px solid var(--merkevarefarge, #4f46e5);
    outline-offset: -1px;
}

.kunngjoring-knapper[b-g5ygao4ayt] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--sp-3);
    margin-top: var(--sp-3);
}

.kunngjoring-knapper .btn-avbryt[b-g5ygao4ayt] {
    margin: 0;
}

.kunngjoring-antall[b-g5ygao4ayt] {
    margin-right: auto;
    color: #6b7280;
    font-size: 0.9rem;
}

/* Teksten slik den går ut, vist i bekreftelsessteget. Samme brytningsregler
   som meldingsboblene: linjeskift bevares, lange ord brytes. */
.kunngjoring-sitat[b-g5ygao4ayt] {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    background-color: #eef1f5;
    border-radius: 0.5rem;
    padding: var(--sp-2) var(--sp-3);
    max-height: 10rem;
    overflow-y: auto;
}
/* /Components/Pages/TilRegnskap.razor.rz.scp.css */
/* MRK-1 — den sammenslåtte regnskapssystem-linja øverst.

   Én linje er hele poenget: topplokket over ordrelista er alt for høyt fra
   før (UI-18), så seksjonen får mindre luft enn et vanlig .innstilling-kort
   når den bare bærer «Regnskapssystem: Fiken · Bytt». Er den utfoldet (ti
   kort), gjelder husets vanlige kortpolstring. */
.regnskapsvalg-kompakt[b-bi3ak9qjrb] {
    padding: var(--sp-3) var(--sp-4);
}

/* Flex, ikke inline-tekst: på 375 px skal navnet og «Bytt» bryte til hver sin
   linje i stedet for å skyve sida bredere. */
.regnskapsvalg-linje[b-bi3ak9qjrb] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--sp-2);
    margin: 0;
}

/* Knappen står midt i en setning — den skal ikke bære med seg avstanden en
   frittstående tekstknapp har. */
.regnskapsvalg-linje button[b-bi3ak9qjrb] {
    padding: 0;
}
/* /Components/Supporttrad.razor.rz.scp.css */
/* Support-chatten (SUP-1). Scoped CSS med vilje — ikke app.css: stilene hører
   til nøyaktig denne komponenten, og en scoped fil rører ikke wwwroot (som er
   minefelt mens en dev-server kjører, se CLAUDE.md).

   Mobil først: samtalen fyller plassen under sidetittelen, meldingslista
   scroller ALENE, og skrivefeltet ligger fast nederst der tommelen når det. */

.support-samtale[b-s4a2aph8t8] {
    display: flex;
    flex-direction: column;
    max-width: 720px;
    /* 100dvh minus topprad, sidetittel/ingress og innholdspadding. dvh og ikke
       vh: på mobil krymper adresselinja, og vh ville lagt skrivefeltet under
       den. min-height som gulv så samtalen aldri blir uleselig lav. */
    height: calc(100dvh - 16rem);
    min-height: 320px;
}

.support-meldinger[b-s4a2aph8t8] {
    flex: 1;
    overflow-y: auto;
    display: flex;
    /* Nyeste melding først i DOM + column-reverse = scroll starter nederst,
       uten JS. Se kommentaren i Supporttrad.razor. */
    flex-direction: column-reverse;
    gap: var(--sp-3);
    padding: var(--sp-2) var(--sp-1);
}

.support-tom[b-s4a2aph8t8] {
    color: #6b7280;
    text-align: center;
    margin: auto 0;
}

.support-rad[b-s4a2aph8t8] {
    display: flex;
    flex-direction: column;
    max-width: 85%;
}

.support-rad.egen[b-s4a2aph8t8] {
    align-self: flex-end;
    align-items: flex-end;
}

.support-rad.motpart[b-s4a2aph8t8] {
    align-self: flex-start;
    align-items: flex-start;
}

.support-meta[b-s4a2aph8t8] {
    font-size: 0.78rem;
    color: #6b7280;
    margin-bottom: 2px;
    padding: 0 var(--sp-1);
}

.support-boble[b-s4a2aph8t8] {
    padding: var(--sp-2) var(--sp-3);
    border-radius: 0.75rem;
    /* Linjeskift i meldingen bevares, og en lang URL uten mellomrom skal
       brytes i stedet for å sprenge bobla på 375px. */
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.egen .support-boble[b-s4a2aph8t8] {
    background-color: var(--merkevarefarge, #4f46e5);
    color: var(--merkevarefarge-tekst, #ffffff);
    border-bottom-right-radius: 0.25rem;
}

.motpart .support-boble[b-s4a2aph8t8] {
    background-color: #eef1f5;
    color: #18181b;
    border-bottom-left-radius: 0.25rem;
}

.support-feil[b-s4a2aph8t8] {
    margin: var(--sp-2) 0 0;
}

.support-skrivefelt[b-s4a2aph8t8] {
    display: flex;
    gap: var(--sp-2);
    align-items: flex-end;
    padding-top: var(--sp-3);
    border-top: 1px solid #e5e7eb;
}

.support-skrivefelt textarea[b-s4a2aph8t8] {
    flex: 1;
    /* Remi 04.09.2026 (etter HKB-svaret): feltet MÅ kunne gjøres større — et
       supportsvar er ofte flere avsnitt. field-sizing: content lar feltet vokse
       med teksten der nettleseren kan (Chrome/Edge); resize: vertical er
       håndtaket alle får. max-height holder meldingslista synlig over feltet. */
    resize: vertical;
    field-sizing: content;
    border: 1px solid #d1d5db;
    border-radius: 0.5rem;
    padding: var(--sp-2) var(--sp-3);
    font: inherit;
    min-height: 2.75rem;
    max-height: 50dvh;
}

.support-skrivefelt textarea:focus[b-s4a2aph8t8] {
    outline: 2px solid var(--merkevarefarge, #4f46e5);
    outline-offset: -1px;
}

/* app.css gir .btn-ny full bredde og ytre marg på mobil — i skrivefeltet skal
   knappen stå kompakt ved siden av tekstfeltet på alle bredder. */
.support-skrivefelt .support-send[b-s4a2aph8t8] {
    width: auto;
    max-width: none;
    margin: 0;
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
    gap: var(--sp-1);
    white-space: nowrap;
}
