
:root{--green:#1A7A6E;--green2:#155f55;--yellow:#F5C93E;--terra:#C85D3A;--cream:#FAF3E8;--cream2:#F0E6D4;--ink:#1E2B1A;--muted:#335B56;}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:"Inter",sans-serif;color:var(--ink);background:#E8E2D8;height:100vh;display:flex;flex-direction:column;overflow:hidden;}
/* toolbar */
.toolbar{background:var(--ink);color:#fff;padding:10px 18px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex-shrink:0;}
.toolbar .brand{font-family:"Nunito";font-weight:900;font-style:italic;font-size:15px;display:flex;align-items:center;gap:8px;margin-right:6px;}
.toolbar .brand img{height:24px;}
.toolbar a.back{display:inline-flex;align-items:center;gap:5px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);color:#fff;text-decoration:none;font-size:13px;font-weight:700;padding:7px 13px;border-radius:9px;white-space:nowrap;transition:.15s;}
.toolbar a.back:hover{background:rgba(255,255,255,.26);}
.toolbar .sp{flex:1;}
.tb-btn{border:none;border-radius:9px;padding:9px 14px;font-size:13px;font-weight:700;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:.15s;}
.tb-btn.ghost{background:rgba(255,255,255,.1);color:#fff;}
.tb-btn.ghost:hover{background:rgba(255,255,255,.2);}
.tb-btn.green{background:var(--green);color:#fff;}
.tb-btn.green:hover{background:#1f8d80;}
.tb-btn.gold{background:var(--yellow);color:var(--ink);}
.tb-btn.gold:hover{filter:brightness(1.06);}
.tb-sel{border:none;border-radius:9px;padding:9px 12px;font-size:13px;font-weight:600;font-family:inherit;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;max-width:200px;}
.tb-sel option{color:#000;}
.status{font-size:12px;opacity:.7;min-width:74px;}
/* app */
.app{flex:1;display:flex;min-height:0;}
.editor{width:430px;flex-shrink:0;background:#fff;overflow-y:auto;padding:22px 22px 60px;border-right:1px solid var(--cream2);}
.editor h2{font-family:"Nunito";font-weight:800;font-size:14px;margin-bottom:3px;}
.editor .hint{font-size:12px;color:var(--muted);margin-bottom:18px;line-height:1.55;}
.fld{margin-bottom:15px;}
.mal-seg{display:flex;gap:6px;flex-wrap:wrap;}
.mal-btn{flex:1;min-width:62px;font-family:inherit;font-size:11.5px;font-weight:600;color:var(--muted);background:#FCFAF6;border:1.5px solid var(--cream2);border-radius:8px;padding:8px 5px;cursor:pointer;transition:.15s;}
.mal-btn:hover{border-color:var(--green);color:var(--green);}
.fld label{display:block;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:5px;}
.fld input,.fld textarea{width:100%;border:1.5px solid var(--cream2);border-radius:10px;padding:11px 12px;font-size:14px;font-family:inherit;color:var(--ink);background:#FCFAF6;transition:border .15s;}
.fld input:focus,.fld textarea:focus{outline:none;border-color:var(--green);background:#fff;}
.fld textarea{resize:vertical;min-height:200px;line-height:1.6;}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.divider{height:1px;background:var(--cream2);margin:20px 0;}
/* preview */
.preview{flex:1;overflow-y:auto;display:flex;justify-content:center;padding:32px 24px 60px;background:#E8E2D8;}
.sheet-wrap{transform-origin:top center;}
.sheet{width:210mm;min-height:297mm;background:#fff;box-shadow:0 6px 34px rgba(0,0,0,.16);display:flex;flex-direction:column;position:relative;overflow:hidden;color:var(--ink);}
.top-bar{height:6px;background:linear-gradient(90deg,var(--green),var(--yellow),var(--terra));}
.letter-header{padding:18mm 22mm 9mm;display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:14px;}
.logo-area img{width:25mm;object-fit:contain;}
.brand-name{display:flex;flex-direction:column;gap:2px;padding-top:4px;}
.brand-name h1{font-family:"Nunito",sans-serif;font-weight:900;font-style:italic;font-size:16pt;color:var(--ink);}
.brand-name span{font-size:9.5pt;color:var(--muted);}
.contact-info{text-align:right;font-size:8.6pt;color:var(--muted);line-height:1.85;}
.contact-info strong{display:block;font-family:"Nunito",sans-serif;font-weight:700;font-size:9.6pt;color:var(--ink);margin-bottom:3px;}
.divider{height:1px;background:var(--cream2);margin:0 22mm;}
.letter-body{padding:13mm 22mm;flex:1;display:flex;flex-direction:column;gap:9mm;}
.meta-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.meta-label{font-size:8pt;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:5px;}
.meta-value{font-size:11pt;color:var(--ink);line-height:1.5;border-bottom:1px solid var(--cream2);padding-bottom:7px;min-height:1.6em;}
.subject-line{font-family:"Nunito",sans-serif;font-weight:900;font-size:15pt;color:var(--ink);border-bottom:2px solid var(--cream2);padding-bottom:9px;}
.subject-line:empty::before{content:"Emne";color:var(--cream2);}
.letter-content{flex:1;}
.letter-content p{font-size:11pt;line-height:1.85;color:#333;margin-bottom:4mm;}
.signature-area{margin-top:6mm;}
.sig-hilsen{font-size:11pt;color:#333;margin-bottom:11mm;}
.sig-name{font-family:"Nunito",sans-serif;font-weight:900;font-size:12pt;color:var(--ink);}
.sig-title{font-size:9.5pt;color:var(--muted);margin-top:2px;}
.letter-footer{border-top:1px solid var(--cream2);padding:8px 22mm;display:flex;justify-content:space-between;align-items:center;}
.letter-footer span{font-size:8pt;color:var(--muted);opacity:.75;}
@media(max-width:1180px){.editor{width:360px;}}
@media(max-width:760px){
  body{height:auto;min-height:100vh;overflow:auto;}
  .app{flex-direction:column;}
  .editor{width:100%;border-right:none;border-bottom:1px solid var(--cream2);}
  .preview{padding:18px 12px 40px;}
}
@media print{
  body *{visibility:hidden;}
  .preview,.preview *{visibility:visible;}
  .preview{position:absolute;inset:0;padding:0;overflow:visible;background:#fff;}
  .sheet-wrap{transform:none!important;}
  .sheet{box-shadow:none;width:auto;min-height:auto;}
  /* ── Sidebytte: hele seksjoner holdes samlet, aldri splittet ── */
  p, li, tr, img, figure, blockquote,
  section, .block, .section, .card, .field, .fld, .grid, .row,
  .meta-block, .signature-area, .levels, .callout, .hint, .note,
  .optlist label, .choices, table, thead, table.grid-table,
  .section-item, .sec-img, .img-ph, .hero-imgs, .quote-block, .print-filler {
    break-inside: avoid; page-break-inside: avoid;
  }
  h1, h2, h3, h4, h2.section, .eyebrow, .section-item h3 {
    break-after: avoid; page-break-after: avoid;
  }
}

/* The shared Saga identity, with the document as the working surface. */
.toolbar .brand{font-style:normal}.toolbar .status{opacity:1;color:#e1e9dc;max-width:260px;line-height:1.4}.toolbar .green{background:#f5d77c;color:#243b30}.editor{width:270px;padding:24px 20px}.editor h2{font-size:19px;margin-bottom:12px}.editor p{font-size:14px;line-height:1.6}.fld input,.fld textarea{font-size:16px}.preview{display:block;background:#edf0e9;padding-bottom:80px}.sheet-wrap{width:794px;margin:0 auto;transform-origin:top left}.sheet{width:794px;min-height:1122px;overflow:visible;margin-bottom:26px}.letter-header{padding:40px 64px 28px;gap:14px}.logo-area img{width:70px}.letter-body{padding:32px 64px;gap:24px}.letter-footer{padding:14px 64px}.letter-content{font-size:15px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere;min-height:220px}.signature-area{margin-top:18px}.sig-hilsen{margin-bottom:24px}.editable{outline:none;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:3px;min-height:1.4em}.editable:hover{box-shadow:0 0 0 1px #c7d4c1}.editable:focus{box-shadow:0 0 0 2px #1a7a6e;background:#f8fbf4}.editable:empty:before{content:attr(data-placeholder);color:#637365}.editor button,.editor select{width:100%;margin-bottom:8px}.editor .mal-btn{font-size:14px;padding:10px}.editor .hint{font-size:13px}.editor details{margin-top:24px}.editor summary{cursor:pointer;font-weight:700}.editor .tb-btn{background:#eef3e9;color:#234135;justify-content:center}.editor .danger{color:#973b2b}.work-note{padding:12px 20px;background:#f9faf7;color:#49634c;font-size:13px;display:flex;justify-content:space-between;gap:10px}.mobile-view{display:none}.document-dialog{border:0;padding:24px;width:min(640px,calc(100% - 24px));max-height:85vh;margin:auto;color:#243b30;border-radius:12px;box-shadow:0 12px 45px #182c3033;font-family:Inter,sans-serif}.document-dialog::backdrop{background:#172e2966}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.document-dialog h2{font-family:Nunito;font-size:23px}.document-dialog input{width:100%;font:inherit;padding:12px;border:1px solid #bdcdb8;border-radius:6px;margin-bottom:16px}.draft-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid #e0e7dc;gap:14px}.draft-row button{font:inherit;border:0;background:none;text-align:left;color:#234135;cursor:pointer}.draft-row small{display:block;color:#53694e;margin-top:5px}.doc-error{padding:12px 20px;background:#fff0d4;color:#713d19;display:none}.doc-error.visible{display:block}.ready-tools{display:none}.ready-mode .ready-tools{display:flex;gap:8px;flex-wrap:wrap}.ready-mode .edit-tools{display:none}.ready-mode .sheet{height:1122px;min-height:1122px}.ready-mode .letter-body{min-height:0;overflow:visible;display:block;flex:1}.ready-mode .letter-content{min-height:0;flex:none}.ready-mode .letter-body>p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.85;margin:0 0 16px;orphans:3;widows:3}.ready-mode .signature-area{break-inside:avoid}.ready-mode .letter-header{padding:24px 64px 18px}.ready-mode .sheet:first-child .letter-header{padding:40px 64px 28px}.ready-mode .meta-row{margin-bottom:24px}.ready-mode .subject-line{margin-bottom:22px}.ready-mode .page-num{white-space:nowrap}.ready-mode .editable:before{content:none}.ready-mode .editable{box-shadow:none!important}.tb-knapp{bottom:18px}.btn-link{cursor:pointer;text-decoration:underline;border:0;background:none;color:inherit;font:inherit}.toolbar button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #e9bf55;outline-offset:3px}::selection{background:#f5d77c;color:#20352b}
@media(max-width:760px){body{height:100dvh;overflow:hidden}.toolbar{gap:7px;padding:10px 12px}.toolbar .brand{font-size:14px}.toolbar .status{font-size:11px;max-width:135px}.toolbar .back{display:none}.toolbar .sp{display:none}.toolbar button{font-size:12px;padding:9px 11px}.toolbar .brand{margin-right:auto}.app{overflow:auto;display:block}.editor{width:auto;border:0;padding:16px;display:none}.preview{overflow:visible;padding:18px 12px 60px}.sheet-wrap{margin:0}.work-note{font-size:12px;align-items:center}.mobile-view{display:block;border:1px solid #bcccb7;background:#fff;padding:8px;border-radius:6px;color:#264337}.show-tools .editor{display:block}.show-tools .preview{display:none}.letter-header{padding:40px 64px 28px}}
@media print{@page{size:A4;margin:0}html,body{display:block!important;height:auto!important;overflow:visible!important;background:white!important}body *{visibility:visible}.toolbar,.editor,.work-note,.doc-error,.tb-knapp,dialog{display:none!important}.app,.preview{display:block!important;position:static!important;overflow:visible!important;padding:0!important;margin:0!important}.sheet-wrap{width:210mm!important;transform:none!important;zoom:1!important;margin:0!important;height:auto!important}.sheet{width:210mm!important;height:296.8mm!important;min-height:296.8mm!important;box-shadow:none!important;margin:0!important;break-after:page;overflow:visible!important}.sheet:last-child{break-after:auto}.sheet .letter-body{display:block;min-height:0}.editable:empty:before{content:none!important}.editable{box-shadow:none!important}p{break-inside:auto;orphans:3;widows:3}.letter-header,.signature-area{break-inside:avoid}*{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

.toolbar .brand{color:inherit;text-decoration:none}.ready-mode .editor{display:none}.ready-mode .preview{flex:1}.ready-mode .mobile-view{display:none}
@media screen and (max-width:760px){body:not(.ready-mode) .sheet-wrap{width:100%;zoom:1!important}body:not(.ready-mode) .sheet{width:100%;min-height:0}body:not(.ready-mode) .letter-header{padding:24px 22px;grid-template-columns:auto 1fr}body:not(.ready-mode) .logo-area img{width:48px}body:not(.ready-mode) .brand-name h1{font-size:18px}body:not(.ready-mode) .contact-info{display:none}body:not(.ready-mode) .letter-body{padding:24px 22px;gap:24px}body:not(.ready-mode) .meta-row{grid-template-columns:1fr}body:not(.ready-mode) .letter-content{font-size:16px;line-height:1.7}body:not(.ready-mode) .letter-footer{padding:16px 22px}body:not(.ready-mode) .divider{margin:0 22px}}

.document-dialog .library-options{display:flex;gap:10px 18px;flex-wrap:wrap;align-items:center;margin:12px 0}.document-dialog .library-options label{display:flex;gap:7px;align-items:center;min-height:44px;margin:0}.document-dialog .library-options input{width:auto;margin:0}.draft-delete{min-height:44px}
.letter-hit mark{background:#f6e3a8;color:inherit;border-radius:3px;padding:0 1px}
