:root{--bark: #2C2118;--oak: #8B6340;--oak-on-dark: #C49A66;--wheat: #F5EFE3;--linen: #EDE5D4;--cream: #FAF7F2;--border: #D9CEBB;--muted: #685D51;--oak-text: #7A5530;--font-display: "Playfair Display", Georgia, "Times New Roman", serif;--font-body: "DM Sans", system-ui, -apple-system, sans-serif;--max-width: 960px}*,*:before,*:after{box-sizing:border-box}body{margin:0;padding:0}img,svg{display:block;max-width:100%}button{font:inherit;cursor:pointer}body{font-family:var(--font-body);font-weight:300;font-size:15px;line-height:1.85;color:var(--muted);background:var(--cream);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;color:var(--bark);margin:0;line-height:1.2}h1{font-size:clamp(30px,4vw,42px)}h2{font-size:clamp(22px,3vw,30px)}h3{font-size:19px;line-height:1.4}p{margin:0}a{color:var(--oak-text);text-decoration:none}a:hover{color:var(--bark)}.app-header{border-bottom:1px solid var(--border);background:var(--cream)}.app-header__inner{max-width:var(--max-width);margin:0 auto;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.app-nav{display:flex;gap:22px;font-size:14px}.app-nav a{color:var(--muted);letter-spacing:.02em}.app-nav a:hover{color:var(--bark)}.nav-logout{margin:0}.nav-logout__btn{background:none;border:none;font:inherit;font-size:14px;letter-spacing:.02em;color:var(--muted);cursor:pointer;padding:0}.nav-logout__btn:hover{color:var(--bark)}.logo-lockup{height:52px;display:block}.admin-meny{position:relative}.admin-meny__knapp{list-style:none;cursor:pointer;display:inline-flex;align-items:center;color:var(--muted);padding:2px}.admin-meny__knapp::-webkit-details-marker{display:none}.admin-meny[open] .admin-meny__knapp,.admin-meny__knapp:hover{color:var(--bark)}.admin-meny__panel{position:absolute;right:0;top:calc(100% + 12px);background:#fff;border:1px solid var(--border);border-radius:4px;box-shadow:0 8px 24px #2c21181a;padding:6px;min-width:160px;display:flex;flex-direction:column;z-index:50}.admin-meny__panel a,.admin-meny__panel button{display:block;width:100%;text-align:left;background:none;border:none;font:inherit;font-size:14px;color:var(--muted);padding:9px 12px;border-radius:3px;cursor:pointer}.admin-meny__panel a:hover,.admin-meny__panel button:hover{background:var(--linen);color:var(--bark)}.admin-meny__panel form{margin:0}.nav-merke{display:inline-block;margin-left:6px;min-width:18px;padding:0 5px;font-size:11px;font-weight:500;line-height:18px;text-align:center;color:var(--wheat);background:var(--oak);border-radius:999px}.wordmark{font-family:var(--font-display);color:var(--bark);line-height:1.05;font-size:20px;letter-spacing:.01em}.wordmark span{display:block}.wordmark__sub{font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--oak-text);font-family:var(--font-body);font-weight:500;margin-top:2px}.app-main{max-width:var(--max-width);margin:0 auto;padding:48px 24px}.app-main--bred{max-width:1280px}.page-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:28px}.muted-note{color:var(--muted);font-size:14px}.btn{display:inline-block;font-family:var(--font-body);font-size:13px;letter-spacing:.04em;padding:11px 22px;border-radius:3px;border:1px solid var(--bark);background:var(--bark);color:var(--wheat);transition:background .2s ease,border-color .2s ease}.btn:hover{background:var(--oak);border-color:var(--oak)}.btn--ghost{background:transparent;color:var(--bark)}.btn--ghost:hover{background:var(--linen)}.btn--fare{background:transparent;color:#8a3b1e;border-color:#d8a892}.btn--fare:hover{background:#f6e4dd;border-color:#8a3b1e}label.btn{cursor:pointer}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:disabled:hover{background:transparent}.head-actions{display:flex;gap:10px;align-items:center}.head-actions form{margin:0}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border)}.table th{font-family:var(--font-body);font-weight:500;color:var(--oak-text);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.table tbody tr:hover td{background:var(--wheat)}.table tbody tr.row-link{cursor:pointer}.sok-rad{display:flex;gap:10px;margin:4px 0 18px;flex-wrap:wrap}.sok-felt{flex:1;min-width:220px;font:inherit;padding:10px 14px;border:1px solid var(--border);border-radius:3px;background:#fff;color:var(--bark)}.sok-felt:focus{outline:none;border-color:var(--oak)}.sok-treff{margin:0 0 12px}.field{margin-bottom:18px}.field label{display:block;font-size:13px;font-weight:500;color:var(--bark);margin-bottom:6px}.field input,.field textarea{width:100%;font:inherit;padding:10px 12px;border:1px solid var(--border);border-radius:3px;background:#fff;color:var(--bark)}.field textarea{min-height:96px;resize:vertical}.field input:focus,.field textarea:focus{outline:none;border-color:var(--oak)}.form-narrow{max-width:560px}.felt-tittel{display:block;font-size:13px;font-weight:500;color:var(--bark);margin-bottom:6px}.type-valg{display:flex;gap:10px}.type-valg__alt{flex:1;display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:3px;background:#fff;cursor:pointer;font-size:14px}.type-valg__alt:has(input:checked){border-color:var(--oak);background:var(--sand, #f5efe6)}.form-narrow .firma-felt{display:none}.form-narrow:has(input[name=type][value=leverandor]:checked) .firma-felt{display:block}.kontakt-type{display:inline-block;vertical-align:middle;margin-left:12px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.02em}.kontakt-type--kunde{background:var(--sand, #f5efe6);color:var(--bark)}.kontakt-type--leverandor{background:#e7eef0;color:#2f5560}.lagre-rad{display:flex;align-items:center;gap:14px;margin-top:24px;flex-wrap:wrap}.autolagre-status{font-size:13px;color:var(--muted)}.bekreft-overlay{position:fixed;inset:0;background:#140f0a8c;z-index:1000;padding:16px}.bekreft-overlay:not([hidden]){display:flex;align-items:center;justify-content:center}.bekreft-modal{background:#fff;border:1px solid var(--border);border-radius:8px;padding:28px;max-width:460px}.bekreft-modal h2{margin:0 0 12px}.bekreft-modal p{margin:0 0 22px}.bekreft-rad{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}.rabatt-grid{display:grid;grid-template-columns:200px 1fr;gap:16px 20px;align-items:start}.rabatt-grid .rabatt-frist{grid-column:1 / -1}.rabatt-frist{border:1px solid var(--border);border-radius:4px;padding:14px 16px 4px;margin:0}.rabatt-frist legend{padding:0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.radio-rad{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap;font-size:14px}.radio-rad input[type=date],.radio-rad .dager-input{font:inherit;padding:8px 10px;border:1px solid var(--border);border-radius:3px;background:#fff;color:var(--bark)}.radio-rad .dager-input{width:110px}@media(max-width:560px){.rabatt-grid{grid-template-columns:1fr}}.rabatt-preview{margin:16px 0 0;font-size:14px;font-weight:500;color:#6b5410}.field-row{display:flex;gap:16px}.field-row .field{flex:1}.field--narrow{flex:0 0 140px}.check-row{display:inline-block;margin:0 0 18px 8px;font-size:14px;cursor:pointer}.faktura-toggle{margin-bottom:18px}.faktura-felt{display:none;border:1px solid var(--border);border-radius:4px;padding:18px 18px 2px;margin-bottom:18px}.faktura-felt legend{padding:0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--oak-text)}.faktura-toggle:checked~.faktura-felt{display:block}.error-note{background:#f6e4dd;border:1px solid #D8A892;color:#8a3b1e;padding:10px 14px;border-radius:3px;margin-bottom:18px;font-size:14px}.warn-note{background:#fbf3dd;border:1px solid #E3CE97;color:#6b5410;padding:10px 14px;border-radius:3px;margin-bottom:18px;font-size:14px}.empty{border:1px dashed var(--border);border-radius:4px;padding:40px 24px;text-align:center;color:var(--muted)}.lenke{color:var(--bark);border-bottom:1px solid var(--border)}.lenke:hover{color:var(--oak-text);border-bottom-color:var(--oak)}.kontakt-layout{display:grid;grid-template-columns:1fr 4fr;gap:28px;align-items:start}.kontakt-layout>.detail-card{padding:22px 24px}.kontakt-layout .meldinger{margin-top:0}.kontakt-hoyre{display:flex;flex-direction:column;gap:16px}@media(max-width:900px){.kontakt-layout{grid-template-columns:1fr}}.kontakt-hoyre>.fane-radio{display:none}.faner{display:flex;gap:4px;border-bottom:2px solid var(--border);flex-wrap:wrap}.fane-knapp{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;cursor:pointer;font-size:15px;font-weight:500;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-2px}.fane-knapp:hover{color:var(--bark)}.fane-tall{font-size:12px;font-weight:600;background:var(--linen);color:var(--oak-text);border-radius:999px;padding:1px 8px;min-width:20px;text-align:center}.fane-tall--venter{background:#fbf3dd;color:#6b5410}.fane-panel{display:none}.kontakt-hoyre:has(#fane-meldinger:checked) #panel-meldinger,.kontakt-hoyre:has(#fane-tilbud:checked) #panel-tilbud,.kontakt-hoyre:has(#fane-dokumenter:checked) #panel-dokumenter{display:block}.kontakt-hoyre:has(#fane-meldinger:checked) label[for=fane-meldinger],.kontakt-hoyre:has(#fane-tilbud:checked) label[for=fane-tilbud],.kontakt-hoyre:has(#fane-dokumenter:checked) label[for=fane-dokumenter]{color:var(--bark);border-bottom-color:var(--oak)}.kontakt-hoyre:has(#fane-meldinger:checked) label[for=fane-meldinger] .fane-tall,.kontakt-hoyre:has(#fane-tilbud:checked) label[for=fane-tilbud] .fane-tall,.kontakt-hoyre:has(#fane-dokumenter:checked) label[for=fane-dokumenter] .fane-tall{background:var(--oak);color:#fff}.skjult-fil{display:none}.dok-liste{list-style:none;margin:0;padding:0}.dok-rad{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--border)}.dok-rad:last-child{border-bottom:none}.dok-rad__navn{display:flex;align-items:center;gap:12px;flex:1;min-width:0;color:var(--bark);text-decoration:none}.dok-rad__navn:hover .dok-filnavn{text-decoration:underline}.dok-filnavn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dok-thumb{width:40px;height:40px;object-fit:cover;border-radius:4px;border:1px solid var(--border);flex-shrink:0}.dok-ikon{color:var(--muted);flex-shrink:0;display:inline-flex}.dok-kilde{font-size:12px;color:var(--muted);white-space:nowrap}.dok-storrelse{font-size:12px;color:var(--muted);white-space:nowrap;min-width:56px;text-align:right}@media(max-width:560px){.dok-kilde{display:none}}.kort-topp{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.kort-topp .meldinger__tittel{margin-bottom:0}.kort-topp form{margin:0}.kort-topp__handlinger{display:flex;align-items:center;gap:10px}.modal-toggle{display:none}.modal-overlay{display:none;position:fixed;inset:0;background:#140f0a8c;z-index:1000;padding:16px}.modal-toggle:checked~.modal-overlay{display:flex;align-items:flex-start;justify-content:center}.modal-bakteppe{position:absolute;inset:0;cursor:default}.modal-boks{position:relative;z-index:1;background:#fff;border:1px solid var(--border);border-radius:8px;padding:24px;width:100%;max-width:640px;margin-top:6vh;max-height:86vh;overflow-y:auto}.modal-topp{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modal-topp h2{margin:0}.modal-lukk{cursor:pointer;font-size:26px;line-height:1;color:var(--muted);padding:0 6px;user-select:none}.modal-lukk:hover{color:var(--bark)}.tilbud-liste{list-style:none;margin:0;padding:0}.tilbud-rad{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--border)}.tilbud-rad:last-child{border-bottom:none}.tilbud-rad__hoved{display:flex;flex-direction:column;flex:1;border-bottom:none}.tilbud-rad__hoved:hover{border-bottom:none}.tilbud-rad__nr{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--oak-text)}.tilbud-rad__tittel{color:var(--bark)}.tilbud-rad__sum{font-variant-numeric:tabular-nums;color:var(--bark);white-space:nowrap}.status{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;padding:2px 10px;border-radius:999px;border:1px solid var(--border);color:var(--muted);white-space:nowrap}.status--utkast{background:var(--linen);color:var(--oak-text)}.status--sendt{background:#eaf1ea;color:#3c5a3c;border-color:#c3d6c3}.status--signert{background:#fbf3dd;color:#6b5410;border-color:#e3ce97}.status--fullsignert{background:var(--bark);color:var(--wheat);border-color:var(--bark)}.status--utlopt,.status--avslatt{background:#f6e4dd;color:#8a3b1e;border-color:#d8a892}.lagret-note{color:#3c5a3c;font-size:14px;margin-top:8px}.signer-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:#fbf3dd;border:1px solid #E3CE97;color:#6b5410;padding:14px 18px;border-radius:4px;margin:16px 0;font-size:14px}.signer-banner form{margin:0}.send-kort{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--wheat);border:1px solid var(--border);border-radius:4px;padding:14px 18px;margin:16px 0;font-size:14px}.send-kort--col{flex-direction:column;align-items:stretch}.send-kort form{margin:0}.kopier-rad{display:flex;gap:10px}.kopier-rad input{flex:1}.pris-edit{width:100%;border-collapse:collapse;font-size:14px}.pris-edit th{text-align:left;font-family:var(--font-body);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--oak-text);padding:0 8px 8px}.pris-edit th.belop-celle,.pris-edit td.belop-celle{text-align:right}.pris-edit td{padding:4px 8px;vertical-align:middle}.pris-edit input{width:100%;font:inherit;padding:8px 10px;border:1px solid var(--border);border-radius:3px;background:#fff;color:var(--bark)}.pris-edit input:focus{outline:none;border-color:var(--oak)}.pris-edit .belop-input{text-align:right;font-variant-numeric:tabular-nums}.pris-edit td:last-child{width:36px;text-align:center}.pris-sum{max-width:320px;margin-left:auto;margin-top:18px;font-size:14px}.pris-sum>div{display:flex;justify-content:space-between;padding:6px 0}.pris-sum span:last-child{font-variant-numeric:tabular-nums;color:var(--bark)}.pris-sum__total{border-top:2px solid var(--bark);margin-top:4px;padding-top:10px;font-family:var(--font-display);font-size:18px;color:var(--bark)}.detail-card{border:1px solid var(--border);border-radius:6px;background:#fff;padding:28px 32px}.detail-section+.detail-section{margin-top:26px;padding-top:24px;border-top:1px solid var(--border)}.detail-section h2{font-size:12px;font-family:var(--font-body);font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--oak-text);margin-bottom:14px}.info{margin:0;font-size:15px}.info dt{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em;margin-top:12px}.info dt:first-of-type{margin-top:0}.info dd{margin:2px 0 0;color:var(--bark);word-break:break-word}.adresse-blokk{font-size:15px;color:var(--bark);line-height:1.55}.meldinger{margin-top:24px}.meldinger__tittel{font-family:var(--font-display);font-weight:400;font-size:24px;color:var(--bark);margin-bottom:18px}.melding-form{border:1px solid var(--border);border-radius:5px;background:var(--cream);padding:18px 18px 20px;margin-bottom:24px}.melding-form__rad{display:flex;gap:14px;flex-wrap:wrap}.melding-form__rad .field{flex:1;min-width:150px;margin-bottom:14px}.melding-form .field{margin-bottom:14px}.melding-form textarea{min-height:70px}.velg{width:100%;font:inherit;padding:10px 12px;border:1px solid var(--border);border-radius:3px;background:#fff;color:var(--bark)}.velg:focus{outline:none;border-color:var(--oak)}.melding-liste{list-style:none;margin:0;padding:0}.melding{padding:14px 0;border-bottom:1px solid var(--border)}.melding:last-child{border-bottom:none}.melding__topp{display:flex;align-items:center;gap:12px;margin-bottom:5px;font-size:12px}.melding__plattform{font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--oak-text)}.melding__retning{font-size:11px;text-transform:uppercase;letter-spacing:.05em;padding:1px 8px;border-radius:999px;border:1px solid var(--border)}.melding__retning--inn{background:#eaf1ea;color:#3c5a3c;border-color:#c3d6c3}.melding__retning--ut{background:var(--linen);color:var(--oak-text)}.melding__tid{color:var(--muted)}.melding__slett{margin-left:auto}.melding__status{font-size:11px;text-transform:uppercase;letter-spacing:.05em;padding:1px 8px;border-radius:999px;border:1px solid var(--border)}.melding__status--aapen{background:#fbf3dd;color:#6b5410;border-color:#e3ce97}.melding__status--lukket{background:var(--linen);color:var(--muted)}.melding__lukk-form{margin-left:auto}.melding__lukk-form~.melding__slett{margin-left:0}.lukk-knapp{background:transparent;border:none;color:var(--muted);font-size:12px;cursor:pointer;padding:2px 4px;text-decoration:underline}.lukk-knapp:hover{color:var(--bark)}.melding--aapen{background:#fbf3dd;border:1px solid #E3CE97;border-radius:6px;padding:12px 14px;margin-bottom:8px}.ikon-knapp{display:inline-block;background:transparent;border:none;color:var(--muted);font-size:13px;line-height:1;padding:4px;border-radius:3px;text-decoration:none}.ikon-knapp:hover{color:#8a3b1e;background:#f6e4dd}.melding__tekst{color:var(--bark);white-space:pre-wrap;font-size:15px}.melding__emne{font-weight:500;color:var(--bark);margin-bottom:3px}.vedlegg{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.vedlegg__bilde{display:block;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:#fff}.vedlegg__bilde img{display:block;width:120px;height:120px;object-fit:cover}.vedlegg__fil{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--bark);text-decoration:none;font-size:14px}.vedlegg__fil:hover{border-color:var(--oak)}.vedlegg__fil svg{color:var(--muted);flex-shrink:0}.vedlegg__str{color:var(--muted);font-size:12px}.epost-handlinger{display:flex;flex-wrap:wrap;gap:16px;margin-top:10px;font-size:13px}.innboks{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}.innboks__rad{background:#fff;border:1px solid var(--border);border-radius:4px;padding:16px 18px}.innboks__topp{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.innboks__fra{font-weight:500;color:var(--bark)}.innboks__adr{color:var(--muted);font-weight:400;font-size:13px;margin-left:8px}.innboks__ny{display:inline-block;margin-left:8px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#7a5530;border:1px solid var(--border);border-radius:999px;padding:1px 9px}.innboks__tid{color:var(--muted);font-size:13px;white-space:nowrap}.innboks__emne{font-weight:500;color:var(--bark);margin-top:6px}.innboks__utdrag{color:var(--muted);font-size:14px;margin-top:4px;white-space:pre-wrap}.innboks__handlinger{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap;align-items:center}.epost-full{margin-top:8px}.epost-full>summary{cursor:pointer;color:var(--oak-text);font-size:13px}.innboks__brodtekst{white-space:pre-wrap;font-size:14px;color:var(--bark);margin-top:10px;max-height:360px;overflow-y:auto;word-break:break-word}.innboks__brodtekst a{color:var(--oak-text);text-decoration:underline}.skjema-knapper{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.ny-kontakt-layout{display:grid;grid-template-columns:minmax(0,560px) minmax(0,1fr);gap:32px;align-items:start}.kilde-epost{position:sticky;top:20px}.kilde-epost__fra{margin:0}.kilde-epost__emne{font-weight:500;color:var(--bark);margin:10px 0 0}.kilde-epost__tekst{margin-top:10px;white-space:pre-wrap;color:var(--muted);font-size:14px;max-height:60vh;overflow-y:auto}@media(max-width:900px){.ny-kontakt-layout{grid-template-columns:1fr}}.ord-liste{list-style:none;padding:0;margin:24px 0 0;max-width:560px;display:flex;flex-direction:column;gap:8px}.ord-rad{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1px solid var(--border);border-radius:4px;padding:10px 14px}.ord-rad span{color:var(--bark)}.skjema-valg{display:flex;flex-direction:column;gap:14px}.skjema-valg form{margin:0}.koble-form label{display:block;font-size:13px;font-weight:500;color:var(--bark);margin:8px 0 6px}.koble-rad{display:flex;gap:10px;align-items:center;max-width:460px}.koble-rad .velg{flex:1}.skjema-valg__bunn{display:flex;gap:12px;margin-top:8px;padding-top:16px;border-top:1px solid var(--border)}
