/* Keravin.INTERN v1.3.0.9 – Artikel/Beschaffung/Lager Funktionen */
.v139-qtybox{display:flex;flex-direction:column;gap:3px;min-width:92px}.v139-qtybox>input[type=number]{width:100%}.v139-qtybox small{font-size:.7rem;line-height:1.2;color:var(--muted,#68727b);white-space:normal}.v139-qtybox small.changed{font-weight:800;color:#8a5b00}.v139-pack-dialog{border:0;background:transparent;padding:0;max-width:min(560px,94vw)}.v139-pack-dialog::backdrop{background:rgba(18,24,28,.4)}.v139-pack-card{background:var(--card,#fff);border-radius:16px;padding:20px;box-shadow:0 20px 60px rgba(0,0,0,.24)}.v139-pack-choices{display:grid;gap:8px;margin:14px 0}.v139-pack-choices button{display:flex;justify-content:space-between;gap:12px;align-items:center;text-align:left}.v139-pack-choices small{display:block;opacity:.7}.erp139-pack-list{display:grid;gap:7px}.erp139-pack-list>div{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid rgba(0,0,0,.1);border-radius:10px}.erp139-pack-list>div>span{margin-left:auto;font-size:.78rem;opacity:.72}.erp139-subtabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.erp139-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0}.erp139-toolbar input{min-width:240px;flex:1}.erp139-table-wrap{overflow:auto;border:1px solid rgba(0,0,0,.09);border-radius:12px}.erp139-table{width:100%;border-collapse:collapse;min-width:860px}.erp139-table th,.erp139-table td{padding:9px 10px;border-bottom:1px solid rgba(0,0,0,.07);text-align:left;vertical-align:top}.erp139-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;background:rgba(0,0,0,.035);position:sticky;top:0}.erp139-table .num{text-align:right}.erp139-table small{display:block;margin-top:2px;opacity:.68}.erp139-warn{font-weight:800;color:#8a5b00}.erp139-ok{font-weight:800;color:#217346}.erp139-supplier-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgba(0,0,0,.09);border-radius:12px;margin-bottom:8px}.erp139-supplier-card strong,.erp139-supplier-card small{display:block}.erp139-supplier-card small{opacity:.68;margin-top:3px}.erp139-quick-move{display:grid;gap:12px}.erp139-tiler-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.erp139-tiler-btn{min-height:88px;border:1px solid rgba(0,0,0,.12);border-radius:14px;background:var(--card,#fff);padding:14px;text-align:left;cursor:pointer}.erp139-tiler-btn strong,.erp139-tiler-btn small{display:block}.erp139-tiler-btn strong{font-size:1.08rem}.erp139-tiler-btn small{margin-top:5px;opacity:.68}.erp139-tiler-btn.active{outline:3px solid rgba(46,110,160,.22);border-color:#2e6ea0}.erp139-quick-job{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 12px;border-radius:11px;background:rgba(0,0,0,.045)}.erp139-quick-job small{width:100%;opacity:.72}.erp139-quick-form{display:grid;grid-template-columns:minmax(220px,2fr) 120px 110px 150px;gap:9px;align-items:end;padding:14px;border:1px solid rgba(0,0,0,.09);border-radius:14px}.erp139-quick-form label{display:flex;flex-direction:column;gap:4px;font-weight:700}.erp139-quick-form label.check{display:flex;flex-direction:row;align-items:center;gap:7px;font-weight:600}.erp139-quick-form button{min-height:44px}.erp139-quick-form .grow{grid-column:span 2}@media(max-width:800px){.erp139-quick-form{grid-template-columns:1fr 1fr}.erp139-quick-form .grow{grid-column:1/-1}.erp139-quick-form label.check{grid-column:1/-1}.erp139-quick-form button{grid-column:1/-1}.erp139-supplier-card{align-items:flex-start;flex-direction:column}.erp139-table{min-width:740px}}

/* v1.3.0.9 – Kategoriebaum: echte Hierarchie + variable Breite */
.erp138-workspace{grid-template-columns:auto minmax(0,1fr)!important}
.erp138-category-panel{width:280px;min-width:220px;max-width:min(620px,50vw);resize:horizontal;overflow:auto!important}
.erp138-category-tree,.erp138-cat-node,.erp138-cat-children{width:100%;text-align:left!important}
.erp138-cat-btn,.erp138-cat-search-hit{justify-content:flex-start!important;text-align:left!important}
.erp138-cat-btn>span:last-child,.erp138-cat-search-hit>span:last-child{text-align:left!important;white-space:normal;overflow-wrap:anywhere}
.erp138-cat-children{margin:0;padding:0}
.erp138-category-panel::after{content:'↔ Breite ziehen';display:block;text-align:right;font-size:.68rem;color:var(--muted,#68727b);padding:5px 2px 0;opacity:.68}
@media(max-width:900px){.erp138-workspace{grid-template-columns:1fr!important}.erp138-category-panel{width:100%!important;max-width:none;min-width:0;resize:none}}

/* v1.3.0.9 SAFE – einklappbares Desktop-Hauptmenü */
@media (min-width:700px){
  #appView{--keravin-side-nav-expanded:224px;--keravin-side-nav:var(--keravin-side-nav-expanded);--keravin-nav-transition:180ms ease}
  #mainNav.nav{transition:transform var(--keravin-nav-transition),box-shadow var(--keravin-nav-transition)}
  #appView>main.container,#appView>#devBanner{transition:margin-left var(--keravin-nav-transition),width var(--keravin-nav-transition)}
  .main-nav-collapse-btn{position:fixed;left:calc(var(--keravin-side-nav-expanded) - 1px);top:50%;transform:translate(-50%,-50%);z-index:910;width:28px;height:54px;padding:0;border:1px solid rgba(0,0,0,.14);border-radius:0 10px 10px 0;background:var(--card,#fff);color:inherit;box-shadow:3px 2px 12px rgba(0,0,0,.10);font-size:24px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:left var(--keravin-nav-transition),transform var(--keravin-nav-transition),background .12s ease}
  .main-nav-collapse-btn:hover{background:rgba(0,0,0,.045)}
  /* Fully collapse the desktop navigation and hand all horizontal space to content.
     v136 uses --kv-sidebar plus !important declarations, so both variables and
     the final layout properties are overridden here deliberately. */
  #appView.main-nav-collapsed{--keravin-side-nav:0px!important;--kv-sidebar:0px!important}
  #appView.main-nav-collapsed #mainNav.nav{width:0!important;transform:translateX(-101%);box-shadow:none!important;border-right:0!important;padding-left:0!important;padding-right:0!important}
  #appView.main-nav-collapsed>main.container{margin-left:0!important;width:100%!important;max-width:none!important;padding-left:22px!important;padding-right:22px!important}
  #appView.main-nav-collapsed>#devBanner{margin-left:12px!important;width:calc(100% - 24px)!important;max-width:none!important}
  #appView.main-nav-collapsed .main-nav-collapse-btn{left:0;transform:translate(0,-50%);border-left:0}
}
@media (max-width:699px){.main-nav-collapse-btn{display:none!important}}

/* v1.3.0.12 – Touch, Sync, Lager Tagesstart, Massenpflege */
.kv-sync-card{margin-top:12px}.kv-sync-status{display:flex;gap:10px;flex-wrap:wrap}.kv-sync-pill{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--line,#d9dee5);border-radius:12px;background:var(--panel,#fff);min-width:190px}.kv-sync-pill strong{font-size:.9rem}.kv-sync-pill span{font-size:.78rem;color:var(--muted,#667085)}.kv-sync-pill.ok{border-left:4px solid #2f7d4a}.kv-sync-pill.bad{border-left:4px solid #b42318}
.kv-review-edit-table input[type="number"]{min-width:90px;width:110px}.kv-review-edit-table td{vertical-align:top}.kv-review-edit-table .is-sync-changed{background:rgba(255,183,0,.07)}.kv-sync-badge{display:inline-flex;margin-top:5px;font-size:.72rem;font-weight:700;padding:2px 6px;border-radius:999px;background:rgba(255,183,0,.14)}
.kv-wh-jobline{display:block!important;margin-top:4px;line-height:1.25}.kv-wh-job-override{min-width:min(520px,100%);display:grid;gap:4px}.kv-wh-job-override select{width:100%}.kv-alt-toggle{align-self:end}.kv-alt-note{display:block;color:#8a5a00!important;font-weight:600}.kv-wh-suggestions button{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.kv-wh-open-actions{display:flex;gap:8px;align-items:center}.kv-material-alt-inline{grid-column:1/-1;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:4px}.kv-material-alt-inline .kv-alt-note{flex:1}
@media (pointer:coarse){button,.primary,.secondary,.navbtn,.erp139-subtabs button{min-height:44px}.compact{min-height:38px}.kv-article-row{touch-action:pan-y}.kv-context-menu,.erp-context-menu{font-size:1rem}.kv-context-menu button,.erp-context-menu button{min-height:46px}.kv-review-edit-table input{min-height:42px}}
@media(max-width:720px){.kv-sync-pill{min-width:100%}.kv-wh-form{grid-template-columns:1fr 1fr}.kv-wh-form .grow,.kv-wh-form .check,.kv-wh-form button{grid-column:1/-1}.kv-wh-job-override{width:100%}.kv-review-edit-table{max-height:65vh}.kv-review-edit-table table{min-width:1150px}}
.kv-teamtest-banner{display:flex;align-items:center;gap:10px;margin:10px 0;padding:9px 12px;border-radius:10px;border:1px solid rgba(180,120,0,.28);background:rgba(255,190,0,.08);font-size:.84rem}.kv-teamtest-banner strong{letter-spacing:.05em}.kv-teamtest-banner span{color:var(--muted,#667085)}
.erp140-charge-price-list{display:grid;gap:8px}.erp140-charge-price-row{display:grid;grid-template-columns:minmax(110px,.7fr) minmax(150px,1.3fr) minmax(110px,.8fr) minmax(110px,.8fr) auto;gap:8px;align-items:end;padding:9px;border:1px solid rgba(0,0,0,.1);border-radius:10px}.erp140-charge-price-row label{display:grid;gap:4px;font-size:.78rem}.erp140-charge-price-row>small{font-size:.74rem;color:var(--muted,#667085)}
@media(max-width:640px){.kv-teamtest-banner{align-items:flex-start;flex-direction:column;gap:2px}}
@media(max-width:800px){.erp140-charge-price-row{grid-template-columns:1fr 1fr}.erp140-charge-price-row>strong,.erp140-charge-price-row>small{grid-column:1/-1}.erp140-charge-price-row button{grid-column:1/-1}}

/* v1.3.0.13 – Baustellen-Dateien erst auf Wunsch laden */
.job-files-lazy-gate{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.85rem 0}
.job-files-lazy-gate small{display:block;max-width:34rem}
#jobFilesGrid.hidden{display:none!important}
@media(max-width:720px){.job-files-lazy-gate{align-items:stretch}.job-files-lazy-gate button{width:100%;min-height:46px}}
