:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#183039;background:#f6f8f5;line-height:1.5}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #81a55d;outline-offset:3px}
.top{background:#132a31;color:white;border-bottom:3px solid #d8eda3}.shell{max-width:1120px;margin:auto;padding-left:20px;padding-right:20px}.top-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:87px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{display:grid;place-items:center;background:#d8eda3;color:#142a30;width:42px;height:42px;border-radius:10px;font-size:30px;font-weight:900}.brand strong{font-size:21px;letter-spacing:-.04em;display:block}.brand small{font-size:10px;letter-spacing:.13em;color:#c6d9d0;font-weight:700;display:block}.identity{font-size:12px;color:#bdcfc9;overflow-wrap:anywhere;text-align:right}
.workspace{display:grid;grid-template-columns:205px minmax(0,1fr);gap:42px;min-height:calc(100vh - 90px);padding-top:32px;padding-bottom:80px}
.nav{align-self:start;display:flex;flex-direction:column;gap:6px;position:sticky;top:20px}.nav-item{border:0;background:transparent;text-align:left;padding:13px 14px;border-radius:10px;font-weight:700;color:#526c70}.nav-item:hover,.nav-item.active{background:#e6eddc;color:#153632}.nav-item.active{box-shadow:inset 3px 0 0 #799c50}
main{min-width:0}.page[hidden],.banner[hidden]{display:none}.eyebrow{letter-spacing:.14em;color:#68816c;font-size:11px;font-weight:850;margin-top:3px;margin-bottom:10px}h1{font-size:clamp(32px,4.8vw,47px);line-height:1.1;letter-spacing:-.055em;margin:0 0 15px}h2{letter-spacing:-.035em;font-size:23px;margin:34px 0 14px}.lede{max-width:650px;color:#65787a;margin:0 0 30px;font-size:16px;line-height:1.7}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:30px}.metric{padding:18px 14px;background:#fff;border:1px solid #e3eae3;border-radius:13px}.metric strong{display:block;font-size:32px;letter-spacing:-.06em;line-height:1.2}.metric span{font-size:12px;color:#667c7a;font-weight:650}
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tile{text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:9px;background:white;border:1px solid #dfe8df;border-radius:14px;padding:20px;min-height:190px;color:#20393e;transition:transform .15s,box-shadow .15s}.tile:hover{transform:translateY(-2px);box-shadow:0 8px 24px #122d3020}.tile-icon{font-size:24px;display:grid;place-items:center;width:43px;height:43px;border-radius:10px;background:#e6efd8;color:#27422b}.tile strong{font-size:18px;letter-spacing:-.02em}.tile>span:not(.tile-icon){font-size:13px;color:#6a807a}.tile b{margin-top:auto;font-size:13px}
.panel{background:#fff;border:1px solid #dce6df;border-radius:13px;margin:0 0 15px;padding:18px}.panel summary{cursor:pointer;font-weight:800}.panel[open] summary{margin-bottom:22px}.hint{font-size:13px;color:#647878;line-height:1.6;margin:8px 0}
label{font-size:13px;font-weight:740;display:block;margin-bottom:6px}input:not([type="checkbox"]),textarea,select{width:100%;border:1px solid #bfcfca;background:#fff;color:#173039;border-radius:9px;padding:11px 12px;min-height:44px;margin-top:5px}textarea{resize:vertical}input[type="checkbox"]{width:18px;height:18px;accent-color:#315c47}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.wide{grid-column:1/-1}.checkbox-row{display:flex;align-items:center;gap:9px}.button{border:1px solid #bdcec5;background:#fff;color:#213c3b;border-radius:9px;padding:11px 15px;font-weight:800;min-height:42px}.button:hover{background:#eaf0e6}.button.primary{background:#d8eda3;border-color:#c8df8f;color:#183028}.button.primary:hover{background:#c6e18c}.button.danger{background:#fff5f2;color:#a13f2b;border-color:#ecc6bb}.button.secondary{background:#f5f8f4}
.toolbar{display:flex;align-items:center;gap:12px;margin:20px 0}.toolbar label{margin:0}.toolbar select{max-width:250px;margin:0}
.stack{display:flex;flex-direction:column;gap:12px}.card{border:1px solid #dce6df;background:white;border-radius:12px;padding:16px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.card-content{min-width:0;flex:1}.card-title{font-size:16px;font-weight:800;overflow-wrap:anywhere}.card-meta{font-size:13px;color:#647878;margin-top:5px;overflow-wrap:anywhere}.card-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;align-items:center;max-width:290px}.card-actions .button{font-size:12px;min-height:38px;padding:8px 11px}.pill{display:inline-flex;font-size:11px;font-weight:800;padding:4px 9px;border-radius:99px;background:#e6efe1;color:#365744}.pill.warning{background:#fff0cc;color:#78561d}.pill.danger{background:#ffe4da;color:#8f3527}.pill.blue{background:#dcecf8;color:#1b5d81}.pill.muted{background:#edf0f0;color:#677b7b}
.empty{padding:26px;background:#fff;border:1px dashed #cbd9cf;border-radius:12px;color:#6a7c7a;text-align:center}.muted{color:#667d7a}.banner{padding:13px 16px;background:#fff0e5;color:#874522;border-radius:10px;margin-bottom:22px}
#toast{position:fixed;bottom:16px;right:16px;max-width:380px;background:#15332d;color:#fff;border-radius:9px;padding:12px 17px;box-shadow:0 6px 26px #1233;z-index:30;opacity:0;pointer-events:none;transition:opacity .2s}#toast.show{opacity:1}
dialog{border:0;border-radius:15px;box-shadow:0 20px 70px #112d3a50;padding:22px;max-width:min(440px,95vw)}dialog::backdrop{background:#0b2029a6}.print-label{text-align:center;border:1px dashed #829c8c;padding:17px;border-radius:9px}.print-label h2{font-size:13px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 12px}.label-name{font-size:19px;font-weight:850}.label-elnr,.label-shelf{font-size:13px;margin-top:4px}.print-label img{display:block;width:230px;height:230px;max-width:100%;margin:10px auto}.print-label p{font-size:12px;margin:6px 0}.dialog-actions{display:flex;justify-content:end;gap:8px;margin-top:14px}
@media(max-width:840px){.workspace{display:block;padding-top:18px}.nav{position:static;flex-direction:row;overflow-x:auto;white-space:nowrap;gap:6px;padding-bottom:12px;margin-bottom:20px}.nav-item{padding:11px 12px;flex:none}.nav-item.active{box-shadow:inset 0 -3px 0 #799c50}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.top-inner{min-height:75px}.brand strong{font-size:17px}.brand small{font-size:8px}.identity{font-size:10px;max-width:95px}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tile{padding:14px;min-height:165px}.tile strong{font-size:15px}.tile>span:not(.tile-icon){font-size:12px}.form-grid{grid-template-columns:1fr}.card{display:block}.card-actions{margin-top:12px;max-width:none;justify-content:flex-start}.lede{font-size:15px}.shell{padding-left:14px;padding-right:14px}}
@media print{body>*:not(dialog){display:none!important}dialog{position:static!important;display:block!important;max-width:none;box-shadow:none;padding:0;border:0}dialog::backdrop{display:none}.print-label{width:82mm;height:95mm;border:1px solid #000;border-radius:0}.dialog-actions{display:none}.print-label img{width:50mm;height:50mm}}

.top-actions{display:flex;align-items:center;gap:14px}.logout-button{background:transparent;border:1px solid #68807b;color:#eef5eb;border-radius:8px;padding:8px 12px;font-weight:700;font-size:12px}.logout-button:hover{background:#25444a}.logout-button[hidden]{display:none}
.login-outer{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 125px);padding-top:24px;padding-bottom:40px}
.login-panel{width:min(100%,445px);padding:30px!important;box-shadow:0 14px 45px #122e3612}
.login-panel h1{font-size:38px}.login-panel .lede{margin-bottom:24px}.login-submit{width:100%;margin-top:18px}
.login-error{background:#fff0e5;color:#923d22;padding:12px;border-radius:8px;font-size:13px;margin-bottom:0}
.login-error[hidden]{display:none}
@media(max-width:580px){.login-panel{padding:22px!important}.top-actions{gap:8px}.logout-button{padding:7px}}

/* Intern branding and product metadata */
.brand-logo{display:block;width:min(225px,33vw);height:auto;max-height:68px;object-fit:contain}
.brand-subtitle{display:block;font-size:10px;letter-spacing:.12em;font-weight:800;color:#c9dad3}
.product-lookup-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding-top:10px}
.supplier-links{display:flex;gap:10px;flex-wrap:wrap}
.supplier-link{color:#265b51;font-size:13px;font-weight:750;text-decoration:underline;overflow-wrap:anywhere}
a.button.supplier-link{text-decoration:none;display:inline-flex;align-items:center}
.product-preview{display:flex;gap:12px;align-items:center;font-size:12px;color:#627879}
.product-preview[hidden]{display:none}
.product-preview img{width:88px;height:88px;object-fit:contain;border:1px solid #e3eae3;border-radius:8px;background:#fff}
.catalog-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0 20px}
.catalog-check{display:flex;gap:5px;align-items:center;white-space:nowrap;font-size:12px;color:#536d69}
.catalog-product-image{height:78px;width:78px;object-fit:contain;flex:none;border:1px solid #e2ebe6;border-radius:8px}
.sheet-dialog{width:min(850px,96vw);max-width:96vw;max-height:92vh;overflow:auto}
.sheet-dialog h2{margin:4px 0 10px}
.sheet-settings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.sheet-settings label{font-size:12px}
.sheet-settings .checkbox-row{align-self:center}
.sheet-preview{display:flex;flex-direction:column;align-items:center;gap:18px;max-height:47vh;overflow:auto;padding:12px;background:#eaf0ec;border-radius:10px}
.sheet-page{display:grid;grid-template-columns:repeat(var(--sheet-cols),minmax(0,1fr));grid-template-rows:repeat(var(--sheet-rows),minmax(0,1fr));gap:1.7mm;padding:0;width:194mm;height:281mm;background:white;box-shadow:0 3px 18px #16342e20}
.sheet-page.sheet-a5{width:132mm;height:194mm}
.sheet-preview .sheet-page{transform-origin:top center;flex:none}
.sheet-cell{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;text-align:center;min-width:0;min-height:0;overflow:hidden;padding:2mm;color:#111;background:white}
.sheet-cell.with-border{border:1px dashed #a7aea8}
.sheet-logo{display:block;width:min(95%,39mm);height:auto;max-height:9mm;object-fit:contain}
.sheet-name{font-weight:800;font-size:clamp(8px,1.7vw,12px);line-height:1.18;max-height:2.4em;overflow:hidden;overflow-wrap:anywhere}
.sheet-code,.sheet-shelf{font-size:10px;line-height:1.2}
.sheet-qr{display:block;max-width:100%;width:auto;height:auto;max-height:65%;aspect-ratio:1;object-fit:contain;min-height:0;flex:1}
#print-output{display:none}
@media(max-width:850px){.sheet-settings{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet-preview .sheet-page{zoom:.65}}
@media(max-width:570px){.brand-logo{width:130px}.brand-subtitle{font-size:8px}.sheet-preview .sheet-page{zoom:.38}}
@media print{
  body>*:not(dialog):not(#print-output){display:none!important}
  body > dialog{display:none!important}
  body > #print-output{display:block!important;position:static!important;visibility:visible!important;margin:0!important;padding:0!important}
  #print-output .sheet-page{width:100%;height:calc(100vh - 1mm);box-shadow:none!important;margin:0!important;page-break-after:always;break-after:page;break-inside:avoid}
  #print-output .sheet-page:last-child{page-break-after:auto;break-after:auto}
  #print-output .sheet-cell{print-color-adjust:exact;-webkit-print-color-adjust:exact}
  #print-output .sheet-name{font-size:10pt}
  #print-output .sheet-code,#print-output .sheet-shelf{font-size:8pt}
}

/* Barcode registration and scanner */
.scan-input-row{display:flex;align-items:center;gap:10px;margin-bottom:5px}
.scan-input-row input{flex:1;min-width:0}
.scan-input-row .button{flex:none;white-space:nowrap}
.scanner-panel{margin:14px 0 22px;border:1px solid #dce6df;background:#fff;padding:12px;border-radius:12px;max-width:540px}
.scanner-panel[hidden]{display:none}
.scanner-panel video{display:block;width:100%;max-height:300px;object-fit:cover;border-radius:8px;background:#142a30}
.scanner-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:10px;font-size:13px}
.barcode-management{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.barcode-list{display:flex;flex-wrap:wrap;gap:6px}
.barcode-chip{display:inline-flex;align-items:center;gap:8px;border-radius:7px;background:#e8f0e6;color:#193d34;padding:4px 6px 4px 9px;font-size:12px;font-weight:700;overflow-wrap:anywhere}
.barcode-remove{border:0;background:#fff;color:#704b43;border-radius:5px;font-size:11px;padding:3px 6px;min-height:25px}
.barcode-add-form{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.barcode-add-form input{flex:1;min-width:140px;max-width:270px;margin:0}
.barcode-add-form .button{font-size:12px;min-height:38px}
@media(max-width:580px){.scan-input-row{flex-wrap:wrap}.scan-input-row .button{width:100%}.barcode-add-form input{max-width:none}}

/* Varegrupper, godkjenningsskjema og samlebestillinger */
.catalog-group-heading{font-size:17px;color:#35584c;padding:11px 2px 4px;margin:18px 0 4px;border-bottom:1px solid #d5e2d6}
#catalog-group-filter{max-width:340px;margin-bottom:17px}
.catalog-details-controls{margin-top:12px;display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.catalog-details-controls select{max-width:245px;width:auto;min-width:120px;margin:0;font-size:12px;min-height:37px;padding:7px 9px}
.catalog-details-controls .button{font-size:12px;padding:7px 10px;min-height:37px}
.group-suggestion{padding:9px 12px;background:#edf3e7;border-radius:9px}
.create-group-row{display:flex;gap:10px;align-items:center}
.create-group-row input{flex:1;min-width:0;margin:0}
.create-group-row button{flex:none}
.project-lines{display:flex;flex-direction:column;gap:11px}
.project-line-add-actions{display:flex;gap:9px;flex-wrap:wrap}
.project-line-add-actions .button{flex:1;min-width:170px}
.project-line-custom{border-color:#b7cbbb;background:#f5faf3}
.custom-project-label{display:block;font-size:11px;font-weight:700;color:#3e6650;margin-top:5px}
.project-lines-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.project-lines-head .hint{margin:0}
.project-line{display:grid;grid-template-columns:minmax(130px,2fr) minmax(100px,1fr) 90px 105px auto;align-items:center;gap:8px;background:#f3f7f1;border:1px solid #dce7dc;border-radius:10px;padding:10px}
.project-line input,.project-line select{margin:0;min-height:40px}
.project-line .button{min-height:39px;padding:6px 10px}
.order-group-lines{display:flex;flex-direction:column;gap:7px;margin-top:12px;padding:10px 12px;background:#f4f8f2;border-radius:9px}
.order-group-line{font-size:13px;color:#345149;overflow-wrap:anywhere}
@media(max-width:740px){.project-line{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.project-line .project-name-lookup,.project-line .project-elnr-lookup{grid-column:1/-1;min-width:0}.project-line .button{grid-column:1/-1}}
@media(max-width:520px){.create-group-row{flex-wrap:wrap}.create-group-row button{width:100%}.catalog-details-controls select{max-width:100%;flex:1}.project-line{grid-template-columns:1fr 1fr}}

/* Product cards stay compact; editing is available on demand. */
.catalog-edit-panel{margin-top:12px;border-top:1px solid #e2eae4;padding-top:9px}
.catalog-edit-trigger{display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:#235a4d;font-weight:800;font-size:13px;border-radius:7px;padding:6px 8px}
.catalog-edit-trigger:hover{background:#ecf3e9}
.catalog-edit-trigger:focus-visible{outline:3px solid #81a55d;outline-offset:2px}
.pencil-icon{font-size:20px;line-height:1}
.catalog-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:15px 0}
.catalog-edit-form label{min-width:0}
.catalog-edit-form label input{max-width:100%;margin-top:4px}
.catalog-edit-form>button{justify-self:start}
.catalog-edit-panel .barcode-management{border-top:1px dashed #d4dfd6;padding-top:12px;margin-top:12px}
.remember-login{margin:16px 0 2px;font-size:13px;align-items:center}
@media(max-width:580px){.catalog-edit-form{grid-template-columns:1fr}}

/* Product photos appear directly below descriptive text, not as a lead thumbnail. */
.catalog-product-image{display:block;max-width:100%;width:150px;height:130px;object-fit:contain;flex:none;margin:12px 0 4px;padding:6px;border:1px solid #e2ebe6;border-radius:9px;background:#fff}

/* Scanned product: stock by default, project order on demand */
#unknown-barcode[hidden],#catalog-list-area[hidden],#catalog-toolbar[hidden],#catalog-add[hidden],#catalog-import[hidden],.stock-project-form[hidden],.stock-order-controls[hidden]{display:none!important}
#unknown-barcode{border-color:#b4cbb6;margin:16px 0;background:#f7faf3}
#unknown-barcode h2{margin:0 0 8px;font-size:20px}
.scan-result-dialog{width:min(560px,94vw);max-width:94vw;max-height:90dvh;overflow-y:auto;border:2px solid #8da99b;border-radius:16px;padding:18px;background:#fff;color:#183039}
.scan-result-dialog::backdrop{background:rgba(10,28,31,.65)}
.scan-result-dialog.is-unknown{border-color:#df8d39;background:#fffaf4}
.scan-result-header{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:16px}
.scan-result-header h2{margin:6px 0 0;font-size:21px;line-height:1.25}
.scan-result-header .button{flex:none}
.scan-status-chip{display:inline-flex;align-items:center;padding:5px 10px;background:#e6f2e8;border-radius:999px;color:#27523b;font-size:12px;font-weight:800}
.is-unknown .scan-status-chip{background:#ffe1ba;color:#81430b}
.scan-result-dialog #unknown-barcode{margin:0;border:1px solid #e4ae70;background:#fff2e1;padding:14px}
.scan-result-product .card{margin:0}
.scan-result-dialog [hidden]{display:none!important}
@media(max-width:580px){.scan-result-dialog{padding:14px}.scan-result-header{gap:8px}.scan-result-header h2{font-size:18px}.scan-result-dialog .barcode-association-actions .button{width:100%}}

.barcode-association-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}
.order-mode-label{font-size:12px;font-weight:800;color:#557268;margin:15px 0 6px}
.order-mode-buttons{display:flex;gap:4px;margin:0 0 16px;padding:4px;background:#eaf0ed;border:1px solid #dce7e1;border-radius:11px}
.order-mode-buttons .order-mode-choice{flex:1;min-width:0;background:transparent;border:1px solid transparent;border-radius:8px;color:#4a6860;font-size:13px;min-height:43px}
.order-mode-buttons .order-mode-choice.active{background:#fff;color:#173e31;border-color:#acc9b4;box-shadow:0 1px 5px #173a3020}
.stock-order-controls{display:flex;gap:9px;align-items:stretch;flex-wrap:wrap;border-top:1px solid #e0e9e1;padding-top:14px}
.stock-order-controls .scan-action{flex:1;min-width:145px;min-height:46px;line-height:1.3}
.scan-submit-action{background:#cce9a1!important;border-color:#a6cd78!important;color:#18372c!important}
.scan-urgent-action{background:#fff0e9!important;border-color:#e7b29c!important;color:#9b3d24!important}
.scan-existing-order{display:flex;flex-direction:column;gap:3px;padding:12px 13px;margin-top:12px;border-radius:10px;background:#f1f7f0;border:1px solid #c4d7c2;color:#244a38;font-size:13px;line-height:1.4}
.scan-existing-order strong{font-size:15px}
.scan-existing-order.is-ordered{background:#e6f1fc;border-color:#9fbfdc;color:#204d72}
.scan-result-dialog.has-existing-order .scan-status-chip{background:#dceafa;color:#23516d}
@media(max-width:480px){.stock-order-controls .scan-action{width:100%;flex-basis:100%}}

.stock-project-form{display:grid;grid-template-columns:1fr 120px 115px;gap:10px;margin:10px 0 5px;padding:12px;background:#f4f8f2;border:1px solid #dfebdf;border-radius:9px}
.stock-project-form>label:first-child{grid-column:1/-1}
.stock-project-form>label{margin:0}
.stock-project-form>button{grid-column:1/-1;justify-self:start}
#catalog-add-toggle{margin-bottom:15px}
#catalog-toolbar[hidden]{display:none!important}
.catalog-delete{margin-top:13px}
.order-group-line{display:flex;gap:10px;align-items:center;justify-content:space-between}
.copy-elnr{font-size:12px;min-height:33px;padding:5px 9px;flex-shrink:0}
@media(max-width:650px){
  .stock-project-form{grid-template-columns:1fr 1fr}
  .stock-project-form>label:first-child{grid-column:1/-1}
  .stock-project-form>button{grid-column:1/-1}
}
@media(max-width:430px){
  .stock-project-form{grid-template-columns:1fr}
  .stock-project-form>label:first-child,.stock-project-form>button{grid-column:1}
  .order-group-line{flex-wrap:wrap}
}

/* Compact grouped catalog rows: thumbnail beside title, docs on the right. */
.catalog-item{padding:10px 12px;align-items:center;gap:11px}
.catalog-item .catalog-check{align-self:center;margin:0;white-space:nowrap;font-size:11px}
.catalog-item .card-content{min-width:0;display:flex;flex-direction:column;gap:5px}
.catalog-item-main{display:flex;align-items:center;gap:10px;min-width:0}
.catalog-item-text{min-width:0;flex:1}
.catalog-item .card-title{font-size:14px;line-height:1.3}
.catalog-item .card-meta{font-size:11px;line-height:1.4;margin-top:2px}
.catalog-item .catalog-product-image{width:52px;height:52px;min-width:52px;max-width:52px;margin:0;padding:3px;object-fit:contain;background:#fff;border:1px solid #e2ebe6;border-radius:7px}
.catalog-item .card-actions{align-self:center;display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end;max-width:280px}
.catalog-item .card-actions .button{font-size:11px;min-height:31px;padding:5px 8px;line-height:1.2}
.catalog-item .card-actions .catalog-doc-link{border-color:#adc7bd;background:#eef5f0;color:#214a40}
.catalog-item .card-actions .catalog-doc-link:hover{background:#dcebe2}
.catalog-item .catalog-edit-panel{margin-top:3px;padding-top:4px}
.catalog-item .catalog-edit-trigger{font-size:11px;padding:3px 5px;font-weight:700}
.catalog-item .pencil-icon{font-size:15px}
.catalog-item .catalog-edit-form{margin:10px 0}
.catalog-fetch-documents{margin-bottom:9px}
.catalog-document-fields{border:1px solid #dce6df;border-radius:10px;padding:12px}
.catalog-document-fields summary{cursor:pointer;font-weight:750;font-size:13px}
.catalog-document-fields label{margin:8px 0}
@media(max-width:750px){
  .catalog-item{display:flex;align-items:flex-start;flex-wrap:wrap}
  .catalog-item .catalog-check{align-self:center}
  .catalog-item .card-content{flex:1;min-width:180px}
  .catalog-item .card-actions{margin:0 0 0 auto;max-width:100%;flex:0 0 auto;align-self:center}
}
@media(max-width:500px){
  .catalog-item .card-actions{width:100%;margin-left:0;justify-content:flex-start;padding-left:0}
  .catalog-item .card-actions .button{min-height:29px}
  .catalog-item-main{gap:8px}
  .catalog-item .catalog-product-image{width:44px;height:44px;min-width:44px;max-width:44px}
}

/* Tile-based compact catalog group navigation. */
.catalog-page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.catalog-page-heading h1{margin-bottom:8px}
.catalog-page-heading .lede{margin:0;font-size:13px;line-height:1.5}
.catalog-page-heading .catalog-add-small{font-size:12px;min-height:36px;padding:7px 11px;white-space:nowrap;flex-shrink:0;border-color:#b7c9bc;background:#fff;color:#25483e}
.catalog-page-heading .catalog-add-small:hover{background:#e6f0e7}
#catalog-add-toggle{margin-bottom:0}
.catalog-groups-heading{font-weight:750;font-size:13px;color:#344f45;margin:5px 0 10px}
.catalog-group-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:9px;margin-bottom:18px}
.catalog-group-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:77px;border:1px solid #dce6df;border-radius:10px;background:#fff;padding:9px 7px;text-align:center;color:#24463e;transition:background-color .15s,border-color .15s}
.catalog-group-tile:hover{background:#edf4eb;border-color:#a9c2af}
.catalog-group-tile.selected{background:#e5efda;border-color:#739a60;box-shadow:inset 0 0 0 1px #739a60}
.catalog-group-symbol{font-size:23px;line-height:1.2}
.catalog-group-name{font-size:11px;font-weight:750;line-height:1.3;overflow-wrap:anywhere}
.catalog-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.icon-copy-button{display:inline-flex!important;align-items:center;justify-content:center;min-width:32px!important;width:32px;min-height:32px!important;height:32px;padding:5px!important;flex-shrink:0}
.icon-copy-button svg{display:block;flex-shrink:0}
@media(max-width:600px){.catalog-page-heading{align-items:flex-start}.catalog-page-heading .catalog-add-small{font-size:11px;padding:6px 9px}.catalog-group-tiles{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:7px}.catalog-group-tile{min-height:70px;padding:8px 5px}.catalog-group-symbol{font-size:21px}}

/* Pending counts in the right-hand navigation: urgent and ordinary remain separate. */
.nav-with-count{display:flex;justify-content:space-between;align-items:center;gap:8px}
.nav-counts{display:inline-flex;align-items:center;gap:4px;margin-left:auto;flex-shrink:0}
.nav-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:20px;padding:2px 6px;font-size:11px;font-weight:850;line-height:1}
.nav-count-urgent{background:#b93529;color:#fff}
.nav-count-normal{background:#efc04c;color:#3f3212}
#task-date-wrapper[hidden]{display:none!important}
@media(max-width:840px){.nav-with-count{gap:6px}.nav-counts{gap:3px}}

/* Compact camera trigger in stock search */
.scan-input-row .camera-icon-button{
  display:inline-flex;align-items:center;justify-content:center;
  width:46px;min-width:46px;height:46px;min-height:46px;padding:8px;
}
.camera-icon-button svg{display:block;flex-shrink:0}

/* Orders: product details up front, small image, copy next to elnummer,
   and status/actions in a separate, unobtrusive footer. */
.order-card{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:15px}
.order-card .card-content{width:100%;min-width:0}
.order-card .card-title{font-size:17px;line-height:1.4;margin-bottom:4px}
.order-card .card-meta{font-size:12px;margin-top:5px}
.order-product-row{display:flex;align-items:center;gap:12px;min-width:0}
.order-thumbnail{width:58px;height:58px;min-width:58px;object-fit:contain;background:#fff;border:1px solid #e0e8df;border-radius:8px;padding:4px}
.order-thumbnail[hidden]{display:none}
.order-product-text{min-width:0;flex:1}
.order-product-name{font-weight:800;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.order-product-details{display:flex;flex-wrap:wrap;align-items:center;gap:5px 12px;font-size:12px;color:#637778;margin-top:4px}
.order-elnr-inline{display:inline-flex;align-items:center;gap:5px;color:#425f5f;white-space:normal}
.order-card .order-inline-copy{width:27px;min-width:27px!important;height:27px;min-height:27px!important;border-radius:7px;margin:0}
.order-card .order-inline-copy svg{width:15px;height:15px}
.order-card .order-footer{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:6px;max-width:none;margin:0;padding-top:10px;border-top:1px solid #e8eee8}
.order-card .order-footer .button{padding:6px 10px;min-height:32px;font-size:11px}
.order-card .order-footer .pill{font-size:10px;padding:4px 8px}
.order-group-products{display:flex;flex-direction:column;gap:0;margin-top:11px;border-top:1px solid #edf1ed}
.order-group-products .order-product-row{padding:10px 0;border-bottom:1px solid #edf1ed}
.order-group-products .order-product-row:last-child{border-bottom:0}
@media(max-width:580px){
  .order-card{padding:12px}
  .order-thumbnail{width:46px;height:46px;min-width:46px}
  .order-product-row{gap:9px}
  .order-card .order-footer{margin-top:0}
  .order-card .order-footer .button{min-height:32px}
}

/* Compact catalog: keep edit shortcut on the right edge of the item,
   outside the text column. Expand the existing editor only on request. */
.catalog-item{position:relative;display:flex;flex-wrap:wrap;padding:9px 12px 27px;min-height:74px}
.catalog-item>.catalog-edit-panel{position:absolute;right:11px;bottom:4px;margin:0;text-align:right;z-index:1}
.catalog-item>.catalog-edit-panel>.catalog-edit-trigger{font-size:11px;line-height:1;padding:4px 5px;color:#365d52;white-space:nowrap}
.catalog-item>.catalog-edit-panel[open]{position:static;flex:0 0 100%;width:100%;text-align:left;z-index:auto;margin-top:5px;padding-top:10px;border-top:1px solid #e2e9e1}
.catalog-item>.catalog-edit-panel[open]>.catalog-edit-trigger{margin-bottom:7px}
.catalog-item .catalog-item-text .card-title{line-height:1.3}
@media(max-width:750px){.catalog-item>.catalog-edit-panel[open]{flex-basis:100%;}}

.lookup-primary-button{font-weight:800;min-height:46px;padding:11px 18px;font-size:15px}
.catalog-sync-controls{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:12px;padding-top:10px;border-top:1px solid #e3ebe4}
.catalog-sync-controls .hint{flex:1;min-width:190px;font-size:11px}
.catalog-sync-button{min-height:38px;padding:8px 13px}

/* Interactive complete QR label sheet: each visible position is selectable. */
.sheet-layout-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 5px}
.sheet-layout-actions .button{font-size:12px;min-height:35px;padding:7px 11px}
.sheet-preview-page{display:flex;flex-direction:column;align-items:center;gap:6px;flex:none;max-width:100%}
.sheet-preview-caption{font-size:12px;font-weight:800;color:#34524e;margin:0}
.sheet-slot{position:relative;min-width:0;min-height:0;padding:0;border:1px dashed #b7c7bf;border-radius:0;background:#f7faf7;display:flex;align-items:stretch;justify-content:center;overflow:hidden;color:#31564e}
.sheet-slot:hover{border-color:#2f7251;box-shadow:inset 0 0 0 2px #2f7251}
.sheet-slot:focus-visible{outline:3px solid #c04a3b;outline-offset:-3px;z-index:2}
.sheet-slot .sheet-cell{width:100%;height:100%;pointer-events:none}
.sheet-slot-number{position:absolute;top:2px;left:3px;z-index:1;border-radius:3px;padding:1px 3px;background:#e7f1e8;color:#245743;font-size:9px;font-weight:800;line-height:1.1}
.sheet-slot-placeholder{align-self:center;font-size:12px;font-weight:800;line-height:1.2;padding:5px;color:#547b69;overflow-wrap:anywhere}
.sheet-blank{border:0!important;background:#fff}
.sheet-picker{width:min(430px,94vw);max-width:94vw}
.sheet-picker h3{font-size:20px;margin:0 0 6px}
.sheet-picker label{margin-top:12px}
.sheet-picker select{height:180px;min-height:160px}
.sheet-picker select option{padding:6px}
.sheet-picker-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end;margin-top:15px}
.sheet-picker-actions .button{min-height:37px;font-size:12px;padding:7px 10px}
@media print{
 .sheet-slot,.sheet-picker,.sheet-layout-actions{display:none!important}
 #print-output .sheet-blank{border:0!important}
}

/* Orders: status stays beside the product, actions move to the right above the divider. */
.order-card{display:block;padding:14px 15px;min-width:0}
.order-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;min-width:0}
.order-card-body{flex:1;min-width:0}
.order-card-header-actions{flex:none;max-width:50%;display:flex;justify-content:flex-end;align-items:flex-start}
.order-quick-actions{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:114px}
.order-quick-actions .button{padding:7px 10px;min-height:34px;font-size:12px;white-space:nowrap}
.order-quick-actions .order-action-bestilt{background:#deedba;border-color:#a9c981;color:#244b26}
.order-quick-actions .order-action-mottatt{background:#dce9f5;border-color:#9cbad0;color:#24546e}
.order-quick-actions .order-followup{font-weight:650;font-size:11px}
.order-status-badges{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin-top:7px}
.order-status-badges .pill{font-size:12px;padding:6px 11px;line-height:1.2}
.order-meta-block{margin-top:7px}
.order-extra{font-size:11px}
.order-project-heading{display:flex;align-items:flex-start;flex-direction:column;gap:4px}
.order-project-name{font-size:17px;font-weight:850;line-height:1.3}
.order-project-number{font-size:12px;color:#536c6a}
.order-group-completion{display:flex;align-items:center;gap:8px;max-width:205px;margin:0;background:#f3f7f1;border:1px solid #d9e5d5;border-radius:10px;padding:9px 11px;font-size:12px;line-height:1.3}
.order-group-completion input{accent-color:#417746;opacity:1;cursor:default;flex:none}
.order-group-completion input:disabled{opacity:1}
.order-project-line{gap:12px}
.order-project-line>.order-quick-actions{margin-left:auto}
.order-project-line .order-status-badges{flex-direction:row;flex-wrap:wrap}
.order-project-line .order-status-badges .pill{font-size:11px;padding:4px 9px}
.order-project-line .order-quick-actions{min-width:110px}
.project-name-lookup,.project-elnr-lookup{min-width:0;position:relative}
.project-elnr-lookup .line-elnr{width:100%}
.project-name-lookup .line-name{width:100%}
.project-product-suggestions{position:absolute;left:0;top:100%;width:max(100%,300px);max-width:min(520px,90vw);max-height:270px;overflow:auto;z-index:20;background:white;border:1px solid #aebfb6;border-radius:8px;padding:5px;box-shadow:0 8px 20px #173b2d26}
.project-product-suggestions[hidden]{display:none}
.project-product-option{display:flex;align-items:flex-start;flex-direction:column;text-align:left;gap:3px;width:100%;border:0;border-radius:6px;background:transparent;padding:9px;color:#173a35}
.project-product-option:hover,.project-product-option:focus-visible{background:#e7f1e1}
.project-product-option small{font-size:11px;color:#617971}
@media(max-width:670px){
  .order-card-header{gap:8px}
  .order-card-header-actions{max-width:43%}
  .order-quick-actions{min-width:90px}
  .order-quick-actions .button{font-size:11px;padding:7px}
  .order-product-row{align-items:flex-start}
  .order-project-line{flex-wrap:wrap}
  .order-project-line>.order-quick-actions{margin:6px 0 0 auto}
  .project-product-suggestions{max-width:min(450px,85vw)}
}

/* Order workflow: three persistent horizontal status tabs instead of a dropdown. */
.order-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:18px 0 16px;padding:5px;background:#eaf0eb;border:1px solid #dce6dc;border-radius:12px}
.order-tab{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;padding:12px 8px;background:transparent;color:#46665b;border:1px solid transparent;border-radius:9px;font-size:13px;font-weight:800;white-space:normal;line-height:1.3;cursor:pointer}
.order-tab:hover{background:#f6faf5}
.order-tab.active{background:#fff;color:#15382f;border-color:#bfd4bf;box-shadow:0 2px 6px #16362a12}
.order-tab-count{font-size:11px;min-width:21px;padding:3px 6px;border-radius:999px;background:#d5e2d3;color:#365247;font-weight:850;line-height:1.15}
.order-tab.active .order-tab-count{background:#daebc2;color:#294832}
.order-tab:focus-visible{outline:3px solid #8aad5f;outline-offset:1px}
.order-line-date{color:#4e6b60;font-size:11px;margin-top:7px;font-weight:650}
@media(max-width:560px){.order-tabs{gap:3px;padding:4px}.order-tab{font-size:12px;padding:11px 4px;gap:4px}.order-tab-count{font-size:10px;padding:3px 5px;min-width:18px}}

/* Projects: status and ownership overview */
.project-card{background:#fff;border:1px solid #dce6df;border-radius:13px;padding:18px}
.project-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.project-card-heading h2{margin:0 0 5px;font-size:20px}
.project-number,.project-owner-text{font-size:13px;color:#567068}
.project-status-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0}
.project-status-stat{background:#f2f6f0;border:1px solid #e2eae1;border-radius:9px;padding:10px;text-align:center}
.project-status-stat strong{display:block;font-size:23px}
.project-status-stat span{font-size:11px;color:#526b60}
.project-material-list{display:flex;flex-direction:column;gap:8px}
.project-material-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;border-top:1px solid #edf2ec}
.project-material-row>div{min-width:0}
.project-material-row strong{display:block;font-size:13px;overflow-wrap:anywhere}
.project-material-row small{display:block;color:#607872;margin-top:3px}
.project-material-row .pill{flex:none}
.project-owner-edit{margin-top:15px;padding-top:10px;border-top:1px solid #e7eee7}
.project-owner-edit summary{font-size:13px;font-weight:750;cursor:pointer}
.project-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px}
.project-edit-form button{align-self:end}
.stock-project-form>label:first-child{grid-column:1/-1}
@media(max-width:580px){.project-card{padding:13px}.project-card-heading>.button{width:100%}.project-edit-form{grid-template-columns:1fr}}

/* WARBOARD identity in the internal header; retains the existing Elektroservice logo. */
.warboard-brand{display:inline-flex;align-items:center;gap:9px;min-width:0;padding-left:15px;border-left:1px solid #658078}
.warboard-emblem{display:grid;place-items:center;width:39px;height:39px;flex:none}
.warboard-emblem svg{width:100%;height:100%}
.warboard-wordmark{font-size:clamp(15px,2vw,21px);font-weight:900;letter-spacing:.11em;line-height:1;color:#f3f8e9;white-space:nowrap}
@media(max-width:700px){.brand{gap:9px}.warboard-brand{gap:6px;padding-left:9px}.warboard-emblem{width:30px;height:30px}.warboard-wordmark{font-size:13px;letter-spacing:.07em}}
@media(max-width:440px){.top-inner{gap:8px}.brand-logo{width:105px}.warboard-brand{padding-left:7px;gap:4px}.warboard-emblem{width:24px;height:24px}.warboard-wordmark{font-size:11px;letter-spacing:.035em}.top-actions{flex-shrink:0}.identity{display:none}}

/* Project overview stays compact; material lines and ordering open inside each project. */
#project-detail[hidden],#projects-overview[hidden]{display:none!important}
#projects-search{margin:3px 0 18px}
.project-list-card{background:white;border:1px solid #dce6df;border-radius:12px;overflow:hidden}
.project-list-open{display:flex;align-items:center;gap:14px;width:100%;padding:16px;border:0;background:transparent;color:#183039;text-align:left;min-height:80px}
.project-list-open:hover,.project-list-open:focus-visible{background:#f0f6ee}
.project-list-title{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.project-list-title strong{font-size:17px;overflow-wrap:anywhere}
.project-list-title span{font-size:12px;color:#657d74;overflow-wrap:anywhere}
.project-list-statuses{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;align-items:center}
.project-list-muted{font-size:12px;color:#758982;white-space:nowrap}
.project-list-arrow{font-size:29px;line-height:1;color:#678578}
.project-back{margin-bottom:18px}
#project-detail #new-order-panel{margin-top:18px}
@media(max-width:580px){
  .project-list-open{gap:10px;padding:13px 11px;flex-wrap:wrap}
  .project-list-title{flex-basis:calc(100% - 32px)}
  .project-list-statuses{order:3;width:100%;justify-content:flex-start}
  .project-list-arrow{margin-left:auto}
}

/* Place WARBOARD at the visual centre of the header, with its subtitle directly below. */
.top-inner{position:relative}
.brand-company{display:flex;align-items:center;flex:none}
.brand .warboard-brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:5px;margin-left:0;padding-left:0;border-left:0;white-space:nowrap}
.warboard-main{display:inline-flex;align-items:center;justify-content:center;gap:9px}
.warboard-brand .brand-subtitle{font-size:9px;letter-spacing:.10em;line-height:1.25;text-align:center;white-space:nowrap}
@media(max-width:700px){
  /* Keep all three header elements in one compact row on phones. */
  .top-inner{min-height:82px;align-items:center;flex-wrap:nowrap;padding-top:8px;padding-bottom:8px}
  .brand .warboard-brand{top:50%;bottom:auto;transform:translate(-50%,-50%)}
  .warboard-main{gap:6px}
  .warboard-brand .brand-subtitle{font-size:8px;letter-spacing:.04em}
  .brand-logo{width:110px}
  .identity{display:none}
}
@media(max-width:440px){
  .top-inner{gap:8px;min-height:78px;padding-top:7px;padding-bottom:7px}
  .brand{gap:0}
  .brand-logo{width:95px}
  .warboard-emblem{width:23px;height:23px}
  .warboard-wordmark{font-size:11px;letter-spacing:.025em}
  .warboard-main{gap:4px}
  .warboard-brand .brand-subtitle{font-size:7px;letter-spacing:0}
  .top-actions{margin-left:auto}
}
@media(max-width:350px){
  .brand-logo{width:83px}
  .warboard-emblem{width:20px;height:20px}
  .warboard-wordmark{font-size:10px}
  .warboard-brand .brand-subtitle{font-size:6.5px}
  .logout-button{padding:6px 8px}
}
