.opxbo{display:grid;gap:14px}.opxbo-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.opxbo-toolbar .left,.opxbo-toolbar .right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.opxbo-input,.opxbo-select,.opxbo textarea{min-height:42px;border:1px solid #cfe0e5;border-radius:11px;background:#fff;color:#082737;padding:9px 12px;outline:none}.opxbo-input:focus,.opxbo-select:focus,.opxbo textarea:focus{border-color:#46cce1;box-shadow:0 0 0 3px #46cce126}.opxbo-search{min-width:min(420px,70vw)}.opxbo-card{background:#fff;border:1px solid #dbe8ec;border-radius:18px;box-shadow:0 12px 34px #061b2709;overflow:hidden}.opxbo-table-wrap{overflow:auto}.opxbo-table{width:100%;border-collapse:collapse;min-width:880px;font-size:.76rem}.opxbo-table th{position:sticky;top:0;z-index:1;text-align:left;background:#f3f8fa;color:#4f6975;padding:11px 12px;border-bottom:1px solid #dbe8ec;font-size:.66rem;text-transform:uppercase;letter-spacing:.04em}.opxbo-table td{padding:12px;border-bottom:1px solid #edf3f5;vertical-align:middle}.opxbo-table tbody tr:hover{background:#f8fcfd}.opxbo-table strong{display:block}.opxbo-table small{display:block;color:#6c838e;margin-top:2px}.opxbo-actions{display:flex;gap:6px;flex-wrap:wrap}.opxbo-btn{min-height:36px;border:1px solid #cfe0e5;border-radius:999px;background:#fff;color:#082737;padding:0 12px;font-size:.7rem;font-weight:850;cursor:pointer}.opxbo-btn:hover{border-color:#46cce1;background:#edfafd}.opxbo-btn.primary{border-color:#46cce1;background:#46cce1;color:#061b27}.opxbo-btn.danger{border-color:#f0bac4;background:#fff0f3;color:#9d1831}.opxbo-btn:disabled{opacity:.5;cursor:not-allowed}.opxbo-badge{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:999px;background:#edf5f7;color:#385764;font-size:.64rem;font-weight:850}.opxbo-badge.ok{background:#def7ed;color:#087052}.opxbo-badge.warn{background:#fff2d9;color:#855d00}.opxbo-badge.bad{background:#ffe8ed;color:#9b1c36}.opxbo-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.opxbo-kpi{padding:14px;border:1px solid #dbe8ec;border-radius:14px;background:#fff}.opxbo-kpi small{display:block;color:#647c87;font-size:.64rem;font-weight:850;text-transform:uppercase}.opxbo-kpi strong{display:block;margin-top:5px;font-size:1.25rem}.opxbo-empty{padding:38px;text-align:center;color:#617984}.opxbo-modal{position:fixed;z-index:2147483600;inset:0;background:#041923d9;backdrop-filter:blur(12px);display:grid;place-items:center;padding:20px;overflow:auto}.opxbo-dialog{width:min(1100px,100%);max-height:94vh;overflow:auto;background:#fff;border:1px solid #dbe8ec;border-radius:22px;box-shadow:0 32px 90px #0005}.opxbo-dialog.small{width:min(720px,100%)}.opxbo-dialog-head{position:sticky;top:0;z-index:4;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px;border-bottom:1px solid #dbe8ec;background:#f8fbfc}.opxbo-dialog-head h2{font-size:1.12rem;margin:0}.opxbo-dialog-head p{font-size:.72rem;margin:4px 0 0}.opxbo-dialog-body{padding:18px}.opxbo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.opxbo-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.opxbo-field{display:grid;gap:6px}.opxbo-field.wide{grid-column:1/-1}.opxbo-field label{font-size:.68rem;color:#58717d;font-weight:850}.opxbo-field input,.opxbo-field select,.opxbo-field textarea{width:100%;min-height:44px;border:1px solid #cfe0e5;border-radius:11px;padding:9px 11px;background:#fff}.opxbo-field textarea{min-height:88px;resize:vertical}.opxbo-line-list{display:grid;gap:8px;margin-top:14px}.opxbo-line{display:grid;grid-template-columns:minmax(180px,1.6fr) minmax(170px,1.2fr) 90px 90px 90px 90px 42px;gap:7px;align-items:end;padding:10px;border:1px solid #dbe8ec;border-radius:13px;background:#f9fcfd}.opxbo-line .opxbo-field label{font-size:.6rem}.opxbo-line input,.opxbo-line select{min-width:0}.opxbo-line-total{font-size:.72rem;font-weight:900;padding:0 4px 12px}.opxbo-dialog-foot{position:sticky;bottom:0;z-index:4;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 18px;border-top:1px solid #dbe8ec;background:#fff}.opxbo-totals{display:flex;gap:18px;flex-wrap:wrap;font-size:.72rem}.opxbo-totals strong{font-size:.9rem}.opxbo-doc{padding:34px;background:#fff;color:#172d37}.opxbo-doc-head{display:flex;justify-content:space-between;gap:24px;border-bottom:2px solid #102f3e;padding-bottom:18px}.opxbo-doc-brand{font-size:1.35rem;font-weight:950}.opxbo-doc-type{text-align:right}.opxbo-doc-type h2{margin:0 0 5px;font-size:1.65rem}.opxbo-doc-meta{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin:24px 0}.opxbo-doc-table{width:100%;border-collapse:collapse;font-size:.78rem}.opxbo-doc-table th,.opxbo-doc-table td{padding:9px;border-bottom:1px solid #dfe9ec;text-align:left}.opxbo-doc-table th{background:#f3f8fa}.opxbo-doc-table .num{text-align:right}.opxbo-doc-total{margin:18px 0 0 auto;width:min(360px,100%)}.opxbo-doc-total div{display:flex;justify-content:space-between;padding:6px 0}.opxbo-doc-total div:last-child{border-top:2px solid #102f3e;font-size:1rem;font-weight:900}.opxbo-stock-negative{color:#af1733;font-weight:950}.opxbo-stock-low{color:#8a6200;font-weight:900}.opxbo-note{padding:12px 14px;border:1px solid #cfe7eb;border-radius:12px;background:#f2fbfc;color:#4e6974;font-size:.72rem;line-height:1.55}.opxbo-note.warn{border-color:#f2dda7;background:#fff8e8;color:#715516}.opxbo-json{max-height:55vh;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#061b27;color:#dff8fb;border-radius:13px;padding:14px;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}.opxbo-mobile-cards{display:none}.opxbo-nav-custom{display:flex!important;align-items:center!important;justify-content:space-between!important}.opxbo-nav-custom.active{color:#061b27!important;background:#46cce1!important}.opxbo-spinner{width:22px;height:22px;border:3px solid #cbe9ee;border-top-color:#079db2;border-radius:50%;animation:opxbospin .8s linear infinite;margin:30px auto}@keyframes opxbospin{to{transform:rotate(360deg)}}
@media(max-width:1100px){.opxbo-summary{grid-template-columns:repeat(2,1fr)}.opxbo-line{grid-template-columns:1.5fr 1.2fr 74px 84px 78px 78px 40px}}
@media(max-width:760px){.opxbo-summary{grid-template-columns:1fr 1fr}.opxbo-search{min-width:0;width:100%}.opxbo-toolbar{align-items:stretch}.opxbo-toolbar .left,.opxbo-toolbar .right{width:100%}.opxbo-toolbar .right .opxbo-btn{flex:1}.opxbo-table-wrap{display:none}.opxbo-mobile-cards{display:grid;gap:9px;padding:10px}.opxbo-mobile-card{padding:13px;border:1px solid #dbe8ec;border-radius:13px;background:#fff;display:grid;gap:8px}.opxbo-mobile-card-head{display:flex;justify-content:space-between;gap:12px}.opxbo-mobile-card small{color:#657d88}.opxbo-grid,.opxbo-grid.three{grid-template-columns:1fr}.opxbo-line{grid-template-columns:1fr 1fr}.opxbo-line>.opxbo-field:first-child,.opxbo-line>.opxbo-field:nth-child(2){grid-column:1/-1}.opxbo-line-total{padding:10px 4px}.opxbo-dialog{width:100%;min-height:100dvh;max-height:none;border-radius:0}.opxbo-modal{padding:0}.opxbo-dialog-head{padding:max(14px,env(safe-area-inset-top)) 14px 12px}.opxbo-dialog-body{padding:14px}.opxbo-dialog-foot{padding:12px 14px max(12px,env(safe-area-inset-bottom));flex-direction:column;align-items:stretch}.opxbo-dialog-foot .opxbo-actions{width:100%}.opxbo-dialog-foot .opxbo-btn{flex:1}.opxbo-doc{padding:18px}.opxbo-doc-head,.opxbo-doc-meta{grid-template-columns:1fr;display:grid}.opxbo-doc-type{text-align:left}.opxbo-doc-table{font-size:.68rem}.opxbo-summary{grid-template-columns:1fr}.opxbo-kpi{padding:11px}}
@media print{body>*{display:none!important}.opxbo-print-host{display:block!important;position:absolute!important;inset:0!important}.opxbo-print-host *{visibility:visible!important}.opxbo-doc{padding:10mm}.opxbo-doc-actions{display:none!important}}


/* v1.1.1 UX patch: consistent, touch-friendly business forms */
.opxbo-input,.opxbo-select,.opxbo textarea,.opxbo-field input,.opxbo-field select,.opxbo-field textarea{
  min-height:48px;border-radius:12px;padding:11px 13px;line-height:1.35;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.opxbo-field{gap:7px}.opxbo-field label{font-size:.72rem;color:#315462;line-height:1.35}.opxbo-field label small{color:#758b95;font-weight:600}
.opxbo-input:hover,.opxbo-select:hover,.opxbo textarea:hover,.opxbo-field input:hover,.opxbo-field select:hover,.opxbo-field textarea:hover{border-color:#9fc5cf}
.opxbo-input:focus,.opxbo-select:focus,.opxbo textarea:focus,.opxbo-field input:focus,.opxbo-field select:focus,.opxbo-field textarea:focus{border-color:#29bfd6;box-shadow:0 0 0 4px #46cce124,0 2px 6px #061b2708;outline:none}
.opxbo input:disabled,.opxbo select:disabled,.opxbo textarea:disabled{cursor:not-allowed;background:#f4f8fa;color:#718690;border-color:#dbe6ea}
.opxbo-btn{min-height:42px;padding-inline:14px}.opxbo-dialog-body{display:grid;gap:16px}.opxbo-line{gap:9px;padding:12px}.opxbo-dialog-foot{min-height:66px}
@media(max-width:760px){.opxbo-input,.opxbo-select,.opxbo textarea,.opxbo-field input,.opxbo-field select,.opxbo-field textarea{min-height:50px;font-size:16px}.opxbo-btn{min-height:46px}}


/* v1.2.0 Mehrlager-UX */
.opxbo-tabs{display:flex;gap:7px;align-items:center;flex-wrap:wrap;padding:5px;border:1px solid #dbe8ec;border-radius:14px;background:#eef6f8;width:max-content;max-width:100%}
.opxbo-tab{min-height:38px;border:0;border-radius:10px;background:transparent;color:#58717d;padding:0 14px;font-size:.72rem;font-weight:900;cursor:pointer}
.opxbo-tab:hover{background:#fff;color:#082737}.opxbo-tab.active{background:#082737;color:#fff;box-shadow:0 7px 18px #061b2720}
.opxbo-stock-chips{display:flex;gap:5px;flex-wrap:wrap;align-items:center}.opxbo-stock-chip{display:inline-grid;grid-template-columns:auto auto;gap:6px;align-items:center;padding:5px 8px;border:1px solid #d8e7eb;border-radius:999px;background:#f7fbfc;color:#264b5a}.opxbo-stock-chip small{margin:0!important;color:#65808b!important;font-size:.58rem!important;font-weight:900}.opxbo-stock-chip strong{font-size:.68rem}.opxbo-stock-chip.bad{border-color:#f1bdc7;background:#fff0f3;color:#9b1c36}
.opxbo-warehouse-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.opxbo-warehouse-card{padding:17px;display:grid;gap:14px;overflow:visible}.opxbo-warehouse-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.opxbo-warehouse-head h3{margin:9px 0 2px;font-size:1rem}.opxbo-warehouse-head>strong{font-size:1.55rem;letter-spacing:-.03em}.opxbo-warehouse-head .opxbo-badge+.opxbo-badge{margin-left:5px}.opxbo-warehouse-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.opxbo-warehouse-meta span{display:grid;gap:3px;padding:9px;border:1px solid #e0eaed;border-radius:11px;background:#f8fbfc}.opxbo-warehouse-meta small{color:#6c838e;font-size:.58rem;font-weight:850;text-transform:uppercase}.opxbo-warehouse-meta strong{font-size:.82rem}
@media(max-width:1100px){.opxbo-warehouse-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.opxbo-tabs{width:100%;display:grid;grid-template-columns:1fr 1fr}.opxbo-tab{min-height:44px;padding:0 8px}.opxbo-warehouse-grid{grid-template-columns:1fr}.opxbo-warehouse-meta{grid-template-columns:repeat(3,1fr)}.opxbo-stock-chips{margin-top:3px}}


/* v1.2.3 Mobile-App UX patch */
@media (max-width:760px){
  .opxbo{gap:12px;padding-bottom:max(18px,env(safe-area-inset-bottom))}
  .opxbo-card{border-radius:16px;box-shadow:0 8px 24px #061b2708}
  .opxbo-toolbar{gap:9px}
  .opxbo-toolbar .left,.opxbo-toolbar .right{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-items:stretch}
  .opxbo-toolbar .left>*:not(.opxbo-actions),.opxbo-toolbar .right>*:not(.opxbo-actions){width:100%;min-width:0}
  .opxbo-search{width:100%;max-width:none}
  .opxbo-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:100%}
  .opxbo-actions .opxbo-btn{width:100%;min-width:0;white-space:normal;line-height:1.2;padding:8px 10px}
  .opxbo-mobile-cards{gap:10px;padding:0}
  .opxbo-mobile-card{gap:10px;padding:14px;border-radius:16px;box-shadow:0 6px 20px #061b2706}
  .opxbo-mobile-card-head{align-items:flex-start;min-width:0}
  .opxbo-mobile-card-head>div{min-width:0}
  .opxbo-mobile-card-head strong,.opxbo-mobile-card-head small{overflow-wrap:anywhere}
  .opxbo-mobile-card-head .opxbo-badge{flex:0 0 auto;max-width:46%;white-space:normal;text-align:center;justify-content:center}
  .opxbo-tabs{display:flex!important;flex-wrap:nowrap!important;width:100%!important;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;padding:5px}
  .opxbo-tabs::-webkit-scrollbar{display:none}
  .opxbo-tab{flex:0 0 auto;min-height:46px;scroll-snap-align:start;padding:0 14px;white-space:nowrap}
  .opxbo-dialog{height:100dvh!important;min-height:0!important;max-height:100dvh!important;border:0;border-radius:0!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .opxbo-modal{height:100dvh;max-height:100dvh;padding:0!important;overflow:hidden!important;place-items:stretch}
  .opxbo-dialog-head{top:0;padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) 12px max(14px,env(safe-area-inset-left));background:#f8fbfcf2;backdrop-filter:blur(14px)}
  .opxbo-dialog-head>div{min-width:0}
  .opxbo-dialog-head h2,.opxbo-dialog-head p{overflow-wrap:anywhere}
  .opxbo-dialog-body{padding:14px max(14px,env(safe-area-inset-right)) 18px max(14px,env(safe-area-inset-left))}
  .opxbo-dialog-foot{bottom:0;padding:12px max(14px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));background:#fffffff2;backdrop-filter:blur(14px)}
  .opxbo-dialog-foot>.opxbo-btn{width:100%}
  .opxbo-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}
  .opxbo-totals>span{display:grid;gap:2px;padding:8px 10px;border:1px solid #e0eaed;border-radius:10px;background:#f8fbfc;min-width:0}
  .opxbo-totals strong{overflow-wrap:anywhere}
  .opxbo-line{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;padding:12px!important;border-radius:15px!important}
  .opxbo-line>.opxbo-field:first-child,.opxbo-line>.opxbo-field:nth-child(2){grid-column:1/-1!important}
  .opxbo-line>.opxbo-btn.danger{grid-column:1/-1!important;width:100%!important;min-height:44px!important}
  .opxbo-line-total{grid-column:1/-1!important;padding:8px 2px 2px!important;text-align:right}
  .opxbo-warehouse-meta{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .opxbo-warehouse-meta span{min-width:0}
  .opxbo-stock-chips{gap:6px}
  .opxbo-stock-chip{max-width:100%}
  .opxbo-stock-chip small,.opxbo-stock-chip strong{overflow-wrap:anywhere}
  .opxbo-json{max-height:none;font-size:11px;padding:12px}
  .opxbo-doc{padding:16px;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .opxbo-doc-head{gap:14px}
  .opxbo-doc-meta{gap:14px;margin:18px 0}
  .opxbo-empty{padding:26px 16px}
}
@media (max-width:390px){
  .opxbo-actions{grid-template-columns:1fr}
  .opxbo-totals{grid-template-columns:1fr}
  .opxbo-line{grid-template-columns:1fr!important}
  .opxbo-line>.opxbo-field{grid-column:1!important}
  .opxbo-line>.opxbo-btn.danger,.opxbo-line-total{grid-column:1!important}
  .opxbo-warehouse-meta{grid-template-columns:1fr 1fr!important}
}
@media (max-width:900px) and (orientation:landscape) and (max-height:560px){
  .opxbo-dialog-head{padding-top:max(10px,env(safe-area-inset-top));padding-bottom:9px}
  .opxbo-dialog-body{padding-top:10px}
  .opxbo-dialog-foot{padding-top:9px}
}
@media (hover:none) and (pointer:coarse){
  .opxbo-btn:hover,.opxbo-tab:hover{transform:none}
  .opxbo-btn,.opxbo-tab{touch-action:manipulation}
}


/* v1.3.0 Ledgero Mandanten-Datenaustausch */
.opxbo-ledgero-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0}
.opxbo-ledgero-check{display:flex;align-items:flex-start;gap:10px;padding:12px 13px;border:1px solid #dbe8ec;border-radius:13px;background:#f8fbfc;cursor:pointer}
.opxbo-ledgero-check input{width:19px;height:19px;flex:0 0 auto;margin-top:2px;accent-color:#079db2}
.opxbo-ledgero-check span{display:grid;gap:2px;min-width:0}.opxbo-ledgero-check strong{font-size:.82rem;color:#163d4d}.opxbo-ledgero-check small{font-size:.68rem;color:#67808b;line-height:1.4}
.opxbo-ledgero-check.warning{border-color:#f0d4a4;background:#fffaf0}.opxbo-ledgero-check.warning strong{color:#76500a}
.opxbo-history-list{display:grid;gap:7px;margin-top:10px}.opxbo-history-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid #dfeaed;border-radius:11px;background:#f9fcfd}.opxbo-history-row>div{display:grid;gap:2px;min-width:0}.opxbo-history-row strong{font-size:.76rem;overflow-wrap:anywhere}.opxbo-history-row small{font-size:.62rem;color:#6d838d}.opxbo-badge.ok{background:#dcf7ed;color:#09694e;border-color:#bcebd9}
.opxbo-legacy{overflow:hidden}.opxbo-legacy>summary{list-style:none;cursor:pointer;padding:14px 16px;font-size:.76rem;font-weight:900;color:#42616e;display:flex;align-items:center;justify-content:space-between;gap:12px}.opxbo-legacy>summary::-webkit-details-marker{display:none}.opxbo-legacy>summary::after{content:'+';font-size:1rem}.opxbo-legacy[open]>summary::after{content:'−'}
@media(max-width:760px){.opxbo-ledgero-checks{grid-template-columns:1fr}.opxbo-ledgero-check{min-height:58px}.opxbo-history-row{align-items:flex-start}.opxbo-legacy>summary{min-height:48px}}

/* v1.3.1 – zentrale Firmendaten in Belegkopf und Fusszeile */
.opxbo-doc{min-height:980px;display:flex;flex-direction:column;box-sizing:border-box}
.opxbo-doc-company{display:flex;align-items:center;gap:12px;min-width:0}
.opxbo-doc-company>div{min-width:0}
.opxbo-doc-logo{display:block;max-width:190px;max-height:62px;object-fit:contain;object-position:left center}
.opxbo-doc-payment-note{margin-top:22px;padding:10px 12px;border:1px solid #dbe8ec;border-radius:10px;background:#f6fafb;font-size:.72rem;line-height:1.55;color:#526b76}
.opxbo-doc-note{margin-top:24px;font-size:.74rem;line-height:1.55}
.opxbo-doc-footer{margin-top:auto;padding-top:28px;border-top:1px solid #dbe8ec;display:grid;grid-template-columns:1.15fr 1fr 1.2fr;gap:18px;font-size:.65rem;line-height:1.55;color:#657d88}
.opxbo-doc-footer strong{color:#172d37}
.opxbo-doc-footer-note{grid-column:1/-1;border-top:1px solid #edf3f5;padding-top:9px}
@media(max-width:760px){.opxbo-doc{min-height:0}.opxbo-doc-company{align-items:flex-start}.opxbo-doc-logo{max-width:140px;max-height:50px}.opxbo-doc-footer{grid-template-columns:1fr;gap:10px;margin-top:28px}.opxbo-doc-footer-note{grid-column:auto}}
