#offersView { --offer-green:#176b4d; --offer-soft:#f2f8f5; --offer-border:#dce7e2; }
#offersRoot { padding-bottom:2rem; }
.offer-banner { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.15rem 1.25rem; margin-bottom:1rem; border:1px solid #cfe2d8; border-radius:18px; background:linear-gradient(135deg,#f4faf7 0%,#eef7f3 62%,#fff 100%); }
.offer-banner strong { display:block; font-size:1.15rem; margin:.3rem 0 .1rem; }
.offer-banner p { margin:0; color:#5f6f68; font-size:.9rem; }
.offer-preview-badge { display:inline-flex; align-items:center; gap:.4rem; width:max-content; padding:.25rem .55rem; border-radius:999px; background:#dff1e8; color:#155b43; font-size:.72rem; font-weight:700; letter-spacing:.02em; text-transform:uppercase; }
.offer-kpi-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; margin-bottom:1rem; }
.offer-kpi { display:flex; align-items:center; gap:.8rem; background:#fff; border:1px solid var(--offer-border); border-radius:16px; padding:1rem; min-width:0; }
.offer-kpi-icon { width:42px; height:42px; flex:0 0 42px; border-radius:13px; display:grid; place-items:center; background:var(--offer-soft); color:var(--offer-green); font-size:1.1rem; }
.offer-kpi div { min-width:0; }
.offer-kpi > div > small,.offer-kpi > div > span { display:block; color:#74827c; font-size:.72rem; }
.offer-kpi strong { display:block; font-size:1.15rem; line-height:1.3; color:#1f2d27; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.offer-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:1rem; align-items:start; }
.offer-main,.offer-side { display:grid; gap:1rem; min-width:0; }
.offer-card { border:1px solid var(--offer-border); border-radius:18px; box-shadow:0 5px 20px rgba(30,70,52,.035); overflow:hidden; }
.offer-card .card-body { padding:1.15rem; }
.offer-card-head { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; margin-bottom:1rem; }
.offer-card-head-padded { padding:1.15rem 1.15rem 0; }
.offer-card-head h2 { font-size:1rem; margin:0; font-weight:700; color:#22332b; }
.offer-card-head p { margin:.2rem 0 0; color:#718078; font-size:.78rem; }
.offer-eyebrow { display:block; color:#718078; font-weight:700; font-size:.68rem; text-transform:uppercase; letter-spacing:.06em; margin-bottom:.15rem; }
.offer-calc-table-wrap { border-top:1px solid #edf2ef; overflow-x:auto; overscroll-behavior-inline:contain; }
.offer-calc-table { font-size:.78rem; min-width:1050px; margin-bottom:0; }
.offer-calc-table thead th { background:#f8faf9; color:#6a7771; text-transform:uppercase; font-size:.64rem; letter-spacing:.04em; font-weight:700; border-bottom-color:#e5ece8; white-space:nowrap; padding:.65rem .5rem; }
.offer-calc-table td { padding:.45rem .5rem; border-color:#eef2f0; background:#fff; }
.offer-calc-table th:last-child,.offer-calc-table td:last-child { position:sticky; right:0; z-index:3; background:#fff; box-shadow:-8px 0 12px -12px rgba(25,55,42,.45); }
.offer-calc-table thead th:last-child { background:#f8faf9; z-index:4; }
.offer-calc-table input,.offer-calc-table select,.offer-calc-table textarea { border-color:#e2e9e5; color:#24332c; background:#fff; }
.offer-type-col,.offer-type-cell { min-width:145px; width:145px; }
.offer-type-cell .form-select { min-width:135px; }
.offer-markup-cell { min-width:88px; width:88px; }
.offer-markup-group { width:84px; min-width:84px; flex-wrap:nowrap; }
.offer-markup-group .form-control { min-width:48px !important; width:48px; color:#15231d !important; background:#fff !important; opacity:1; }
.offer-markup-group .input-group-text { min-width:30px; justify-content:center; padding-inline:.45rem; color:#4c5e55; background:#f6f8f7; }
.offer-text-row td { background:#fbfcfb; }
.offer-text-row .offer-line-description textarea { min-width:260px; resize:vertical; }
.offer-text-line-note { color:#718078; font-size:.72rem; }
.offer-text-line-note span { display:inline-flex; align-items:center; padding:.38rem .55rem; border-radius:9px; background:#f2f6f4; white-space:nowrap; }
.offer-calc-table .offer-line-description input { min-width:210px; }
.offer-line-mobile-meta { display:none; }
.offer-group-row td { background:#f4f8f6; padding:.55rem .7rem; border-top:1px solid #dce8e2; border-bottom:1px solid #dce8e2; }
.offer-group-row span { display:block; font-weight:700; color:#255540; }
.offer-group-row small { display:block; color:#718078; margin-top:.1rem; }
.offer-calc-footer { display:flex; justify-content:flex-end; gap:2rem; align-items:center; padding:.9rem 1.15rem; background:#fbfcfb; border-top:1px solid #e9efec; }
.offer-calc-footer div { text-align:right; }
.offer-calc-footer small { display:block; color:#78857f; font-size:.68rem; text-transform:uppercase; }
.offer-calc-footer strong { font-size:.9rem; }
.offer-calc-footer .offer-db strong { color:var(--offer-green); }
.offer-package-tabs { display:flex; gap:.35rem; margin-bottom:.75rem; flex-wrap:wrap; }
.offer-package-tabs button { border:1px solid #dae5df; background:#fff; border-radius:999px; padding:.25rem .55rem; font-size:.72rem; color:#53645b; }
.offer-package-tabs button.active { background:#e9f5ef; border-color:#bcdaca; color:#165b43; font-weight:700; }
.offer-package-list { display:grid; gap:.5rem; }
.offer-package { width:100%; border:1px solid #e2eae6; background:#fff; border-radius:13px; padding:.7rem; text-align:left; display:grid; grid-template-columns:38px 1fr auto; align-items:center; gap:.65rem; transition:.15s ease; }
.offer-package:hover { border-color:#a9cdbb; transform:translateY(-1px); box-shadow:0 6px 16px rgba(32,86,62,.06); }
.offer-package-icon { width:38px; height:38px; border-radius:11px; background:#eef7f2; color:#176b4d; display:grid; place-items:center; }
.offer-package strong,.offer-package small { display:block; }
.offer-package strong { font-size:.82rem; color:#26372f; }
.offer-package small { color:#7a8781; font-size:.69rem; margin-top:.1rem; }
.offer-package > i { color:#5f9b7e; font-size:1.05rem; }
.offer-tip { margin-top:.8rem; border-radius:12px; background:#f8faf9; padding:.7rem; display:flex; gap:.55rem; color:#65746d; font-size:.72rem; line-height:1.35; }
.offer-tip i { color:#b8860b; }
.offer-rule-row { display:flex; align-items:center; justify-content:space-between; gap:.75rem; }
.offer-rule-row label strong,.offer-rule-row label small { display:block; }
.offer-rule-row label strong { font-size:.82rem; }
.offer-rule-row label small { color:#7b8882; font-size:.69rem; }
.offer-rule-input { width:100px; flex:0 0 100px; }
.offer-customer-lines { display:grid; gap:.55rem; }
.offer-customer-lines > div { display:flex; justify-content:space-between; gap:.8rem; font-size:.77rem; padding-bottom:.5rem; border-bottom:1px dashed #dde7e2; }
.offer-customer-lines > .offer-customer-text { display:block; padding:.55rem .1rem; color:#55645d; line-height:1.5; }
.offer-customer-lines span { color:#55645d; }
.offer-customer-lines strong { white-space:nowrap; }
.offer-customer-mini-total { display:flex; justify-content:space-between; align-items:center; padding-top:.8rem; margin-top:.25rem; }
.offer-customer-mini-total span { font-size:.75rem; color:#64726b; }
.offer-customer-mini-total strong { font-size:1rem; color:#173d2c; }
.offer-addon-builder { display:grid; gap:.55rem; }
.offer-addon-edit { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(190px,.8fr) 38px; gap:.5rem; }
.offer-addon-edit .btn { align-self:center; }
.offer-customer-modal .modal-content { border-radius:20px; }
.offer-customer-modal .modal-header { padding:1.1rem 1.25rem; }
.offer-customer-modal .modal-body { background:#f3f6f4; padding:1.25rem; }
.offer-paper { max-width:840px; margin:0 auto; background:#fff; border:1px solid #dfe7e3; border-radius:16px; padding:2rem; box-shadow:0 12px 40px rgba(24,57,42,.06); }
.offer-paper-brand { display:flex; align-items:center; gap:.75rem; padding-bottom:1.25rem; border-bottom:1px solid #e8eeeb; }
.offer-paper-brand strong,.offer-paper-brand small { display:block; }
.offer-paper-brand small { color:#74817b; font-size:.75rem; }
.offer-paper-intro { padding:1.5rem 0 1rem; }
.offer-paper-intro > span { color:#176b4d; text-transform:uppercase; letter-spacing:.08em; font-size:.7rem; font-weight:800; }
.offer-paper-intro h3 { margin:.25rem 0 .45rem; font-size:1.55rem; }
.offer-paper-intro p { margin:0; color:#68766f; }
.offer-paper-lines { border:1px solid #e1e9e5; border-radius:12px; overflow:hidden; }
.offer-paper-lines > div { display:flex; justify-content:space-between; gap:1rem; padding:.8rem 1rem; border-bottom:1px solid #e8eeeb; }
.offer-paper-lines > div:last-child { border-bottom:0; }
.offer-paper-lines span { color:#3f4f47; }
.offer-paper-lines strong { white-space:nowrap; }
.offer-paper-lines > .offer-paper-text { display:block; padding:.85rem 1rem; background:#fbfcfb; color:#56655e; line-height:1.55; }
.offer-paper-addons { margin-top:1.25rem; padding:1rem; background:#f7faf8; border-radius:12px; }
.offer-paper-addons h4 { font-size:.85rem; margin-bottom:.75rem; }
.offer-paper-addons label { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:.7rem; padding:.6rem 0; cursor:pointer; border-bottom:1px solid #e3eae6; }
.offer-paper-addons label:last-child { border-bottom:0; }
.offer-paper-addons span strong,.offer-paper-addons span small { display:block; }
.offer-paper-addons span strong { font-size:.82rem; }
.offer-paper-addons span small { color:#7b8882; font-size:.7rem; }
.offer-paper-addons b { font-size:.8rem; }
.offer-paper-total { margin:1.25rem 0 0 auto; max-width:360px; display:grid; gap:.45rem; }
.offer-paper-total > div { display:flex; justify-content:space-between; gap:1rem; font-size:.85rem; }
.offer-paper-total > div span { color:#64736c; }
.offer-paper-total .grand { margin-top:.25rem; padding-top:.75rem; border-top:2px solid #233d31; font-size:1rem; }
.offer-paper-total .grand span,.offer-paper-total .grand strong { color:#173d2c; font-weight:800; }
.offer-paper-actions { margin-top:1.5rem; padding-top:1.25rem; border-top:1px solid #e2e9e5; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.offer-paper-actions > div { display:flex; gap:.6rem; align-items:flex-start; color:#68766f; font-size:.75rem; max-width:460px; }
.offer-paper-actions i { color:#176b4d; font-size:1.1rem; }
/* Pakker/regler skal flyte normalt; sticky kort skapte overlapping ved scrolling. */
.offer-sticky-card { position:static; }
@media (max-width:1200px){ .offer-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .offer-layout { grid-template-columns:1fr; } .offer-side { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; } .offer-side > * { min-width:0; } .offer-sticky-card { grid-column:1/-1; } }
@media (max-width:900px){ .offer-side { grid-template-columns:1fr; } .offer-sticky-card { grid-column:auto; } }
@media (max-width:767.98px){ .offer-banner { align-items:flex-start; flex-direction:column; } .offer-kpi-grid { grid-template-columns:1fr 1fr; gap:.55rem; } .offer-kpi { padding:.75rem; } .offer-kpi-icon { display:none; } .offer-kpi strong { font-size:.95rem; } .offer-side { grid-template-columns:1fr; } .offer-calc-table-wrap { overflow:visible; } .offer-calc-table { min-width:0; display:block; } .offer-calc-table thead { display:none; } .offer-calc-table tbody { display:grid; gap:.65rem; padding:.7rem; } .offer-calc-table tr[data-offer-line] { display:grid; grid-template-columns:1fr 1fr; gap:.45rem; border:1px solid #e0e9e4; border-radius:12px; padding:.65rem; } .offer-calc-table tr[data-offer-line] td { display:block; border:0; padding:0; background:transparent; }
.offer-calc-table tr[data-offer-line] td:last-child { right:auto; z-index:auto; background:transparent; } .offer-calc-table .offer-line-description { grid-column:1/-1; } .offer-line-mobile-meta { display:block; color:#75827c; font-size:.68rem; margin-top:.15rem; } .offer-calc-table tr[data-offer-line] td:nth-child(4) { display:none; } .offer-calc-table tr[data-offer-line] td:nth-child(8) { display:flex; justify-content:flex-end; align-items:center; font-size:.88rem; } .offer-calc-table tr[data-offer-line] td:nth-child(9) { position:static; grid-column:2; grid-row:1; justify-self:end; margin:0; box-shadow:none; } .offer-calc-table tr.offer-text-row { grid-template-columns:1fr auto; } .offer-calc-table tr.offer-text-row .offer-line-description { grid-column:1/-1; } .offer-calc-table tr.offer-text-row td:nth-child(2) { display:block; grid-column:1; } .offer-calc-table tr.offer-text-row .offer-text-line-note { display:none; } .offer-calc-table tr.offer-text-row td:nth-child(4) { position:static; display:block; grid-column:2; grid-row:2; justify-self:end; box-shadow:none; } .offer-group-row { display:block; } .offer-group-row td { display:block; border-radius:10px; } .offer-calc-footer { gap:.8rem; justify-content:space-between; padding:.8rem; } .offer-calc-footer div { text-align:left; } .offer-calc-footer strong { font-size:.78rem; } .offer-addon-edit { grid-template-columns:1fr 42px; } .offer-addon-edit .input-group { grid-column:1/2; } .offer-addon-edit .btn { grid-column:2; grid-row:1/3; } .offer-paper { padding:1rem; } .offer-paper-actions { align-items:stretch; flex-direction:column; } .offer-paper-actions .btn { width:100%; } }


/* Produksjonsmodul: tilbudsliste og editorstatus */
.offer-list-toolbar,.offer-editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.offer-list-toolbar h2,.offer-editor-toolbar h2{font-size:1.2rem;margin:0;color:#203029}.offer-list-toolbar p{margin:.2rem 0 0;color:#74817b;font-size:.85rem}.offer-list-kpis .offer-kpi{min-height:82px}.offer-list-card{overflow:visible}.offer-list-table thead th{background:#f8faf9;color:#6a7771;text-transform:uppercase;font-size:.68rem;letter-spacing:.04em;padding:.75rem 1rem;white-space:nowrap}.offer-list-table td{padding:.8rem 1rem;border-color:#edf2ef}.offer-list-title{border:0;background:transparent;padding:0;text-align:left;color:inherit}.offer-list-title strong,.offer-list-title span{display:block}.offer-list-title strong{font-size:.88rem;color:#22332b}.offer-list-title span{font-size:.7rem;color:#75827c;margin-top:.1rem}.offer-list-date{font-size:.75rem;color:#65746d;white-space:nowrap}.offer-status{display:inline-flex;align-items:center;border-radius:999px;padding:.28rem .55rem;font-size:.68rem;font-weight:700}.offer-status.draft{background:#f2f4f3;color:#5d6a64}.offer-status.ready{background:#e5f5ec;color:#176143}.offer-status.archived{background:#f1f1f1;color:#777}.offer-empty{display:flex;min-height:260px;align-items:center;justify-content:center;flex-direction:column;gap:.45rem;color:#738079;text-align:center}.offer-empty>i{font-size:2rem;color:#7aa08e}.offer-empty strong{color:#293a32}.offer-empty span{font-size:.78rem;max-width:350px}.offer-module-loading{min-height:280px;display:flex;align-items:center;justify-content:center;gap:.7rem;color:#68766f}.offer-editor-toolbar{padding:.85rem 1rem;border:1px solid var(--offer-border);border-radius:16px;background:#fff}.offer-editor-toolbar .min-w-0{min-width:0}.offer-editor-toolbar h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:430px}.offer-editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.offer-save-state{font-size:.7rem;color:#74817b;margin-right:.2rem}.offer-save-state.saved{color:#176143}.offer-save-state.saving{color:#8a6a10}.offer-save-state.error{color:#b42318}.offer-save-state.dirty{color:#7a6a5b}
@media(max-width:767.98px){.offer-list-toolbar,.offer-editor-toolbar{align-items:stretch;flex-direction:column}.offer-editor-actions{justify-content:flex-start}.offer-list-table thead{display:none}.offer-list-table,.offer-list-table tbody,.offer-list-table tr,.offer-list-table td{display:block;width:100%}.offer-list-table tr{position:relative;padding:.75rem;border-bottom:1px solid #edf2ef}.offer-list-table td{padding:.2rem 0;border:0}.offer-list-table td.text-end{text-align:left!important}.offer-list-table td:last-child{position:absolute;right:.65rem;top:.65rem;width:auto}.offer-list-title{padding-right:45px}.offer-editor-toolbar h2{max-width:100%}}

/* Production offer fixes */
.offer-kpi > div > small,.offer-kpi > div > span{display:block;color:#74827c;font-size:.72rem}.offer-kpi>.offer-kpi-icon{display:grid;color:var(--offer-green);font-size:1.1rem}.offer-status.sent{background:#e8eefc;color:#2c5190}.offer-request-linked{display:inline-flex;align-items:center;gap:.3rem;padding:.28rem .5rem;border-radius:999px;background:#eef7f2;color:#176143;font-size:.68rem;font-weight:700}.offer-package-empty-mini{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:1.1rem .6rem;text-align:center;color:#74817b;border:1px dashed var(--offer-border);border-radius:12px}.offer-package-empty-mini i{font-size:1.3rem;color:var(--offer-green)}.offer-package-empty-mini strong{font-size:.82rem;color:#293a32}.offer-package-empty-mini span{font-size:.72rem}.offer-type-cell,.offer-type-col{min-width:145px}.offer-markup-cell{width:100px;min-width:100px}.offer-markup-group{width:94px}.offer-calc-table td:nth-child(3){min-width:78px}.offer-calc-table td:nth-child(4){min-width:88px}
@media(max-width:767.98px){.offer-kpi>.offer-kpi-icon{display:none}.offer-request-linked{width:100%;justify-content:center}.offer-type-cell{min-width:0}.offer-markup-cell{width:auto;min-width:0}.offer-markup-group{width:100%}}

/* Tilbudsaksept */
.offer-signing-box{border:1px solid #e0e9e4;border-radius:13px;padding:.85rem;background:#fbfcfb}.offer-signing-proof{display:flex;align-items:flex-start;gap:.65rem}.offer-signing-proof>i{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#e9f5ef;color:#176143;flex:0 0 34px}.offer-signing-proof strong,.offer-signing-proof small{display:block}.offer-signing-proof strong{font-size:.82rem;color:#26372f}.offer-signing-proof small{margin-top:.16rem;color:#728079;font-size:.7rem;line-height:1.4}.offer-signing-box .form-check-label strong{font-size:.8rem}


/* Tilbud: detaljert kundevisning per kalkylelinje */
.offer-customer-display-cell{min-width:108px}.offer-customer-display{min-width:100px;font-size:.72rem}.offer-customer-display-static{display:inline-flex;align-items:center;color:#607169;font-size:.7rem;white-space:nowrap}.offer-legacy-rule{display:grid;gap:.75rem;padding:.8rem;border:1px solid #eadfbf;border-radius:12px;background:#fffaf0}.offer-legacy-rule strong,.offer-legacy-rule small{display:block}.offer-legacy-rule strong{font-size:.82rem;color:#574514}.offer-legacy-rule small{margin-top:.15rem;color:#7c6b3f;font-size:.7rem}.offer-customer-label,.offer-paper-line-label,.public-offer-line-label{min-width:0}.offer-customer-label>span,.offer-customer-label>small,.offer-paper-line-label>span,.offer-paper-line-label>small,.public-offer-line-label>span,.public-offer-line-label>small{display:block}.offer-customer-label small,.offer-paper-line-label small,.public-offer-line-label small{margin-top:.14rem;color:#7a8881;font-size:.68rem;font-weight:500}.offer-paper-line-label small{font-size:.72rem}.offer-customer-lines>div>strong,.offer-paper-lines>div>strong{align-self:flex-start}
@media(max-width:767.98px){
  .offer-calc-table tr[data-offer-line] td:nth-child(8){display:block;grid-column:1/-1}.offer-calc-table tr[data-offer-line] td:nth-child(9){display:flex;justify-content:flex-end;align-items:center;font-size:.88rem;grid-column:1}.offer-calc-table tr[data-offer-line] td:nth-child(10){position:static;grid-column:2;grid-row:1;justify-self:end;margin:0;box-shadow:none}.offer-customer-display-cell{min-width:0}.offer-customer-display{width:100%}
}

/* Tilbud v2: romslige to-raders kalkylelinjer */
.offer-lines-list{display:grid;gap:.7rem;padding:.8rem 1rem 1rem;border-top:1px solid #edf2ef;background:#f8faf9}
.offer-lines-empty{min-height:150px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.45rem;color:#74817b;text-align:center;border:1px dashed #dce7e2;border-radius:14px;background:#fff}
.offer-lines-empty i{font-size:1.5rem;color:var(--offer-green)}
.offer-line-item{border:1px solid #dfe8e3;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 2px 8px rgba(31,70,52,.025)}
.offer-line-primary{display:grid;grid-template-columns:minmax(260px,1.8fr) 82px 92px 120px auto;gap:.65rem;align-items:end;padding:.78rem .85rem}
.offer-line-finance{display:grid;grid-template-columns:minmax(125px,.9fr) minmax(145px,1fr) minmax(120px,.85fr) minmax(155px,1fr) minmax(155px,1fr);gap:.65rem;align-items:end;padding:.68rem .85rem .8rem;background:#f8faf9;border-top:1px solid #e8efeb}
.offer-field{display:block;min-width:0;margin:0}
.offer-field>span,.offer-line-sum>span,.offer-line-actions>span{display:block;margin:0 0 .25rem;color:#6f7d76;font-size:.64rem;font-weight:750;letter-spacing:.035em;text-transform:uppercase;line-height:1.2}
.offer-field .form-control,.offer-field .form-select,.offer-field .input-group{width:100%;min-width:0}
.offer-field .input-group-text{font-size:.72rem;color:#5e6c65;background:#f4f7f5;border-color:#dfe7e3}
.offer-line-description-field .form-control{font-weight:600}
.offer-line-sum{min-width:105px;text-align:right;padding-bottom:.35rem}
.offer-line-sum strong{display:block;color:#21342b;font-size:.9rem;white-space:nowrap}
.offer-line-actions{display:flex;align-items:flex-end;justify-content:flex-end;gap:.4rem;min-width:116px}
.offer-line-actions>span{display:none}
.offer-line-actions .btn{height:31px;display:inline-flex;align-items:center;justify-content:center}
.offer-line-actions .btn-group .btn{min-width:31px}
.offer-line-actions>.btn{min-width:34px}
.offer-line-finance .offer-markup-group{width:100%;min-width:0}
.offer-line-finance .offer-markup-group .form-control{min-width:0!important;width:auto}
.offer-customer-display-field .offer-customer-display{width:100%;min-width:0}
.offer-customer-display-field .offer-customer-display-static{min-height:31px;display:flex;align-items:center;padding:.35rem .55rem;border:1px solid #dfe7e3;border-radius:.375rem;background:#fff}
.offer-group-heading{margin:.1rem 0 -.15rem;padding:.5rem .7rem;border-radius:10px;background:#eef5f1;border:1px solid #dce8e2}
.offer-group-heading span,.offer-group-heading small{display:block}.offer-group-heading span{font-size:.78rem;font-weight:700;color:#255540}.offer-group-heading small{margin-top:.08rem;color:#718078;font-size:.68rem}
.offer-text-item{padding:.78rem .85rem}.offer-line-primary-text{grid-template-columns:minmax(280px,1fr) 150px auto;padding:0}.offer-text-item .offer-text-line-note{margin-top:.55rem}.offer-text-item .offer-text-line-note span{display:inline-flex;align-items:center;padding:.38rem .55rem;border-radius:9px;background:#f2f6f4;color:#718078;font-size:.72rem}

/* Småmateriell som kalkyleregel */
.offer-rule-switch{display:flex;align-items:center;gap:.45rem;white-space:nowrap}.offer-rule-switch .form-check-input{margin-top:0}.offer-rule-switch .form-check-label{font-size:.75rem;font-weight:700;color:#53645b}
.offer-material-rule{display:grid;grid-template-columns:minmax(135px,.9fr) minmax(120px,.65fr) minmax(180px,1.35fr) minmax(90px,.55fr);gap:.65rem;align-items:end}
.offer-material-rule.is-disabled{opacity:.58}
.offer-material-rule-result{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:.15rem .7rem;align-items:center;margin-top:.1rem;padding:.65rem .75rem;border-radius:11px;background:#f5f8f6;border:1px solid #e1e9e5}
.offer-material-rule-result>span{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.035em;color:#6f7d76}.offer-material-rule-result>strong{font-size:.86rem;color:#214332}.offer-material-rule-result>small{grid-column:1/-1;color:#75827c;font-size:.69rem}

@media(max-width:1100px){
  .offer-line-primary{grid-template-columns:minmax(220px,1fr) 76px 86px 105px auto}
  .offer-line-finance{grid-template-columns:repeat(3,minmax(130px,1fr))}.offer-line-finance .offer-customer-display-field{grid-column:span 2}
  .offer-material-rule{grid-template-columns:1fr 1fr}.offer-material-label{grid-column:1/-1}
}
@media(max-width:767.98px){
  .offer-lines-list{padding:.65rem;background:#f7faf8;gap:.65rem}
  .offer-line-item{border-radius:13px}
  .offer-line-primary{grid-template-columns:1fr 1fr;gap:.6rem;padding:.72rem}
  .offer-line-description-field{grid-column:1/-1}
  .offer-line-qty-field,.offer-line-unit-field{grid-column:auto}
  .offer-line-sum{grid-column:1;text-align:left;padding:.15rem 0 0}
  .offer-line-sum>span{margin-bottom:.15rem}.offer-line-sum strong{font-size:1rem}
  .offer-line-actions{grid-column:2;justify-self:end;align-self:end;min-width:0;flex-wrap:wrap}
  .offer-line-actions>span{display:block;width:100%;text-align:right;margin:0 0 .15rem}
  .offer-line-finance{grid-template-columns:1fr 1fr;gap:.6rem;padding:.7rem;background:#f5f8f6}
  .offer-line-finance .offer-customer-display-field{grid-column:1/-1}
  .offer-line-primary-text{grid-template-columns:1fr 1fr;padding:0}.offer-line-primary-text .offer-line-description-field{grid-column:1/-1}.offer-text-item .offer-line-actions{grid-column:2}
  .offer-field>span,.offer-line-sum>span,.offer-line-actions>span{font-size:.66rem}
  .offer-material-rule{grid-template-columns:1fr 1fr}.offer-material-label,.offer-material-rule-result{grid-column:1/-1}
  .offer-material-rule-result{grid-template-columns:1fr}.offer-material-rule-result>strong{font-size:1rem}.offer-material-rule-result>small{grid-column:1}
}
@media(max-width:430px){
  .offer-line-finance{grid-template-columns:1fr}.offer-line-finance .offer-customer-display-field{grid-column:auto}
  .offer-material-rule{grid-template-columns:1fr}.offer-material-label,.offer-material-rule-result{grid-column:auto}
}


/* UI tidy-up: clearer package boundaries, softer striping, and package add action */
.offer-lines-list{gap:.85rem;background:#f6faf7}
.offer-line-item.is-base{background:#fff}
.offer-line-item.is-alt{background:#fbfdfc}
.offer-line-item.is-alt .offer-line-finance{background:#f2f7f4}
.offer-line-item.offer-line-in-package{box-shadow:0 1px 4px rgba(31,70,52,.03);border-color:#d8e5de}
.offer-package-block{border:1px solid #cfe0d7;border-radius:18px;background:linear-gradient(180deg,#f6fbf8 0%,#eef6f2 100%);padding:.8rem;box-shadow:0 8px 20px rgba(27,79,56,.05)}
.offer-package-block + .offer-package-block{margin-top:.1rem}
.offer-package-block-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem;padding:.1rem .1rem .75rem;border-bottom:1px solid #d9e7df}
.offer-package-block-title{min-width:0;display:grid;gap:.2rem}
.offer-package-badge{display:inline-flex;align-items:center;gap:.35rem;width:max-content;padding:.25rem .6rem;border-radius:999px;background:#e7f3ec;color:#176b4d;font-size:.66rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.offer-package-block-title strong{display:block;font-size:.96rem;color:#234233;line-height:1.2}
.offer-package-block-title small{display:block;color:#6e7d76;font-size:.72rem;line-height:1.35}
.offer-package-block-tools{display:flex;align-items:flex-start;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}
.offer-package-block-sum{min-width:120px;text-align:right;padding:.1rem 0 0}
.offer-package-block-sum span{display:block;color:#6f7d76;font-size:.62rem;font-weight:750;letter-spacing:.035em;text-transform:uppercase;line-height:1.2}
.offer-package-block-sum strong{display:block;color:#1d342a;font-size:.95rem;white-space:nowrap}
.offer-package-block-lines{display:grid;gap:.6rem;padding-top:.75rem}
.offer-package-block .offer-line-item{border-radius:13px}
.offer-package-block-foot{padding:.65rem .1rem .05rem;border-top:1px dashed #d8e5de;margin-top:.75rem}
.offer-package-block-foot span{display:inline-flex;align-items:center;color:#6f7d76;font-size:.72rem;font-weight:600}
.offer-line-item{box-shadow:0 2px 8px rgba(31,70,52,.025)}
.offer-line-primary,.offer-line-finance{padding-left:.9rem;padding-right:.9rem}
.offer-line-actions .btn-outline-secondary{background:#fff}
.offer-line-actions .btn-outline-danger{background:#fff}
.offer-line-actions .btn{box-shadow:none}
@media (max-width:991.98px){
  .offer-package-block-head{flex-direction:column;align-items:stretch}
  .offer-package-block-tools{justify-content:space-between;align-items:center}
}
@media (max-width:767.98px){
  .offer-lines-list{padding:.65rem;gap:.75rem}
  .offer-package-block{padding:.7rem;border-radius:16px}
  .offer-package-block-head{padding:.05rem .05rem .6rem;gap:.6rem}
  .offer-package-block-tools{flex-direction:column;align-items:stretch}
  .offer-package-block-sum{text-align:left;min-width:0}
  .offer-package-block-tools .btn{width:100%}
  .offer-line-item.is-alt{background:#f9fcfa}
  .offer-line-item.is-alt .offer-line-finance{background:#eff5f1}
}


/* Packages behave as atomic blocks when reordering */
.offer-package-move{display:grid;gap:.2rem;align-items:start}
.offer-package-move>span{display:block;color:#6f7d76;font-size:.6rem;font-weight:750;letter-spacing:.035em;text-transform:uppercase;line-height:1.2;text-align:center}
.offer-package-move .btn{background:#fff;min-width:31px}
@media(max-width:767.98px){
  .offer-package-move{grid-template-columns:1fr auto;align-items:center}
  .offer-package-move>span{text-align:left;margin:0}
}

/* Compact offer lines: keep the overview readable, open calculation only when needed */
.offer-line-compact{grid-template-columns:minmax(290px,1.8fr) minmax(125px,.72fr) minmax(145px,.78fr) 118px auto;align-items:end}
.offer-line-meta{display:block;margin-top:.3rem;color:#74817b;font-size:.67rem;font-weight:500;line-height:1.3}
.offer-qty-unit{display:grid;grid-template-columns:minmax(62px,.8fr) minmax(62px,1fr)}
.offer-qty-unit .form-control:first-child{border-top-right-radius:0;border-bottom-right-radius:0}
.offer-qty-unit .form-control:last-child{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}
.offer-line-details{display:none;border-top:1px solid #e4ece7;background:#f4f8f6}
.offer-line-details.is-open{display:block}
.offer-line-details-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.58rem .9rem 0;color:#496157}
.offer-line-details-head>span{font-size:.71rem;font-weight:800;text-transform:uppercase;letter-spacing:.035em}
.offer-line-details-head>small{font-size:.67rem;color:#7a8781}
.offer-line-finance-collapsible{border-top:0;background:transparent;padding-top:.55rem;grid-template-columns:minmax(130px,.9fr) minmax(145px,1fr) minmax(125px,.85fr) minmax(105px,.7fr) minmax(165px,1.2fr)}
.offer-line-item.details-open{border-color:#cbded4;box-shadow:0 4px 12px rgba(31,70,52,.05)}
.offer-line-detail-toggle{min-width:84px;white-space:nowrap}
.offer-line-actions{min-width:220px}
.offer-text-item .offer-line-actions{min-width:190px}
.offer-package-block-lines .offer-line-meta{color:#6d7d75}

@media(max-width:1200px){
  .offer-line-compact{grid-template-columns:minmax(230px,1.5fr) minmax(116px,.7fr) minmax(135px,.75fr) 108px auto}
  .offer-line-actions{min-width:204px}
  .offer-line-finance-collapsible{grid-template-columns:repeat(3,minmax(130px,1fr))}
  .offer-line-finance-collapsible .offer-customer-display-field{grid-column:span 2}
}
@media(max-width:900px){
  .offer-line-compact{grid-template-columns:1fr 1fr}
  .offer-line-compact .offer-line-description-field{grid-column:1/-1}
  .offer-line-sale-field{grid-column:1}
  .offer-line-sum{grid-column:2;text-align:right}
  .offer-line-actions{grid-column:1/-1;justify-content:flex-end;min-width:0;padding-top:.05rem}
  .offer-line-finance-collapsible{grid-template-columns:1fr 1fr}
  .offer-line-finance-collapsible .offer-customer-display-field{grid-column:1/-1}
}
@media(max-width:767.98px){
  .offer-line-compact{grid-template-columns:1fr 1fr;padding:.72rem;gap:.58rem}
  .offer-line-description-field{grid-column:1/-1}
  .offer-line-qty-unit-field,.offer-line-sale-field{grid-column:auto}
  .offer-line-sum{grid-column:1;text-align:left;padding-top:.1rem}
  .offer-line-actions{grid-column:2;align-self:end;justify-self:end;display:grid;grid-template-columns:auto auto auto;align-items:end;gap:.35rem}
  .offer-line-actions>span{grid-column:1/-1;width:auto;text-align:right;margin:0}
  .offer-line-detail-toggle{min-width:76px}
  .offer-line-details-head{align-items:flex-start;flex-direction:column;gap:.12rem;padding:.62rem .72rem 0}
  .offer-line-finance-collapsible{grid-template-columns:1fr 1fr;padding:.62rem .72rem .72rem;gap:.58rem}
  .offer-line-finance-collapsible .offer-customer-display-field{grid-column:1/-1}
  .offer-line-meta{font-size:.69rem;margin-top:.35rem}
}
@media(max-width:470px){
  .offer-line-compact{grid-template-columns:1fr}
  .offer-line-qty-unit-field,.offer-line-sale-field,.offer-line-sum,.offer-line-actions{grid-column:1}
  .offer-line-sum{text-align:left}
  .offer-line-actions{justify-self:stretch;display:flex;flex-wrap:wrap;justify-content:flex-end}
  .offer-line-actions>span{width:100%;text-align:left}
  .offer-line-detail-toggle{margin-right:auto}
  .offer-line-finance-collapsible{grid-template-columns:1fr}
  .offer-line-finance-collapsible .offer-customer-display-field{grid-column:auto}
}


/* Offer UI polish: prevent unit suffix wrapping and keep compact fields aligned */
#offersRoot .input-group{flex-wrap:nowrap}
#offersRoot .input-group>.form-control,#offersRoot .input-group>.form-select{min-width:0;width:1%;flex:1 1 0}
#offersRoot .input-group>.input-group-text{flex:0 0 auto;white-space:nowrap}
.offer-line-meta-row{padding:0 .9rem .58rem;margin-top:-.15rem}
.offer-line-meta{display:block;margin:0;color:#74817b;font-size:.67rem;font-weight:500;line-height:1.3}
.offer-line-item.is-alt .offer-line-meta-row{background:#fbfdfc}
.offer-line-item.is-base .offer-line-meta-row{background:#fff}
.offer-line-in-package.is-alt .offer-line-meta-row{background:#fbfdfc}
.offer-line-in-package.is-base .offer-line-meta-row{background:#fff}

/* Cleaner small-material rule */
.offer-material-card .card-body{padding-bottom:1rem}
.offer-material-head{margin-bottom:.75rem}
.offer-material-head p{max-width:28rem}
.offer-material-rule{display:grid;grid-template-columns:1fr;gap:.65rem;padding:.7rem;border:1px solid #e1e9e5;border-radius:13px;background:#f8faf9}
.offer-material-rule.is-disabled{opacity:.58}
.offer-material-rule-controls{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(105px,.75fr);gap:.6rem;align-items:end}
.offer-material-rule-customer{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:.6rem;align-items:end}
.offer-material-vat{min-width:0}
.offer-material-rule-result{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0;padding:.68rem .75rem;border:1px solid #d9e7df;border-radius:11px;background:#fff}
.offer-material-rule-result>div{min-width:0}
.offer-material-rule-result>div>span{display:block;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.035em;color:#617269}
.offer-material-rule-result>div>small{display:block;margin-top:.12rem;color:#75827c;font-size:.68rem;line-height:1.3}
.offer-material-rule-result>strong{flex:0 0 auto;color:#214332;font-size:.98rem;white-space:nowrap}
@media(max-width:767.98px){
  .offer-line-meta-row{padding:0 .72rem .58rem;margin-top:-.1rem}
  .offer-material-rule{padding:.65rem}
  .offer-material-rule-controls{grid-template-columns:minmax(0,1.2fr) minmax(100px,.8fr)}
  .offer-material-rule-customer{grid-template-columns:minmax(0,1fr) 86px}
}
@media(max-width:390px){
  .offer-material-rule-controls,.offer-material-rule-customer{grid-template-columns:1fr}
  .offer-material-rule-result{align-items:flex-start;flex-direction:column}
}
