:root{--bg:#f6f7f9;--card:#fff;--text:#18212f;--muted:#667085;--border:#d9dde5;--primary:#1f4c8f;--danger:#b42318;--ok:#027a48;--warning:#b54708}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--primary);text-decoration:none}.topbar{background:#111827;color:#fff;padding:14px 22px;display:flex;gap:24px;align-items:center}.topbar a{color:#fff}.brand{font-weight:700}.container{max-width:1180px;margin:24px auto;padding:0 18px}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:18px;box-shadow:0 1px 2px rgba(16,24,40,.05)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.btn{display:inline-block;border:1px solid var(--primary);background:var(--primary);color:#fff;padding:9px 14px;border-radius:8px;cursor:pointer;font-weight:600}.btn.secondary{background:#fff;color:var(--primary)}.btn.danger{background:var(--danger);border-color:var(--danger)}input,select,textarea{width:100%;padding:10px;border:1px solid var(--border);border-radius:8px;margin:5px 0 14px;background:#fff}label{font-weight:600;font-size:14px}.alert{padding:12px 14px;border-radius:10px;margin:12px 0}.alert.error{background:#fef3f2;color:#912018;border:1px solid #fecdca}.alert.success{background:#ecfdf3;color:#05603a;border:1px solid #abefc6}.alert.info{background:#eff8ff;color:#175cd3;border:1px solid #b2ddff}.table{width:100%;border-collapse:collapse;background:#fff}.table th,.table td{padding:10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.table th{font-size:13px;color:var(--muted);background:#f9fafb}.badge{display:inline-block;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:700}.badge.pending{background:#fffaeb;color:#b54708}.badge.active{background:#ecfdf3;color:#027a48}.badge.suspended{background:#fef3f2;color:#b42318}.muted{color:var(--muted)}.actions{display:flex;gap:8px;flex-wrap:wrap}.login-box{max-width:520px;margin:60px auto}.small{font-size:13px}.mono{font-family:Consolas,Menlo,monospace;font-size:13px}
.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.checkbox-line{display:flex;align-items:center;gap:8px;font-weight:500}.checkbox-line input{width:auto;margin:0}.inline-form{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-bottom:14px}.inline-form input,.inline-form select{width:auto;min-width:220px;margin:0}.inline-form .checkbox-line{margin-bottom:9px}.wide-card{overflow:hidden}.table-wrap{overflow-x:auto}.table.compact th,.table.compact td{padding:8px}.table strong{font-weight:700}.topbar{flex-wrap:wrap}.topbar form{display:inline}.card h1,.card h2{margin-top:0}.actions form{margin:0}
.pos-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(340px,.9fr);gap:18px;align-items:start}.cart-card{position:sticky;top:12px}.qty-input{width:90px;min-width:90px}.line-form,.cart-update-form{display:flex;gap:6px;align-items:center;margin:0}.btn.tiny{padding:6px 9px;font-size:12px}.totals-box{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.totals-box div{display:flex;justify-content:space-between;gap:16px;padding:5px 0}.totals-box .grand-total{font-size:20px;border-top:1px solid var(--border);margin-top:6px;padding-top:10px}.payment-box{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.receipt{max-width:760px}.receipt-header{text-align:center;border-bottom:1px dashed var(--border);margin-bottom:14px;padding-bottom:12px}.receipt-header h2{margin-bottom:4px}.receipt-header p{margin:3px 0}.receipt-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px;margin-bottom:14px}.receipt-totals{max-width:420px;margin-left:auto}.no-print{margin-bottom:12px}.search-form input{min-width:320px}@media(max-width:900px){.pos-grid{grid-template-columns:1fr}.cart-card{position:static}}@media print{.topbar,.no-print,.alert{display:none!important}.container{max-width:none;margin:0;padding:0}.card{box-shadow:none;border:0}.receipt{max-width:none}.btn{display:none}}
.badge.warning{background:#fffaeb;color:#b54708}.negative{color:var(--danger);font-weight:700}.return-row{background:#fffbf3}.copy-label{font-weight:800;letter-spacing:.08em;border:2px solid var(--danger);color:var(--danger);display:inline-block;padding:6px 10px;margin-top:8px}.actions form{display:inline-block}
.json-preview{max-width:520px;max-height:260px;overflow:auto;background:#f8fafc;border:1px solid var(--border);border-radius:8px;padding:8px;font-size:12px;white-space:pre-wrap}.alert code{background:#eef2f7;padding:2px 4px;border-radius:4px}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:14px}.stat-card{border:1px solid var(--border);border-radius:10px;padding:12px;background:#f9fafb}.stat-card span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.stat-card strong{font-size:24px}.stacked-form{display:block}.stacked-form button{margin-top:4px}.grid.two-col{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}@media(max-width:600px){.grid.two-col{grid-template-columns:1fr}.stat-card strong{font-size:20px}}

.api-token-box{background:#0f172a;color:#e2e8f0;border-radius:8px;padding:12px;margin:8px 0;overflow-x:auto}.endpoint-list{background:#f8fafc;border:1px solid var(--border);border-radius:8px;padding:10px}.endpoint-list div{padding:3px 0}.status-ok{color:var(--ok);font-weight:700}.status-warning{color:var(--warning);font-weight:700}.status-danger{color:var(--danger);font-weight:700}
.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:1000;display:flex;align-items:center;justify-content:center;padding:18px}.modal-box{background:#fff;border-radius:14px;border:1px solid var(--border);box-shadow:0 20px 40px rgba(15,23,42,.25);max-width:620px;width:100%;padding:22px}.employee-modal{max-width:520px}.employee-button-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:16px}.employee-select-form{border:1px solid var(--border);border-radius:10px;padding:10px;background:#f8fafc}.employee-button{width:100%;min-height:54px;font-size:16px}.pos-seller-card{border-left:5px solid var(--primary)}
@media(max-width:640px){.modal-backdrop{align-items:flex-start;overflow:auto}.modal-box{margin-top:24px}.employee-button-grid{grid-template-columns:1fr}}

/* NPOS POS pakke 2: PCKasse-inspirert daglig kassebilde */
.container.container-full{max-width:none;margin:10px auto;padding:0 10px}.npos-pos{font-family:Arial,Helvetica,sans-serif;color:#0f172a}.npos-pos-titlebar{height:24px;display:flex;justify-content:space-between;align-items:center;font-size:13px;background:#f3f4f6;border:1px solid #c7cbd1;border-bottom:0;padding:2px 8px}.npos-context-form{display:flex;gap:8px;align-items:end;background:#eef2f7;border:1px solid #c7cbd1;padding:6px;margin-bottom:6px}.npos-context-form label{font-size:12px}.npos-context-form select{min-width:170px;height:28px;margin:2px 0 0;padding:3px;border-radius:0}.npos-pos-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:6px}.npos-pos-main{min-width:0}.npos-top-row{display:grid;grid-template-columns:1.1fr .78fr 64px 64px;gap:6px}.npos-fieldgroup{border:1px solid #c7cbd1;background:#f4f5f7;display:grid;grid-template-columns:64px 90px 1fr;gap:6px;padding:6px;position:relative;align-items:end}.npos-field-title{position:absolute;top:-1px;left:6px;background:#f4f5f7;font-weight:700;font-size:17px;padding:0 4px}.seller-box{grid-template-columns:64px 1fr}.npos-fieldgroup input{height:30px;border:1px solid #aeb4bd;border-radius:0;margin:0;padding:4px;background:#fff}.pos-icon-btn{height:56px;border:1px solid #b7bbc2;background:#e5e7eb;font-size:31px;cursor:pointer}.pos-side-btn,.pos-small-btn{border:1px solid #b7bbc2;background:#e5e7eb;color:#111827;border-radius:0;cursor:pointer;font-weight:700}.pos-side-btn{height:70px;font-size:13px}.pos-small-btn{padding:6px 12px}.pos-small-btn.secondary{background:#fff}.muted-btn{background:#eceff3;color:#334155}.npos-search-row input{width:100%;height:29px;border:1px solid #9aa2ad;border-radius:0;margin:6px 0 0;padding:5px;font-size:14px}.npos-lines-panel{height:315px;border:1px solid #6b7280;background:#9b9b9b;overflow-y:auto;overflow-x:auto}.npos-lines-table{width:100%;border-collapse:collapse;background:#fff;font-size:13px}.npos-lines-table th,.npos-lines-table td{border:1px solid #c6c9ce;padding:5px 6px;text-align:left;vertical-align:middle}.npos-lines-table th{height:24px;background:#f8fafc;font-weight:700}.npos-lines-table .line-no-col{width:70px;text-align:right}.npos-lines-table .placeholder-row td{height:250px;background:#9b9b9b;color:#fff;text-align:center;font-size:15px}.pos-line{cursor:pointer}.pos-line.selected{outline:2px solid #2f80ed;background:#eff6ff}.pos-line-input{height:26px;margin:0;padding:3px 5px;border-radius:0;border:1px solid #aeb4bd;background:#fff}.discount-input{width:70px}.hidden-form{display:none}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.npos-under-area{display:grid;grid-template-columns:165px 1fr 230px;grid-template-rows:90px 1fr;gap:8px;background:#f8fafc;min-height:310px;padding:12px 0 0}.npos-prev-sale{border:1px solid #dde2ea;background:#f8fafc;width:150px;height:80px;padding:8px;margin-left:0}.npos-prev-sale span{display:block;color:#1976d2;font-size:19px}.npos-prev-sale strong{display:block;font-size:18px;margin-top:9px}.npos-prev-sale small{display:block;color:#64748b}.npos-return-btn{grid-column:2;justify-self:center;align-self:start;width:70px;height:46px;border:1px solid #95b7c1;background:#7bd0e8;cursor:pointer}.npos-order-total{border:1px solid #dde2ea;background:#fff;width:220px;min-height:82px;padding:8px;justify-self:end}.npos-order-total>span{display:block;color:#1976d2;font-size:19px}.npos-order-total div{display:flex;justify-content:space-between;gap:20px;line-height:1.35}.npos-order-total div:first-of-type{font-size:18px}.npos-favorites-shell{grid-column:2/4;position:relative;border:1px solid #d4d9e2;background:#fff;min-height:190px;margin:0 12px 0 0;padding:42px 12px 12px}.npos-tab{position:absolute;top:-42px;left:0;height:42px;min-width:76px;background:#fff;border:1px solid #d4d9e2;border-bottom:0;padding:13px 9px;font-size:13px}.npos-favorites-empty{color:#64748b;font-size:14px}.npos-other-store-btn{position:absolute;right:16px;top:8px;width:70px;height:70px;background:#fff9c4;border:1px solid #c8b65e;font-weight:700;font-size:12px}.npos-pos-side{min-width:250px}.side-top-icons{display:flex;justify-content:center;gap:8px;height:42px;align-items:center}.side-top-icons button{width:42px;height:34px;border:1px solid #c7cbd1;background:#dbeafe;font-size:24px;cursor:pointer}.tenant-logo-box{height:72px;border:1px solid #c7cbd1;background:#fff;display:flex;align-items:center;justify-content:center;text-align:center;font-size:24px;font-weight:800;margin-bottom:8px;overflow:hidden}.side-button-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:64px;gap:3px}.side-action,.side-spacer{border:1px solid #c7cbd1;background:#e9ecef;border-radius:0;min-height:62px;font-size:13px;font-weight:700;color:#111827}.side-action{cursor:pointer}.side-action:hover,.pos-small-btn:hover,.pos-side-btn:hover{filter:brightness(.96)}.side-spacer{display:flex;align-items:center;justify-content:center}.keyboard-icon{font-size:34px}.pay-button{background:#ffcb6b;font-size:19px}.ghost-pay{color:transparent}.npos-numpad{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:64px;gap:3px;margin-top:115px}.npos-numpad button{border:1px solid #c7cbd1;background:#e5e7eb;font-size:30px;cursor:pointer}.npos-numpad .tall{grid-row:span 2}.pos-modal-backdrop{position:fixed;inset:0;background:rgba(31,41,55,.55);z-index:1200;display:flex;align-items:center;justify-content:center;padding:18px}.pos-modal-backdrop.is-hidden{display:none}.pos-modal{background:#f8fafc;border:1px solid #8b929d;box-shadow:0 18px 36px rgba(0,0,0,.25);max-width:820px;width:100%;padding:8px}.small-modal{max-width:300px}.product-modal-box{max-width:900px}.payment-modal-box{max-width:520px}.modal-titlebar{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.modal-close{border:0;background:transparent;font-size:24px;cursor:pointer}.pos-employee-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.employee-name-button{width:100%;height:64px;border:1px solid #c7cbd1;background:#e5e7eb;cursor:pointer}.employee-select-form{background:transparent;border:0;padding:0}.employee-select-form input{height:30px;margin:0 0 4px;padding:4px;border-radius:0}.product-result-list{border:1px solid #cbd5e1;background:#fff;max-height:420px;overflow:auto}.product-result-row{display:grid;grid-template-columns:120px 1fr 140px 90px;gap:10px;padding:8px;border-bottom:1px solid #e5e7eb;cursor:pointer;align-items:center}.product-result-row:hover,.product-result-row.selected{background:#dbeafe}.empty-result{padding:18px;color:#64748b}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.payment-total-line{display:flex;justify-content:space-between;font-size:20px;margin:10px 0 18px}.payment-box-modern input,.payment-box-modern select{border-radius:0}@media(max-width:1100px){.npos-pos-grid{grid-template-columns:1fr}.npos-pos-side{display:block}.npos-top-row{grid-template-columns:1fr}.npos-fieldgroup,.seller-box{grid-template-columns:56px 1fr}.npos-under-area{grid-template-columns:1fr;grid-template-rows:auto}.npos-favorites-shell{grid-column:auto;margin-right:0}.npos-order-total{justify-self:stretch;width:auto}.npos-numpad{margin-top:14px}.side-button-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.pos-employee-buttons{grid-template-columns:1fr}.product-result-row{grid-template-columns:1fr}.npos-context-form{display:block}.npos-context-form select{width:100%;min-width:0}.npos-lines-panel{height:260px}.npos-pos-titlebar{height:auto;display:block}.npos-fieldgroup{display:block}.pos-icon-btn{width:100%;height:46px;margin:18px 0 4px}.npos-under-area{padding-top:8px}.npos-prev-sale{width:100%}.side-button-grid{grid-template-columns:1fr 1fr}.npos-numpad{grid-auto-rows:54px}}

/* NPOS POS pakke 2.1: layoutfinpuss og modernisering */
.npos-pos{font-family:Inter,Arial,Helvetica,sans-serif;color:#111827}
.npos-pos-titlebar{background:#f5f5f5;border-color:#d1d5db;color:#374151}
.npos-context-form{background:#f3f4f6;border-color:#d1d5db;border-radius:10px;margin-bottom:10px}
.npos-context-form select{border-radius:8px;border-color:#cbd5e1}
.npos-pos-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:12px;align-items:start}
.npos-top-row{display:block;margin-bottom:8px}
.npos-customer-strip{display:grid;grid-template-columns:120px 120px minmax(280px,1fr);gap:10px;align-items:stretch}
.pos-entity-btn,.pos-secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #cbd5e1;background:linear-gradient(180deg,#f8fafc,#e5e7eb);color:#111827;border-radius:10px;cursor:pointer;font-weight:700;box-shadow:0 1px 0 rgba(255,255,255,.7) inset;transition:background .15s ease,border-color .15s ease,transform .05s ease}
.pos-entity-btn:hover,.pos-secondary-action:hover,.side-action:hover,.npos-inline-scroll-controls button:hover,.npos-numpad button:hover{background:#eef2f7;border-color:#94a3b8}
.pos-entity-btn:active,.pos-secondary-action:active,.side-action:active,.npos-inline-scroll-controls button:active,.npos-numpad button:active{transform:translateY(1px)}
.pos-entity-btn{min-height:62px;padding:10px 14px;font-size:15px;justify-content:flex-start}
.pos-secondary-action{min-height:46px;padding:10px 14px;font-size:14px}
.entity-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:17px;flex:0 0 auto}
.pos-display-box{border:1px solid #d1d5db;background:linear-gradient(180deg,#ffffff,#f8fafc);border-radius:10px;padding:8px 12px;min-height:62px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 1px 2px rgba(15,23,42,.05)}
.pos-display-box.small{min-width:110px}
.pos-display-box .label{font-size:11px;line-height:1;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}
.pos-display-box strong{font-size:15px;line-height:1.2;font-weight:700}
.npos-search-row{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:10px;align-items:stretch;margin-bottom:8px}
.npos-search-row input{width:100%;height:40px;border:1px solid #cbd5e1;border-radius:10px;margin:0;padding:0 14px;font-size:15px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.05)}
.npos-inline-scroll-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.npos-inline-scroll-controls button{border:1px solid #cbd5e1;background:#eef2f7;border-radius:10px;font-size:22px;font-weight:700;cursor:pointer}
.npos-lines-panel{height:335px;border:1px solid #6b7280;background:#a3a3a3;border-radius:12px;overflow-y:auto;overflow-x:auto;box-shadow:inset 0 1px 2px rgba(0,0,0,.08)}
.npos-lines-table{border-collapse:separate;border-spacing:0;background:#fff;font-size:13px}
.npos-lines-table th,.npos-lines-table td{border-right:1px solid #d1d5db;border-bottom:1px solid #d1d5db;padding:7px 8px;text-align:left;vertical-align:middle}
.npos-lines-table th:first-child,.npos-lines-table td:first-child{border-left:0}
.npos-lines-table th{position:sticky;top:0;background:#f3f4f6;font-weight:700;z-index:1}
.npos-lines-table tr:first-child th:first-child{border-top-left-radius:10px}
.npos-lines-table tr:first-child th:last-child{border-top-right-radius:10px}
.npos-lines-table .placeholder-row td{height:260px;background:#a3a3a3;color:#f9fafb;text-align:center;font-size:15px;border-bottom:0}
.pos-line.selected{outline:2px solid #3b82f6;background:#eff6ff}
.pos-line-input{height:30px;padding:4px 6px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;box-shadow:inset 0 1px 1px rgba(15,23,42,.04)}
.discount-input{width:76px}
.npos-under-area{display:flex;flex-direction:column;gap:12px;background:#f8fafc;min-height:310px;padding:14px 0 0}
.npos-under-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.npos-prev-sale{border:1px solid #d1d5db;background:#f8fafc;border-radius:10px;width:160px;min-height:84px;padding:10px 12px;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.npos-prev-sale span{display:block;color:#2563eb;font-size:17px;font-weight:600}
.npos-prev-sale strong{display:block;font-size:18px;margin-top:8px}
.npos-prev-sale small{display:block;color:#64748b;margin-top:4px}
.npos-summary-side{display:flex;align-items:flex-start;gap:12px;justify-content:flex-end;flex:1}
.npos-seller-return-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.npos-seller-current{min-width:170px;padding:9px 12px;border:1px solid #d1d5db;border-radius:10px;background:linear-gradient(180deg,#ffffff,#f8fafc);box-shadow:0 1px 2px rgba(15,23,42,.05)}
.npos-seller-current span{display:block;font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
.npos-seller-current strong{display:block;font-size:15px}
.npos-return-btn{width:92px;min-height:46px;border:1px solid #7db3c8;background:linear-gradient(180deg,#d8f1f8,#8fd7ea);border-radius:10px;cursor:pointer;font-weight:700;color:#0f172a}
.npos-order-total{border:1px solid #d1d5db;background:#fff;border-radius:12px;min-width:230px;min-height:110px;padding:10px 12px;box-shadow:0 1px 2px rgba(15,23,42,.05)}
.npos-order-total>span{display:block;color:#2563eb;font-size:18px;font-weight:600;margin-bottom:6px}
.npos-order-total div{display:flex;justify-content:space-between;gap:20px;line-height:1.55;font-size:14px}
.npos-order-total div:first-of-type{font-size:18px}
.npos-order-total strong{font-weight:800}
.npos-under-bottom{padding-right:292px}
.npos-favorites-shell{position:relative;border:1px solid #d1d5db;background:#fff;border-radius:12px;min-height:198px;margin:0;padding:44px 14px 14px;box-shadow:0 1px 2px rgba(15,23,42,.05)}
.npos-tab{position:absolute;top:-1px;left:-1px;height:40px;min-width:94px;background:linear-gradient(180deg,#ffffff,#f8fafc);border:1px solid #d1d5db;border-top-left-radius:12px;border-bottom-right-radius:12px;padding:11px 12px;font-size:13px;font-weight:600}
.npos-favorites-empty{color:#6b7280;font-size:14px;padding-top:8px}
.npos-other-store-btn{position:absolute;right:16px;top:14px;width:78px;height:78px;background:#fef9c3;border:1px solid #d4c05a;border-radius:10px;font-weight:700;font-size:12px}
.npos-pos-side{min-width:270px}
.tenant-logo-box{height:88px;border:1px solid #d1d5db;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;text-align:center;font-size:26px;font-weight:800;margin-bottom:10px;overflow:hidden;padding:8px;box-shadow:0 1px 2px rgba(15,23,42,.05)}
.side-button-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-areas:"park blank extra key" "pay order line delete" "pay credit discount clear";grid-auto-rows:66px;gap:6px;margin-bottom:10px}
.side-action,.side-spacer{border:1px solid #cbd5e1;background:linear-gradient(180deg,#f8fafc,#e5e7eb);border-radius:10px;min-height:66px;font-size:13px;font-weight:700;color:#111827;display:flex;align-items:center;justify-content:center;text-align:center;padding:6px;box-shadow:0 1px 2px rgba(15,23,42,.05)}
.side-action{cursor:pointer}
.btn-park{grid-area:park}.btn-extra{grid-area:extra}.btn-pay{grid-area:pay;min-height:auto;grid-row:span 2;font-size:22px}.btn-orderinfo{grid-area:order}.btn-lineinfo{grid-area:line}.btn-delete{grid-area:delete}.btn-credit{grid-area:credit}.btn-discount{grid-area:discount}.btn-clear{grid-area:clear}.btn-empty-left{grid-area:blank;background:#f3f4f6}.btn-empty-keyboard{grid-area:key;background:#f3f4f6;font-size:32px;color:#475569}
.pay-button{background:linear-gradient(180deg,#f8d177,#f5bb43)!important;color:#5b3f00;font-weight:800}
.npos-numpad{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:60px;gap:6px}
.npos-numpad .np-key,.npos-numpad .np-spacer{border:1px solid #cbd5e1;background:linear-gradient(180deg,#f8fafc,#e5e7eb);border-radius:10px;font-size:30px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 2px rgba(15,23,42,.05)}
.npos-numpad .np-key{cursor:pointer}
.np-enter{grid-column:4;grid-row:3 / span 2}
.np-zero{grid-column:1 / span 2}
.np-spacer{background:transparent;border:0;box-shadow:none}
.pos-modal{border-radius:14px;border-color:#cbd5e1;background:#f8fafc}
.small-modal{max-width:360px}.payment-modal-box{max-width:540px}
.product-result-list{border-radius:10px;border-color:#cbd5e1}
.product-result-row{padding:10px 12px}
.payment-box-modern input,.payment-box-modern select,.employee-select-form input,#product-modal-search{border-radius:8px;border:1px solid #cbd5e1;padding:8px 10px}
.employee-select-form input{margin-bottom:8px}
.pos-employee-buttons{gap:10px}.employee-name-button{border-radius:10px;background:linear-gradient(180deg,#f8fafc,#e5e7eb)}
@media(max-width:1200px){.npos-under-bottom{padding-right:0}.npos-summary-side{flex-direction:column;align-items:stretch}.npos-seller-return-row{justify-content:flex-start}.npos-order-total{min-width:0}.npos-pos-grid{grid-template-columns:1fr}}
@media(max-width:900px){.npos-customer-strip{grid-template-columns:1fr}.npos-under-top{flex-direction:column}.npos-prev-sale{width:100%}.npos-summary-side{width:100%}.npos-seller-return-row{justify-content:flex-start}.side-button-grid{grid-template-columns:repeat(2,1fr);grid-template-areas:"park extra" "pay pay" "order line" "delete credit" "discount clear";}.btn-empty-left,.btn-empty-keyboard{display:none}.npos-numpad{grid-auto-rows:54px}}

/* NPOS POS pakke 3: favoritter, logo og saldo i annen butikk */
.tenant-logo-box img{max-width:100%;max-height:72px;object-fit:contain;display:block}.pos-logo-preview{border:1px solid #d1d5db;border-radius:12px;background:#fff;min-height:100px;display:flex;align-items:center;justify-content:center;margin:10px 0;padding:10px}.pos-logo-preview img{max-width:100%;max-height:120px;object-fit:contain}.pos-logo-preview.logo-empty{color:#6b7280;background:#f8fafc}.check-row{display:flex;gap:8px;align-items:center}.check-row input{width:auto;margin:0}.compact-row-form{display:flex;gap:6px;align-items:center}.compact-row-form input{margin:0}.compact-grid{gap:10px;margin:0}.npos-favorites-shell{padding:48px 14px 48px;overflow:hidden}.npos-favorite-tabs{position:absolute;top:-1px;left:-1px;right:-1px;height:40px;display:flex;align-items:stretch;gap:0;overflow-x:auto;overflow-y:hidden;padding-left:0}.npos-tab{position:static;top:auto;left:auto;height:auto;min-width:104px;background:linear-gradient(180deg,#f8fafc,#e5e7eb);border:1px solid #d1d5db;border-right:0;border-top-left-radius:12px;border-bottom-right-radius:0;padding:10px 12px;font-size:13px;font-weight:700;cursor:pointer;color:#374151}.npos-tab:last-child{border-right:1px solid #d1d5db}.npos-tab.active{background:#fff;color:#111827;border-bottom-color:#fff}.npos-favorite-panel{display:none;grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:10px;align-content:start;max-height:142px;overflow:auto;padding:2px 2px 8px}.npos-favorite-panel.active{display:grid}.npos-favorite-button{min-height:64px;border:1px solid #cbd5e1;background:linear-gradient(180deg,#fff7ed,#fed7aa);border-radius:10px;padding:8px;cursor:pointer;text-align:center;color:#111827;font-weight:700;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 1px 2px rgba(15,23,42,.05)}.npos-favorite-button:hover{background:#fdba74;border-color:#fb923c}.npos-favorite-button small{display:block;margin-top:4px;color:#64748b;font-size:11px;font-weight:600}.npos-favorite-actions{position:absolute;left:14px;right:14px;bottom:10px;display:flex;justify-content:space-between;gap:10px;align-items:flex-end}.npos-add-favorite-btn{border:1px solid #cbd5e1;background:#f8fafc;border-radius:8px;padding:7px 10px;font-size:12px;cursor:pointer;color:#334155}.npos-add-favorite-btn:hover{background:#eef2f7}.npos-other-store-btn{position:static;right:auto;top:auto;width:82px;height:72px;margin-left:auto;flex:0 0 auto}.favorite-modal-box{max-width:680px}.favorite-editor-form label{display:block}.stock-modal-box{max-width:720px}.stock-location-content h3{margin:6px 0 12px;color:#111827}.stock-location-table{width:100%;border-collapse:collapse;background:#fff}.stock-location-table th,.stock-location-table td{border:1px solid #d1d5db;padding:8px;text-align:left}.stock-location-table th{background:#f3f4f6}.stock-location-table td:nth-child(n+2),.stock-location-table th:nth-child(n+2){text-align:right}@media(max-width:900px){.npos-favorite-panel{max-height:220px}.npos-favorite-actions{position:static;margin-top:12px}.npos-favorites-shell{padding-bottom:14px}.compact-row-form{display:block}.compact-row-form button{margin-top:6px}}

/* NPOS POS pakke 3.1: favoritt- og logo-fiks */
.npos-favorite-panel{display:none;grid-template-columns:repeat(auto-fill,82px);gap:10px;align-content:start;justify-content:start;max-height:150px;overflow:auto;padding:2px 2px 8px}.npos-favorite-panel.active{display:grid}.npos-favorite-button{width:82px;height:72px;min-height:72px;border:1px solid #cbd5e1;border-radius:10px;padding:6px;cursor:pointer;text-align:center;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 2px rgba(15,23,42,.08);line-height:1.15;word-break:break-word;overflow:hidden}.npos-favorite-button:hover{filter:brightness(.96);border-color:#94a3b8}.npos-favorite-button span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.npos-favorite-button small{display:none!important}.npos-other-store-btn{width:82px!important;height:72px!important;border-radius:10px}.tenant-logo-box img{max-width:100%;max-height:78px;object-fit:contain;display:block}.pos-logo-preview img{max-width:100%;max-height:140px;object-fit:contain}.favorite-settings-section{border-top:1px solid #e5e7eb;padding-top:14px;margin-top:16px}.pos-settings-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.pos-settings-list-row{display:flex;gap:10px;align-items:center;justify-content:space-between;border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc;padding:10px}.pos-settings-row-main{display:flex;gap:10px;align-items:end;flex:1;flex-wrap:wrap}.pos-settings-row-main label{min-width:120px;flex:1;margin:0}.pos-settings-row-main input,.pos-settings-row-main select{margin:0}.pos-settings-row-main input[type="color"]{width:58px;min-width:58px;height:38px;padding:2px}.status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 9px;background:#eef2f7;font-size:12px;font-weight:700}.favorite-item-row>div:first-child{min-width:180px}@media(max-width:900px){.npos-favorite-panel{grid-template-columns:repeat(auto-fill,82px);max-height:220px}.pos-settings-list-row,.pos-settings-row-main{display:block}.pos-settings-row-main label,.pos-settings-row-main button{margin-top:8px;width:100%}}

/* NPOS POS Pakke 4: parkering, ordreinfo og kredittordre */
.side-action-form{display:block;margin:0}.side-action-form .side-action{width:100%;height:100%;grid-area:inherit}.side-action:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.2)}
.parked-orders-modal-box,.order-info-modal-box,.credit-order-modal-box{max-width:820px}.order-info-modal-box textarea{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:8px 10px;resize:vertical}.pos-order-info-form h3{margin:12px 0 6px}.pos-order-info-form input,.pos-order-info-form select,.pos-credit-order-form input{border-radius:8px;border:1px solid #cbd5e1;padding:8px 10px}.parked-order-list{border:1px solid #d1d5db;border-radius:10px;overflow:hidden;background:#fff;max-height:430px;overflow-y:auto}.parked-order-row{display:grid;grid-template-columns:34px 1fr 110px;gap:10px;align-items:center;padding:12px;border-bottom:1px solid #e5e7eb;cursor:pointer}.parked-order-row:last-child{border-bottom:0}.parked-order-row:hover,.parked-order-row.selected{background:#eff6ff}.parked-order-row input{margin:0}.btn-credit{font-size:12px}.credit-order-modal-box .alert{margin-top:0}
.receipt-order-info{margin:12px 0;padding:10px 12px;border:1px solid #d1d5db;border-radius:10px;background:#f8fafc}.receipt-order-info div{margin:3px 0}.credit-order-note{padding:10px 12px;border:1px solid #fed7aa;background:#fff7ed;border-radius:10px;margin:10px 0;color:#7c2d12}.receipt .handling-fee-line{border-top:1px dashed #cbd5e1;margin-top:4px;padding-top:4px}
@media(max-width:700px){.parked-order-row{grid-template-columns:28px 1fr}.parked-order-row>span:last-child{grid-column:2}.order-info-modal-box,.credit-order-modal-box,.parked-orders-modal-box{max-width:100%}}

/* NPOS POS pakke 5: betalingsvindu, delbetaling og gavekort */
.payment-modal-wide{max-width:860px}.payment-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:16px;align-items:start}.payment-summary-panel,.payment-method-panel{border:1px solid #d1d5db;background:#fff;border-radius:12px;padding:14px;box-shadow:0 1px 2px rgba(15,23,42,.05)}.payment-summary-panel label{margin-top:12px}.payment-selected-box{border:1px solid #cbd5e1;background:#f8fafc;border-radius:10px;min-height:118px;padding:10px;margin:10px 0;overflow:auto}.selected-payment-line{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;border-bottom:1px solid #e5e7eb;padding:7px 0}.selected-payment-line:last-child{border-bottom:0}.remove-payment-line{border:1px solid #fecaca;background:#fee2e2;color:#991b1b;border-radius:8px;padding:4px 8px;cursor:pointer}.payment-rest-line,.payment-rounding-line{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e5e7eb;padding-top:8px;margin-top:8px}.payment-rest-line{font-size:18px}.payment-rounding-line{font-size:13px;color:#64748b}.payment-method-panel h3{margin-top:0}.payment-method-card{border:1px solid #e5e7eb;background:#f8fafc;border-radius:12px;padding:12px;margin-bottom:12px}.payment-method-card h4{margin:0 0 10px;color:#111827}.payment-method-buttons{display:flex;gap:8px;flex-wrap:wrap}.payment-other-buttons .pos-small-btn{min-width:98px}.payment-footer-actions{display:flex;justify-content:space-between;gap:12px;margin-top:14px}.payment-complete-btn{font-size:17px;padding:12px 18px}.badge.ok{background:#dcfce7;color:#166534}.badge.warning{background:#fef3c7;color:#92400e}.badge.danger{background:#fee2e2;color:#991b1b}@media(max-width:780px){.payment-layout{grid-template-columns:1fr}.payment-footer-actions{flex-direction:column}.payment-complete-btn{width:100%}.selected-payment-line{grid-template-columns:1fr auto}.remove-payment-line{grid-column:1/3}}

/* NPOS POS pakke 6: ekstra funksjoner, linjeinfo og rabatt */
.pos-line-note-preview{display:inline-block;margin-top:3px;color:#475569;font-style:italic;font-size:12px}
.receipt-line-note{display:block;margin-top:4px;color:#334155;font-style:italic;white-space:pre-line}
.npos-extra-panel{position:absolute;inset:44px 14px 14px 14px;z-index:5;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-auto-rows:72px;gap:10px;background:rgba(248,250,252,.98);border:1px solid #cbd5e1;border-radius:12px;padding:44px 12px 12px;box-shadow:0 8px 22px rgba(15,23,42,.15)}
.npos-extra-panel.is-hidden{display:none}
.npos-extra-panel-title{position:absolute;top:12px;left:14px;font-weight:800;color:#334155}
.npos-extra-button{border:1px solid #cbd5e1;border-radius:10px;background:linear-gradient(180deg,#f8fafc,#e5e7eb);font-weight:700;color:#111827;cursor:pointer;text-align:center;padding:8px;box-shadow:0 1px 2px rgba(15,23,42,.06)}
.npos-extra-button:hover{background:#eef2f7;border-color:#94a3b8}.npos-extra-button.secondary{background:#fff;color:#475569}.is-dimmed-by-extra{opacity:.14;pointer-events:none}
.line-info-meta{border:1px solid #e5e7eb;border-radius:10px;background:#fff;padding:10px;margin-bottom:10px;line-height:1.6}.line-info-meta span{color:#334155}
.sales-search-modal-box{max-width:760px}.sales-search-filters{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:10px;align-items:end;margin-bottom:12px}.sales-search-filters label{margin:0}.sales-search-results{max-height:420px;overflow:auto;border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:0}.sales-pick-list{display:block}.sales-pick-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:10px 12px;border-bottom:1px solid #e5e7eb;cursor:pointer}.sales-pick-row:last-child{border-bottom:0}.sales-pick-row:hover,.sales-pick-row.selected{background:#dbeafe}.sales-pick-row.copy-disabled{opacity:.55}.sales-pick-row.copy-disabled span:last-child{color:#b45309;font-weight:700}.daily-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:14px}.daily-summary-grid>div{border:1px solid #e5e7eb;border-radius:10px;background:#fff;padding:10px}.daily-summary-grid span{display:block;color:#6b7280;font-size:12px;margin-bottom:5px}.daily-summary-grid strong{font-size:18px}.voucher-result-box{border:1px solid #e5e7eb;border-radius:10px;background:#fff;padding:12px;margin-top:12px}.voucher-result-ok span{display:block;color:#6b7280;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.voucher-result-ok strong{display:block;font-size:19px;margin:4px 0 8px}.pos-modal textarea{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:8px 10px;min-height:100px;resize:vertical}
@media(max-width:760px){.sales-search-filters{grid-template-columns:1fr}.npos-extra-panel{grid-template-columns:1fr 1fr;grid-auto-rows:64px}.daily-summary-grid{grid-template-columns:1fr}}

/* NPOS finpuss etter Pakke 6: superbrukerlayout og systemadminstruktur */
body{background:#f4f5f7}.topbar{background:#1f2933;border-bottom:1px solid #374151;box-shadow:0 1px 4px rgba(15,23,42,.12)}.topbar .brand{letter-spacing:.02em}.topbar a{padding:7px 9px;border-radius:8px;color:#f8fafc}.topbar a:hover{background:#374151}.topbar .btn.secondary{border-color:#9ca3af;background:#f9fafb;color:#1f2937;border-radius:8px}.container:not(.container-full){max-width:1220px}.card{border-color:#d1d5db;border-radius:14px;box-shadow:0 1px 3px rgba(15,23,42,.06)}.npos-admin-card{background:linear-gradient(180deg,#ffffff,#f8fafc)}.npos-settings-grid .card h2{margin-bottom:6px}.modern-settings-form input,.modern-settings-form select,.modern-settings-form textarea{border-radius:10px;border-color:#cbd5e1}.admin-tenant-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:12px}.admin-tenant-tabs a{display:inline-block;border:1px solid #cbd5e1;border-radius:999px;padding:8px 12px;background:#f8fafc;color:#334155;font-weight:700}.admin-tenant-tabs a:hover{background:#eef2f7}.npos-extra-panel{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}.daily-turnover-content h4{margin:12px 0 6px}.daily-turnover-content .table.compact td:last-child{text-align:right}.npos-extra-button#open-create-gift-card-modal{background:linear-gradient(180deg,#ecfdf5,#bbf7d0);border-color:#86efac;color:#14532d}

/* NPOS pakke 7: roller og tilgangsstyring */
.permission-list{display:grid;gap:8px;margin:10px 0 14px}.permission-row{display:flex;align-items:flex-start;gap:10px;border:1px solid #d1d5db;background:#f8fafc;border-radius:10px;padding:10px}.permission-row input{width:auto;margin-top:3px}.permission-row span{display:block}.permission-row small{display:block;color:#64748b;margin-top:2px}.compact-permissions{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));max-width:620px}.permission-row.compact{padding:6px 8px;font-size:13px}.permission-row.compact span{display:inline}.role-edit-form{display:grid;gap:8px;min-width:360px}.role-edit-form input[type=text]{margin:0}.employee-edit-row{display:grid;grid-template-columns:160px 130px 150px 140px 160px auto;gap:6px;align-items:center}.employee-edit-row input,.employee-edit-row select{margin:0;min-width:0}@media(max-width:900px){.employee-edit-row{grid-template-columns:1fr}.role-edit-form{min-width:0}}

/* Pakke 7 korrigering: aktiv selger og PIN-låste adminmenyer */
.topbar a.menu-locked{opacity:.9;border:1px solid rgba(203,213,225,.35);border-radius:8px;padding:6px 9px;background:rgba(255,255,255,.08)}
.topbar-seller{display:inline-block;margin-left:10px;color:#e5e7eb;font-weight:600}
.pos-admin-unlock-card{max-width:460px;margin:30px auto}.pos-admin-unlock-form input[type=password]{font-size:24px;text-align:center;letter-spacing:.18em;max-width:220px}.pos-admin-unlock-form .actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
@media(max-width:800px){.topbar-user-info{display:block;width:100%;margin-left:0!important}.topbar-seller{display:block;margin-left:0;margin-top:4px}}

/* NPOS Pakke 8: kunderegister og kundesøk */
.customer-admin-grid{align-items:start}.customer-form textarea{min-height:76px}.checkbox-row{display:flex;align-items:center;gap:8px;font-weight:600}.actions-cell{white-space:nowrap}.inline-search-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline-search-form input{min-width:280px}.mini-table-wrapper{max-height:360px;overflow:auto}.btn-small.danger{background:#fee2e2;border-color:#fecaca;color:#991b1b}.pos-clear-customer-form{display:flex;align-items:center}.npos-customer-strip{grid-template-columns:120px 120px minmax(250px,1fr) auto}.customer-modal-box{max-width:920px}.customer-search-row{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:10px;margin-bottom:10px}.customer-search-row input{height:40px;border:1px solid #cbd5e1;border-radius:10px;padding:0 12px}.customer-result-list{border:1px solid #cbd5e1;background:#fff;border-radius:10px;max-height:430px;overflow:auto}.customer-result-row{display:grid;grid-template-columns:120px minmax(240px,1fr) 190px 130px;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid #e5e7eb;cursor:pointer}.customer-result-row:last-child{border-bottom:0}.customer-result-row:hover,.customer-result-row.selected{background:#dbeafe}.pos-display-box.customer-name-display strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pos-clear-customer-form .btn-small{height:34px;border-radius:8px}@media(max-width:900px){.customer-result-row{grid-template-columns:1fr}.customer-search-row{grid-template-columns:1fr}.npos-customer-strip{grid-template-columns:1fr}.inline-search-form input{min-width:0;width:100%}}

/* Pakke 9: produktinnstillinger og leverandørregister */
.supplier-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;align-items:end;margin-bottom:14px}.supplier-form-grid .wide{grid-column:span 2}.supplier-settings-table label{font-size:11px;color:#64748b;margin:4px 0}.supplier-settings-table input,.supplier-settings-table textarea{width:100%;min-width:120px}.compact-edit-form{gap:4px}.product-option-edit-form{gap:6px;align-items:center}.btn.danger,.btn.tiny.danger{background:#fee2e2;border-color:#fecaca;color:#991b1b}.btn.danger:hover,.btn.tiny.danger:hover{background:#fecaca}.setting-use-warning{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:10px;padding:10px;margin:8px 0}@media(max-width:800px){.supplier-form-grid .wide{grid-column:auto}.supplier-settings-table{min-width:900px}}
.supplier-card-list{display:grid;gap:12px;margin-top:12px}.supplier-card{border:1px solid #d1d5db;border-radius:12px;background:#fff;padding:12px;box-shadow:0 1px 2px rgba(15,23,42,.04)}.supplier-card-header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}.supplier-card-header strong{display:block;font-size:16px}.supplier-edit-grid{margin-top:6px}.supplier-edit-grid + .actions{margin-top:8px}

/* NPOS pakke 10: produktsøk i lagerfunksjoner */
.inventory-action-grid{align-items:stretch}
.inventory-card{border-radius:14px;border-color:#d1d5db;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.05)}
.inventory-product-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.inventory-product-picker input{height:40px;border:1px solid #cbd5e1;border-radius:10px;padding:0 12px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.inventory-product-picker .btn{margin:0;white-space:nowrap}
.inventory-selected-product{margin:7px 0 10px;padding:8px 10px;border:1px solid #e5e7eb;background:#f8fafc;border-radius:10px;color:#475569;min-height:38px}
.inventory-product-modal-box{max-width:940px}
.inventory-product-result-list .product-result-row{grid-template-columns:120px minmax(0,1fr) 160px 110px}
.inventory-result-row strong{line-height:1.25}
@media(max-width:700px){.inventory-product-picker{grid-template-columns:1fr}.inventory-product-result-list .product-result-row{grid-template-columns:1fr}}

/* NPOS Pakke 11: innkjøp og lageravdelingslås */
.readonly-location-box{border:1px solid #d1d5db;background:#f8fafc;border-radius:10px;padding:10px 12px;font-weight:700;margin-bottom:6px}
.npos-purchase-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:12px;align-items:start}.npos-purchase-main{padding:14px}.purchase-header-row{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:12px;align-items:end;margin-bottom:10px}.purchase-marking-form label{font-weight:700}.purchase-marking-form input{height:42px;border:1px solid #cbd5e1;border-radius:10px;padding:8px 12px}.purchase-total-box{border:1px solid #d1d5db;background:#fff;border-radius:12px;padding:10px 12px;text-align:right}.purchase-total-box span,.purchase-total-box small{display:block;color:#64748b}.purchase-total-box strong{display:block;font-size:24px}.purchase-search-row{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:10px;margin:8px 0}.purchase-search-row input{height:42px;border:1px solid #cbd5e1;border-radius:10px;padding:0 14px;font-size:15px}.purchase-lines-panel{height:385px}.purchase-lines-table .placeholder-row td{height:300px}.purchase-line-form{display:inline-block}.purchase-line-form input{width:85px}.purchase-actions-card form{margin-bottom:8px}.purchase-send-btn{width:100%;min-height:62px;font-size:17px;background:linear-gradient(180deg,#f8d177,#f5bb43);color:#5b3f00}.purchase-actions-card .btn{width:100%;justify-content:center;margin:0 0 6px}.admin-tenant-tabs a[href="#smtp"]{background:#eef2f7}
@media(max-width:1100px){.npos-purchase-layout{grid-template-columns:1fr}.purchase-header-row{grid-template-columns:1fr}.purchase-total-box{text-align:left}}

/* NPOS Pakke 12: varemottak */
.goods-receipt-layout .receipt-order-row{cursor:pointer}
.goods-receipt-layout .receipt-order-row.selected{outline:2px solid #3b82f6;background:#eff6ff}
.goods-receipt-order-panel{min-height:360px}
.goods-receipt-lines-panel{min-height:360px}
.goods-receipt-meta{display:grid;grid-template-columns:280px minmax(260px,1fr);gap:14px;margin:10px 0 12px;align-items:end}
.goods-receipt-meta label{display:block;font-weight:700;font-size:13px;color:#374151}
.goods-receipt-meta select,.goods-receipt-meta input{width:100%;height:40px;border:1px solid #cbd5e1;border-radius:10px;padding:8px 10px;margin-top:4px;background:#fff}
.goods-receipt-lines-table .receipt-qty-input,.goods-receipt-lines-table .receipt-price-input{width:90px}
.stacked-total{width:auto;margin:0 0 12px;min-height:auto}
.stacked-total strong{font-size:26px}
@media(max-width:900px){.goods-receipt-meta{grid-template-columns:1fr}.goods-receipt-lines-table{min-width:900px}}

/* NPOS Pakke 13: bestillingsforslag */
.purchase-suggestion-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;align-items:end;margin:12px 0 14px}.purchase-suggestion-form label{display:block;font-size:13px;color:#374151}.purchase-suggestion-form input,.purchase-suggestion-form select{width:100%;margin-top:4px;border:1px solid #cbd5e1;border-radius:10px;padding:8px 10px;background:#fff}.suggestion-lines-panel{height:430px}.suggestion-lines-panel .npos-lines-table{font-size:12px}.suggestion-lines-panel .pos-line-input{width:82px}.warning-row{background:#fff7ed}.side-total-box{width:auto;margin:8px 0 12px}.alert.info{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a}.alert.warning.small{font-size:12px;padding:8px;margin:8px 0}
@media(max-width:900px){.purchase-suggestion-form{grid-template-columns:1fr}.suggestion-lines-panel{height:320px}}

/* NPOS Pakke 14: leverandørrabattmatriser */
.soft-card{background:#f8fafc;border-color:#d1d5db;box-shadow:0 1px 2px rgba(15,23,42,.04);margin:12px 0;padding:14px}
.product-discount-card .form-row{margin-top:10px}.readonly-display{min-height:38px;border:1px solid #cbd5e1;border-radius:8px;background:#eef2f7;padding:9px 10px;font-weight:700;color:#0f172a}.editable-matrix input[type=text],.compact-inline input[type=text]{min-width:90px}.compact-inline{display:flex;gap:8px;align-items:center;margin:0}.align-end{align-items:end}.table.compact.editable-matrix td{vertical-align:middle}
